diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index b1933db9b..0ac539581 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -1,18 +1,18 @@ version: 2 updates: - - package-ecosystem: "github-actions" - directory: "/" + - package-ecosystem: 'github-actions' + directory: '/' schedule: - interval: "daily" + interval: 'daily' open-pull-requests-limit: 10 - package-ecosystem: npm - directory: "/" + directory: '/' schedule: - interval: "weekly" + interval: 'weekly' open-pull-requests-limit: 10 versioning-strategy: increase ignore: # For all packages, ignore all minor & patch updates - - dependency-name: "*" + - dependency-name: '*' update-types: - [ "version-update:semver-minor", "version-update:semver-patch" ] + ['version-update:semver-minor', 'version-update:semver-patch'] diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 1bab9f4a0..f85830e06 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -6,35 +6,35 @@ Fixes # (issue) ๐ ๏ธ ## Type of change -- [ ] Bug fix ๐ -- [ ] New feature โจ -- [ ] Breaking change ๐ฅ -- [ ] Documentation update ๐ -- [ ] Refactor ๐ง +- [ ] Bug fix ๐ +- [ ] New feature โจ +- [ ] Breaking change ๐ฅ +- [ ] Documentation update ๐ +- [ ] Refactor ๐ง ## Testing Describe tests and instructions to reproduce. ๐งช -- [ ] Local Tests (npm run test) -- [ ] Manual (CLI or web interface) -- [ ] Local GitHub Actions (act pull_request) +- [ ] Local Tests (npm run test) +- [ ] Manual (CLI or web interface) +- [ ] Local GitHub Actions (act pull_request) **Node version**: -- [ ] 18 -- [ ] 20 -- [x] 22 -- [ ] 23 +- [ ] 18 +- [ ] 20 +- [x] 22 +- [ ] 23 ### Test Results (if any) ## Checklist -- [ ] Style Guidelines followed โ -- [ ] Self-Reviewed ๐ -- [ ] Documentation Updated ๐ -- [ ] **Linters** - No New Warnings โ ๏ธ -- [ ] Effective Tests Added โ๏ธ -- [ ] Local Tests Pass โ -- [ ] No reduction of **Coverage** +- [ ] Style Guidelines followed โ +- [ ] Self-Reviewed ๐ +- [ ] Documentation Updated ๐ +- [ ] **Linters** - No New Warnings โ ๏ธ +- [ ] Effective Tests Added โ๏ธ +- [ ] Local Tests Pass โ +- [ ] No reduction of **Coverage** diff --git a/.github/workflows/ats.test.yml b/.github/workflows/ats.test.yml index c0a6c2bac..97e46c02b 100644 --- a/.github/workflows/ats.test.yml +++ b/.github/workflows/ats.test.yml @@ -1,78 +1,75 @@ name: Tests ATS on: - push: - branches: [main] - pull_request: - paths: - - 'packages/ats/**' - - 'apps/ats/**' - - 'package.json' - - '.github/workflows/*ats*.yml' - - '.github/workflows/*ats*.yaml' - workflow_dispatch: + push: + branches: [main] + pull_request: + paths: + - 'packages/ats/**' + - 'apps/ats/**' + - 'package.json' + - '.github/workflows/*ats*.yml' + - '.github/workflows/*ats*.yaml' + workflow_dispatch: permissions: - contents: read + contents: read jobs: - test-ats: - name: testing - runs-on: token-studio-linux-large - env: - NODE_OPTIONS: '--max-old-space-size=32768' - CONTRACT_SIZER_RUN_ON_COMPILE: 'false' - REPORT_GAS: 'false' - CLIENT_PRIVATE_KEY_ECDSA_1: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_1 }} - CLIENT_PUBLIC_KEY_ECDSA_1: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_1 }} - CLIENT_ACCOUNT_ID_ECDSA_1: '0.0.1328' - CLIENT_EVM_ADDRESS_ECDSA_1_CORRECT: '0x97C50bb12E1C6284cF2855cdba95c5D60AEE44CF' - CLIENT_EVM_ADDRESS_ECDSA_1: '0x0000000000000000000000000000000000000530' - CLIENT_PRIVATE_KEY_ECDSA_2: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_2 }} - CLIENT_PUBLIC_KEY_ECDSA_2: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} - CLIENT_ACCOUNT_ID_ECDSA_2: '0.0.2168740' - CLIENT_EVM_ADDRESS_ECDSA_2: '0x00000000000000000000000000000000002117A4' - FACTORY_ADDRESS: '0.0.5480051' - RESOLVER_ADDRESS: '0.0.5479997' - FIREBLOCKS_HEDERA_ACCOUNT_ID: '0.0.2168740' - FIREBLOCKS_HEDERA_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} - DFNS_HEDERA_ACCOUNT_ID: '0.0.2168740' - DFNS_WALLET_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} - AWS_KMS_HEDERA_ACCOUNT_ID: '0.0.4394946' - AWS_KMS_HEDERA_PUBLIC_KEY: '302d300706052b8104000a03220003ee815bb9b5e53f5dbe7264a77e586127dfcb75da8c1246f5aa6ededdb13e6c21' - REACT_APP_MIRROR_NODE: 'https://testnet.mirrornode.hedera.com/api/v1/' - REACT_APP_RPC_NODE: 'https://testnet.hashio.io/api' - REACT_APP_RESOLVER: '0.0.5479997' - REACT_APP_FACTORY: '0.0.5480051' - REACT_APP_SHOW_DISCLAIMER: 'true' - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + test-ats: + name: testing + runs-on: token-studio-linux-large + env: + NODE_OPTIONS: '--max-old-space-size=32768' + CONTRACT_SIZER_RUN_ON_COMPILE: 'false' + REPORT_GAS: 'false' + CLIENT_PRIVATE_KEY_ECDSA_1: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_1 }} + CLIENT_PUBLIC_KEY_ECDSA_1: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_1 }} + CLIENT_ACCOUNT_ID_ECDSA_1: '0.0.1328' + CLIENT_EVM_ADDRESS_ECDSA_1_CORRECT: '0x97C50bb12E1C6284cF2855cdba95c5D60AEE44CF' + CLIENT_EVM_ADDRESS_ECDSA_1: '0x0000000000000000000000000000000000000530' + CLIENT_PRIVATE_KEY_ECDSA_2: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_2 }} + CLIENT_PUBLIC_KEY_ECDSA_2: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} + CLIENT_ACCOUNT_ID_ECDSA_2: '0.0.2168740' + CLIENT_EVM_ADDRESS_ECDSA_2: '0x00000000000000000000000000000000002117A4' + FACTORY_ADDRESS: '0.0.5480051' + RESOLVER_ADDRESS: '0.0.5479997' + FIREBLOCKS_HEDERA_ACCOUNT_ID: '0.0.2168740' + FIREBLOCKS_HEDERA_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} + DFNS_HEDERA_ACCOUNT_ID: '0.0.2168740' + DFNS_WALLET_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} + AWS_KMS_HEDERA_ACCOUNT_ID: '0.0.4394946' + AWS_KMS_HEDERA_PUBLIC_KEY: '302d300706052b8104000a03220003ee815bb9b5e53f5dbe7264a77e586127dfcb75da8c1246f5aa6ededdb13e6c21' + REACT_APP_MIRROR_NODE: 'https://testnet.mirrornode.hedera.com/api/v1/' + REACT_APP_RPC_NODE: 'https://testnet.hashio.io/api' + REACT_APP_RESOLVER: '0.0.5479997' + REACT_APP_FACTORY: '0.0.5480051' + REACT_APP_SHOW_DISCLAIMER: 'true' + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - steps: - - name: Harden Runner - uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 - with: - egress-policy: audit + steps: + - name: Harden Runner + uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 + with: + egress-policy: audit - - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Checkout repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - name: Setup NodeJS Environment - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: 20.x + - name: Setup NodeJS Environment + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + with: + node-version: 22.x - - name: Install root dependencies - run: npm ci --ignore-scripts + - name: Install dependencies + run: npm ci - - name: Install ATS dependencies only - run: npm ci --workspaces --workspace=packages/ats/contracts --workspace=packages/ats/sdk --workspace=apps/ats/web + - name: Build ATS packages + run: npm run ats:build - - name: Build ATS packages - run: npm run ats:build:all + - name: Run ATS tests + run: npm run ats:test - - name: Run ATS tests - run: npm run ats:test:all - - - name: Upload coverage report - if: ${{ !cancelled() && always() }} - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 + - name: Upload coverage report + if: ${{ !cancelled() && always() }} + uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 diff --git a/.github/workflows/mp.test.yml b/.github/workflows/mp.test.yml index 12ec39442..97c0cb3f4 100644 --- a/.github/workflows/mp.test.yml +++ b/.github/workflows/mp.test.yml @@ -1,81 +1,71 @@ name: Tests Mass Payout on: - push: - branches: [main] - pull_request: - paths: - - 'packages/mass-payout/**' - - 'apps/mass-payout/**' - - 'package.json' - - '.github/workflows/*mp*.yml' - - '.github/workflows/*mp*.yaml' - workflow_dispatch: + push: + branches: [main] + pull_request: + paths: + - 'packages/mass-payout/**' + - 'apps/mass-payout/**' + - 'package.json' + - '.github/workflows/*mp*.yml' + - '.github/workflows/*mp*.yaml' + workflow_dispatch: permissions: - contents: read + contents: read jobs: - test-mass-payout: - name: testing - runs-on: token-studio-linux-large - env: - NODE_OPTIONS: '--max-old-space-size=32768' - CONTRACT_SIZER_RUN_ON_COMPILE: 'false' - REPORT_GAS: 'false' - CLIENT_PRIVATE_KEY_ECDSA_1: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_1 }} - CLIENT_PUBLIC_KEY_ECDSA_1: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_1 }} - CLIENT_ACCOUNT_ID_ECDSA_1: '0.0.1328' - CLIENT_EVM_ADDRESS_ECDSA_1_CORRECT: '0x97C50bb12E1C6284cF2855cdba95c5D60AEE44CF' - CLIENT_EVM_ADDRESS_ECDSA_1: '0x0000000000000000000000000000000000000530' - CLIENT_PRIVATE_KEY_ECDSA_2: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_2 }} - CLIENT_PUBLIC_KEY_ECDSA_2: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} - CLIENT_ACCOUNT_ID_ECDSA_2: '0.0.2168740' - CLIENT_EVM_ADDRESS_ECDSA_2: '0x00000000000000000000000000000000002117A4' - FACTORY_ADDRESS: '0.0.5480051' - RESOLVER_ADDRESS: '0.0.5479997' - FIREBLOCKS_HEDERA_ACCOUNT_ID: '0.0.2168740' - FIREBLOCKS_HEDERA_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} - DFNS_HEDERA_ACCOUNT_ID: '0.0.2168740' - DFNS_WALLET_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} - AWS_KMS_HEDERA_ACCOUNT_ID: '0.0.4394946' - AWS_KMS_HEDERA_PUBLIC_KEY: '302d300706052b8104000a03220003ee815bb9b5e53f5dbe7264a77e586127dfcb75da8c1246f5aa6ededdb13e6c21' - REACT_APP_MIRROR_NODE: 'https://testnet.mirrornode.hedera.com/api/v1/' - REACT_APP_RPC_NODE: 'https://testnet.hashio.io/api' - REACT_APP_RESOLVER: '0.0.5479997' - REACT_APP_FACTORY: '0.0.5480051' - REACT_APP_SHOW_DISCLAIMER: 'true' - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + test-mass-payout: + name: testing + runs-on: token-studio-linux-large + env: + NODE_OPTIONS: '--max-old-space-size=32768' + CONTRACT_SIZER_RUN_ON_COMPILE: 'false' + REPORT_GAS: 'false' + CLIENT_PRIVATE_KEY_ECDSA_1: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_1 }} + CLIENT_PUBLIC_KEY_ECDSA_1: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_1 }} + CLIENT_ACCOUNT_ID_ECDSA_1: '0.0.1328' + CLIENT_EVM_ADDRESS_ECDSA_1_CORRECT: '0x97C50bb12E1C6284cF2855cdba95c5D60AEE44CF' + CLIENT_EVM_ADDRESS_ECDSA_1: '0x0000000000000000000000000000000000000530' + CLIENT_PRIVATE_KEY_ECDSA_2: ${{ secrets.CLIENT_PRIVATE_KEY_ECDSA_2 }} + CLIENT_PUBLIC_KEY_ECDSA_2: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} + CLIENT_ACCOUNT_ID_ECDSA_2: '0.0.2168740' + CLIENT_EVM_ADDRESS_ECDSA_2: '0x00000000000000000000000000000000002117A4' + FACTORY_ADDRESS: '0.0.5480051' + RESOLVER_ADDRESS: '0.0.5479997' + FIREBLOCKS_HEDERA_ACCOUNT_ID: '0.0.2168740' + FIREBLOCKS_HEDERA_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} + DFNS_HEDERA_ACCOUNT_ID: '0.0.2168740' + DFNS_WALLET_PUBLIC_KEY: ${{ secrets.CLIENT_PUBLIC_KEY_ECDSA_2 }} + AWS_KMS_HEDERA_ACCOUNT_ID: '0.0.4394946' + AWS_KMS_HEDERA_PUBLIC_KEY: '302d300706052b8104000a03220003ee815bb9b5e53f5dbe7264a77e586127dfcb75da8c1246f5aa6ededdb13e6c21' + REACT_APP_MIRROR_NODE: 'https://testnet.mirrornode.hedera.com/api/v1/' + REACT_APP_RPC_NODE: 'https://testnet.hashio.io/api' + REACT_APP_RESOLVER: '0.0.5479997' + REACT_APP_FACTORY: '0.0.5480051' + REACT_APP_SHOW_DISCLAIMER: 'true' + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - steps: - - name: Harden Runner - uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 - with: - egress-policy: audit + steps: + - name: Harden Runner + uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 + with: + egress-policy: audit - - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - name: Checkout repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - name: Setup NodeJS Environment - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: 20.x + - name: Setup NodeJS Environment + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 + with: + node-version: 22.x - - name: Install monorepo package dependencies (ats/contracts and ats/sdk) - run: npm ci # Change for npm run:install:ats:all:ci + - name: Install dependencies + run: npm ci - - name: Build mass-payout/contracts - run: npm run build:mp:contracts + # - name: Build mass-payout + # run: npm run mp:build - - name: Build mass-payout/sdk - run: npm run build:mp:sdk - - - name: Install mass-payout/web dependencies - run: npm run install:mp:web:lock - - - name: Build mass-payout/web - run: npm run build:mp:web - - - name: Run mass-payout/contracts tests - working-directory: packages/mass-payout/contracts - run: npm run test + # - name: Test mass-payout + # run: npm run mp:test diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..14f5481e0 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,31 @@ +# Dependencies +node_modules +package-lock.json +yarn.lock +pnpm-lock.yaml + +# Build outputs +build +dist +out +coverage +.turbo + +# Generated files +typechain-types +artifacts +cache + +# Hardhat +*.sol-coverage +gas-report.txt + +# IDE +.vscode +.idea + +# Environment files +.env* + +# Documentation +Smart Contracts Audit Report.pdf diff --git a/README.md b/README.md index 3945c23c7..307caed7b 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,9 @@ - **[Installation](#installation)** - **[Build](#build)** - **[Setting Up the Environment](#setting-up-the-environment)** - - **[Required Environment Variables](#required-environment-variables)** - - **[Optional Environment Variables (Hedera Wallet Connect)](#optional-environment-variables-hedera-wallet-connect)** - - **[Steps to set up the `.env` file](#steps-to-set-up-the-env-file)** + - **[Required Environment Variables](#required-environment-variables)** + - **[Optional Environment Variables (Hedera Wallet Connect)](#optional-environment-variables-hedera-wallet-connect)** + - **[Steps to set up the `.env` file](#steps-to-set-up-the-env-file)** - **[Run](#run)** - **[Support](#support)** - **[Contributing](#contributing)** @@ -68,10 +68,10 @@ This project is organized as a monorepo using npm workspaces to manage multiple ATS (Asset Tokenization Studio) is one of the main applications in the monorepo. Its components are organized as follows: - `packages/ats/` Contains the core business logic of ATS: - - `contracts/` Smart contracts that implement the tokenization logic. - - `sdk/` A TypeScript SDK to interact with the contracts from frontend or backend applications. + - `contracts/` Smart contracts that implement the tokenization logic. + - `sdk/` A TypeScript SDK to interact with the contracts from frontend or backend applications. - `apps/ats/` Contains the applications that consume the SDK: - - `web/` A React + Vite-based web application for interacting with ATS. + - `web/` A React + Vite-based web application for interacting with ATS. โ ๏ธ Note: The web module is not currently included in the npm workspaces because it uses Yarn for installation and build. This separation is due to compatibility constraints with some of its tooling. In future phases, we plan to integrate web into the npm workspaces once full compatibility is ensured. @@ -138,31 +138,31 @@ These variables are only required if you are integrating Hedera Wallet Connect f 1. Navigate to the `web` module folder. 2. Copy the `.env.sample` file to create a new `.env` file: - ```bash - cp .env.sample .env - ``` + ```bash + cp .env.sample .env + ``` 3. Open the `.env` file in your preferred text editor. 4. Replace the placeholder values with your actual environment settings. For example: - ```bash - REACT_APP_EQUITY_CONFIG_ID='0x0000000000000000000000000000000000000000000000000000000000000001' - REACT_APP_EQUITY_CONFIG_VERSION="0" - REACT_APP_BOND_CONFIG_ID="0x0000000000000000000000000000000000000000000000000000000000000002" - REACT_APP_BOND_CONFIG_VERSION="0" - REACT_APP_SHOW_DISCLAIMER="true" - - REACT_APP_MIRROR_NODE="https://testnet.mirrornode.hedera.com/api/v1/" - REACT_APP_RPC_NODE="https://testnet.hashio.io/api" - REACT_APP_RESOLVER='0.0.6349503' - REACT_APP_FACTORY='0.0.6349546' - - REACT_APP_PROJECT_ID="your_project_id_from_walletconnect" - REACT_APP_DAPP_NAME="Asset Tokenization Studio" - REACT_APP_DAPP_DESCRIPTION="Asset Tokenization Studio. Built on Hedera Hashgraph." - REACT_APP_DAPP_URL="https://wc.ats.com/" - REACT_APP_DAPP_ICONS='["https://stablecoinstudio.com/static/media/hedera-hbar-logo.4fd73fb360de0fc15d378e0c3ebe6c80.svg"]' - ``` + ```bash + REACT_APP_EQUITY_CONFIG_ID='0x0000000000000000000000000000000000000000000000000000000000000001' + REACT_APP_EQUITY_CONFIG_VERSION="0" + REACT_APP_BOND_CONFIG_ID="0x0000000000000000000000000000000000000000000000000000000000000002" + REACT_APP_BOND_CONFIG_VERSION="0" + REACT_APP_SHOW_DISCLAIMER="true" + + REACT_APP_MIRROR_NODE="https://testnet.mirrornode.hedera.com/api/v1/" + REACT_APP_RPC_NODE="https://testnet.hashio.io/api" + REACT_APP_RESOLVER='0.0.6349503' + REACT_APP_FACTORY='0.0.6349546' + + REACT_APP_PROJECT_ID="your_project_id_from_walletconnect" + REACT_APP_DAPP_NAME="Asset Tokenization Studio" + REACT_APP_DAPP_DESCRIPTION="Asset Tokenization Studio. Built on Hedera Hashgraph." + REACT_APP_DAPP_URL="https://wc.ats.com/" + REACT_APP_DAPP_ICONS='["https://stablecoinstudio.com/static/media/hedera-hbar-logo.4fd73fb360de0fc15d378e0c3ebe6c80.svg"]' + ``` 5. Save the file and proceed with running the application. diff --git a/addLicence.js b/addLicence.js index c18048c04..cd358ad4d 100755 --- a/addLicence.js +++ b/addLicence.js @@ -1,95 +1,88 @@ #!/usr/bin/env node -const { promises: fs } = require('fs'); -const path = require('path'); +import { promises as fs } from 'fs'; +import path from 'path'; async function findFiles(dir, extension) { - let files = []; - try { - const entries = await fs.readdir(dir, { withFileTypes: true }); - for (const entry of entries) { - const fullPath = path.join(dir, entry.name); - if (entry.isDirectory()) { - if (entry.name === 'node_modules') continue; - files = files.concat(await findFiles(fullPath, extension)); - } else if ( - entry.isFile() && - path.extname(fullPath) === `.${extension}` - ) { - files.push(fullPath); - } - } - } catch (error) { - console.error(`Error reading directory ${dir}:`, error); + let files = []; + try { + const entries = await fs.readdir(dir, { withFileTypes: true }); + for (const entry of entries) { + const fullPath = path.join(dir, entry.name); + if (entry.isDirectory()) { + if (entry.name === 'node_modules') continue; + files = files.concat(await findFiles(fullPath, extension)); + } else if (entry.isFile() && path.extname(fullPath) === `.${extension}`) { + files.push(fullPath); + } } - return files; + } catch (error) { + console.error(`Error reading directory ${dir}:`, error); + } + return files; } function normalizeLicenseContent(content) { - return content - .trim() - .replace(/\r\n/g, '\n') // Normalize line endings - .split('\n') - .map((line) => line.trim().replace(/^\*/, '').trim()) - .join('\n') - .replace(/\s+/g, ' ') - .replace(/\n+/g, '\n'); + return content + .trim() + .replace(/\r\n/g, '\n') // Normalize line endings + .split('\n') + .map((line) => line.trim().replace(/^\*/, '').trim()) + .join('\n') + .replace(/\s+/g, ' ') + .replace(/\n+/g, '\n'); } async function prependContentToFiles( - rootDirectory, - contentFile, - fileExtension + rootDirectory, + contentFile, + fileExtension, ) { - try { - const content = await fs.readFile(contentFile, 'utf8'); - const comment = `/*\n${content}\n*/\n\n`; + try { + const content = await fs.readFile(contentFile, 'utf8'); + const comment = `/*\n${content}\n*/\n\n`; - // Create normalized version for comparison - const licenseNormalized = normalizeLicenseContent(content); + // Create normalized version for comparison + const licenseNormalized = normalizeLicenseContent(content); - const files = await findFiles(rootDirectory, fileExtension); - if (files.length === 0) { - console.log('No matching files found.'); - return; - } + const files = await findFiles(rootDirectory, fileExtension); + if (files.length === 0) { + console.log('No matching files found.'); + return; + } - for (const file of files) { - try { - const existingContent = await fs.readFile(file, 'utf8'); + for (const file of files) { + try { + const existingContent = await fs.readFile(file, 'utf8'); - // Check for existing license using more sophisticated detection - const existingHeaderMatch = - existingContent.match(/^\/\*[\s\S]*?\*\//); - let hasExistingLicense = false; + // Check for existing license using more sophisticated detection + const existingHeaderMatch = existingContent.match(/^\/\*[\s\S]*?\*\//); + let hasExistingLicense = false; - if (existingHeaderMatch) { - const existingHeader = existingHeaderMatch[0]; - const existingNormalized = normalizeLicenseContent( - existingHeader - .replace(/^\/\*+/, '') - .replace(/\*+\/$/, '') - ); + if (existingHeaderMatch) { + const existingHeader = existingHeaderMatch[0]; + const existingNormalized = normalizeLicenseContent( + existingHeader.replace(/^\/\*+/, '').replace(/\*+\/$/, ''), + ); - // Compare normalized content - hasExistingLicense = - existingNormalized === licenseNormalized; - } + // Compare normalized content + hasExistingLicense = existingNormalized === licenseNormalized; + } - if (!hasExistingLicense) { - await fs.writeFile(file, comment + existingContent); - console.log(`Prepended content to ${file}`); - } else { - console.log( - `Valid license header already exists in ${file}, skipping.` - ); - } - } catch (error) { - console.error(`Error processing file ${file}:`, error); - } + if (!hasExistingLicense) { + await fs.writeFile(file, comment + existingContent); + console.log(`Prepended content to ${file}`); + } else { + console.log( + `Valid license header already exists in ${file}, skipping.`, + ); } - } catch (error) { - console.error('Error:', error); + } catch (error) { + console.error(`Error processing file ${file}:`, error); + } } + } catch (error) { + console.error('Error:', error); + } } prependContentToFiles('./', './LICENSE', 'ts'); diff --git a/apps/ats/web/.eslintrc.cjs b/apps/ats/web/.eslintrc.cjs deleted file mode 100644 index 636cf9ec4..000000000 --- a/apps/ats/web/.eslintrc.cjs +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - env: { browser: true, es2020: true, node: true, jest: true }, - extends: [ - "eslint:recommended", - "plugin:prettier/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:react-hooks/recommended", - ], - parser: "@typescript-eslint/parser", - parserOptions: { ecmaVersion: "latest", sourceType: "module" }, - plugins: ["react-refresh"], - rules: { - "react-refresh/only-export-components": "off", - "@typescript-eslint/ban-ts-comment": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/no-non-null-asserted-optional-chain": "off", - "@typescript-eslint/no-var-requires": "off", - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/no-unused-vars": [ - "warn", // or "error" - { - argsIgnorePattern: "^_", - varsIgnorePattern: "^_", - caughtErrorsIgnorePattern: "^_", - }, - ], - }, -}; diff --git a/apps/ats/web/.prettierrc b/apps/ats/web/.prettierrc deleted file mode 100644 index 53c1c9233..000000000 --- a/apps/ats/web/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "printWidth": 80 -} - \ No newline at end of file diff --git a/apps/ats/web/babel.config.cjs b/apps/ats/web/babel.config.cjs index 3d017845e..2635589cb 100644 --- a/apps/ats/web/babel.config.cjs +++ b/apps/ats/web/babel.config.cjs @@ -1,7 +1,7 @@ module.exports = { presets: [ - ["@babel/preset-env", { targets: { node: "current" } }], - "@babel/preset-typescript", + ['@babel/preset-env', { targets: { node: 'current' } }], + '@babel/preset-typescript', ], - plugins: ["babel-plugin-transform-vite-meta-env"], + plugins: ['babel-plugin-transform-vite-meta-env'], }; diff --git a/apps/ats/web/jest.config.cjs b/apps/ats/web/jest.config.cjs index eb040ecd4..d847b549c 100644 --- a/apps/ats/web/jest.config.cjs +++ b/apps/ats/web/jest.config.cjs @@ -1,45 +1,44 @@ -process.env.TZ = "GMT"; +process.env.TZ = 'GMT'; module.exports = { - testEnvironment: "jest-environment-jsdom", - preset: "ts-jest", - ci: true, - testTimeout: 30000, - transform: { - "^.+\\.(ts|tsx)?$": ["ts-jest", { - tsconfig: './tsconfig.jest.json' - }], - "^.+\\.(js|jsx)$": "babel-jest", - "^.+\\.svg$": "/svgTransform.js", - }, - moduleFileExtensions: ["tsx", "ts", "js", "jsx"], - setupFiles: [ - "./jest.polyfills.js" - ], - setupFilesAfterEnv: [ - "@testing-library/jest-dom/extend-expect", - "./jest.setup.tsx", - ], - moduleNameMapper: { - "^react$": "/node_modules/react", - "^react-dom$": "/node_modules/react-dom", - "^@hashgraph/io-axios-services/(.*)$": - "/node_modules/@hashgraph/io-axios-services/lib/$1.js", - "\\.(css|less|scss|sass|ttf|png)$": "ts-jest", - }, - moduleDirectories: [ - "node_modules", - "/node_modules", - "/../../node_modules" - ], - collectCoverageFrom: [ - "**/views/**/*.{ts,tsx}", - "**/components/**/*.{ts,tsx}", - "**/layouts/**/*.{ts,tsx}", - "!**/node_modules/**", - "!**/vendor/**", - ], - transformIgnorePatterns: [ - "/node_modules/(?!(@hashgraph/asset-tokenization-sdk|@notabene/pii-sdk|multiformats|fireblocks-sdk|did-jwt|uuid|uint8arrays|@terminal3|jsonld)/)", + testEnvironment: 'jest-environment-jsdom', + preset: 'ts-jest', + testTimeout: 30000, + transform: { + '^.+\\.(ts|tsx)?$': [ + 'ts-jest', + { + tsconfig: './tsconfig.jest.json', + }, ], + '^.+\\.(js|jsx)$': 'babel-jest', + '^.+\\.svg$': '/svgTransform.js', + }, + moduleFileExtensions: ['tsx', 'ts', 'js', 'jsx'], + setupFiles: ['./jest.polyfills.js'], + setupFilesAfterEnv: [ + '@testing-library/jest-dom/extend-expect', + './jest.setup.tsx', + ], + moduleNameMapper: { + '^@hashgraph/io-axios-services/(.*)$': + '/node_modules/@hashgraph/io-axios-services/lib/$1.js', + '^@terminal3/(.*)$': '/__mocks__/@terminal3/$1.js', + '\\.(css|less|scss|sass|ttf|png)$': 'ts-jest', + }, + moduleDirectories: [ + 'node_modules', + '/node_modules', + '/../../node_modules', + ], + collectCoverageFrom: [ + '**/views/**/*.{ts,tsx}', + '**/components/**/*.{ts,tsx}', + '**/layouts/**/*.{ts,tsx}', + '!**/node_modules/**', + '!**/vendor/**', + ], + transformIgnorePatterns: [ + '/node_modules/(?!(@hashgraph/asset-tokenization-sdk|@notabene/pii-sdk|multiformats|fireblocks-sdk|did-jwt|uuid|uint8arrays|@terminal3|jsonld)/)', + ], }; diff --git a/apps/ats/web/jest.polyfills.js b/apps/ats/web/jest.polyfills.js index 13917a976..46afccd50 100644 --- a/apps/ats/web/jest.polyfills.js +++ b/apps/ats/web/jest.polyfills.js @@ -3,7 +3,7 @@ // but newer versions export LRUCache as a named export // Create a mock LRU constructor that jsonld expects -class LRU { +class _LRU { constructor(options = {}) { this.max = options.max || 100; this.cache = new Map(); @@ -44,13 +44,6 @@ class LRU { } } -// Override require for lru-cache to return our mock -const Module = require("module"); -const originalRequire = Module.prototype.require; - -Module.prototype.require = function (id) { - if (id === "lru-cache") { - return LRU; - } - return originalRequire.apply(this, arguments); -}; +// For ESM, use jest.mock or manual global override if needed +// Example for Jest: +// jest.mock('lru-cache', () => LRU); diff --git a/apps/ats/web/jest.setup.tsx b/apps/ats/web/jest.setup.tsx index 2bf09caa3..880759a9d 100644 --- a/apps/ats/web/jest.setup.tsx +++ b/apps/ats/web/jest.setup.tsx @@ -1,23 +1,27 @@ -process.env.VITE_API_URL = "http://localhost:8080/api/v1"; +process.env.VITE_API_URL = 'http://localhost:8080/api/v1'; // Mock Terminal3 modules to avoid LRU cache issues -jest.mock("@terminal3/verify_vc"); -jest.mock("@terminal3/bbs_vc"); +jest.mock('@terminal3/verify_vc'); +jest.mock('@terminal3/bbs_vc'); -import Select from "react-select"; +import Select from 'react-select'; // Polyfill for TextEncoder and TextDecoder -const { TextEncoder, TextDecoder } = require("util"); -global.TextEncoder = TextEncoder; -global.TextDecoder = TextDecoder; +import { TextEncoder, TextDecoder } from 'util'; +if (typeof (global as any).TextEncoder === 'undefined') { + (global as any).TextEncoder = TextEncoder; +} +if (typeof (global as any).TextDecoder === 'undefined') { + (global as any).TextDecoder = TextDecoder; +} -jest.doMock("chakra-react-select", () => ({ - ...jest.requireActual("chakra-react-select"), +jest.doMock('chakra-react-select', () => ({ + ...jest.requireActual('chakra-react-select'), // @ts-ignore Select: ({ _components, ...props }) => , })); -Object.defineProperty(window, "matchMedia", { +Object.defineProperty(window, 'matchMedia', { writable: true, value: jest.fn().mockImplementation((query) => ({ matches: false, @@ -32,4 +36,4 @@ Object.defineProperty(window, "matchMedia", { }); const noop = () => {}; -Object.defineProperty(window, "scrollTo", { value: noop, writable: true }); +Object.defineProperty(window, 'scrollTo', { value: noop, writable: true }); diff --git a/apps/ats/web/package.json b/apps/ats/web/package.json index 9351b025e..add59dddc 100644 --- a/apps/ats/web/package.json +++ b/apps/ats/web/package.json @@ -4,22 +4,15 @@ "license": "Apache-2.0", "scripts": { "build": "tsc && vite build", - "test": "NODE_ENV=test jest --ci --runInBand", - "lint": "eslint src --ext ts,tsx", - "lint:fix": "eslint src --ext ts,tsx --fix", + "test": "NODE_ENV=test jest --runInBand", + "test:ci": "NODE_ENV=test jest --ci --runInBand", "clean": "npx --yes npm-run-all --parallel clean:node clean:build", - "prettier": "prettier --write \"**/*.{js,jsx,ts,tsx,html,md,json}\" --ignore-path .gitignore --ignore-path .prettierignore", - "lint:staged:sol": "echo 'No Solidity files in web app'", - "lint:staged:ts": "eslint --ext ts,tsx --fix", - "lint:staged": "npm run lint:staged:ts", - "prettier:staged": "prettier --write --ignore-path .gitignore --ignore-path .prettierignore", "dev": "vite", "start": "vite preview", "clean:node": "npx --yes rimraf node_modules", "clean:build": "npx --yes rimraf build", "clean:lock": "npx --yes rimraf package-lock.json yarn.lock", - "format": "prettier --write \"**/*.{js,jsx,ts,tsx,html,md,json}\" --ignore-path .gitignore --ignore-path .prettierignore", - "test:update": "NODE_ENV=test jest --ci --runInBand --updateSnapshot", + "test:update": "NODE_ENV=test jest --updateSnapshot", "test:clear:cache": "npx jest --clearCache", "theme": "chakra-cli tokens src/theme/index.ts" }, @@ -58,25 +51,16 @@ "@types/jest": "^29.5.1", "@types/react": "^18.2.15", "@types/react-dom": "^18.2.7", - "@typescript-eslint/eslint-plugin": "6.21.0", - "@typescript-eslint/parser": "^6.21.0", "@vitejs/plugin-react": "^4.0.3", "babel-jest": "^29.5.0", "babel-plugin-transform-vite-meta-env": "^1.0.3", "date-fns-tz": "^2.0.0", "dotenv": "^16.0.3", - "eslint": "^8.38.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-prettier": "^5.0.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.3.4", "format-util": "^1.0.5", "history": "^5.3.0", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "npm-run-all": "^4.1.5", - "prettier": "^3.0.3", "react-select-event": "^5.5.1", "rimraf": "^6.0.1", "ts-jest": "^29.1.0", diff --git a/apps/ats/web/src/App.tsx b/apps/ats/web/src/App.tsx index f77c3cb1b..03f1fce74 100644 --- a/apps/ats/web/src/App.tsx +++ b/apps/ats/web/src/App.tsx @@ -203,43 +203,42 @@ */ -import { ChakraProvider, Flex, Text } from "@chakra-ui/react"; -import { I18nextProvider, useTranslation } from "react-i18next"; +import { ChakraProvider, Flex, Text } from '@chakra-ui/react'; +import { I18nextProvider, useTranslation } from 'react-i18next'; import { MutationCache, QueryCache, QueryClient, QueryClientProvider, -} from "@tanstack/react-query"; -import theme from "./theme"; -import i18n from "./i18n"; -import AppRouter from "./router"; -import { SDKConnection } from "./components/SDKConnection"; -import { InterFonts, useToast } from "io-bricks-ui"; -import { useState } from "react"; -import Disclaimer from "./views/Initialization/CookieDisclaimer.js"; -import { isMobile } from "react-device-detect"; +} from '@tanstack/react-query'; +import theme from './theme'; +import i18n from './i18n'; +import AppRouter from './router'; +import { SDKConnection } from './components/SDKConnection'; +import { InterFonts, useToast } from 'io-bricks-ui'; +import { useState } from 'react'; +import Disclaimer from './views/Initialization/CookieDisclaimer.js'; +import { isMobile } from 'react-device-detect'; function App() { const toast = useToast(); - const { t } = useTranslation("globals"); + const { t } = useTranslation('globals'); const [accepted, setAccepted] = useState(false); const showDisclaimer: boolean = process.env.REACT_APP_SHOW_DISCLAIMER !== undefined && - process.env.REACT_APP_SHOW_DISCLAIMER === "true"; + process.env.REACT_APP_SHOW_DISCLAIMER === 'true'; - /* eslint-disable @typescript-eslint/no-explicit-any */ const showErrorToast = (error: any) => { - const description = error?.message || t("error"); + const description = error?.message || t('error'); toast.show({ - title: "Error", + title: 'Error', description, - status: "error", + status: 'error', }); }; const onError = (error: unknown) => { - console.error("Error: ", error); + console.error('Error: ', error); }; const queryClient = new QueryClient({ @@ -266,7 +265,7 @@ function App() { }); return isMobile ? ( - + - {t("mobile.message")} + {t('mobile.message')} ) : !showDisclaimer || accepted ? ( diff --git a/apps/ats/web/src/components/CancelButton.tsx b/apps/ats/web/src/components/CancelButton.tsx index a03e44a0d..0bad216d0 100644 --- a/apps/ats/web/src/components/CancelButton.tsx +++ b/apps/ats/web/src/components/CancelButton.tsx @@ -203,15 +203,15 @@ */ -import { Button } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { RouterManager } from "../router/RouterManager"; -import { RouteName } from "../router/RouteName"; -import { Link as RouterLink } from "react-router-dom"; +import { Button } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RouterManager } from '../router/RouterManager'; +import { RouteName } from '../router/RouteName'; +import { Link as RouterLink } from 'react-router-dom'; export const CancelButton = (props: ButtonProps) => { - const { t: tGlobals } = useTranslation("globals"); + const { t: tGlobals } = useTranslation('globals'); return ( { variant="secondary" {...props} > - {tGlobals("cancel")} + {tGlobals('cancel')} ); }; diff --git a/apps/ats/web/src/components/DetailsBalancePanel.tsx b/apps/ats/web/src/components/DetailsBalancePanel.tsx index a96d8358c..ecaaf3349 100644 --- a/apps/ats/web/src/components/DetailsBalancePanel.tsx +++ b/apps/ats/web/src/components/DetailsBalancePanel.tsx @@ -203,12 +203,12 @@ */ -import { Center, SkeletonText, Stack } from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; -import { Text } from "io-bricks-ui"; -import { SecurityDetails } from "../views/DigitalSecurityDetails/Components/SecurityDetails"; -import { Panel } from "./Panel"; -import { useSecurityStore } from "../store/securityStore"; +import { Center, SkeletonText, Stack } from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import { Text } from 'io-bricks-ui'; +import { SecurityDetails } from '../views/DigitalSecurityDetails/Components/SecurityDetails'; +import { Panel } from './Panel'; +import { useSecurityStore } from '../store/securityStore'; export interface DetailsBalancePanelProps { balance?: string; @@ -217,18 +217,18 @@ export interface DetailsBalancePanelProps { } export const DetailsBalancePanel = ({ - balance = "", + balance = '', isLoading = true, title, }: DetailsBalancePanelProps) => { - const { t: tProperties } = useTranslation("properties"); + const { t: tProperties } = useTranslation('properties'); const { details } = useSecurityStore(); return ( @@ -245,7 +245,7 @@ export const DetailsBalancePanel = ({ {balance} - {details?.symbol ?? ""} + {details?.symbol ?? ''} )} diff --git a/apps/ats/web/src/components/FormStepContainer.tsx b/apps/ats/web/src/components/FormStepContainer.tsx index 7cc06e83d..1d194ff78 100644 --- a/apps/ats/web/src/components/FormStepContainer.tsx +++ b/apps/ats/web/src/components/FormStepContainer.tsx @@ -203,7 +203,7 @@ */ -import { StackProps, VStack } from "@chakra-ui/react"; +import { StackProps, VStack } from '@chakra-ui/react'; export const FormStepContainer = ({ children }: StackProps) => ( diff --git a/apps/ats/web/src/components/GobackButton.tsx b/apps/ats/web/src/components/GobackButton.tsx index b2c8ee45e..3756169be 100644 --- a/apps/ats/web/src/components/GobackButton.tsx +++ b/apps/ats/web/src/components/GobackButton.tsx @@ -203,14 +203,14 @@ */ -import { IconButton, Text, PhosphorIcon } from "io-bricks-ui"; -import { Flex, FlexProps } from "@chakra-ui/react"; -import { ArrowLeft } from "@phosphor-icons/react"; -import { Link as RouterLink } from "react-router-dom"; -import type { To } from "react-router-dom"; -import { RouterManager } from "../router/RouterManager"; -import { useLocationStore } from "../store/locationStore"; -import { RoutePath } from "../router/RoutePath"; +import { IconButton, Text, PhosphorIcon } from 'io-bricks-ui'; +import { Flex, FlexProps } from '@chakra-ui/react'; +import { ArrowLeft } from '@phosphor-icons/react'; +import { Link as RouterLink } from 'react-router-dom'; +import type { To } from 'react-router-dom'; +import { RouterManager } from '../router/RouterManager'; +import { useLocationStore } from '../store/locationStore'; +import { RoutePath } from '../router/RoutePath'; export interface GobackButtonProps extends FlexProps { label: string; @@ -222,8 +222,8 @@ export const GobackButton = (props: GobackButtonProps) => { const { locations } = useLocationStore(); const shouldReplaceGobackRoute = - locations[locations.length - 2]?.includes("/create") || - locations[locations.length - 2]?.includes("/add"); + locations[locations.length - 2]?.includes('/create') || + locations[locations.length - 2]?.includes('/add'); return ( { - const { t } = useTranslation(page, { keyPrefix: "header" }); + const { t } = useTranslation(page, { keyPrefix: 'header' }); return ( - + diff --git a/apps/ats/web/src/components/History.tsx b/apps/ats/web/src/components/History.tsx index f91c041d5..3e2f9716a 100644 --- a/apps/ats/web/src/components/History.tsx +++ b/apps/ats/web/src/components/History.tsx @@ -203,17 +203,17 @@ */ -import { Flex, VStack } from "@chakra-ui/react"; -import type { StackProps } from "@chakra-ui/react"; -import { Breadcrumb } from "io-bricks-ui"; -import { GobackButton, GobackButtonProps } from "./GobackButton"; -import { useBreadcrumbs } from "../hooks/useBreadcrumbs"; -import type { Options } from "use-react-router-breadcrumbs"; +import { Flex, VStack } from '@chakra-ui/react'; +import type { StackProps } from '@chakra-ui/react'; +import { Breadcrumb } from 'io-bricks-ui'; +import { GobackButton, GobackButtonProps } from './GobackButton'; +import { useBreadcrumbs } from '../hooks/useBreadcrumbs'; +import type { Options } from 'use-react-router-breadcrumbs'; export interface HistoryProps extends StackProps { - label: GobackButtonProps["label"]; - to?: GobackButtonProps["to"]; - excludePaths?: Options["excludePaths"]; + label: GobackButtonProps['label']; + to?: GobackButtonProps['to']; + excludePaths?: Options['excludePaths']; } export const History = (props: HistoryProps) => { diff --git a/apps/ats/web/src/components/Panel.tsx b/apps/ats/web/src/components/Panel.tsx index ebb41fa00..7e1315048 100644 --- a/apps/ats/web/src/components/Panel.tsx +++ b/apps/ats/web/src/components/Panel.tsx @@ -203,8 +203,8 @@ */ -import { StackProps, VStack } from "@chakra-ui/react"; -import { PanelTitle } from "io-bricks-ui"; +import { StackProps, VStack } from '@chakra-ui/react'; +import { PanelTitle } from 'io-bricks-ui'; export const Panel = ({ children, title, ...rest }: StackProps) => ( diff --git a/apps/ats/web/src/components/SDKConnection.tsx b/apps/ats/web/src/components/SDKConnection.tsx index 815c5139b..197b81b64 100644 --- a/apps/ats/web/src/components/SDKConnection.tsx +++ b/apps/ats/web/src/components/SDKConnection.tsx @@ -203,19 +203,18 @@ */ -import { useEffect, useState } from "react"; -import { useSDKInit } from "../hooks/queries/SDKConnection"; +import { useEffect, useState } from 'react'; +import { useSDKInit } from '../hooks/queries/SDKConnection'; import type { EventParameter, InitializationData, NetworkData, -} from "@hashgraph/asset-tokenization-sdk"; -import { useWalletStore } from "../store/walletStore"; -import { WalletStatus } from "../utils/constants"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import _isEqual from "lodash/isEqual"; -import { RouterManager } from "../router/RouterManager"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useWalletStore } from '../store/walletStore'; +import { WalletStatus } from '../utils/constants'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RouterManager } from '../router/RouterManager'; export const SDKConnection = () => { const { mutate: init } = useSDKInit(); @@ -229,8 +228,8 @@ export const SDKConnection = () => { setConnectionStatus, } = useWalletStore(); const toast = useToast(); - const { t } = useTranslation("globals"); - const [currentNetworkName, setCurrentNetworkName] = useState(""); + const { t } = useTranslation('globals'); + const [currentNetworkName, setCurrentNetworkName] = useState(''); useEffect(() => { const isConnected = window.ethereum?.isConnected(); @@ -252,13 +251,13 @@ export const SDKConnection = () => { if (data) { const currentWallet = data.account?.id.value.toString(); - if (currentWallet != "0.0.0") { + if (currentWallet != '0.0.0') { toast.show({ duration: 3000, - title: t("walletChanged", { + title: t('walletChanged', { currentWallet, }), - status: "success", + status: 'success', }); } } @@ -273,10 +272,10 @@ export const SDKConnection = () => { if (recognized) { toast.show({ duration: 3000, - title: t("networkChanged", { + title: t('networkChanged', { currentNetwork: name, }), - status: "success", + status: 'success', }); } } @@ -286,12 +285,12 @@ export const SDKConnection = () => { // eslint-disable-next-line react-hooks/exhaustive-deps }, [network]); - const walletPaired = (event: EventParameter<"walletPaired">) => { - console.log("SDK message --> Wallet paired", event); + const walletPaired = (event: EventParameter<'walletPaired'>) => { + console.log('SDK message --> Wallet paired', event); const { data, network } = event; showErrors(data, network); - if (data.account?.id.value != "0.0.0") { + if (data.account?.id.value != '0.0.0') { setPairedWallet(data, network); RouterManager.goDashboard(); } @@ -301,41 +300,41 @@ export const SDKConnection = () => { if (network?.name && !network.recognized) { toast.show({ duration: 5000, - title: t("changeToRecognizedNetwork"), - status: "error", + title: t('changeToRecognizedNetwork'), + status: 'error', }); reset(); - } else if (data && data.account?.id.value.toString() == "0.0.0") { + } else if (data && data.account?.id.value.toString() == '0.0.0') { toast.show({ duration: 5000, - title: t("changeToHederaAccount"), - status: "error", + title: t('changeToHederaAccount'), + status: 'error', }); reset(); } } const walletConnectionStatusChanged = ( - event: EventParameter<"walletConnectionStatusChanged">, + event: EventParameter<'walletConnectionStatusChanged'>, ) => { - console.log("SDK message --> Wallet Connection Status Changed", event); + console.log('SDK message --> Wallet Connection Status Changed', event); setConnectionStatus(WalletStatus.connecting); }; - const walletDisconnect = (event: EventParameter<"walletDisconnect">) => { - console.log("SDK messege --> Wallet disconnected", event); + const walletDisconnect = (event: EventParameter<'walletDisconnect'>) => { + console.log('SDK messege --> Wallet disconnected', event); // We need to check if we are waiting on connection process, due if we cancel connection on Landing Page // and we try again then reset() put connection status on DISCONNECTED and we loose the Connecting transition page const isNotConnecting = connectionStatus !== WalletStatus.connecting; if (isNotConnecting) { - console.log("ESTAMOS ENTRANDO AQUI", connectionStatus); + console.log('ESTAMOS ENTRANDO AQUI', connectionStatus); reset(); } }; - const walletFound = (event: EventParameter<"walletFound">) => { + const walletFound = (event: EventParameter<'walletFound'>) => { if (event) { - console.log("SDK message --> Wallet found", event); + console.log('SDK message --> Wallet found', event); } }; diff --git a/apps/ats/web/src/components/__tests__/CancelButton.test.tsx b/apps/ats/web/src/components/__tests__/CancelButton.test.tsx index 130ad1431..ccdb0532c 100644 --- a/apps/ats/web/src/components/__tests__/CancelButton.test.tsx +++ b/apps/ats/web/src/components/__tests__/CancelButton.test.tsx @@ -203,11 +203,11 @@ */ -import { CancelButton } from "../CancelButton"; -import { render } from "../../test-utils"; +import { CancelButton } from '../CancelButton'; +import { render } from '../../test-utils'; describe(`${CancelButton.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/components/__tests__/DetailsBalancePanel.test.tsx b/apps/ats/web/src/components/__tests__/DetailsBalancePanel.test.tsx index 1071596c9..07d1f496d 100644 --- a/apps/ats/web/src/components/__tests__/DetailsBalancePanel.test.tsx +++ b/apps/ats/web/src/components/__tests__/DetailsBalancePanel.test.tsx @@ -206,11 +206,11 @@ import { DetailsBalancePanel, DetailsBalancePanelProps, -} from "../DetailsBalancePanel"; -import { render } from "../../test-utils"; +} from '../DetailsBalancePanel'; +import { render } from '../../test-utils'; const defaultProps: DetailsBalancePanelProps = { - balance: "12", + balance: '12', isLoading: false, }; @@ -218,29 +218,29 @@ describe(`${DetailsBalancePanel.name}`, () => { const factoryComponent = (props = defaultProps) => render(); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should show skeleton if is loading", () => { - const component = factoryComponent({ balance: "", isLoading: true }); + test('should show skeleton if is loading', () => { + const component = factoryComponent({ balance: '', isLoading: true }); - expect(component.getByTestId("skeleton")).toBeInTheDocument(); + expect(component.getByTestId('skeleton')).toBeInTheDocument(); }); - test("should show a panel with the current available balance", () => { + test('should show a panel with the current available balance', () => { const component = factoryComponent(); expect( - component.getByTestId("current-available-balance-panel"), + component.getByTestId('current-available-balance-panel'), ).toBeInTheDocument(); }); - test("should show a definition list with the security details", () => { + test('should show a definition list with the security details', () => { const component = factoryComponent(); - expect(component.getByTestId("security-details")).toBeInTheDocument(); + expect(component.getByTestId('security-details')).toBeInTheDocument(); }); }); diff --git a/apps/ats/web/src/components/__tests__/FormStepContainer.test.tsx b/apps/ats/web/src/components/__tests__/FormStepContainer.test.tsx index 1c032b569..5f332d38c 100644 --- a/apps/ats/web/src/components/__tests__/FormStepContainer.test.tsx +++ b/apps/ats/web/src/components/__tests__/FormStepContainer.test.tsx @@ -203,12 +203,12 @@ */ -import { FormStepContainer } from "../FormStepContainer"; -import { render } from "../../test-utils"; -import { Text } from "io-bricks-ui"; +import { FormStepContainer } from '../FormStepContainer'; +import { render } from '../../test-utils'; +import { Text } from 'io-bricks-ui'; describe(`${FormStepContainer.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render( TESTING diff --git a/apps/ats/web/src/components/__tests__/GobackButton.test.tsx b/apps/ats/web/src/components/__tests__/GobackButton.test.tsx index 16718c498..929b6bd7e 100644 --- a/apps/ats/web/src/components/__tests__/GobackButton.test.tsx +++ b/apps/ats/web/src/components/__tests__/GobackButton.test.tsx @@ -203,17 +203,17 @@ */ -import { GobackButton, GobackButtonProps } from "../GobackButton"; -import { render } from "../../test-utils"; -import { RouteName } from "../../router/RouteName"; -import { RouterManager } from "../../router/RouterManager"; -import { RoutePath } from "../../router/RoutePath"; -import userEvent from "@testing-library/user-event"; -import { waitFor } from "@testing-library/react"; - -jest.mock("../../router/RouterManager", () => ({ +import { GobackButton, GobackButtonProps } from '../GobackButton'; +import { render } from '../../test-utils'; +import { RouteName } from '../../router/RouteName'; +import { RouterManager } from '../../router/RouterManager'; +import { RoutePath } from '../../router/RoutePath'; +import userEvent from '@testing-library/user-event'; +import { waitFor } from '@testing-library/react'; + +jest.mock('../../router/RouterManager', () => ({ RouterManager: { - ...jest.requireActual("../../router/RouterManager").RouterManager, + ...jest.requireActual('../../router/RouterManager').RouterManager, goBack: jest.fn(), getUrl: jest.fn(), }, @@ -228,13 +228,13 @@ describe(`${GobackButton.name}`, () => { jest.clearAllMocks(); }); - test("should render correctly without to prop", () => { + test('should render correctly without to prop', () => { const component = render(); - expect(component.asFragment()).toMatchSnapshot("withoutTo"); + expect(component.asFragment()).toMatchSnapshot('withoutTo'); }); - test("should render correctly with to prop", () => { + test('should render correctly with to prop', () => { const component = render( { />, ); - expect(component.asFragment()).toMatchSnapshot("withTo"); + expect(component.asFragment()).toMatchSnapshot('withTo'); }); - test("should have a label", () => { + test('should have a label', () => { const component = render(); - const label = component.getByTestId("go-back-button-label"); + const label = component.getByTestId('go-back-button-label'); expect(label).toHaveTextContent(defaultProps.label); }); - test("if have to prop should redirect to desired route", () => { + test('if have to prop should redirect to desired route', () => { const component = render( , ); - expect(component.getByRole("link")).toHaveAttribute( - "href", + expect(component.getByRole('link')).toHaveAttribute( + 'href', RoutePath.DIGITAL_SECURITIES_LIST, ); }); - test("if not have to prop shoul render as a button and goback to previous route on click", async () => { + test('if not have to prop shoul render as a button and goback to previous route on click', async () => { const component = render(); - const button = component.getByTestId("go-back-button-button"); + const button = component.getByTestId('go-back-button-button'); userEvent.click(button); await waitFor(() => { diff --git a/apps/ats/web/src/components/__tests__/Header.test.tsx b/apps/ats/web/src/components/__tests__/Header.test.tsx index d16b00953..0ac9eac67 100644 --- a/apps/ats/web/src/components/__tests__/Header.test.tsx +++ b/apps/ats/web/src/components/__tests__/Header.test.tsx @@ -203,15 +203,15 @@ */ -import { Header, HeaderProps } from "../Header"; -import { render } from "../../test-utils"; +import { Header, HeaderProps } from '../Header'; +import { render } from '../../test-utils'; const defaultProps: HeaderProps = { - page: "digitalSecuritiesList", + page: 'digitalSecuritiesList', }; describe(`${Header.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/components/__tests__/History.test.tsx b/apps/ats/web/src/components/__tests__/History.test.tsx index 66dfa9160..93ebe0665 100644 --- a/apps/ats/web/src/components/__tests__/History.test.tsx +++ b/apps/ats/web/src/components/__tests__/History.test.tsx @@ -203,29 +203,29 @@ */ -import { History, HistoryProps } from "../History"; -import { render } from "../../test-utils"; +import { History, HistoryProps } from '../History'; +import { render } from '../../test-utils'; const defaultProps: HistoryProps = { - label: "Go Back", + label: 'Go Back', }; describe(`${History.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should have a goback button", () => { + test('should have a goback button', () => { const component = render(); - expect(component.getByTestId("go-back-button")).toBeInTheDocument(); + expect(component.getByTestId('go-back-button')).toBeInTheDocument(); }); - test("should have a breadcrumb", () => { + test('should have a breadcrumb', () => { const component = render(); - expect(component.getByTestId("breadcrumb-desktop")).toBeInTheDocument(); + expect(component.getByTestId('breadcrumb-desktop')).toBeInTheDocument(); }); }); diff --git a/apps/ats/web/src/components/__tests__/Panel.test.tsx b/apps/ats/web/src/components/__tests__/Panel.test.tsx index 4d6c0e8a8..e38c71d12 100644 --- a/apps/ats/web/src/components/__tests__/Panel.test.tsx +++ b/apps/ats/web/src/components/__tests__/Panel.test.tsx @@ -203,16 +203,16 @@ */ -import { Panel } from "../Panel"; -import { render } from "../../test-utils"; +import { Panel } from '../Panel'; +import { render } from '../../test-utils'; const defaultProps = { - title: "Testing", + title: 'Testing', children: TESTING, }; describe(`${Panel.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/hooks/mutations/useClearingOperations.tsx b/apps/ats/web/src/hooks/mutations/useClearingOperations.tsx index 5cd34f804..6e7a1a286 100644 --- a/apps/ats/web/src/hooks/mutations/useClearingOperations.tsx +++ b/apps/ats/web/src/hooks/mutations/useClearingOperations.tsx @@ -2,11 +2,11 @@ import { useMutation, UseMutationOptions, useQueryClient, -} from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; -import { useTranslation } from "react-i18next"; -import { useToast } from "io-bricks-ui"; -import { GET_CLEARING_OPERATIONS_LIST } from "../queries/useClearingOperations"; +} from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; +import { useTranslation } from 'react-i18next'; +import { useToast } from 'io-bricks-ui'; +import { GET_CLEARING_OPERATIONS_LIST } from '../queries/useClearingOperations'; import { ActivateClearingRequest, ApproveClearingOperationByPartitionRequest, @@ -16,13 +16,13 @@ import { ClearingTransferByPartitionRequest, DeactivateClearingRequest, ReclaimClearingOperationByPartitionRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export const useCreateClearingTransferByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.clearingOperations.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.messages', }); return useMutation( @@ -35,7 +35,7 @@ export const useCreateClearingTransferByPartition = () => { }); console.log( - "SDK message --> Clearing Operation operation success: ", + 'SDK message --> Clearing Operation operation success: ', data, ); @@ -45,24 +45,24 @@ export const useCreateClearingTransferByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Clearing Operation operation error: ", + 'SDK message --> Clearing Operation operation error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -72,8 +72,8 @@ export const useCreateClearingTransferByPartition = () => { export const useCreateClearingRedeemByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.clearingOperations.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.messages', }); return useMutation( @@ -86,7 +86,7 @@ export const useCreateClearingRedeemByPartition = () => { }); console.log( - "SDK message --> Clearing Operation operation success: ", + 'SDK message --> Clearing Operation operation success: ', data, ); @@ -96,24 +96,24 @@ export const useCreateClearingRedeemByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Clearing Operation operation error: ", + 'SDK message --> Clearing Operation operation error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -123,8 +123,8 @@ export const useCreateClearingRedeemByPartition = () => { export const useCreateClearingHoldByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.clearingOperations.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.messages', }); return useMutation( @@ -137,7 +137,7 @@ export const useCreateClearingHoldByPartition = () => { }); console.log( - "SDK message --> Clearing Operation operation success: ", + 'SDK message --> Clearing Operation operation success: ', data, ); @@ -147,24 +147,24 @@ export const useCreateClearingHoldByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Clearing Operation operation error: ", + 'SDK message --> Clearing Operation operation error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -174,8 +174,8 @@ export const useCreateClearingHoldByPartition = () => { export const useApproveClearingByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.clearingOperations.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.messages', }); return useMutation( @@ -188,7 +188,7 @@ export const useApproveClearingByPartition = () => { }); console.log( - "SDK message --> Clearing Operation operation success: ", + 'SDK message --> Clearing Operation operation success: ', data, ); @@ -198,24 +198,24 @@ export const useApproveClearingByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Clearing Operation operation error: ", + 'SDK message --> Clearing Operation operation error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -225,8 +225,8 @@ export const useApproveClearingByPartition = () => { export const useCancelClearingByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.clearingOperations.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.messages', }); return useMutation( @@ -239,7 +239,7 @@ export const useCancelClearingByPartition = () => { }); console.log( - "SDK message --> Clearing Operation operation success: ", + 'SDK message --> Clearing Operation operation success: ', data, ); @@ -249,24 +249,24 @@ export const useCancelClearingByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Clearing Operation operation error: ", + 'SDK message --> Clearing Operation operation error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -276,8 +276,8 @@ export const useCancelClearingByPartition = () => { export const useReclaimClearingByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.clearingOperations.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.messages', }); return useMutation( @@ -290,7 +290,7 @@ export const useReclaimClearingByPartition = () => { }); console.log( - "SDK message --> Clearing Operation operation success: ", + 'SDK message --> Clearing Operation operation success: ', data, ); @@ -300,24 +300,24 @@ export const useReclaimClearingByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Clearing Operation operation error: ", + 'SDK message --> Clearing Operation operation error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -329,8 +329,8 @@ export const useActivateClearing = ( ) => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.clearingOperations.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.messages', }); return useMutation( @@ -342,7 +342,7 @@ export const useActivateClearing = ( }); console.log( - "SDK message --> Clearing Operation operation success: ", + 'SDK message --> Clearing Operation operation success: ', data, ); @@ -352,24 +352,24 @@ export const useActivateClearing = ( toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Clearing Operation operation error: ", + 'SDK message --> Clearing Operation operation error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, ...options, @@ -382,8 +382,8 @@ export const useDeactivateClearing = ( ) => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.clearingOperations.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.messages', }); return useMutation( @@ -395,7 +395,7 @@ export const useDeactivateClearing = ( }); console.log( - "SDK message --> Clearing Operation operation success: ", + 'SDK message --> Clearing Operation operation success: ', data, ); @@ -405,24 +405,24 @@ export const useDeactivateClearing = ( toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Clearing Operation operation error: ", + 'SDK message --> Clearing Operation operation error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, ...options, diff --git a/apps/ats/web/src/hooks/mutations/useExternalControl.tsx b/apps/ats/web/src/hooks/mutations/useExternalControl.tsx index 31a08db18..9f6002df1 100644 --- a/apps/ats/web/src/hooks/mutations/useExternalControl.tsx +++ b/apps/ats/web/src/hooks/mutations/useExternalControl.tsx @@ -1,7 +1,7 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import SDKService from "../../services/SDKService"; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import SDKService from '../../services/SDKService'; import { AddExternalControlListRequest, AddToBlackListMockRequest, @@ -12,8 +12,8 @@ import { RemoveFromBlackListMockRequest, RemoveFromWhiteListMockRequest, UpdateExternalControlListsRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { GET_EXTERNAL_CONTROL_LIST_COUNT } from "../queries/useExternalControl"; +} from '@hashgraph/asset-tokenization-sdk'; +import { GET_EXTERNAL_CONTROL_LIST_COUNT } from '../queries/useExternalControl'; export const useUpdateExternalControlLists = () => { const queryClient = useQueryClient(); @@ -28,13 +28,13 @@ export const useUpdateExternalControlLists = () => { }); console.log( - "SDK message --> Update external control operation success: ", + 'SDK message --> Update external control operation success: ', data, ); }, onError: (error) => { console.log( - "SDK message --> Update external control operation error: ", + 'SDK message --> Update external control operation error: ', error, ); }, @@ -45,8 +45,8 @@ export const useUpdateExternalControlLists = () => { export const useAddExternalControlList = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t: tAdd } = useTranslation("externalControl", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalControl', { + keyPrefix: 'add.messages', }); return useMutation( @@ -59,7 +59,7 @@ export const useAddExternalControlList = () => { }); console.log( - "SDK message --> Add external control operation success: ", + 'SDK message --> Add external control operation success: ', data, ); @@ -69,24 +69,24 @@ export const useAddExternalControlList = () => { toast.show({ duration: 3000, - title: tAdd("addExternalControl.success"), - description: tAdd("addExternalControl.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('addExternalControl.success'), + description: tAdd('addExternalControl.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Add external control operation error: ", + 'SDK message --> Add external control operation error: ', error, ); toast.show({ duration: 3000, - title: tAdd("addExternalControl.error"), - description: tAdd("addExternalControl.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('addExternalControl.error'), + description: tAdd('addExternalControl.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -96,8 +96,8 @@ export const useAddExternalControlList = () => { export const useRemoveExternalControlList = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("externalControl", { - keyPrefix: "list.messages", + const { t } = useTranslation('externalControl', { + keyPrefix: 'list.messages', }); return useMutation( @@ -110,7 +110,7 @@ export const useRemoveExternalControlList = () => { }); console.log( - "SDK message --> Remove external control operation success: ", + 'SDK message --> Remove external control operation success: ', data, ); @@ -120,24 +120,24 @@ export const useRemoveExternalControlList = () => { toast.show({ duration: 3000, - title: t("removeExternalControl.success"), - description: t("removeExternalControl.descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('removeExternalControl.success'), + description: t('removeExternalControl.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Remove external control operation error: ", + 'SDK message --> Remove external control operation error: ', error, ); toast.show({ duration: 3000, - title: t("removeExternalControl.error"), - description: t("removeExternalControl.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('removeExternalControl.error'), + description: t('removeExternalControl.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -146,13 +146,13 @@ export const useRemoveExternalControlList = () => { export const useCreateExternalBlackListMock = () => { const toast = useToast(); - const { t } = useTranslation("externalControl", { - keyPrefix: "create.messages", + const { t } = useTranslation('externalControl', { + keyPrefix: 'create.messages', }); return useMutation(() => SDKService.createExternalBlackListMock(), { onSuccess(data) { - console.log("SDK message --> Control mock created success: ", data); + console.log('SDK message --> Control mock created success: ', data); if (!data) { return; @@ -160,21 +160,21 @@ export const useCreateExternalBlackListMock = () => { toast.show({ duration: 3000, - title: t("createExternalControl.success"), - description: t("createExternalControl.descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('createExternalControl.success'), + description: t('createExternalControl.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Pause mock created error: ", error); + console.log('SDK message --> Pause mock created error: ', error); toast.show({ duration: 3000, - title: t("createExternalControl.error"), - description: t("createExternalControl.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('createExternalControl.error'), + description: t('createExternalControl.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }); @@ -182,13 +182,13 @@ export const useCreateExternalBlackListMock = () => { export const useCreateExternalWhiteListMock = () => { const toast = useToast(); - const { t } = useTranslation("externalControl", { - keyPrefix: "create.messages", + const { t } = useTranslation('externalControl', { + keyPrefix: 'create.messages', }); return useMutation(() => SDKService.createExternalWhiteListMock(), { onSuccess(data) { - console.log("SDK message --> Control mock created success: ", data); + console.log('SDK message --> Control mock created success: ', data); if (!data) { return; @@ -196,21 +196,21 @@ export const useCreateExternalWhiteListMock = () => { toast.show({ duration: 3000, - title: t("createExternalControl.success"), - description: t("createExternalControl.descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('createExternalControl.success'), + description: t('createExternalControl.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Pause mock created error: ", error); + console.log('SDK message --> Pause mock created error: ', error); toast.show({ duration: 3000, - title: t("createExternalControl.error"), - description: t("createExternalControl.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('createExternalControl.error'), + description: t('createExternalControl.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }); @@ -218,15 +218,15 @@ export const useCreateExternalWhiteListMock = () => { export const useAddToWhiteListMock = () => { const toast = useToast(); - const { t: tAdd } = useTranslation("externalControl", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalControl', { + keyPrefix: 'add.messages', }); return useMutation( (req: AddToWhiteListMockRequest) => SDKService.addToWhiteListMock(req), { onSuccess(data) { - console.log("SDK message --> Add address operation success: ", data); + console.log('SDK message --> Add address operation success: ', data); if (!data) { return; @@ -234,21 +234,21 @@ export const useAddToWhiteListMock = () => { toast.show({ duration: 3000, - title: tAdd("addAddressControl.success"), - description: tAdd("addAddressControl.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('addAddressControl.success'), + description: tAdd('addAddressControl.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Add address operation error: ", error); + console.log('SDK message --> Add address operation error: ', error); toast.show({ duration: 3000, - title: tAdd("addAddressControl.error"), - description: tAdd("addAddressControl.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('addAddressControl.error'), + description: tAdd('addAddressControl.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -257,15 +257,15 @@ export const useAddToWhiteListMock = () => { export const useAddToBlackListMock = () => { const toast = useToast(); - const { t: tAdd } = useTranslation("externalControl", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalControl', { + keyPrefix: 'add.messages', }); return useMutation( (req: AddToBlackListMockRequest) => SDKService.addToBlackListMock(req), { onSuccess(data) { - console.log("SDK message --> Add address operation success: ", data); + console.log('SDK message --> Add address operation success: ', data); if (!data) { return; @@ -273,24 +273,24 @@ export const useAddToBlackListMock = () => { toast.show({ duration: 3000, - title: tAdd("addAddressControl.success"), - description: tAdd("addAddressControl.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('addAddressControl.success'), + description: tAdd('addAddressControl.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Add external control operation error: ", + 'SDK message --> Add external control operation error: ', error, ); toast.show({ duration: 3000, - title: tAdd("addAddressControl.error"), - description: tAdd("addAddressControl.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('addAddressControl.error'), + description: tAdd('addAddressControl.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -299,8 +299,8 @@ export const useAddToBlackListMock = () => { export const useRemoveFromBlackListMock = () => { const toast = useToast(); - const { t: tAdd } = useTranslation("externalControl", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalControl', { + keyPrefix: 'add.messages', }); return useMutation( @@ -308,7 +308,7 @@ export const useRemoveFromBlackListMock = () => { SDKService.removeFromBlackListMock(req), { onSuccess(data) { - console.log("SDK message --> Remove address operation success: ", data); + console.log('SDK message --> Remove address operation success: ', data); if (!data) { return; @@ -316,24 +316,24 @@ export const useRemoveFromBlackListMock = () => { toast.show({ duration: 3000, - title: tAdd("removeAddressControl.success"), - description: tAdd("removeAddressControl.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('removeAddressControl.success'), + description: tAdd('removeAddressControl.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Add external control operation error: ", + 'SDK message --> Add external control operation error: ', error, ); toast.show({ duration: 3000, - title: tAdd("removeAddressControl.error"), - description: tAdd("removeAddressControl.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('removeAddressControl.error'), + description: tAdd('removeAddressControl.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -342,8 +342,8 @@ export const useRemoveFromBlackListMock = () => { export const useRemoveFromWhiteListMock = () => { const toast = useToast(); - const { t: tAdd } = useTranslation("externalControl", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalControl', { + keyPrefix: 'add.messages', }); return useMutation( @@ -351,7 +351,7 @@ export const useRemoveFromWhiteListMock = () => { SDKService.removeFromWhiteListMock(req), { onSuccess(data) { - console.log("SDK message --> Remove address operation success: ", data); + console.log('SDK message --> Remove address operation success: ', data); if (!data) { return; @@ -359,24 +359,24 @@ export const useRemoveFromWhiteListMock = () => { toast.show({ duration: 3000, - title: tAdd("removeAddressControl.success"), - description: tAdd("removeAddressControl.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('removeAddressControl.success'), + description: tAdd('removeAddressControl.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Add external control operation error: ", + 'SDK message --> Add external control operation error: ', error, ); toast.show({ duration: 3000, - title: tAdd("removeAddressControl.error"), - description: tAdd("removeAddressControl.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('removeAddressControl.error'), + description: tAdd('removeAddressControl.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -385,8 +385,8 @@ export const useRemoveFromWhiteListMock = () => { export const useIsAuthorizedBlackListMock = () => { const toast = useToast(); - const { t: tAdd } = useTranslation("externalControl", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalControl', { + keyPrefix: 'add.messages', }); return useMutation( @@ -395,41 +395,41 @@ export const useIsAuthorizedBlackListMock = () => { { onSuccess(data) { console.log( - "SDK message --> Is authorized address operation success: ", + 'SDK message --> Is authorized address operation success: ', data, ); if (data) { toast.show({ duration: 3000, - title: tAdd("isAddressAuthorized.success"), - description: tAdd("isAddressAuthorized.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('isAddressAuthorized.success'), + description: tAdd('isAddressAuthorized.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); return; } toast.show({ duration: 3000, - title: tAdd("isAddressNotAuthorized.success"), - description: tAdd("isAddressNotAuthorized.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('isAddressNotAuthorized.success'), + description: tAdd('isAddressNotAuthorized.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Add external control operation error: ", + 'SDK message --> Add external control operation error: ', error, ); toast.show({ duration: 3000, - title: tAdd("isAddressAuthorized.error"), - description: tAdd("isAddressAuthorized.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('isAddressAuthorized.error'), + description: tAdd('isAddressAuthorized.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -438,8 +438,8 @@ export const useIsAuthorizedBlackListMock = () => { export const useIsAuthorizedWhiteListMock = () => { const toast = useToast(); - const { t: tAdd } = useTranslation("externalControl", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalControl', { + keyPrefix: 'add.messages', }); return useMutation( @@ -448,41 +448,41 @@ export const useIsAuthorizedWhiteListMock = () => { { onSuccess(data) { console.log( - "SDK message --> Is authorized address operation success: ", + 'SDK message --> Is authorized address operation success: ', data, ); if (data) { toast.show({ duration: 3000, - title: tAdd("isAddressAuthorized.success"), - description: tAdd("isAddressAuthorized.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('isAddressAuthorized.success'), + description: tAdd('isAddressAuthorized.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); return; } toast.show({ duration: 3000, - title: tAdd("isAddressNotAuthorized.success"), - description: tAdd("isAddressNotAuthorized.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('isAddressNotAuthorized.success'), + description: tAdd('isAddressNotAuthorized.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Add external control operation error: ", + 'SDK message --> Add external control operation error: ', error, ); toast.show({ duration: 3000, - title: tAdd("isAddressAuthorized.error"), - description: tAdd("isAddressAuthorized.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('isAddressAuthorized.error'), + description: tAdd('isAddressAuthorized.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/mutations/useExternalKYC.tsx b/apps/ats/web/src/hooks/mutations/useExternalKYC.tsx index 627691f2d..426e4e2ef 100644 --- a/apps/ats/web/src/hooks/mutations/useExternalKYC.tsx +++ b/apps/ats/web/src/hooks/mutations/useExternalKYC.tsx @@ -1,7 +1,7 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import SDKService from "../../services/SDKService"; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import SDKService from '../../services/SDKService'; import { AddExternalKycListRequest, GetKycStatusMockRequest, @@ -9,8 +9,8 @@ import { RemoveExternalKycListRequest, RevokeKycMockRequest, UpdateExternalKycListsRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { GET_EXTERNAL_KYC_COUNT } from "../queries/useExternalKYC"; +} from '@hashgraph/asset-tokenization-sdk'; +import { GET_EXTERNAL_KYC_COUNT } from '../queries/useExternalKYC'; export const useUpdateExternalKYCLists = () => { const queryClient = useQueryClient(); @@ -25,13 +25,13 @@ export const useUpdateExternalKYCLists = () => { }); console.log( - "SDK message --> Update external KYC operation success: ", + 'SDK message --> Update external KYC operation success: ', data, ); }, onError: (error) => { console.log( - "SDK message --> Update external KYC operation error: ", + 'SDK message --> Update external KYC operation error: ', error, ); }, @@ -42,8 +42,8 @@ export const useUpdateExternalKYCLists = () => { export const useAddExternalKYCList = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t: tAdd } = useTranslation("externalKYC", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalKYC', { + keyPrefix: 'add.messages', }); return useMutation( @@ -55,7 +55,7 @@ export const useAddExternalKYCList = () => { }); console.log( - "SDK message --> Add external KYC operation success: ", + 'SDK message --> Add external KYC operation success: ', data, ); @@ -65,24 +65,24 @@ export const useAddExternalKYCList = () => { toast.show({ duration: 3000, - title: tAdd("addExternalKYC.success"), - description: tAdd("addExternalKYC.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('addExternalKYC.success'), + description: tAdd('addExternalKYC.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Add external control operation error: ", + 'SDK message --> Add external control operation error: ', error, ); toast.show({ duration: 3000, - title: tAdd("addExternalControl.error"), - description: tAdd("addExternalControl.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('addExternalControl.error'), + description: tAdd('addExternalControl.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -92,8 +92,8 @@ export const useAddExternalKYCList = () => { export const useRemoveExternalKYCList = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("externalKYC", { - keyPrefix: "list.messages", + const { t } = useTranslation('externalKYC', { + keyPrefix: 'list.messages', }); return useMutation( @@ -106,7 +106,7 @@ export const useRemoveExternalKYCList = () => { }); console.log( - "SDK message --> Remove external KYC operation success: ", + 'SDK message --> Remove external KYC operation success: ', data, ); @@ -116,24 +116,24 @@ export const useRemoveExternalKYCList = () => { toast.show({ duration: 3000, - title: t("removeExternalKYC.success"), - description: t("removeExternalKYC.descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('removeExternalKYC.success'), + description: t('removeExternalKYC.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Remove external KYC operation error: ", + 'SDK message --> Remove external KYC operation error: ', error, ); toast.show({ duration: 3000, - title: t("removeExternalKYC.error"), - description: t("removeExternalKYC.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('removeExternalKYC.error'), + description: t('removeExternalKYC.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -142,13 +142,13 @@ export const useRemoveExternalKYCList = () => { export const useCreateExternalKYCMock = () => { const toast = useToast(); - const { t } = useTranslation("externalKYC", { - keyPrefix: "create.messages", + const { t } = useTranslation('externalKYC', { + keyPrefix: 'create.messages', }); return useMutation(() => SDKService.createExternalKycMock(), { onSuccess(data) { - console.log("SDK message --> KYC mock created success: ", data); + console.log('SDK message --> KYC mock created success: ', data); if (!data) { return; @@ -156,21 +156,21 @@ export const useCreateExternalKYCMock = () => { toast.show({ duration: 3000, - title: t("createExternalKYC.success"), - description: t("createExternalKYC.descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('createExternalKYC.success'), + description: t('createExternalKYC.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> KYC mock created error: ", error); + console.log('SDK message --> KYC mock created error: ', error); toast.show({ duration: 3000, - title: t("createExternalKYC.error"), - description: t("createExternalKYC.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('createExternalKYC.error'), + description: t('createExternalKYC.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }); @@ -178,15 +178,15 @@ export const useCreateExternalKYCMock = () => { export const useGrantKycMock = () => { const toast = useToast(); - const { t: tAdd } = useTranslation("externalKYC", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalKYC', { + keyPrefix: 'add.messages', }); return useMutation( (req: GrantKycMockRequest) => SDKService.grantKycMock(req), { onSuccess(data) { - console.log("SDK message --> Add address operation success: ", data); + console.log('SDK message --> Add address operation success: ', data); if (!data) { return; @@ -194,21 +194,21 @@ export const useGrantKycMock = () => { toast.show({ duration: 3000, - title: tAdd("addAddressKYC.success"), - description: tAdd("addAddressKYC.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('addAddressKYC.success'), + description: tAdd('addAddressKYC.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Add address operation error: ", error); + console.log('SDK message --> Add address operation error: ', error); toast.show({ duration: 3000, - title: tAdd("addAddressKYC.error"), - description: tAdd("addAddressKYC.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('addAddressKYC.error'), + description: tAdd('addAddressKYC.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -217,15 +217,15 @@ export const useGrantKycMock = () => { export const useRevokeKycMock = () => { const toast = useToast(); - const { t: tAdd } = useTranslation("externalKYC", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalKYC', { + keyPrefix: 'add.messages', }); return useMutation( (req: RevokeKycMockRequest) => SDKService.revokeKycMock(req), { onSuccess(data) { - console.log("SDK message --> Remove address operation success: ", data); + console.log('SDK message --> Remove address operation success: ', data); if (!data) { return; @@ -233,24 +233,24 @@ export const useRevokeKycMock = () => { toast.show({ duration: 3000, - title: tAdd("removeAddressKYC.success"), - description: tAdd("removeAddressKYC.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('removeAddressKYC.success'), + description: tAdd('removeAddressKYC.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Remove external KYC operation error: ", + 'SDK message --> Remove external KYC operation error: ', error, ); toast.show({ duration: 3000, - title: tAdd("removeAddressKYC.error"), - description: tAdd("removeAddressKYC.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('removeAddressKYC.error'), + description: tAdd('removeAddressKYC.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -259,8 +259,8 @@ export const useRevokeKycMock = () => { export const useIsAuthorizedKYCListMock = () => { const toast = useToast(); - const { t: tAdd } = useTranslation("externalKYC", { - keyPrefix: "add.messages", + const { t: tAdd } = useTranslation('externalKYC', { + keyPrefix: 'add.messages', }); return useMutation( @@ -268,41 +268,41 @@ export const useIsAuthorizedKYCListMock = () => { { onSuccess(data) { console.log( - "SDK message --> Is authorized address operation success: ", + 'SDK message --> Is authorized address operation success: ', data, ); if (data) { toast.show({ duration: 3000, - title: tAdd("isAddressAuthorized.success"), - description: tAdd("isAddressAuthorized.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('isAddressAuthorized.success'), + description: tAdd('isAddressAuthorized.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); return; } toast.show({ duration: 3000, - title: tAdd("isAddressNotAuthorized.success"), - description: tAdd("isAddressNotAuthorized.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tAdd('isAddressNotAuthorized.success'), + description: tAdd('isAddressNotAuthorized.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Add external control operation error: ", + 'SDK message --> Add external control operation error: ', error, ); toast.show({ duration: 3000, - title: tAdd("isAddressAuthorized.error"), - description: tAdd("isAddressAuthorized.descriptionFailed"), - variant: "subtle", - status: "error", + title: tAdd('isAddressAuthorized.error'), + description: tAdd('isAddressAuthorized.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/mutations/useExternalPause.tsx b/apps/ats/web/src/hooks/mutations/useExternalPause.tsx index abbb5e1c5..47fcf77fd 100644 --- a/apps/ats/web/src/hooks/mutations/useExternalPause.tsx +++ b/apps/ats/web/src/hooks/mutations/useExternalPause.tsx @@ -1,13 +1,13 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import SDKService from "../../services/SDKService"; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import SDKService from '../../services/SDKService'; import { AddExternalPauseRequest, SetPausedMockRequest, UpdateExternalPausesRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { GET_EXTERNAL_PAUSES_COUNT } from "../queries/useExternalPause"; +} from '@hashgraph/asset-tokenization-sdk'; +import { GET_EXTERNAL_PAUSES_COUNT } from '../queries/useExternalPause'; export const useUpdateExternalPauses = () => { const queryClient = useQueryClient(); @@ -21,13 +21,13 @@ export const useUpdateExternalPauses = () => { }); console.log( - "SDK message --> Update external pause operation success: ", + 'SDK message --> Update external pause operation success: ', data, ); }, onError: (error) => { console.log( - "SDK message --> Update external pause operation error: ", + 'SDK message --> Update external pause operation error: ', error, ); }, @@ -38,8 +38,8 @@ export const useUpdateExternalPauses = () => { export const useAddExternalPause = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("externalPause", { - keyPrefix: "messages", + const { t } = useTranslation('externalPause', { + keyPrefix: 'messages', }); return useMutation( @@ -51,7 +51,7 @@ export const useAddExternalPause = () => { }); console.log( - "SDK message --> Add external pause operation success: ", + 'SDK message --> Add external pause operation success: ', data, ); @@ -61,24 +61,24 @@ export const useAddExternalPause = () => { toast.show({ duration: 3000, - title: t("addExternalPause.success"), - description: t("addExternalPause.descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('addExternalPause.success'), + description: t('addExternalPause.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Add external pause operation error: ", + 'SDK message --> Add external pause operation error: ', error, ); toast.show({ duration: 3000, - title: t("addExternalPause.error"), - description: t("addExternalPause.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('addExternalPause.error'), + description: t('addExternalPause.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -88,8 +88,8 @@ export const useAddExternalPause = () => { export const useRemoveExternalPause = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("externalPause", { - keyPrefix: "list.messages", + const { t } = useTranslation('externalPause', { + keyPrefix: 'list.messages', }); return useMutation( @@ -101,7 +101,7 @@ export const useRemoveExternalPause = () => { }); console.log( - "SDK message --> Remove external pause operation success: ", + 'SDK message --> Remove external pause operation success: ', data, ); @@ -111,24 +111,24 @@ export const useRemoveExternalPause = () => { toast.show({ duration: 3000, - title: t("removeExternalPause.success"), - description: t("removeExternalPause.descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('removeExternalPause.success'), + description: t('removeExternalPause.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Remove external pause operation error: ", + 'SDK message --> Remove external pause operation error: ', error, ); toast.show({ duration: 3000, - title: t("removeExternalPause.error"), - description: t("removeExternalPause.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('removeExternalPause.error'), + description: t('removeExternalPause.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -137,8 +137,8 @@ export const useRemoveExternalPause = () => { export const useSetPausedMock = () => { const toast = useToast(); - const { t } = useTranslation("externalPause", { - keyPrefix: "list.messages", + const { t } = useTranslation('externalPause', { + keyPrefix: 'list.messages', }); return useMutation( @@ -146,7 +146,7 @@ export const useSetPausedMock = () => { { onSuccess(data) { console.log( - "SDK message --> Set external pause operation success: ", + 'SDK message --> Set external pause operation success: ', data, ); @@ -156,24 +156,24 @@ export const useSetPausedMock = () => { toast.show({ duration: 3000, - title: t("changeState.success"), - description: t("changeState.descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('changeState.success'), + description: t('changeState.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Set external pause operation error: ", + 'SDK message --> Set external pause operation error: ', error, ); toast.show({ duration: 3000, - title: t("changeState.error"), - description: t("changeState.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('changeState.error'), + description: t('changeState.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -182,13 +182,13 @@ export const useSetPausedMock = () => { export const useCreatePauseMock = () => { const toast = useToast(); - const { t } = useTranslation("externalPause", { - keyPrefix: "list.messages", + const { t } = useTranslation('externalPause', { + keyPrefix: 'list.messages', }); return useMutation(() => SDKService.createMock(), { onSuccess(data) { - console.log("SDK message --> Pause mock created success: ", data); + console.log('SDK message --> Pause mock created success: ', data); if (!data) { return; @@ -196,21 +196,21 @@ export const useCreatePauseMock = () => { toast.show({ duration: 3000, - title: t("createMock.success"), - description: t("createMock.descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('createMock.success'), + description: t('createMock.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Pause mock created error: ", error); + console.log('SDK message --> Pause mock created error: ', error); toast.show({ duration: 3000, - title: t("createMock.error"), - description: t("createMock.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('createMock.error'), + description: t('createMock.descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }); diff --git a/apps/ats/web/src/hooks/mutations/useFreezeSecurity.ts b/apps/ats/web/src/hooks/mutations/useFreezeSecurity.ts index 9d3090b02..5fb1e4ff9 100644 --- a/apps/ats/web/src/hooks/mutations/useFreezeSecurity.ts +++ b/apps/ats/web/src/hooks/mutations/useFreezeSecurity.ts @@ -203,21 +203,21 @@ */ -import { useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; +import { useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; import { FreezePartialTokensRequest, UnfreezePartialTokensRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { checkError, KnownErrors } from "../../utils/helpers"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { checkError, KnownErrors } from '../../utils/helpers'; export const useFreezeSecurity = () => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "freeze" }); - const { t: tErrors } = useTranslation("security", { - keyPrefix: "details.allowedList.messages.operationsError", + const { t } = useTranslation('security', { keyPrefix: 'freeze' }); + const { t: tErrors } = useTranslation('security', { + keyPrefix: 'details.allowedList.messages.operationsError', }); return useMutation( @@ -228,42 +228,42 @@ export const useFreezeSecurity = () => { if (data === true) { toast.show({ duration: 3000, - title: `${t("messages.success")}`, - description: `${t("messages.descriptionSuccess")}`, - variant: "subtle", - status: "success", + title: `${t('messages.success')}`, + description: `${t('messages.descriptionSuccess')}`, + variant: 'subtle', + status: 'success', }); } else { toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.descriptionFailed'), + variant: 'subtle', + status: 'error', }); } }, onError: (error: { message: string }) => { - console.log("SDK message --> Freeze Partial Tokens error: ", error); + console.log('SDK message --> Freeze Partial Tokens error: ', error); const knownError = checkError(error); const errorTranslations = { [KnownErrors.blocked]: { - ...tErrors("block", { returnObjects: true }), + ...tErrors('block', { returnObjects: true }), }, [KnownErrors.not_approved]: { - ...tErrors("approval", { returnObjects: true }), + ...tErrors('approval', { returnObjects: true }), }, [KnownErrors.unknown]: { - title: t("messages.error"), + title: t('messages.error'), description: error?.message, }, }; toast.show({ duration: 3000, - variant: "subtle", - status: "error", + variant: 'subtle', + status: 'error', ...errorTranslations[knownError], }); }, @@ -273,9 +273,9 @@ export const useFreezeSecurity = () => { export const useUnfreezeSecurity = () => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "freeze" }); - const { t: tErrors } = useTranslation("security", { - keyPrefix: "details.allowedList.messages.operationsError", + const { t } = useTranslation('security', { keyPrefix: 'freeze' }); + const { t: tErrors } = useTranslation('security', { + keyPrefix: 'details.allowedList.messages.operationsError', }); return useMutation( @@ -286,42 +286,42 @@ export const useUnfreezeSecurity = () => { if (data === true) { toast.show({ duration: 3000, - title: `${t("messages.success")}`, - description: `${t("messages.descriptionSuccess")}`, - variant: "subtle", - status: "success", + title: `${t('messages.success')}`, + description: `${t('messages.descriptionSuccess')}`, + variant: 'subtle', + status: 'success', }); } else { toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.descriptionFailed'), + variant: 'subtle', + status: 'error', }); } }, onError: (error: { message: string }) => { - console.log("SDK message --> Unfreeze Partial Tokens: ", error); + console.log('SDK message --> Unfreeze Partial Tokens: ', error); const knownError = checkError(error); const errorTranslations = { [KnownErrors.blocked]: { - ...tErrors("block", { returnObjects: true }), + ...tErrors('block', { returnObjects: true }), }, [KnownErrors.not_approved]: { - ...tErrors("approval", { returnObjects: true }), + ...tErrors('approval', { returnObjects: true }), }, [KnownErrors.unknown]: { - title: t("messages.error"), + title: t('messages.error'), description: error?.message, }, }; toast.show({ duration: 3000, - variant: "subtle", - status: "error", + variant: 'subtle', + status: 'error', ...errorTranslations[knownError], }); }, diff --git a/apps/ats/web/src/hooks/mutations/useHold.tsx b/apps/ats/web/src/hooks/mutations/useHold.tsx index 71a6b8b50..1b510bad9 100644 --- a/apps/ats/web/src/hooks/mutations/useHold.tsx +++ b/apps/ats/web/src/hooks/mutations/useHold.tsx @@ -1,21 +1,21 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; import { CreateHoldByPartitionRequest, CreateHoldFromByPartitionRequest, ExecuteHoldByPartitionRequest, ReclaimHoldByPartitionRequest, ReleaseHoldByPartitionRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useTranslation } from "react-i18next"; -import { useToast } from "io-bricks-ui"; -import { GET_HOLDS } from "../queries/useGetHolds"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useTranslation } from 'react-i18next'; +import { useToast } from 'io-bricks-ui'; +import { GET_HOLDS } from '../queries/useGetHolds'; export const useCreateHoldFromByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.hold.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.hold.messages', }); return useMutation( @@ -27,7 +27,7 @@ export const useCreateHoldFromByPartition = () => { queryKey: [GET_HOLDS(variables.securityId, variables.targetId)], }); - console.log("SDK message --> Hold operation success: ", data); + console.log('SDK message --> Hold operation success: ', data); if (!data) { return; @@ -35,21 +35,21 @@ export const useCreateHoldFromByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Hold operation error: ", error); + console.log('SDK message --> Hold operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -59,8 +59,8 @@ export const useCreateHoldFromByPartition = () => { export const useCreateHoldByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.hold.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.hold.messages', }); return useMutation( @@ -72,7 +72,7 @@ export const useCreateHoldByPartition = () => { queryKey: [GET_HOLDS(variables.securityId, variables.targetId)], }); - console.log("SDK message --> Hold operation success: ", data); + console.log('SDK message --> Hold operation success: ', data); if (!data) { return; @@ -80,21 +80,21 @@ export const useCreateHoldByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Hold operation error: ", error); + console.log('SDK message --> Hold operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -104,8 +104,8 @@ export const useCreateHoldByPartition = () => { export const useForceCreateHoldFromByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.hold.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.hold.messages', }); return useMutation( @@ -117,7 +117,7 @@ export const useForceCreateHoldFromByPartition = () => { queryKey: [GET_HOLDS(variables.securityId, variables.targetId)], }); - console.log("SDK message --> Hold operation success: ", data); + console.log('SDK message --> Hold operation success: ', data); if (!data) { return; @@ -125,21 +125,21 @@ export const useForceCreateHoldFromByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Hold operation error: ", error); + console.log('SDK message --> Hold operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -149,8 +149,8 @@ export const useForceCreateHoldFromByPartition = () => { export const useReleaseHoldByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.hold.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.hold.messages', }); return useMutation( @@ -162,7 +162,7 @@ export const useReleaseHoldByPartition = () => { queryKey: [GET_HOLDS(variables.securityId, variables.targetId)], }); - console.log("SDK message --> Hold operation success: ", data); + console.log('SDK message --> Hold operation success: ', data); if (!data) { return; @@ -170,21 +170,21 @@ export const useReleaseHoldByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Hold operation error: ", error); + console.log('SDK message --> Hold operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -194,8 +194,8 @@ export const useReleaseHoldByPartition = () => { export const useExecuteHoldByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.hold.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.hold.messages', }); return useMutation( @@ -207,7 +207,7 @@ export const useExecuteHoldByPartition = () => { queryKey: [GET_HOLDS(variables.securityId, variables.targetId)], }); - console.log("SDK message --> Hold operation success: ", data); + console.log('SDK message --> Hold operation success: ', data); if (!data) { return; @@ -215,21 +215,21 @@ export const useExecuteHoldByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Hold operation error: ", error); + console.log('SDK message --> Hold operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -239,8 +239,8 @@ export const useExecuteHoldByPartition = () => { export const useReclaimHoldByPartition = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.hold.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.hold.messages', }); return useMutation( @@ -252,7 +252,7 @@ export const useReclaimHoldByPartition = () => { queryKey: [GET_HOLDS(variables.securityId, variables.targetId)], }); - console.log("SDK message --> Hold operation success: ", data); + console.log('SDK message --> Hold operation success: ', data); if (!data) { return; @@ -260,21 +260,21 @@ export const useReclaimHoldByPartition = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Hold operation error: ", error); + console.log('SDK message --> Hold operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/mutations/useKYC.tsx b/apps/ats/web/src/hooks/mutations/useKYC.tsx index a99b50538..235851794 100644 --- a/apps/ats/web/src/hooks/mutations/useKYC.tsx +++ b/apps/ats/web/src/hooks/mutations/useKYC.tsx @@ -2,23 +2,23 @@ import { useMutation, UseMutationOptions, useQueryClient, -} from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +} from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; import { ActivateInternalKycRequest, DeactivateInternalKycRequest, GrantKycRequest, RevokeKycRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { GET_KYC_LIST, IS_INTERNAL_KYC_ACTIVATED } from "../queries/useKYC"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { GET_KYC_LIST, IS_INTERNAL_KYC_ACTIVATED } from '../queries/useKYC'; export const useGrantKYC = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.kyc.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.kyc.messages', }); return useMutation((req: GrantKycRequest) => SDKService.grantKYC(req), { @@ -27,7 +27,7 @@ export const useGrantKYC = () => { queryKey: [GET_KYC_LIST(variables.securityId)], }); - console.log("SDK message --> Add KYC operation success: ", data); + console.log('SDK message --> Add KYC operation success: ', data); if (!data) { return; @@ -35,21 +35,21 @@ export const useGrantKYC = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> KYC operation error: ", error); + console.log('SDK message --> KYC operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }); @@ -58,8 +58,8 @@ export const useGrantKYC = () => { export const useRevokeKYC = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.kyc.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.kyc.messages', }); return useMutation((req: RevokeKycRequest) => SDKService.revokeKYC(req), { @@ -68,7 +68,7 @@ export const useRevokeKYC = () => { queryKey: [GET_KYC_LIST(variables.securityId)], }); - console.log("SDK message --> Revoke KYC operation success: ", data); + console.log('SDK message --> Revoke KYC operation success: ', data); if (!data) { return; @@ -76,21 +76,21 @@ export const useRevokeKYC = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> KYC operation error: ", error); + console.log('SDK message --> KYC operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }); @@ -101,8 +101,8 @@ export const useActivateInternalKyc = ( ) => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.kyc.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.kyc.messages', }); return useMutation( @@ -114,7 +114,7 @@ export const useActivateInternalKyc = ( }); console.log( - "SDK message --> Is internal kyc activated query success: ", + 'SDK message --> Is internal kyc activated query success: ', data, ); @@ -124,24 +124,24 @@ export const useActivateInternalKyc = ( toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Is internal kyc activated query error: ", + 'SDK message --> Is internal kyc activated query error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, ...options, @@ -154,8 +154,8 @@ export const useDeactivateInternalKyc = ( ) => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.kyc.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.kyc.messages', }); return useMutation( @@ -168,7 +168,7 @@ export const useDeactivateInternalKyc = ( }); console.log( - "SDK message --> Is internal kyc deactivated query success: ", + 'SDK message --> Is internal kyc deactivated query success: ', data, ); @@ -178,24 +178,24 @@ export const useDeactivateInternalKyc = ( toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Is internal kyc deactivated query error: ", + 'SDK message --> Is internal kyc deactivated query error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, ...options, diff --git a/apps/ats/web/src/hooks/mutations/useLocker.tsx b/apps/ats/web/src/hooks/mutations/useLocker.tsx index 2e92aea9e..32315648c 100644 --- a/apps/ats/web/src/hooks/mutations/useLocker.tsx +++ b/apps/ats/web/src/hooks/mutations/useLocker.tsx @@ -1,16 +1,16 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; -import { LockRequest, ReleaseRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { GET_BOND_DETAILS } from "../queries/useGetSecurityDetails"; -import { GET_LOCKERS } from "../queries/useGetLockers"; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; +import { LockRequest, ReleaseRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { GET_BOND_DETAILS } from '../queries/useGetSecurityDetails'; +import { GET_LOCKERS } from '../queries/useGetLockers'; export const useLocker = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.locker.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.locker.messages', }); return useMutation((req: LockRequest) => SDKService.lock(req), { @@ -19,7 +19,7 @@ export const useLocker = () => { queryKey: [GET_BOND_DETAILS(variables.securityId)], }); - console.log("SDK message --> Locker operation success: ", data); + console.log('SDK message --> Locker operation success: ', data); if (!data) { return; @@ -27,21 +27,21 @@ export const useLocker = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Locker operation error: ", error); + console.log('SDK message --> Locker operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }); @@ -50,8 +50,8 @@ export const useLocker = () => { export const useRelease = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.locker.release.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.locker.release.messages', }); return useMutation((req: ReleaseRequest) => SDKService.release(req), { @@ -60,7 +60,7 @@ export const useRelease = () => { queryKey: [GET_LOCKERS(variables.securityId, variables.targetId)], }); - console.log("SDK message --> Unlock operation success: ", data); + console.log('SDK message --> Unlock operation success: ', data); if (!data) { return; @@ -68,21 +68,21 @@ export const useRelease = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Unlock operation error: ", error); + console.log('SDK message --> Unlock operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }); diff --git a/apps/ats/web/src/hooks/mutations/useSSIManager.tsx b/apps/ats/web/src/hooks/mutations/useSSIManager.tsx index 12728d1c4..d422044cf 100644 --- a/apps/ats/web/src/hooks/mutations/useSSIManager.tsx +++ b/apps/ats/web/src/hooks/mutations/useSSIManager.tsx @@ -1,22 +1,22 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; import { AddIssuerRequest, RemoveIssuerRequest, SetRevocationRegistryAddressRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; import { GET_ISSUERS_LIST, GET_REVOCATION_REGISTRY_ADDRESS, -} from "../queries/useSSIManager"; +} from '../queries/useSSIManager'; export const useAddIssuer = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.ssiManager.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.ssiManager.messages', }); return useMutation((req: AddIssuerRequest) => SDKService.addIssuer(req), { @@ -25,7 +25,7 @@ export const useAddIssuer = () => { queryKey: [GET_ISSUERS_LIST(variables.securityId)], }); - console.log("SDK message --> Add Issuer operation success: ", data); + console.log('SDK message --> Add Issuer operation success: ', data); if (!data) { return; @@ -33,21 +33,21 @@ export const useAddIssuer = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> SSI Manager operation error: ", error); + console.log('SDK message --> SSI Manager operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }); @@ -56,8 +56,8 @@ export const useAddIssuer = () => { export const useRemoveIssuer = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.ssiManager.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.ssiManager.messages', }); return useMutation( @@ -68,7 +68,7 @@ export const useRemoveIssuer = () => { queryKey: [GET_ISSUERS_LIST(variables.securityId)], }); - console.log("SDK message --> Add Issuer operation success: ", data); + console.log('SDK message --> Add Issuer operation success: ', data); if (!data) { return; @@ -76,21 +76,21 @@ export const useRemoveIssuer = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> SSI Manager operation error: ", error); + console.log('SDK message --> SSI Manager operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, @@ -100,8 +100,8 @@ export const useRemoveIssuer = () => { export const useSetRevocationRegistryAddress = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.ssiManager.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.ssiManager.messages', }); return useMutation( @@ -113,7 +113,7 @@ export const useSetRevocationRegistryAddress = () => { queryKey: [GET_REVOCATION_REGISTRY_ADDRESS(variables.securityId)], }); - console.log("SDK message --> Add Issuer operation success: ", data); + console.log('SDK message --> Add Issuer operation success: ', data); if (!data) { return; @@ -121,21 +121,21 @@ export const useSetRevocationRegistryAddress = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> SSI Manager operation error: ", error); + console.log('SDK message --> SSI Manager operation error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/mutations/useSetCapMaxSupply.tsx b/apps/ats/web/src/hooks/mutations/useSetCapMaxSupply.tsx index c1dda5a01..ae8c31a72 100644 --- a/apps/ats/web/src/hooks/mutations/useSetCapMaxSupply.tsx +++ b/apps/ats/web/src/hooks/mutations/useSetCapMaxSupply.tsx @@ -1,18 +1,18 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; -import { SetMaxSupplyRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; +import { SetMaxSupplyRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; import { GET_BOND_DETAILS, GET_EQUITY_DETAILS, -} from "../queries/useGetSecurityDetails"; +} from '../queries/useGetSecurityDetails'; export const useSetCapMaxSupply = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.cap.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.cap.messages', }); return useMutation( @@ -27,7 +27,7 @@ export const useSetCapMaxSupply = () => { }); console.log( - "SDK message --> Cap set max supply operation success: ", + 'SDK message --> Cap set max supply operation success: ', data, ); @@ -37,24 +37,24 @@ export const useSetCapMaxSupply = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("descriptionSuccess"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Cap set max supply operation error: ", + 'SDK message --> Cap set max supply operation error: ', error, ); toast.show({ duration: 3000, - title: t("error"), - description: t("descriptionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('descriptionFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/mutations/useUpdateBonMaturityDate.tsx b/apps/ats/web/src/hooks/mutations/useUpdateBonMaturityDate.tsx index b271d2484..1d340cb49 100644 --- a/apps/ats/web/src/hooks/mutations/useUpdateBonMaturityDate.tsx +++ b/apps/ats/web/src/hooks/mutations/useUpdateBonMaturityDate.tsx @@ -1,15 +1,15 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; -import { UpdateMaturityDateRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { GET_BOND_DETAILS } from "../queries/useGetSecurityDetails"; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; +import { UpdateMaturityDateRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { GET_BOND_DETAILS } from '../queries/useGetSecurityDetails'; export const useUpdateBondMaturityDate = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.bond.updateMaturityDate.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.bond.updateMaturityDate.messages', }); return useMutation( @@ -20,7 +20,7 @@ export const useUpdateBondMaturityDate = () => { queryKey: [GET_BOND_DETAILS(variables.securityId)], }); - console.log("SDK message --> Update maturity date success: ", data); + console.log('SDK message --> Update maturity date success: ', data); if (!data) { return; @@ -28,21 +28,21 @@ export const useUpdateBondMaturityDate = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("updateMaturityDateSuccessful"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('updateMaturityDateSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Update maturity date error: ", error); + console.log('SDK message --> Update maturity date error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("updateMaturityDateFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('updateMaturityDateFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/mutations/useUpdateSecurityConfigId.tsx b/apps/ats/web/src/hooks/mutations/useUpdateSecurityConfigId.tsx index 510a200f4..df99243ef 100644 --- a/apps/ats/web/src/hooks/mutations/useUpdateSecurityConfigId.tsx +++ b/apps/ats/web/src/hooks/mutations/useUpdateSecurityConfigId.tsx @@ -1,15 +1,15 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; -import { UpdateConfigRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { GET_CONFIG_INFO } from "../queries/useGetConfigDetails"; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; +import { UpdateConfigRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { GET_CONFIG_INFO } from '../queries/useGetConfigDetails'; export const useUpdateSecurityConfigId = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.management.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.management.messages', }); return useMutation( @@ -21,7 +21,7 @@ export const useUpdateSecurityConfigId = () => { }); console.log( - "SDK message --> Management update configuration id success: ", + 'SDK message --> Management update configuration id success: ', data, ); @@ -31,21 +31,21 @@ export const useUpdateSecurityConfigId = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("updateConfigSuccessful"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('updateConfigSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Grant role error: ", error); + console.log('SDK message --> Grant role error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("updateConfigFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('updateConfigFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/mutations/useUpdateSecurityConfigVersion.tsx b/apps/ats/web/src/hooks/mutations/useUpdateSecurityConfigVersion.tsx index 92cdf886d..e65e5f3f1 100644 --- a/apps/ats/web/src/hooks/mutations/useUpdateSecurityConfigVersion.tsx +++ b/apps/ats/web/src/hooks/mutations/useUpdateSecurityConfigVersion.tsx @@ -1,15 +1,15 @@ -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; -import { UpdateConfigVersionRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { GET_CONFIG_INFO } from "../queries/useGetConfigDetails"; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; +import { UpdateConfigVersionRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { GET_CONFIG_INFO } from '../queries/useGetConfigDetails'; export const useUpdateSecurityConfigVersion = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.management.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.management.messages', }); return useMutation( @@ -22,7 +22,7 @@ export const useUpdateSecurityConfigVersion = () => { }); console.log( - "SDK message --> Management update configuration version success: ", + 'SDK message --> Management update configuration version success: ', data, ); @@ -32,21 +32,21 @@ export const useUpdateSecurityConfigVersion = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("updateConfigVersionSuccessful"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('updateConfigVersionSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Grant role error: ", error); + console.log('SDK message --> Grant role error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("updateConfigVersionFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('updateConfigVersionFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/mutations/useUpdateSecurityResolverAddress.tsx b/apps/ats/web/src/hooks/mutations/useUpdateSecurityResolverAddress.tsx index f6eaf5a5d..7cbba03da 100644 --- a/apps/ats/web/src/hooks/mutations/useUpdateSecurityResolverAddress.tsx +++ b/apps/ats/web/src/hooks/mutations/useUpdateSecurityResolverAddress.tsx @@ -1,15 +1,15 @@ -import { UpdateResolverRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useMutation, useQueryClient } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { GET_CONFIG_INFO } from "../queries/useGetConfigDetails"; +import { UpdateResolverRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { GET_CONFIG_INFO } from '../queries/useGetConfigDetails'; export const useUpdateSecurityResolverAddress = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.management.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.management.messages', }); return useMutation( @@ -21,7 +21,7 @@ export const useUpdateSecurityResolverAddress = () => { }); console.log( - "SDK message --> Management update resolver success: ", + 'SDK message --> Management update resolver success: ', data, ); @@ -31,21 +31,21 @@ export const useUpdateSecurityResolverAddress = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("updateResolverSuccessful"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('updateResolverSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Grant role error: ", error); + console.log('SDK message --> Grant role error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("updateResolverFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('updateResolverFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/queries/SDKConnection.ts b/apps/ats/web/src/hooks/queries/SDKConnection.ts index 7779e944b..3eb7c680b 100644 --- a/apps/ats/web/src/hooks/queries/SDKConnection.ts +++ b/apps/ats/web/src/hooks/queries/SDKConnection.ts @@ -203,22 +203,22 @@ */ -import { useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import type { WalletEvent } from "@hashgraph/asset-tokenization-sdk"; -import { SupportedWallets } from "@hashgraph/asset-tokenization-sdk"; -import { useWalletStore } from "../../store/walletStore"; -import { WalletStatus } from "../../utils/constants"; +import { useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import type { WalletEvent } from '@hashgraph/asset-tokenization-sdk'; +import { SupportedWallets } from '@hashgraph/asset-tokenization-sdk'; +import { useWalletStore } from '../../store/walletStore'; +import { WalletStatus } from '../../utils/constants'; export const useSDKInit = () => useMutation( (walletEvents: Partial) => SDKService.init(walletEvents), { onSuccess: (data) => { - console.log("SDK message --> Initialization successs: ", data); + console.log('SDK message --> Initialization successs: ', data); }, onError: (error) => { - console.log("SDK message --> Initialization error: ", error); + console.log('SDK message --> Initialization error: ', error); }, }, ); @@ -231,11 +231,11 @@ export const useSDKConnectToWallet = () => { { cacheTime: 0, onSuccess: (data) => { - console.log("SDK message --> Connected to wallet", data); + console.log('SDK message --> Connected to wallet', data); //setConnectionStatus(MetamaskStatus.connected); }, onError: (error) => { - console.log("SDK message --> Error connecting to wallet: ", error); + console.log('SDK message --> Error connecting to wallet: ', error); reset(); }, onMutate: () => { @@ -251,11 +251,11 @@ export const useSDKDisconnectFromMetamask = () => { return useMutation(() => SDKService.disconnectWallet(), { cacheTime: 0, onSuccess: (data) => { - console.log("SDK message --> Connected to Metamask", data); + console.log('SDK message --> Connected to Metamask', data); reset(); }, onError: (error) => { - console.log("SDK message --> Error connecting to Metamask: ", error); + console.log('SDK message --> Error connecting to Metamask: ', error); reset(); }, }); diff --git a/apps/ats/web/src/hooks/queries/VotingRights.ts b/apps/ats/web/src/hooks/queries/VotingRights.ts index 2bdbd1109..265aa46e6 100644 --- a/apps/ats/web/src/hooks/queries/VotingRights.ts +++ b/apps/ats/web/src/hooks/queries/VotingRights.ts @@ -210,11 +210,11 @@ import { SetVotingRightsRequest, VotingRightsForViewModel, VotingRightsViewModel, -} from "@hashgraph/asset-tokenization-sdk"; -import { UseQueryOptions, useMutation, useQuery } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +} from '@hashgraph/asset-tokenization-sdk'; +import { UseQueryOptions, useMutation, useQuery } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const GET_ALL_VOTING_RIGHTS = (securityId: string) => `GET_ALL_VOTING_RIGHTS_${securityId}`; @@ -230,8 +230,8 @@ export const GET_VOTING_RIGHTS = (securityId: string, votingId: number) => export const useSetVotingRights = () => { const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.votingRights.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.votingRights.messages', }); return useMutation( @@ -241,10 +241,10 @@ export const useSetVotingRights = () => { onSuccess: () => toast.show({ duration: 3000, - title: `${t("success")}`, - description: `${t("descriptionSuccess")}`, - variant: "subtle", - status: "success", + title: `${t('success')}`, + description: `${t('descriptionSuccess')}`, + variant: 'subtle', + status: 'success', }), }, ); diff --git a/apps/ats/web/src/hooks/queries/useAddDigitalSecurity.ts b/apps/ats/web/src/hooks/queries/useAddDigitalSecurity.ts index 8269c807b..09869f1c1 100644 --- a/apps/ats/web/src/hooks/queries/useAddDigitalSecurity.ts +++ b/apps/ats/web/src/hooks/queries/useAddDigitalSecurity.ts @@ -203,18 +203,18 @@ */ -import { useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { GetSecurityDetailsRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { AccountData, useAccountStore } from "../../store/accountStore"; -import { useWalletStore } from "../../store/walletStore"; -import { SecurityStore, useSecurityStore } from "../../store/securityStore"; +import { useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { GetSecurityDetailsRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { AccountData, useAccountStore } from '../../store/accountStore'; +import { useWalletStore } from '../../store/walletStore'; +import { SecurityStore, useSecurityStore } from '../../store/securityStore'; export const useAddDigitalSecurity = () => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "add" }); + const { t } = useTranslation('security', { keyPrefix: 'add' }); const { address: walletAddress } = useWalletStore(); const { addSecurity, securities } = useSecurityStore(); const { addSecurityToHolder, holderSecurities } = useAccountStore(); @@ -229,33 +229,33 @@ export const useAddDigitalSecurity = () => { (security: AccountData) => security.address === data.diamondAddress, ) ) { - console.log("SDK message --> Security is already added"); + console.log('SDK message --> Security is already added'); toast.show({ duration: 3000, - title: `${t("messages.alredyAdded")}`, - variant: "subtle", - status: "info", + title: `${t('messages.alredyAdded')}`, + variant: 'subtle', + status: 'info', }); } else { - console.log("SDK message --> Security addition success: ", data); + console.log('SDK message --> Security addition success: ', data); toast.show({ duration: 3000, - title: `${t("messages.succes")}`, - description: `${t("messages.additionSucces")} ${ + title: `${t('messages.succes')}`, + description: `${t('messages.additionSucces')} ${ data.diamondAddress }`, - variant: "subtle", - status: "success", + variant: 'subtle', + status: 'success', }); // add security to security store const security = { - name: data.name ?? "", - symbol: data.symbol ?? "", - isin: data.isin ?? "", + name: data.name ?? '', + symbol: data.symbol ?? '', + isin: data.isin ?? '', type: data.type, - address: data.diamondAddress?.toString() ?? "", - evmAddress: data.evmDiamondAddress?.toString() ?? "", + address: data.diamondAddress?.toString() ?? '', + evmAddress: data.evmDiamondAddress?.toString() ?? '', }; if ( @@ -275,13 +275,13 @@ export const useAddDigitalSecurity = () => { } }, onError: (error) => { - console.log("SDK message --> Security addition error: ", error); + console.log('SDK message --> Security addition error: ', error); toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.additionFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.additionFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/queries/useApplyRoles.ts b/apps/ats/web/src/hooks/queries/useApplyRoles.ts index 34f9051ae..49dd53541 100644 --- a/apps/ats/web/src/hooks/queries/useApplyRoles.ts +++ b/apps/ats/web/src/hooks/queries/useApplyRoles.ts @@ -203,18 +203,18 @@ */ -import { useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { ApplyRolesRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useRolesStore } from "../../store/rolesStore"; -import { useWalletStore } from "../../store/walletStore"; +import { useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { ApplyRolesRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useRolesStore } from '../../store/rolesStore'; +import { useWalletStore } from '../../store/walletStore'; export const useApplyRoles = () => { const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.roleManagement.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.roleManagement.messages', }); const { setRoles } = useRolesStore(); const { address } = useWalletStore(); @@ -224,7 +224,7 @@ export const useApplyRoles = () => { SDKService.applyRoles(applyRolesRequest), { onSuccess: (data, variables) => { - console.log("SDK message --> Apply roles success: ", data); + console.log('SDK message --> Apply roles success: ', data); if (!data) return; @@ -237,20 +237,20 @@ export const useApplyRoles = () => { toast.show({ duration: 3000, - title: t("success"), - description: t("applyRoleSuccessful"), - variant: "subtle", - status: "success", + title: t('success'), + description: t('applyRoleSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Apply roles error: ", error); + console.log('SDK message --> Apply roles error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("applyRoleFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('applyRoleFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/queries/useBalanceAdjustment.ts b/apps/ats/web/src/hooks/queries/useBalanceAdjustment.ts index 726d6ff6e..40922db71 100644 --- a/apps/ats/web/src/hooks/queries/useBalanceAdjustment.ts +++ b/apps/ats/web/src/hooks/queries/useBalanceAdjustment.ts @@ -203,16 +203,16 @@ */ -import { UseQueryOptions, useMutation, useQuery } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { UseQueryOptions, useMutation, useQuery } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; import { ScheduledBalanceAdjustmentViewModel, GetScheduledBalanceAdjustmentRequest, SetScheduledBalanceAdjustmentRequest, GetAllScheduledBalanceAdjustmentsRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export const GET_SECURITY_BALANCE_ADJUSTMENT_FOR = ( securityId: string, @@ -231,8 +231,8 @@ export const GET_SECURITY_ALL_BALANCE_ADJUSTMENT = (securityId: string) => export const useBalanceAdjustment = () => { const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.balanceAdjustment", + const { t } = useTranslation('security', { + keyPrefix: 'details.balanceAdjustment', }); return useMutation( @@ -245,7 +245,7 @@ export const useBalanceAdjustment = () => { { onSuccess: (data) => { console.log( - "SDK message --> Scheduled balance adjustment success: ", + 'SDK message --> Scheduled balance adjustment success: ', data, ); @@ -253,23 +253,23 @@ export const useBalanceAdjustment = () => { toast.show({ duration: 3000, - title: t("messages.success"), - description: t("messages.creationSuccessful"), - variant: "subtle", - status: "success", + title: t('messages.success'), + description: t('messages.creationSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { console.log( - "SDK message --> Scheduled balance adjustment creation error: ", + 'SDK message --> Scheduled balance adjustment creation error: ', error, ); toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.creationFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.creationFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/queries/useClearingOperations.ts b/apps/ats/web/src/hooks/queries/useClearingOperations.ts index d7f19a0ba..70a6fd795 100644 --- a/apps/ats/web/src/hooks/queries/useClearingOperations.ts +++ b/apps/ats/web/src/hooks/queries/useClearingOperations.ts @@ -203,8 +203,8 @@ */ -import { useQuery, UseQueryOptions } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; import { GetClearingsIdForByPartitionRequest, IsClearingActivatedRequest, @@ -212,7 +212,7 @@ import { GetClearingTransferForByPartitionRequest, GetClearingCreateHoldForByPartitionRequest, GetClearedAmountForRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export const GET_CLEARING_OPERATIONS_LIST = (securityId: string) => `GET_CLEARING_OPERATIONS_LIST_${securityId}`; @@ -271,7 +271,6 @@ export const useGetClearingOperations = ( const operations = await Promise.all( clearingIds.map(async (clearingId) => { - // eslint-disable-next-line @typescript-eslint/no-explicit-any let result: any = null; if (operationType === 0) { @@ -304,8 +303,8 @@ export const useGetClearingOperations = ( id: clearingId, amount: result.amount, expirationDate: new Date(result.expirationDate), - data: result.data || "", - operatorData: result.operatorData || "", + data: result.data || '', + operatorData: result.operatorData || '', destination: result.destination, holdEscrow: result.holdEscrow, holdExpirationDate: result.holdExpirationDate @@ -323,7 +322,7 @@ export const useGetClearingOperations = ( return results.flat().filter(Boolean) as ClearingOperationViewModel[]; } catch (error) { - console.error("Error fetching clearing operations", error); + console.error('Error fetching clearing operations', error); throw error; } }, @@ -344,7 +343,7 @@ export const useGetIsClearingActivated = ( return isClearingActivated; } catch (error) { - console.error("Error fetching clearing operations", error); + console.error('Error fetching clearing operations', error); throw error; } }, @@ -364,7 +363,7 @@ export const useGetClearedAmountFor = ( return clearedAmount; } catch (error) { - console.error("Error fetching cleared amount", error); + console.error('Error fetching cleared amount', error); throw error; } }, diff --git a/apps/ats/web/src/hooks/queries/useControlList.ts b/apps/ats/web/src/hooks/queries/useControlList.ts index e0407bf23..5607a1beb 100644 --- a/apps/ats/web/src/hooks/queries/useControlList.ts +++ b/apps/ats/web/src/hooks/queries/useControlList.ts @@ -208,15 +208,15 @@ import { UseQueryOptions, useMutation, useQuery, -} from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; -import { useTranslation } from "react-i18next"; +} from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; +import { useTranslation } from 'react-i18next'; import { ControlListRequest, GetControlListCountRequest, GetControlListMembersRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; export const GET_CONTROL_LIST_COUNT = (securityId: string) => `GET_CONTROL_LIST_COUNT${securityId}`; @@ -258,8 +258,8 @@ export const useAddToControlList = ( > = {}, ) => { const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.allowedList", + const { t } = useTranslation('security', { + keyPrefix: 'details.allowedList', }); return useMutation( @@ -267,26 +267,26 @@ export const useAddToControlList = ( SDKService.addToControlList(controlListRequest), { onSuccess: (data) => { - console.log("SDK message --> Add to control list success: ", data); + console.log('SDK message --> Add to control list success: ', data); if (!data) return; toast.show({ duration: 3000, - title: t("messages.succes"), - description: t("messages.addToControlListSuccessful"), - variant: "subtle", - status: "success", + title: t('messages.succes'), + description: t('messages.addToControlListSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Add to control list error: ", error); + console.log('SDK message --> Add to control list error: ', error); toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.addFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.addFailed'), + variant: 'subtle', + status: 'error', }); }, ...options, @@ -303,8 +303,8 @@ export const useRemoveFromControlList = ( > = {}, ) => { const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.allowedList", + const { t } = useTranslation('security', { + keyPrefix: 'details.allowedList', }); return useMutation( @@ -312,26 +312,26 @@ export const useRemoveFromControlList = ( SDKService.removeFromControlList(controlListRequest), { onSuccess: (data) => { - console.log("SDK message --> Remove from control list success: ", data); + console.log('SDK message --> Remove from control list success: ', data); if (!data) return; toast.show({ duration: 3000, - title: t("messages.succes"), - description: t("messages.removeFromControlListSuccessful"), - variant: "subtle", - status: "success", + title: t('messages.succes'), + description: t('messages.removeFromControlListSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Remove from control list error: ", error); + console.log('SDK message --> Remove from control list error: ', error); toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.removeFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.removeFailed'), + variant: 'subtle', + status: 'error', }); }, ...options, diff --git a/apps/ats/web/src/hooks/queries/useCoupons.ts b/apps/ats/web/src/hooks/queries/useCoupons.ts index e62bf813f..a4aac3088 100644 --- a/apps/ats/web/src/hooks/queries/useCoupons.ts +++ b/apps/ats/web/src/hooks/queries/useCoupons.ts @@ -203,10 +203,10 @@ */ -import { UseQueryOptions, useMutation, useQuery } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { UseQueryOptions, useMutation, useQuery } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; import { CouponForViewModel, CouponViewModel, @@ -214,7 +214,7 @@ import { GetCouponForRequest, GetCouponRequest, SetCouponRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export const GET_SECURITY_COUPONS_FOR = ( securityId: string, @@ -230,31 +230,31 @@ export const GET_SECURITY_ALL_COUPONS = (securityId: string) => export const useCoupons = () => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "details.coupons" }); + const { t } = useTranslation('security', { keyPrefix: 'details.coupons' }); return useMutation( (setCouponRequest: SetCouponRequest) => SDKService.setCoupon(setCouponRequest), { onSuccess: (data) => { - console.log("SDK message --> Coupon creation success: ", data); + console.log('SDK message --> Coupon creation success: ', data); if (!data) return; toast.show({ - title: t("messages.success"), - description: t("messages.creationSuccessful"), - variant: "subtle", - status: "success", + title: t('messages.success'), + description: t('messages.creationSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Coupon creation error: ", error); + console.log('SDK message --> Coupon creation error: ', error); toast.show({ - title: t("messages.error"), - description: t("messages.creationFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.creationFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/queries/useCreateBond.ts b/apps/ats/web/src/hooks/queries/useCreateBond.ts index a604592a8..1d85cb4eb 100644 --- a/apps/ats/web/src/hooks/queries/useCreateBond.ts +++ b/apps/ats/web/src/hooks/queries/useCreateBond.ts @@ -203,20 +203,20 @@ */ -import { useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { type CreateBondRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { useSecurityStore } from "../../store/securityStore"; -import { RouteName } from "../../router/RouteName"; -import { RouterManager } from "../../router/RouterManager"; -import { useAccountStore } from "../../store/accountStore"; -import { useWalletStore } from "../../store/walletStore"; +import { useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { type CreateBondRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { useSecurityStore } from '../../store/securityStore'; +import { RouteName } from '../../router/RouteName'; +import { RouterManager } from '../../router/RouterManager'; +import { useAccountStore } from '../../store/accountStore'; +import { useWalletStore } from '../../store/walletStore'; export const useCreateBond = () => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "createBond" }); + const { t } = useTranslation('security', { keyPrefix: 'createBond' }); const { address } = useWalletStore(); const { addSecurity } = useSecurityStore(); const { addSecurityToAdmin, addSecurityToHolder } = useAccountStore(); @@ -225,26 +225,26 @@ export const useCreateBond = () => { (createRequest: CreateBondRequest) => SDKService.createBond(createRequest), { onSuccess: (data) => { - console.log("SDK message --> Security creation success: ", data); + console.log('SDK message --> Security creation success: ', data); if (!data) return; const security = { - name: data.security.name ?? "", - symbol: data.security.symbol ?? "", - isin: data.security.isin ?? "", + name: data.security.name ?? '', + symbol: data.security.symbol ?? '', + isin: data.security.isin ?? '', type: data.security.type, - address: data.security.diamondAddress?.toString() ?? "", - evmAddress: data.security.evmDiamondAddress?.toString() ?? "", + address: data.security.diamondAddress?.toString() ?? '', + evmAddress: data.security.evmDiamondAddress?.toString() ?? '', }; toast.show({ duration: 3000, - title: `${t("messages.succes")} ${security.name} - ${ + title: `${t('messages.succes')} ${security.name} - ${ security.symbol }`, - description: t("messages.creationSuccessful") + `${security.address}`, - variant: "subtle", - status: "success", + description: t('messages.creationSuccessful') + `${security.address}`, + variant: 'subtle', + status: 'success', }); addSecurity(security); @@ -263,13 +263,13 @@ export const useCreateBond = () => { }); }, onError: (error) => { - console.log("SDK message --> Security creation error: ", error); + console.log('SDK message --> Security creation error: ', error); toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.creationFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.creationFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/queries/useCreateEquity.ts b/apps/ats/web/src/hooks/queries/useCreateEquity.ts index 2ba2d46f9..87f4aa1b6 100644 --- a/apps/ats/web/src/hooks/queries/useCreateEquity.ts +++ b/apps/ats/web/src/hooks/queries/useCreateEquity.ts @@ -203,20 +203,20 @@ */ -import { useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { type CreateEquityRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { useSecurityStore } from "../../store/securityStore"; -import { RouteName } from "../../router/RouteName"; -import { RouterManager } from "../../router/RouterManager"; -import { useAccountStore } from "../../store/accountStore"; -import { useWalletStore } from "../../store/walletStore"; +import { useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { type CreateEquityRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { useSecurityStore } from '../../store/securityStore'; +import { RouteName } from '../../router/RouteName'; +import { RouterManager } from '../../router/RouterManager'; +import { useAccountStore } from '../../store/accountStore'; +import { useWalletStore } from '../../store/walletStore'; export const useCreateEquity = () => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "createEquity" }); + const { t } = useTranslation('security', { keyPrefix: 'createEquity' }); const { address } = useWalletStore(); const { addSecurity } = useSecurityStore(); const { addSecurityToAdmin, addSecurityToHolder } = useAccountStore(); @@ -226,26 +226,26 @@ export const useCreateEquity = () => { SDKService.createEquity(createRequest), { onSuccess: (data) => { - console.log("SDK message --> Security creation success: ", data); + console.log('SDK message --> Security creation success: ', data); if (!data) return; const security = { - name: data.security.name ?? "", - symbol: data.security.symbol ?? "", - isin: data.security.isin ?? "", + name: data.security.name ?? '', + symbol: data.security.symbol ?? '', + isin: data.security.isin ?? '', type: data.security.type, - address: data.security.diamondAddress?.toString() ?? "", - evmAddress: data.security.evmDiamondAddress?.toString() ?? "", + address: data.security.diamondAddress?.toString() ?? '', + evmAddress: data.security.evmDiamondAddress?.toString() ?? '', }; toast.show({ duration: 3000, - title: `${t("messages.succes")} ${security.name} - ${ + title: `${t('messages.succes')} ${security.name} - ${ security.symbol }`, - description: t("messages.creationSuccessful") + `${security.address}`, - variant: "subtle", - status: "success", + description: t('messages.creationSuccessful') + `${security.address}`, + variant: 'subtle', + status: 'success', }); addSecurity(security); @@ -264,13 +264,13 @@ export const useCreateEquity = () => { }); }, onError: (error) => { - console.log("SDK message --> Security creation error: ", error); + console.log('SDK message --> Security creation error: ', error); toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.creationFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.creationFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/queries/useDividends.ts b/apps/ats/web/src/hooks/queries/useDividends.ts index bca6ff984..50a509d55 100644 --- a/apps/ats/web/src/hooks/queries/useDividends.ts +++ b/apps/ats/web/src/hooks/queries/useDividends.ts @@ -203,17 +203,17 @@ */ -import { UseQueryOptions, useMutation, useQuery } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { UseQueryOptions, useMutation, useQuery } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; import { DividendsForViewModel, DividendsViewModel, GetDividendsForRequest, GetDividendsRequest, SetDividendsRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export const GET_SECURITY_DIVIDENDS_FOR = ( securityId: string, @@ -228,33 +228,33 @@ export const GET_SECURITY_DIVIDENDS = ( export const useDividends = () => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "details.dividends" }); + const { t } = useTranslation('security', { keyPrefix: 'details.dividends' }); return useMutation( (setDividendsRequest: SetDividendsRequest) => SDKService.setDividends(setDividendsRequest), { onSuccess: (data) => { - console.log("SDK message --> Dividend creation success: ", data); + console.log('SDK message --> Dividend creation success: ', data); if (!data) return; toast.show({ duration: 3000, - title: t("messages.succes"), - description: t("messages.creationSuccessful"), - variant: "subtle", - status: "success", + title: t('messages.succes'), + description: t('messages.creationSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Dividend creation error: ", error); + console.log('SDK message --> Dividend creation error: ', error); toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.creationFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.creationFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/queries/useExternalControl.ts b/apps/ats/web/src/hooks/queries/useExternalControl.ts index 8117271cd..37e0efc5e 100644 --- a/apps/ats/web/src/hooks/queries/useExternalControl.ts +++ b/apps/ats/web/src/hooks/queries/useExternalControl.ts @@ -203,12 +203,12 @@ */ -import { UseQueryOptions, useQuery } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +import { UseQueryOptions, useQuery } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; import { GetExternalControlListsCountRequest, GetExternalControlListsMembersRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export const GET_EXTERNAL_CONTROL_LIST_COUNT = (securityId: string) => `GET_EXTERNAL_CONTROL_LIST_COUNT_${securityId}`; diff --git a/apps/ats/web/src/hooks/queries/useExternalKYC.ts b/apps/ats/web/src/hooks/queries/useExternalKYC.ts index 7c2e0033f..afd587e11 100644 --- a/apps/ats/web/src/hooks/queries/useExternalKYC.ts +++ b/apps/ats/web/src/hooks/queries/useExternalKYC.ts @@ -203,13 +203,13 @@ */ -import { UseQueryOptions, useQuery } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +import { UseQueryOptions, useQuery } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; import { GetExternalKycListsCountRequest, GetExternalKycListsMembersRequest, GetKycStatusMockRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export const GET_EXTERNAL_KYC_STATUS = (securityId: string) => `GET_EXTERNAL_KYC_COUNT_${securityId}`; diff --git a/apps/ats/web/src/hooks/queries/useExternalPause.ts b/apps/ats/web/src/hooks/queries/useExternalPause.ts index 5e32835af..06b00741a 100644 --- a/apps/ats/web/src/hooks/queries/useExternalPause.ts +++ b/apps/ats/web/src/hooks/queries/useExternalPause.ts @@ -203,14 +203,14 @@ */ -import { UseQueryOptions, useQueries, useQuery } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +import { UseQueryOptions, useQueries, useQuery } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; import { GetExternalPausesCountRequest, GetExternalPausesMembersRequest, IsExternalPauseRequest, IsPausedMockRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export const GET_EXTERNAL_PAUSES_COUNT = (securityId: string) => `GET_EXTERNAL_PAUSES_COUNT_${securityId}`; diff --git a/apps/ats/web/src/hooks/queries/useForceRedeemSecurity.ts b/apps/ats/web/src/hooks/queries/useForceRedeemSecurity.ts index 78e9f0783..b58808603 100644 --- a/apps/ats/web/src/hooks/queries/useForceRedeemSecurity.ts +++ b/apps/ats/web/src/hooks/queries/useForceRedeemSecurity.ts @@ -203,11 +203,11 @@ */ -import { UseMutationOptions, useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { ForceRedeemRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { UseMutationOptions, useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { ForceRedeemRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const useForceRedeemSecurity = ( options: UseMutationOptions< @@ -218,7 +218,7 @@ export const useForceRedeemSecurity = ( > = {}, ) => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "redeem" }); + const { t } = useTranslation('security', { keyPrefix: 'redeem' }); return useMutation( (forceRedeemRequest: ForceRedeemRequest) => @@ -228,23 +228,23 @@ export const useForceRedeemSecurity = ( if (data === true) { toast.show({ duration: 3000, - title: `${t("messages.success")}`, - description: `${t("messages.descriptionSuccess")}`, - variant: "subtle", - status: "success", + title: `${t('messages.success')}`, + description: `${t('messages.descriptionSuccess')}`, + variant: 'subtle', + status: 'success', }); } else { toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.descriptionFailed'), + variant: 'subtle', + status: 'error', }); } }, onError: (error) => { - console.log("SDK message --> Security force redeem error: ", error); + console.log('SDK message --> Security force redeem error: ', error); }, ...options, }, diff --git a/apps/ats/web/src/hooks/queries/useForceTransferSecurity.ts b/apps/ats/web/src/hooks/queries/useForceTransferSecurity.ts index 85a523ec8..2909c9868 100644 --- a/apps/ats/web/src/hooks/queries/useForceTransferSecurity.ts +++ b/apps/ats/web/src/hooks/queries/useForceTransferSecurity.ts @@ -203,11 +203,11 @@ */ -import { UseMutationOptions, useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { ForceTransferRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { UseMutationOptions, useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { ForceTransferRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const useForceTransferSecurity = ( options: UseMutationOptions< @@ -218,7 +218,7 @@ export const useForceTransferSecurity = ( > = {}, ) => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "transfer" }); + const { t } = useTranslation('security', { keyPrefix: 'transfer' }); return useMutation( (forceTransferRequest: ForceTransferRequest) => @@ -228,23 +228,23 @@ export const useForceTransferSecurity = ( if (data === true) { toast.show({ duration: 3000, - title: `${t("messages.success")}`, - description: `${t("messages.descriptionSuccess")}`, - variant: "subtle", - status: "success", + title: `${t('messages.success')}`, + description: `${t('messages.descriptionSuccess')}`, + variant: 'subtle', + status: 'success', }); } else { toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.descriptionFailed'), + variant: 'subtle', + status: 'error', }); } }, onError: (error) => { - console.log("SDK message --> Security force transfer error: ", error); + console.log('SDK message --> Security force transfer error: ', error); }, ...options, }, diff --git a/apps/ats/web/src/hooks/queries/useGetCapMaxSupply.ts b/apps/ats/web/src/hooks/queries/useGetCapMaxSupply.ts index 828af25ce..7a36f7133 100644 --- a/apps/ats/web/src/hooks/queries/useGetCapMaxSupply.ts +++ b/apps/ats/web/src/hooks/queries/useGetCapMaxSupply.ts @@ -206,9 +206,9 @@ import { GetMaxSupplyRequest, MaxSupplyViewModel, -} from "@hashgraph/asset-tokenization-sdk"; -import { useQuery, UseQueryOptions } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; export const GET_CAP_MAX_SUPPLY = (securityId: string) => `GET_CAP_MAX_SUPPLY_${securityId}`; @@ -230,7 +230,7 @@ export const useGetCapMaxSupply = ( return maxSupply; } catch (error) { - console.error("Error fetching max supply", error); + console.error('Error fetching max supply', error); throw error; } }, diff --git a/apps/ats/web/src/hooks/queries/useGetConfigDetails.ts b/apps/ats/web/src/hooks/queries/useGetConfigDetails.ts index 7906aaa72..d2e39bdfb 100644 --- a/apps/ats/web/src/hooks/queries/useGetConfigDetails.ts +++ b/apps/ats/web/src/hooks/queries/useGetConfigDetails.ts @@ -206,9 +206,9 @@ import { GetConfigInfoRequest, ConfigInfoViewModel, -} from "@hashgraph/asset-tokenization-sdk"; -import { useQuery, UseQueryOptions } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; export const GET_CONFIG_INFO = (securityId: string) => `GET_CONFIG_INFO_${securityId}}`; diff --git a/apps/ats/web/src/hooks/queries/useGetFreezers.ts b/apps/ats/web/src/hooks/queries/useGetFreezers.ts index 6097ccfdc..eba1a7de8 100644 --- a/apps/ats/web/src/hooks/queries/useGetFreezers.ts +++ b/apps/ats/web/src/hooks/queries/useGetFreezers.ts @@ -203,9 +203,9 @@ */ -import { GetFrozenPartialTokensRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useQuery, UseQueryOptions } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +import { GetFrozenPartialTokensRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; export const GET_FROZEN_BALANCE = (securityId: string, targetId: string) => `GET_FROZEN_BALANCE_${securityId}_${targetId}`; @@ -224,7 +224,7 @@ export const useGetFrozenTokens = ( return freezeAmount; } catch (error) { - console.error("Error fetching freeze", error); + console.error('Error fetching freeze', error); throw error; } }, diff --git a/apps/ats/web/src/hooks/queries/useGetHolds.ts b/apps/ats/web/src/hooks/queries/useGetHolds.ts index 1dd6301d3..4d6eb677e 100644 --- a/apps/ats/web/src/hooks/queries/useGetHolds.ts +++ b/apps/ats/web/src/hooks/queries/useGetHolds.ts @@ -208,10 +208,10 @@ import { GetHoldForByPartitionRequest, GetHoldsIdForByPartitionRequest, HoldViewModel, -} from "@hashgraph/asset-tokenization-sdk"; -import { useQuery, UseQueryOptions } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; -import { DEFAULT_PARTITION } from "../../utils/constants"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; +import { DEFAULT_PARTITION } from '../../utils/constants'; export const GET_HOLDS = (securityId: string, targetId: string) => `GET_HOLDS_${securityId}_${targetId}`; @@ -249,7 +249,7 @@ export const useGetHolds = ( (hold): hold is HoldViewModel => hold !== null, ); } catch (error) { - console.error("Error fetching holds", error); + console.error('Error fetching holds', error); throw error; } }, @@ -269,7 +269,7 @@ export const useGetHeldAmountFor = ( return heldAmount; } catch (error) { - console.error("Error fetching holds", error); + console.error('Error fetching holds', error); throw error; } }, diff --git a/apps/ats/web/src/hooks/queries/useGetLockers.ts b/apps/ats/web/src/hooks/queries/useGetLockers.ts index 0dc674363..f8e9692fb 100644 --- a/apps/ats/web/src/hooks/queries/useGetLockers.ts +++ b/apps/ats/web/src/hooks/queries/useGetLockers.ts @@ -207,9 +207,9 @@ import { GetLockRequest, GetLocksIdRequest, LockViewModel, -} from "@hashgraph/asset-tokenization-sdk"; -import { useQuery, UseQueryOptions } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; export const GET_LOCKERS = (securityId: string, targetId: string) => `GET_LOCKERS_${securityId}_${targetId}`; @@ -244,7 +244,7 @@ export const useGetLockers = ( (lock): lock is LockViewModel => lock !== null, ); } catch (error) { - console.error("Error fetching lockers", error); + console.error('Error fetching lockers', error); throw error; } }, diff --git a/apps/ats/web/src/hooks/queries/useGetSecurityDetails.ts b/apps/ats/web/src/hooks/queries/useGetSecurityDetails.ts index 0ddf08e16..7f609a7ed 100644 --- a/apps/ats/web/src/hooks/queries/useGetSecurityDetails.ts +++ b/apps/ats/web/src/hooks/queries/useGetSecurityDetails.ts @@ -203,8 +203,8 @@ */ -import { useQuery, UseQueryOptions } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; import { BalanceViewModel, DividendsViewModel, @@ -225,8 +225,8 @@ import { BondDetailsViewModel, GetRegulationDetailsRequest, RegulationViewModel, -} from "@hashgraph/asset-tokenization-sdk"; -import { useSecurityStore } from "../../store/securityStore"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useSecurityStore } from '../../store/securityStore'; export const GET_SECURITY_DETAILS = (equityId: string) => `GET_SECURITY_DETAILS${equityId}`; diff --git a/apps/ats/web/src/hooks/queries/useGrantRoles.ts b/apps/ats/web/src/hooks/queries/useGrantRoles.ts index 78cefaa81..7370d712d 100644 --- a/apps/ats/web/src/hooks/queries/useGrantRoles.ts +++ b/apps/ats/web/src/hooks/queries/useGrantRoles.ts @@ -203,42 +203,42 @@ */ -import { useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { RoleRequest } from "@hashgraph/asset-tokenization-sdk"; +import { useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RoleRequest } from '@hashgraph/asset-tokenization-sdk'; export const useGrantRoles = () => { const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.roleManagement.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.roleManagement.messages', }); return useMutation( (roleRequest: RoleRequest) => SDKService.grantRole(roleRequest), { onSuccess: (data) => { - console.log("SDK message --> Grant role success: ", data); + console.log('SDK message --> Grant role success: ', data); if (!data) return; toast.show({ duration: 3000, - title: t("succes"), - description: t("grantRoleSuccessful"), - variant: "subtle", - status: "success", + title: t('succes'), + description: t('grantRoleSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Grant role error: ", error); + console.log('SDK message --> Grant role error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("grantRoleFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('grantRoleFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/queries/useKYC.ts b/apps/ats/web/src/hooks/queries/useKYC.ts index 47e694e07..c86c9bfa1 100644 --- a/apps/ats/web/src/hooks/queries/useKYC.ts +++ b/apps/ats/web/src/hooks/queries/useKYC.ts @@ -203,14 +203,14 @@ */ -import { useQuery, UseQueryOptions } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; import { GetKycAccountsDataRequest, IsInternalKycActivatedRequest, IsIssuerRequest, KycAccountDataViewModel, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export interface KycAccountDataViewModelResponse extends KycAccountDataViewModel { @@ -252,7 +252,7 @@ export const useGetKYCList = ( isIssuer, } as KycAccountDataViewModelResponse; } catch (error) { - console.error("Error fetching issuer status", error); + console.error('Error fetching issuer status', error); return { ...kycAccount, isIssuer: null }; } }), @@ -260,7 +260,7 @@ export const useGetKYCList = ( return kycAccountsWithIssuerStatus; } catch (error) { - console.error("Error fetching KYC Accounts", error); + console.error('Error fetching KYC Accounts', error); throw error; } }, @@ -281,7 +281,7 @@ export const useGetIsInternalKycActivated = ( return isClearingActivated; } catch (error) { - console.error("Error fetching is internal kyc activated query", error); + console.error('Error fetching is internal kyc activated query', error); throw error; } }, diff --git a/apps/ats/web/src/hooks/queries/useMintSecurity.ts b/apps/ats/web/src/hooks/queries/useMintSecurity.ts index 6ddd70c83..899629a76 100644 --- a/apps/ats/web/src/hooks/queries/useMintSecurity.ts +++ b/apps/ats/web/src/hooks/queries/useMintSecurity.ts @@ -203,18 +203,18 @@ */ -import { useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { IssueRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { checkError, KnownErrors } from "../../utils/helpers"; +import { useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { IssueRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { checkError, KnownErrors } from '../../utils/helpers'; export const useMintSecurity = () => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "mint" }); - const { t: tErrors } = useTranslation("security", { - keyPrefix: "details.allowedList.messages.operationsError", + const { t } = useTranslation('security', { keyPrefix: 'mint' }); + const { t: tErrors } = useTranslation('security', { + keyPrefix: 'details.allowedList.messages.operationsError', }); //@ts-ignore @@ -225,42 +225,42 @@ export const useMintSecurity = () => { if (data === true) { toast.show({ duration: 3000, - title: `${t("messages.success")}`, - description: `${t("messages.descriptionSuccess")}`, - variant: "subtle", - status: "success", + title: `${t('messages.success')}`, + description: `${t('messages.descriptionSuccess')}`, + variant: 'subtle', + status: 'success', }); } else { toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.descriptionFailed'), + variant: 'subtle', + status: 'error', }); } }, onError: (error: { message: string }) => { - console.log("SDK message --> Security mint error: ", error); + console.log('SDK message --> Security mint error: ', error); const knownError = checkError(error); const errorTranslations = { [KnownErrors.blocked]: { - ...tErrors("block", { returnObjects: true }), + ...tErrors('block', { returnObjects: true }), }, [KnownErrors.not_approved]: { - ...tErrors("approval", { returnObjects: true }), + ...tErrors('approval', { returnObjects: true }), }, [KnownErrors.unknown]: { - title: t("messages.error"), + title: t('messages.error'), description: error?.message, }, }; toast.show({ duration: 3000, - variant: "subtle", - status: "error", + variant: 'subtle', + status: 'error', ...errorTranslations[knownError], }); }, diff --git a/apps/ats/web/src/hooks/queries/usePauseSecurity.ts b/apps/ats/web/src/hooks/queries/usePauseSecurity.ts index ef950bcba..c9a986469 100644 --- a/apps/ats/web/src/hooks/queries/usePauseSecurity.ts +++ b/apps/ats/web/src/hooks/queries/usePauseSecurity.ts @@ -203,17 +203,17 @@ */ -import { UseMutationOptions, useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { PauseRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { UseMutationOptions, useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { PauseRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const usePauseSecurity = ( options: UseMutationOptions = {}, ) => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "pause" }); + const { t } = useTranslation('security', { keyPrefix: 'pause' }); return useMutation( (pauseRequest: PauseRequest) => SDKService.pause(pauseRequest), @@ -222,23 +222,23 @@ export const usePauseSecurity = ( if (data === true) { toast.show({ duration: 3000, - title: `${t("messages.success")}`, - description: `${t("messages.descriptionSuccess")}`, - variant: "subtle", - status: "success", + title: `${t('messages.success')}`, + description: `${t('messages.descriptionSuccess')}`, + variant: 'subtle', + status: 'success', }); } else { toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.descriptionFailed'), + variant: 'subtle', + status: 'error', }); } }, onError: (error) => { - console.log("SDK message --> Security pause error: ", error); + console.log('SDK message --> Security pause error: ', error); }, ...options, }, diff --git a/apps/ats/web/src/hooks/queries/useRedeemSecurity.ts b/apps/ats/web/src/hooks/queries/useRedeemSecurity.ts index cf3767801..257064144 100644 --- a/apps/ats/web/src/hooks/queries/useRedeemSecurity.ts +++ b/apps/ats/web/src/hooks/queries/useRedeemSecurity.ts @@ -203,20 +203,20 @@ */ -import { UseMutationOptions, useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { RedeemRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { checkError, KnownErrors } from "../../utils/helpers"; +import { UseMutationOptions, useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { RedeemRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { checkError, KnownErrors } from '../../utils/helpers'; export const useRedeemSecurity = ( options: UseMutationOptions = {}, ) => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "redeem" }); - const { t: tErrors } = useTranslation("security", { - keyPrefix: "details.allowedList.messages.operationsError", + const { t } = useTranslation('security', { keyPrefix: 'redeem' }); + const { t: tErrors } = useTranslation('security', { + keyPrefix: 'details.allowedList.messages.operationsError', }); //@ts-ignore return useMutation( @@ -226,42 +226,42 @@ export const useRedeemSecurity = ( if (data === true) { toast.show({ duration: 3000, - title: `${t("messages.success")}`, - description: `${t("messages.descriptionSuccess")}`, - variant: "subtle", - status: "success", + title: `${t('messages.success')}`, + description: `${t('messages.descriptionSuccess')}`, + variant: 'subtle', + status: 'success', }); } else { toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.descriptionFailed'), + variant: 'subtle', + status: 'error', }); } }, onError: (error: { message: string }) => { - console.log("SDK message --> Security redeem error: ", error); + console.log('SDK message --> Security redeem error: ', error); const knownError = checkError(error); const errorTranslations = { [KnownErrors.blocked]: { - ...tErrors("block", { returnObjects: true }), + ...tErrors('block', { returnObjects: true }), }, [KnownErrors.not_approved]: { - ...tErrors("approval", { returnObjects: true }), + ...tErrors('approval', { returnObjects: true }), }, [KnownErrors.unknown]: { - title: t("messages.error"), + title: t('messages.error'), description: error?.message, }, }; toast.show({ duration: 3000, - variant: "subtle", - status: "error", + variant: 'subtle', + status: 'error', ...errorTranslations[knownError], }); }, diff --git a/apps/ats/web/src/hooks/queries/useRevokeRoles.ts b/apps/ats/web/src/hooks/queries/useRevokeRoles.ts index 0a3cfeee6..b13e73873 100644 --- a/apps/ats/web/src/hooks/queries/useRevokeRoles.ts +++ b/apps/ats/web/src/hooks/queries/useRevokeRoles.ts @@ -203,42 +203,42 @@ */ -import { useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { RoleRequest } from "@hashgraph/asset-tokenization-sdk"; +import { useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RoleRequest } from '@hashgraph/asset-tokenization-sdk'; export const useRevokeRoles = () => { const toast = useToast(); - const { t } = useTranslation("security", { - keyPrefix: "details.roleManagement.messages", + const { t } = useTranslation('security', { + keyPrefix: 'details.roleManagement.messages', }); return useMutation( (roleRequest: RoleRequest) => SDKService.revokeRole(roleRequest), { onSuccess: (data) => { - console.log("SDK message --> Revoke role success: ", data); + console.log('SDK message --> Revoke role success: ', data); if (!data) return; toast.show({ duration: 3000, - title: t("succes"), - description: t("revokeRoleSuccessful"), - variant: "subtle", - status: "success", + title: t('succes'), + description: t('revokeRoleSuccessful'), + variant: 'subtle', + status: 'success', }); }, onError: (error) => { - console.log("SDK message --> Revoke role error: ", error); + console.log('SDK message --> Revoke role error: ', error); toast.show({ duration: 3000, - title: t("error"), - description: t("revokeRoleFailed"), - variant: "subtle", - status: "error", + title: t('error'), + description: t('revokeRoleFailed'), + variant: 'subtle', + status: 'error', }); }, }, diff --git a/apps/ats/web/src/hooks/queries/useSSIManager.ts b/apps/ats/web/src/hooks/queries/useSSIManager.ts index cc8c6f977..1a47bbdbf 100644 --- a/apps/ats/web/src/hooks/queries/useSSIManager.ts +++ b/apps/ats/web/src/hooks/queries/useSSIManager.ts @@ -203,12 +203,12 @@ */ -import { useQuery, UseQueryOptions } from "@tanstack/react-query"; -import SDKService from "../../services/SDKService"; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; +import SDKService from '../../services/SDKService'; import { GetIssuerListMembersRequest, GetRevocationRegistryAddressRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export const GET_ISSUERS_LIST = (securityId: string) => `GET_ISSUERS_LIST_${securityId}`; @@ -232,7 +232,7 @@ export const useGetIssuersList = ( const issuersIds = await SDKService.getIssuerListMembers(request); return issuersIds; } catch (error) { - console.error("Error fetching lockers", error); + console.error('Error fetching lockers', error); throw error; } }, @@ -252,7 +252,7 @@ export const useGetRevocationRegistryAddress = ( await SDKService.getRevocationRegistryAddress(request); return revocationRegistryAddress; } catch (error) { - console.error("Error fetching revocation registry address", error); + console.error('Error fetching revocation registry address', error); throw error; } }, diff --git a/apps/ats/web/src/hooks/queries/useTransferSecurity.ts b/apps/ats/web/src/hooks/queries/useTransferSecurity.ts index 87de34ec6..636471fd0 100644 --- a/apps/ats/web/src/hooks/queries/useTransferSecurity.ts +++ b/apps/ats/web/src/hooks/queries/useTransferSecurity.ts @@ -203,20 +203,20 @@ */ -import { UseMutationOptions, useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { TransferRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { checkError, KnownErrors } from "../../utils/helpers"; +import { UseMutationOptions, useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { TransferRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { checkError, KnownErrors } from '../../utils/helpers'; export const useTransferSecurity = ( options: UseMutationOptions = {}, ) => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "transfer" }); - const { t: tErrors } = useTranslation("security", { - keyPrefix: "details.allowedList.messages.operationsError", + const { t } = useTranslation('security', { keyPrefix: 'transfer' }); + const { t: tErrors } = useTranslation('security', { + keyPrefix: 'details.allowedList.messages.operationsError', }); //@ts-ignore @@ -227,42 +227,42 @@ export const useTransferSecurity = ( if (data === true) { toast.show({ duration: 3000, - title: `${t("messages.success")}`, - description: `${t("messages.descriptionSuccess")}`, - variant: "subtle", - status: "success", + title: `${t('messages.success')}`, + description: `${t('messages.descriptionSuccess')}`, + variant: 'subtle', + status: 'success', }); } else { toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.descriptionFailed'), + variant: 'subtle', + status: 'error', }); } }, onError: (error: { message: string }) => { - console.log("SDK message --> Security transfer error: ", error); + console.log('SDK message --> Security transfer error: ', error); const knownError = checkError(error); const errorTranslations = { [KnownErrors.blocked]: { - ...tErrors("block", { returnObjects: true }), + ...tErrors('block', { returnObjects: true }), }, [KnownErrors.not_approved]: { - ...tErrors("approval", { returnObjects: true }), + ...tErrors('approval', { returnObjects: true }), }, [KnownErrors.unknown]: { - title: t("messages.error"), + title: t('messages.error'), description: error?.message, }, }; toast.show({ duration: 3000, - variant: "subtle", - status: "error", + variant: 'subtle', + status: 'error', ...errorTranslations[knownError], }); }, diff --git a/apps/ats/web/src/hooks/queries/useUnpauseSecurity.ts b/apps/ats/web/src/hooks/queries/useUnpauseSecurity.ts index c395689f2..5917e165f 100644 --- a/apps/ats/web/src/hooks/queries/useUnpauseSecurity.ts +++ b/apps/ats/web/src/hooks/queries/useUnpauseSecurity.ts @@ -203,17 +203,17 @@ */ -import { UseMutationOptions, useMutation } from "@tanstack/react-query"; -import { SDKService } from "../../services/SDKService"; -import { PauseRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useToast } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { UseMutationOptions, useMutation } from '@tanstack/react-query'; +import { SDKService } from '../../services/SDKService'; +import { PauseRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useToast } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const useUnpauseSecurity = ( options: UseMutationOptions = {}, ) => { const toast = useToast(); - const { t } = useTranslation("security", { keyPrefix: "unpause" }); + const { t } = useTranslation('security', { keyPrefix: 'unpause' }); return useMutation( (pauseRequest: PauseRequest) => SDKService.unpause(pauseRequest), @@ -222,23 +222,23 @@ export const useUnpauseSecurity = ( if (data === true) { toast.show({ duration: 3000, - title: `${t("messages.success")}`, - description: `${t("messages.descriptionSuccess")}`, - variant: "subtle", - status: "success", + title: `${t('messages.success')}`, + description: `${t('messages.descriptionSuccess')}`, + variant: 'subtle', + status: 'success', }); } else { toast.show({ duration: 3000, - title: t("messages.error"), - description: t("messages.descriptionFailed"), - variant: "subtle", - status: "error", + title: t('messages.error'), + description: t('messages.descriptionFailed'), + variant: 'subtle', + status: 'error', }); } }, onError: (error) => { - console.log("SDK message --> Security pause error: ", error); + console.log('SDK message --> Security pause error: ', error); }, ...options, }, diff --git a/apps/ats/web/src/hooks/useBreadcrumbs.tsx b/apps/ats/web/src/hooks/useBreadcrumbs.tsx index 625bec2df..903f83122 100644 --- a/apps/ats/web/src/hooks/useBreadcrumbs.tsx +++ b/apps/ats/web/src/hooks/useBreadcrumbs.tsx @@ -206,9 +206,9 @@ import getBreadcrumbs, { BreadcrumbData, Options as RouterBreadcrumbsOptions, -} from "use-react-router-breadcrumbs"; -import { routes } from "../router/Routes"; -import { Link as RouterLink } from "react-router-dom"; +} from 'use-react-router-breadcrumbs'; +import { routes } from '../router/Routes'; +import { Link as RouterLink } from 'react-router-dom'; export const useBreadcrumbs = (options?: RouterBreadcrumbsOptions) => { return getBreadcrumbs(routes, { @@ -218,7 +218,7 @@ export const useBreadcrumbs = (options?: RouterBreadcrumbsOptions) => { const label = (() => { const { breadcrumb } = props.match.route!; // @ts-ignore - return typeof breadcrumb === "string" ? breadcrumb : breadcrumb(props); + return typeof breadcrumb === 'string' ? breadcrumb : breadcrumb(props); })(); return { diff --git a/apps/ats/web/src/hooks/useDetailsBalancePanel.ts b/apps/ats/web/src/hooks/useDetailsBalancePanel.ts index 85c485bb8..956dc7ab0 100644 --- a/apps/ats/web/src/hooks/useDetailsBalancePanel.ts +++ b/apps/ats/web/src/hooks/useDetailsBalancePanel.ts @@ -206,11 +206,11 @@ import { GetAccountBalanceRequest, GetSecurityDetailsRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; import { useGetBalanceOf, useGetSecurityDetails, -} from "./queries/useGetSecurityDetails"; +} from './queries/useGetSecurityDetails'; export const useDetailsBalancePanel = ( securityId: string, diff --git a/apps/ats/web/src/hooks/useTable.tsx b/apps/ats/web/src/hooks/useTable.tsx index 2d0355718..ded8c3497 100644 --- a/apps/ats/web/src/hooks/useTable.tsx +++ b/apps/ats/web/src/hooks/useTable.tsx @@ -203,9 +203,9 @@ */ -import type { Dispatch, SetStateAction } from "react"; -import { useState } from "react"; -import type { PaginationState, SortingState } from "@tanstack/react-table"; +import type { Dispatch, SetStateAction } from 'react'; +import { useState } from 'react'; +import type { PaginationState, SortingState } from '@tanstack/react-table'; export interface UseTableReturn { pagination: { diff --git a/apps/ats/web/src/hooks/useWalletConnection.tsx b/apps/ats/web/src/hooks/useWalletConnection.tsx index c7ccbf006..b424daf5d 100644 --- a/apps/ats/web/src/hooks/useWalletConnection.tsx +++ b/apps/ats/web/src/hooks/useWalletConnection.tsx @@ -203,10 +203,10 @@ */ -import { useWalletStore } from "../store/walletStore"; -import { WalletStatus } from "../utils/constants"; -import { useSDKConnectToWallet } from "./queries/SDKConnection"; -import { SupportedWallets } from "@hashgraph/asset-tokenization-sdk"; +import { useWalletStore } from '../store/walletStore'; +import { WalletStatus } from '../utils/constants'; +import { useSDKConnectToWallet } from './queries/SDKConnection'; +import { SupportedWallets } from '@hashgraph/asset-tokenization-sdk'; export const useWalletConnection = () => { const { setConnectionStatus } = useWalletStore(); @@ -226,7 +226,7 @@ export const useWalletConnection = () => { } else if (wallet === SupportedWallets.HWALLETCONNECT) { connectWallet(wallet); } else { - throw new Error("Wallet not supported"); + throw new Error('Wallet not supported'); } } catch (error) { console.error(error); diff --git a/apps/ats/web/src/i18n/en/dashboard/index.ts b/apps/ats/web/src/i18n/en/dashboard/index.ts index d096e3264..5534d369d 100644 --- a/apps/ats/web/src/i18n/en/dashboard/index.ts +++ b/apps/ats/web/src/i18n/en/dashboard/index.ts @@ -205,16 +205,16 @@ export default { commons: { - createNewSecurity: "Create new digital security", - addFavorite: "Add your Favorite", + createNewSecurity: 'Create new digital security', + addFavorite: 'Add your Favorite', }, header: { - title: "Dashboard", - subtitle: "Your digital securities dashboard", + title: 'Dashboard', + subtitle: 'Your digital securities dashboard', }, noTokens: { title: "You don't have digital securities yet", subTitle: - "Select if you want to create a new digital security or import an existing one.", + 'Select if you want to create a new digital security or import an existing one.', }, }; diff --git a/apps/ats/web/src/i18n/en/externalControlDetails/index.ts b/apps/ats/web/src/i18n/en/externalControlDetails/index.ts index ba66db259..da59f1322 100644 --- a/apps/ats/web/src/i18n/en/externalControlDetails/index.ts +++ b/apps/ats/web/src/i18n/en/externalControlDetails/index.ts @@ -205,42 +205,42 @@ export default { search: { - placeholder: "Add address account", - add: "Add", + placeholder: 'Add address account', + add: 'Add', }, table: { - address: "Address", - actions: "Actions", - empty: "No results found", + address: 'Address', + actions: 'Actions', + empty: 'No results found', }, modal: { addAddress: { - title: "Add Address", - description: "Are you sure you want to add this address?", - confirmText: "Yes, add it", - cancelText: "Cancel", + title: 'Add Address', + description: 'Are you sure you want to add this address?', + confirmText: 'Yes, add it', + cancelText: 'Cancel', }, removeAddress: { - title: "Remove Address", - description: "Are you sure you want to remove this address?", - confirmText: "Yes, remove it", - cancelText: "Cancel", + title: 'Remove Address', + description: 'Are you sure you want to remove this address?', + confirmText: 'Yes, remove it', + cancelText: 'Cancel', }, }, messages: { addAddress: { - success: "Success: ", - descriptionSuccess: "The address has been added", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The address has been added', + error: 'Failed: ', descriptionFailed: - "There was an error adding the address. Please try again", + 'There was an error adding the address. Please try again', }, removeAddress: { - success: "Success: ", - descriptionSuccess: "The address has been removed", - error: "Deletion failed: ", + success: 'Success: ', + descriptionSuccess: 'The address has been removed', + error: 'Deletion failed: ', descriptionFailed: - "There was an error deleting the address. Please try again", + 'There was an error deleting the address. Please try again', }, }, }; diff --git a/apps/ats/web/src/i18n/en/externalControlList/index.ts b/apps/ats/web/src/i18n/en/externalControlList/index.ts index 307cc8981..208a5fe42 100644 --- a/apps/ats/web/src/i18n/en/externalControlList/index.ts +++ b/apps/ats/web/src/i18n/en/externalControlList/index.ts @@ -206,156 +206,156 @@ export default { list: { header: { - createNewExternalControl: "Create new external control", - importControlList: "Import a control list", - title: "External Control list", + createNewExternalControl: 'Create new external control', + importControlList: 'Import a control list', + title: 'External Control list', }, table: { - address: "Address", - state: "Type", - actions: "Actions", - blacklist: "Blacklist", - whitelist: "Whitelist", - empty: "No results found", + address: 'Address', + state: 'Type', + actions: 'Actions', + blacklist: 'Blacklist', + whitelist: 'Whitelist', + empty: 'No results found', }, modal: { removeExternalControlPopUp: { - title: "Remove External Control", + title: 'Remove External Control', description: - "Are you sure you want to remove this external control? This action cannot be undone.", - confirmText: "Yes, remove it", - cancelText: "Cancel", + 'Are you sure you want to remove this external control? This action cannot be undone.', + confirmText: 'Yes, remove it', + cancelText: 'Cancel', }, }, messages: { removeExternalControl: { - success: "Success: ", - descriptionSuccess: "The external control has been removed", - error: "Deletion failed: ", + success: 'Success: ', + descriptionSuccess: 'The external control has been removed', + error: 'Deletion failed: ', descriptionFailed: - "There was an error deleting the external control. Please try again", + 'There was an error deleting the external control. Please try again', }, changeState: { - success: "Success: ", - descriptionSuccess: "The external control state has been changed", - error: "State change failed: ", + success: 'Success: ', + descriptionSuccess: 'The external control state has been changed', + error: 'State change failed: ', descriptionFailed: - "There was an error updating the external control state. Please try again", + 'There was an error updating the external control state. Please try again', }, }, }, add: { - title: "Add External Control", - subtitle: "Add an existing external control with its ID", - mandatoryFields: "*Mandatory fields", + title: 'Add External Control', + subtitle: 'Add an existing external control with its ID', + mandatoryFields: '*Mandatory fields', input: { id: { - label: "External Control ID*", - placeholder: "0.0.12345", + label: 'External Control ID*', + placeholder: '0.0.12345', }, type: { - label: "Type*", - placeholder: "Select external control type", + label: 'Type*', + placeholder: 'Select external control type', }, }, - create: "Add external control", - cancel: "Cancel", + create: 'Add external control', + cancel: 'Cancel', messages: { addExternalControl: { - success: "Success: ", - descriptionSuccess: "The external control has been imported", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The external control has been imported', + error: 'Failed: ', descriptionFailed: - "There was an error importing the external control. Please try again", + 'There was an error importing the external control. Please try again', }, addAddressControl: { - success: "Success: ", - descriptionSuccess: "The account has been added", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The account has been added', + error: 'Failed: ', descriptionFailed: - "There was an error adding the account. Please try again", + 'There was an error adding the account. Please try again', }, removeAddressControl: { - success: "Success: ", - descriptionSuccess: "The account has been removed", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The account has been removed', + error: 'Failed: ', descriptionFailed: - "There was an error removing the account. Please try again", + 'There was an error removing the account. Please try again', }, isAddressAuthorized: { - success: "Success: ", - descriptionSuccess: "The account is authorized", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The account is authorized', + error: 'Failed: ', descriptionFailed: - "There was an error checking the account. Please try again", + 'There was an error checking the account. Please try again', }, isAddressNotAuthorized: { - success: "Success: ", - descriptionSuccess: "The account is NOT authorized", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The account is NOT authorized', + error: 'Failed: ', descriptionFailed: - "There was an error checking the account. Please try again", + 'There was an error checking the account. Please try again', }, updateExternalControl: { - success: "Success: ", - descriptionSuccess: "The external control list has been updated", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The external control list has been updated', + error: 'Failed: ', descriptionFailed: - "There was an error updating the external control list. Please try again", + 'There was an error updating the external control list. Please try again', }, }, }, create: { - title: "External Control creation", - subtitle: "Create a new external control to be used for securities", - mandatoryFields: "*Mandatory fields", + title: 'External Control creation', + subtitle: 'Create a new external control to be used for securities', + mandatoryFields: '*Mandatory fields', input: { type: { - label: "Type", - placeholder: "Choose the type of the control list", + label: 'Type', + placeholder: 'Choose the type of the control list', }, }, - create: "Create external control", - cancel: "Cancel", + create: 'Create external control', + cancel: 'Cancel', messages: { createExternalControl: { - success: "Success: ", - descriptionSuccess: "The external control has been created", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The external control has been created', + error: 'Failed: ', descriptionFailed: - "There was an error creating the external control. Please try again", + 'There was an error creating the external control. Please try again', }, }, }, addAddress: { - title: "Add Account", - description: "Enter the account address to add it to external control.", + title: 'Add Account', + description: 'Enter the account address to add it to external control.', input: { - label: "Account Address", - placeholder: "0.0.123456", + label: 'Account Address', + placeholder: '0.0.123456', }, - add: "Add", - cancel: "Cancel", + add: 'Add', + cancel: 'Cancel', }, removeAddress: { - title: "Remove Account", + title: 'Remove Account', description: - "Enter the account address to remove it from external control.", + 'Enter the account address to remove it from external control.', input: { - label: "Account Address", - placeholder: "0.0.123456", + label: 'Account Address', + placeholder: '0.0.123456', }, - remove: "Remove", - cancel: "Cancel", + remove: 'Remove', + cancel: 'Cancel', }, checkAddress: { - title: "Check Account", - description: "Enter the account address to check it in external control.", + title: 'Check Account', + description: 'Enter the account address to check it in external control.', input: { - label: "Account Address", - placeholder: "0.0.123456", + label: 'Account Address', + placeholder: '0.0.123456', }, - check: "Check", - cancel: "Cancel", + check: 'Check', + cancel: 'Cancel', }, }; diff --git a/apps/ats/web/src/i18n/en/externalKYCList/index.ts b/apps/ats/web/src/i18n/en/externalKYCList/index.ts index 36953cdbc..5b1567b23 100644 --- a/apps/ats/web/src/i18n/en/externalKYCList/index.ts +++ b/apps/ats/web/src/i18n/en/externalKYCList/index.ts @@ -206,152 +206,152 @@ export default { list: { header: { - createNewExternalKYC: "Create new external KYC", - importKYCList: "Import a KYC list", - title: "External KYC list", + createNewExternalKYC: 'Create new external KYC', + importKYCList: 'Import a KYC list', + title: 'External KYC list', }, table: { - address: "Address", - actions: "Actions", - empty: "No results found", + address: 'Address', + actions: 'Actions', + empty: 'No results found', }, modal: { removeExternalKYCPopUp: { - title: "Remove External KYC", + title: 'Remove External KYC', description: - "Are you sure you want to remove this external KYC? This action cannot be undone.", - confirmText: "Yes, remove it", - cancelText: "Cancel", + 'Are you sure you want to remove this external KYC? This action cannot be undone.', + confirmText: 'Yes, remove it', + cancelText: 'Cancel', }, }, messages: { removeExternalKYC: { - success: "Success: ", - descriptionSuccess: "The external KYC has been removed", - error: "Deletion failed: ", + success: 'Success: ', + descriptionSuccess: 'The external KYC has been removed', + error: 'Deletion failed: ', descriptionFailed: - "There was an error deleting the external KYC. Please try again", + 'There was an error deleting the external KYC. Please try again', }, changeState: { - success: "Success: ", - descriptionSuccess: "The external KYC state has been changed", - error: "State change failed: ", + success: 'Success: ', + descriptionSuccess: 'The external KYC state has been changed', + error: 'State change failed: ', descriptionFailed: - "There was an error updating the external KYC state. Please try again", + 'There was an error updating the external KYC state. Please try again', }, }, }, add: { - title: "Add External KYC", - subtitle: "Add an existing external KYC with its ID", - mandatoryFields: "*Mandatory fields", + title: 'Add External KYC', + subtitle: 'Add an existing external KYC with its ID', + mandatoryFields: '*Mandatory fields', input: { id: { - label: "External KYC ID*", - placeholder: "0.0.12345", + label: 'External KYC ID*', + placeholder: '0.0.12345', }, type: { - label: "Type*", - placeholder: "Select external KYC type", + label: 'Type*', + placeholder: 'Select external KYC type', }, }, - create: "Add external KYC", - cancel: "Cancel", + create: 'Add external KYC', + cancel: 'Cancel', messages: { addExternalKYC: { - success: "Success: ", - descriptionSuccess: "The external KYC has been imported", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The external KYC has been imported', + error: 'Failed: ', descriptionFailed: - "There was an error importing the external KYC. Please try again", + 'There was an error importing the external KYC. Please try again', }, addAddressKYC: { - success: "Success: ", - descriptionSuccess: "The account has been added", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The account has been added', + error: 'Failed: ', descriptionFailed: - "There was an error adding the account. Please try again", + 'There was an error adding the account. Please try again', }, removeAddressKYC: { - success: "Success: ", - descriptionSuccess: "The account has been removed", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The account has been removed', + error: 'Failed: ', descriptionFailed: - "There was an error removing the account. Please try again", + 'There was an error removing the account. Please try again', }, isAddressAuthorized: { - success: "Success: ", - descriptionSuccess: "The account is authorized", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The account is authorized', + error: 'Failed: ', descriptionFailed: - "There was an error checking the account. Please try again", + 'There was an error checking the account. Please try again', }, isAddressNotAuthorized: { - success: "Success: ", - descriptionSuccess: "The account is NOT authorized", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The account is NOT authorized', + error: 'Failed: ', descriptionFailed: - "There was an error checking the account. Please try again", + 'There was an error checking the account. Please try again', }, updateExternalKYC: { - success: "Success: ", - descriptionSuccess: "The external KYC list has been updated", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The external KYC list has been updated', + error: 'Failed: ', descriptionFailed: - "There was an error updating the external KYC list. Please try again", + 'There was an error updating the external KYC list. Please try again', }, }, }, create: { - title: "External KYC creation", - subtitle: "Create a new external KYC to be used for securities", - mandatoryFields: "*Mandatory fields", + title: 'External KYC creation', + subtitle: 'Create a new external KYC to be used for securities', + mandatoryFields: '*Mandatory fields', input: { type: { - label: "Type", - placeholder: "Choose the type of the KYC list", + label: 'Type', + placeholder: 'Choose the type of the KYC list', }, }, - create: "Create external KYC", - cancel: "Cancel", + create: 'Create external KYC', + cancel: 'Cancel', messages: { createExternalKYC: { - success: "Success: ", - descriptionSuccess: "The external KYC has been created", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The external KYC has been created', + error: 'Failed: ', descriptionFailed: - "There was an error creating the external KYC. Please try again", + 'There was an error creating the external KYC. Please try again', }, }, }, addAddress: { - title: "Add Account", - description: "Enter the account address to add it to external KYC.", + title: 'Add Account', + description: 'Enter the account address to add it to external KYC.', input: { - label: "Account Address", - placeholder: "0.0.123456", + label: 'Account Address', + placeholder: '0.0.123456', }, - add: "Add", - cancel: "Cancel", + add: 'Add', + cancel: 'Cancel', }, removeAddress: { - title: "Remove Account", - description: "Enter the account address to remove it from external KYC.", + title: 'Remove Account', + description: 'Enter the account address to remove it from external KYC.', input: { - label: "Account Address", - placeholder: "0.0.123456", + label: 'Account Address', + placeholder: '0.0.123456', }, - remove: "Remove", - cancel: "Cancel", + remove: 'Remove', + cancel: 'Cancel', }, checkAddress: { - title: "Check Account", - description: "Enter the account address to check it in external KYC.", + title: 'Check Account', + description: 'Enter the account address to check it in external KYC.', input: { - label: "Account Address", - placeholder: "0.0.123456", + label: 'Account Address', + placeholder: '0.0.123456', }, - check: "Check", - cancel: "Cancel", + check: 'Check', + cancel: 'Cancel', }, }; diff --git a/apps/ats/web/src/i18n/en/externalPause/index.ts b/apps/ats/web/src/i18n/en/externalPause/index.ts index dcfc6ec5f..c543f8d53 100644 --- a/apps/ats/web/src/i18n/en/externalPause/index.ts +++ b/apps/ats/web/src/i18n/en/externalPause/index.ts @@ -206,89 +206,89 @@ export default { list: { header: { - createNewExternalPause: "Create new external pause", - title: "External Pause list", + createNewExternalPause: 'Create new external pause', + title: 'External Pause list', }, table: { - address: "Address", - state: "State", - actions: "Actions", - activated: "Activated", - deactivated: "Deactivated", - empty: "No results found", + address: 'Address', + state: 'State', + actions: 'Actions', + activated: 'Activated', + deactivated: 'Deactivated', + empty: 'No results found', }, modal: { removeExternalPausePopUp: { - title: "Remove External Pause", + title: 'Remove External Pause', description: - "Are you sure you want to remove this external pause? This action cannot be undone.", - confirmText: "Yes, remove it", - cancelText: "Cancel", + 'Are you sure you want to remove this external pause? This action cannot be undone.', + confirmText: 'Yes, remove it', + cancelText: 'Cancel', }, }, messages: { addExternalPause: { - success: "Success: ", - descriptionSuccess: "The external pause has been added", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The external pause has been added', + error: 'Failed: ', descriptionFailed: - "There was an error adding the external pause. Please try again", + 'There was an error adding the external pause. Please try again', }, removeExternalPause: { - success: "Success: ", - descriptionSuccess: "The external pause has been removed", - error: "Deletion failed: ", + success: 'Success: ', + descriptionSuccess: 'The external pause has been removed', + error: 'Deletion failed: ', descriptionFailed: - "There was an error deleting the external pause. Please try again", + 'There was an error deleting the external pause. Please try again', }, changeState: { - success: "Success: ", - descriptionSuccess: "The external pause state has been changed", - error: "State change failed: ", + success: 'Success: ', + descriptionSuccess: 'The external pause state has been changed', + error: 'State change failed: ', descriptionFailed: - "There was an error updating the external pause state. Please try again", + 'There was an error updating the external pause state. Please try again', }, createMock: { - success: "Success: ", - descriptionSuccess: "The external pause has been created", - error: "State change failed: ", + success: 'Success: ', + descriptionSuccess: 'The external pause has been created', + error: 'State change failed: ', descriptionFailed: - "There was an error creating the external pause. Please try again", + 'There was an error creating the external pause. Please try again', }, }, }, add: { - title: "Add External Pause", - subtitle: "Add an existing external pause with its ID", - mandatoryFields: "*Mandatory fields", + title: 'Add External Pause', + subtitle: 'Add an existing external pause with its ID', + mandatoryFields: '*Mandatory fields', input: { id: { - label: "External Pause ID*", - placeholder: "0.0.12345", + label: 'External Pause ID*', + placeholder: '0.0.12345', }, }, - create: "Add external pause", - cancel: "Cancel", + create: 'Add external pause', + cancel: 'Cancel', }, create: { - title: "External Pause creation", - subtitle: "Create a new external pause to be used for securities", - mandatoryFields: "*Mandatory fields", + title: 'External Pause creation', + subtitle: 'Create a new external pause to be used for securities', + mandatoryFields: '*Mandatory fields', input: { isActivated: { - label: "Activated*", + label: 'Activated*', }, }, - create: "Create external pause", - cancel: "Cancel", + create: 'Create external pause', + cancel: 'Cancel', }, messages: { addExternalPause: { - success: "Success: ", - descriptionSuccess: "The external pause has been added", - error: "Failed: ", + success: 'Success: ', + descriptionSuccess: 'The external pause has been added', + error: 'Failed: ', descriptionFailed: - "There was an error adding the external pause. Please try again", + 'There was an error adding the external pause. Please try again', }, }, }; diff --git a/apps/ats/web/src/i18n/en/index.ts b/apps/ats/web/src/i18n/en/index.ts index 4f0573496..0ebaee554 100644 --- a/apps/ats/web/src/i18n/en/index.ts +++ b/apps/ats/web/src/i18n/en/index.ts @@ -203,126 +203,126 @@ */ -import routes from "./routes"; -import landing from "./landing"; -import dashboard from "./dashboard"; -import rules from "./rules"; -import security from "./security"; -import initialization from "./initialization"; -import externalControlList from "./externalControlList"; -import externalPause from "./externalPause"; -import externalControlDetails from "./externalControlDetails"; -import externalKYCList from "./externalKYCList"; +import routes from './routes'; +import landing from './landing'; +import dashboard from './dashboard'; +import rules from './rules'; +import security from './security'; +import initialization from './initialization'; +import externalControlList from './externalControlList'; +import externalPause from './externalPause'; +import externalControlDetails from './externalControlDetails'; +import externalKYCList from './externalKYCList'; export default { globals: { - iob: "IO Builders", - tag: "Proof of concept", - connectMetamask: "Connect Metamask", - connectWalletConnect: "Connect Wallet Connect", - walletChanged: "Wallet was changed to {{ currentWallet }}", - networkChanged: "Network changed to {{ currentNetwork }}", - unrecognizedNetwork: "Changed to an unrecognized network", + iob: 'IO Builders', + tag: 'Proof of concept', + connectMetamask: 'Connect Metamask', + connectWalletConnect: 'Connect Wallet Connect', + walletChanged: 'Wallet was changed to {{ currentWallet }}', + networkChanged: 'Network changed to {{ currentNetwork }}', + unrecognizedNetwork: 'Changed to an unrecognized network', changeToRecognizedNetwork: - "Metamask is not connected to the Hedera Testnet. Please follow the instructions at the landing page to configure your wallet", + 'Metamask is not connected to the Hedera Testnet. Please follow the instructions at the landing page to configure your wallet', changeToHederaAccount: - "The selected Account in Metamask is not a Hedera account. Please follow the instructions at the landing page to configure your Hedera account and your wallet.", - cancel: "Cancel", - holder: "Holder", - admin: "Admin", - general: "General", - seeAll: "See all", - securities: "securities", - quantityOfSecurities: "{{ numOfTokens }} securities", - walletDisconnect: "Disconnect Wallet", - mandatoryFields: "*Mandatory fields", - accept: "Accept", - submit: "Submit", - send: "Send", - sending: "Sending", - execute: "Execute", - executing: "Executing", - tokenDetails: "Token details", - check: " Check", - error: "The operation has failed", + 'The selected Account in Metamask is not a Hedera account. Please follow the instructions at the landing page to configure your Hedera account and your wallet.', + cancel: 'Cancel', + holder: 'Holder', + admin: 'Admin', + general: 'General', + seeAll: 'See all', + securities: 'securities', + quantityOfSecurities: '{{ numOfTokens }} securities', + walletDisconnect: 'Disconnect Wallet', + mandatoryFields: '*Mandatory fields', + accept: 'Accept', + submit: 'Submit', + send: 'Send', + sending: 'Sending', + execute: 'Execute', + executing: 'Executing', + tokenDetails: 'Token details', + check: ' Check', + error: 'The operation has failed', mobile: { - message: "This app is for desktop use only", + message: 'This app is for desktop use only', }, }, properties: { - type: "Type", - name: "Name", - symbol: "Symbol", - decimal: "Decimal", - isin: "ISIN", - evmAddress: "EVM Address", - id: "ID", - totalSupply: "Total Supply", - maxSupply: "Max Supply", - pendingToBeMinted: "Pending to be minted", - totalBalance: "Total Balance", - availableBalance: "Available Balance", - accountBalance: "Account Balance", - lockedBalance: "Locked Balance", - currentAvailableBalance: "Current Available balance", - overallBalance: "Overall balance", - tokenSymbol: "TOK", - value: "Value", - status: "Status", - address: "Address", - currency: "Currency", - nominalValue: "Nominal Value", - nominalTotalValue: "Value: $", - startingDate: "Starting date", - maturityDate: "Maturity date", + type: 'Type', + name: 'Name', + symbol: 'Symbol', + decimal: 'Decimal', + isin: 'ISIN', + evmAddress: 'EVM Address', + id: 'ID', + totalSupply: 'Total Supply', + maxSupply: 'Max Supply', + pendingToBeMinted: 'Pending to be minted', + totalBalance: 'Total Balance', + availableBalance: 'Available Balance', + accountBalance: 'Account Balance', + lockedBalance: 'Locked Balance', + currentAvailableBalance: 'Current Available balance', + overallBalance: 'Overall balance', + tokenSymbol: 'TOK', + value: 'Value', + status: 'Status', + address: 'Address', + currency: 'Currency', + nominalValue: 'Nominal Value', + nominalTotalValue: 'Value: $', + startingDate: 'Starting date', + maturityDate: 'Maturity date', permissions: { - label: "Permissions", - controllable: "Controllable", - blocklist: "Blocklist", - approvalList: "Approval list", - allowed: "Allowed", - notAllowed: "Not allowed", - rightsAndPrivileges: "Rights and privileges", + label: 'Permissions', + controllable: 'Controllable', + blocklist: 'Blocklist', + approvalList: 'Approval list', + allowed: 'Allowed', + notAllowed: 'Not allowed', + rightsAndPrivileges: 'Rights and privileges', }, - copyId: "*Copy and save the ID to import into other browsers.", + copyId: '*Copy and save the ID to import into other browsers.', regulations: { - label: "Regulations", - regulationType: "Regulation type", - regulationSubType: "Regulation sub-type", - allowedCountries: "Allowed countries", - blockedCountries: "Blocked countries", - dealSize: "Deal size", - dealSizePlaceHolder: "Can raise unlimited capital", - accreditedInvestors: "Accredited investors", - maxNonAccreditedInvestors: "Max non-accredited investors", - maxNonAccreditedInvestorsPlaceHolder: "Unlimited", - manualInvestorVerification: "Manual investor verification", - internationalInvestors: "International investors", - resaleHoldPeriod: "Resale hold period", + label: 'Regulations', + regulationType: 'Regulation type', + regulationSubType: 'Regulation sub-type', + allowedCountries: 'Allowed countries', + blockedCountries: 'Blocked countries', + dealSize: 'Deal size', + dealSizePlaceHolder: 'Can raise unlimited capital', + accreditedInvestors: 'Accredited investors', + maxNonAccreditedInvestors: 'Max non-accredited investors', + maxNonAccreditedInvestorsPlaceHolder: 'Unlimited', + manualInvestorVerification: 'Manual investor verification', + internationalInvestors: 'International investors', + resaleHoldPeriod: 'Resale hold period', }, }, roles: { - admin: "Admin role", - minter: "Minter role", - controller: "Controller role", - pause: "Pause role", - controlList: "Control List role", - corporateActions: "Corporate actions role", - document: "Document role", - snapshot: "Snapshot role", - bondManager: "Bond Manager role", - adjustmentBalance: "Adjustment Balance role", - locker: "Locker role", - cap: "Cap role", - kyc: "KYC role", - ssiManager: "SSI Manager role", - clearing: "Clearing role", - clearingValidator: "Clearing Validator role", - pauseManager: "Pause Manager role", - controlListManager: "Control Manager role", - kycListManager: "KYC Manager role", - internalKYCManager: "Internal KYC Manager role", - freezer: "Freeze Manager Role", + admin: 'Admin role', + minter: 'Minter role', + controller: 'Controller role', + pause: 'Pause role', + controlList: 'Control List role', + corporateActions: 'Corporate actions role', + document: 'Document role', + snapshot: 'Snapshot role', + bondManager: 'Bond Manager role', + adjustmentBalance: 'Adjustment Balance role', + locker: 'Locker role', + cap: 'Cap role', + kyc: 'KYC role', + ssiManager: 'SSI Manager role', + clearing: 'Clearing role', + clearingValidator: 'Clearing Validator role', + pauseManager: 'Pause Manager role', + controlListManager: 'Control Manager role', + kycListManager: 'KYC Manager role', + internalKYCManager: 'Internal KYC Manager role', + freezer: 'Freeze Manager Role', }, landing, routes, diff --git a/apps/ats/web/src/i18n/en/initialization.ts b/apps/ats/web/src/i18n/en/initialization.ts index 2ca31187d..0dc03b02a 100644 --- a/apps/ats/web/src/i18n/en/initialization.ts +++ b/apps/ats/web/src/i18n/en/initialization.ts @@ -205,9 +205,9 @@ export default { cookieDisclaimer: { - Title: "Cookies", - Description: "This website uses cookies to improve your experience.", - ConfirmButton: "Accept", - CancelButton: "Decline", + Title: 'Cookies', + Description: 'This website uses cookies to improve your experience.', + ConfirmButton: 'Accept', + CancelButton: 'Decline', }, }; diff --git a/apps/ats/web/src/i18n/en/landing.ts b/apps/ats/web/src/i18n/en/landing.ts index 208942b34..72f1f496c 100644 --- a/apps/ats/web/src/i18n/en/landing.ts +++ b/apps/ats/web/src/i18n/en/landing.ts @@ -204,21 +204,21 @@ */ export default { - connectYour: "Connect your", - wallet: "wallet", - welcomeMessage: "Please, connect your wallet to start operating.", - showMetamaskInstructions: "Show Metamask instructions", + connectYour: 'Connect your', + wallet: 'wallet', + welcomeMessage: 'Please, connect your wallet to start operating.', + showMetamaskInstructions: 'Show Metamask instructions', instructionsMetamask: "Instructions to set up your Hedera account and your Metamask wallet: Configure the Hedera Testnet Network in Metamask and connect Metamask to it. Recommendation: use Chainlist. Create an ECDSA account in the Hedera Portal. Import the Private Key in Metamask (instructions). Switch to that new account in Metamask (instructions). Authorize the Token Studio site to use the account.", metamaskPopup: { connecting: { - title: "Connecting to Metamask...", - description: "Please, confirm in Metamask wallet extension.", + title: 'Connecting to Metamask...', + description: 'Please, confirm in Metamask wallet extension.', }, uninstalled: { - title: "No Metamask installed.", - description: "Please, connect the Metamask extension in your browser.", - button: "Install Metamask extension", + title: 'No Metamask installed.', + description: 'Please, connect the Metamask extension in your browser.', + button: 'Install Metamask extension', }, }, }; diff --git a/apps/ats/web/src/i18n/en/routes.ts b/apps/ats/web/src/i18n/en/routes.ts index 646385912..93bb6ef8d 100644 --- a/apps/ats/web/src/i18n/en/routes.ts +++ b/apps/ats/web/src/i18n/en/routes.ts @@ -203,33 +203,33 @@ */ -import { RouteName } from "../../router/RouteName"; +import { RouteName } from '../../router/RouteName'; export default { - configuration: "Configuration", - [RouteName.Dashboard]: "Dashboard", - [RouteName.ExternalControlList]: "External Control", - [RouteName.ExternalControlDetails]: "External Control Details", - [RouteName.CreateExternalControl]: "External Control creation", - [RouteName.AddExternalControl]: "Import a external control", - [RouteName.ExternalKYCList]: "External KYC", - [RouteName.ExternalKYCDetails]: "External KYC Details", - [RouteName.CreateExternalKYC]: "External KYC creation", - [RouteName.AddExternalKYC]: "Import a external KYC", - [RouteName.ExternalPauseList]: "External Pause", - [RouteName.CreateExternalPause]: "External Pause creation", - [RouteName.AddExternalPause]: "Import a external pause", - [RouteName.AddSecurity]: "Import a digital security token", - [RouteName.CreateSecurity]: "Create a digital security", - [RouteName.CreateEquity]: "Equity creation", - [RouteName.CreateBond]: "Bond creation", - [RouteName.DigitalSecuritiesList]: "All digital securities", - [RouteName.DigitalSecurityDetails]: "Digital security details", - [RouteName.DigitalSecurityMint]: "Mint digital security", - [RouteName.DigitalSecurityFreeze]: "Freeze digital security", - [RouteName.DigitalSecurityTransfer]: "Transfer digital security", - [RouteName.DigitalSecurityForceTransfer]: "Force Transfer digital security", - [RouteName.DigitalSecurityRedeem]: "Redeem digital security", - [RouteName.DigitalSecurityForceRedeem]: "Force Redeem digital security", - [RouteName.DigitalSecurityLock]: "Locker digital security", + configuration: 'Configuration', + [RouteName.Dashboard]: 'Dashboard', + [RouteName.ExternalControlList]: 'External Control', + [RouteName.ExternalControlDetails]: 'External Control Details', + [RouteName.CreateExternalControl]: 'External Control creation', + [RouteName.AddExternalControl]: 'Import a external control', + [RouteName.ExternalKYCList]: 'External KYC', + [RouteName.ExternalKYCDetails]: 'External KYC Details', + [RouteName.CreateExternalKYC]: 'External KYC creation', + [RouteName.AddExternalKYC]: 'Import a external KYC', + [RouteName.ExternalPauseList]: 'External Pause', + [RouteName.CreateExternalPause]: 'External Pause creation', + [RouteName.AddExternalPause]: 'Import a external pause', + [RouteName.AddSecurity]: 'Import a digital security token', + [RouteName.CreateSecurity]: 'Create a digital security', + [RouteName.CreateEquity]: 'Equity creation', + [RouteName.CreateBond]: 'Bond creation', + [RouteName.DigitalSecuritiesList]: 'All digital securities', + [RouteName.DigitalSecurityDetails]: 'Digital security details', + [RouteName.DigitalSecurityMint]: 'Mint digital security', + [RouteName.DigitalSecurityFreeze]: 'Freeze digital security', + [RouteName.DigitalSecurityTransfer]: 'Transfer digital security', + [RouteName.DigitalSecurityForceTransfer]: 'Force Transfer digital security', + [RouteName.DigitalSecurityRedeem]: 'Redeem digital security', + [RouteName.DigitalSecurityForceRedeem]: 'Force Redeem digital security', + [RouteName.DigitalSecurityLock]: 'Locker digital security', }; diff --git a/apps/ats/web/src/i18n/en/rules.ts b/apps/ats/web/src/i18n/en/rules.ts index e77c058b2..4162754aa 100644 --- a/apps/ats/web/src/i18n/en/rules.ts +++ b/apps/ats/web/src/i18n/en/rules.ts @@ -204,18 +204,18 @@ */ export default { - dateAfter: "Should be after {{date}}", - dateBefore: "Should be before {{date}}", - dateBetween: "Should be between {{min}} and {{max}}", - email: "Incorrect email format", - greaterOrEqualThan: "Value should be greater or equal than {{min}}", - greaterThan: "Value should be greater than {{min}}", - lowerThan: "Value should be lower than {{max}}", - invalidPercentage: "Invalid percentage", - maxExceeded: "The amount exceeds the limit.", - maxlength: "Too many characters", - required: "Field is mandatory", - isISINValid: "Length should be {{length}}.", - isISINValidFormat: "Invalid format", - isHederaValidAddress: "Wrong address", + dateAfter: 'Should be after {{date}}', + dateBefore: 'Should be before {{date}}', + dateBetween: 'Should be between {{min}} and {{max}}', + email: 'Incorrect email format', + greaterOrEqualThan: 'Value should be greater or equal than {{min}}', + greaterThan: 'Value should be greater than {{min}}', + lowerThan: 'Value should be lower than {{max}}', + invalidPercentage: 'Invalid percentage', + maxExceeded: 'The amount exceeds the limit.', + maxlength: 'Too many characters', + required: 'Field is mandatory', + isISINValid: 'Length should be {{length}}.', + isISINValidFormat: 'Invalid format', + isHederaValidAddress: 'Wrong address', }; diff --git a/apps/ats/web/src/i18n/en/security/add.ts b/apps/ats/web/src/i18n/en/security/add.ts index 016d22ba0..f2491e452 100644 --- a/apps/ats/web/src/i18n/en/security/add.ts +++ b/apps/ats/web/src/i18n/en/security/add.ts @@ -204,26 +204,26 @@ */ export default { - title: "Add digital security", - subtitle: "Add an existing security with its ID or DLT address", - addDigitalSecurity: "Add digital security", + title: 'Add digital security', + subtitle: 'Add an existing security with its ID or DLT address', + addDigitalSecurity: 'Add digital security', form: { - mandatoryFields: "*Mandatory fields", + mandatoryFields: '*Mandatory fields', input: { address: { - label: "ID or DLT address*", - placeholder: "0.0.12345", + label: 'ID or DLT address*', + placeholder: '0.0.12345', }, }, }, messages: { - succes: "Success: ", - additionSucces: "Add digital security was successful: ", - error: "Error: ", - additionFailed: "Add digital security failed", - alredyAdded: "This security is already added", - addedToAdmin: "Found admin roles. Security was added to Admin panel", + succes: 'Success: ', + additionSucces: 'Add digital security was successful: ', + error: 'Error: ', + additionFailed: 'Add digital security failed', + alredyAdded: 'This security is already added', + addedToAdmin: 'Found admin roles. Security was added to Admin panel', }, }; diff --git a/apps/ats/web/src/i18n/en/security/allowedList.ts b/apps/ats/web/src/i18n/en/security/allowedList.ts index d3240cff2..47a02d56e 100644 --- a/apps/ats/web/src/i18n/en/security/allowedList.ts +++ b/apps/ats/web/src/i18n/en/security/allowedList.ts @@ -205,35 +205,35 @@ export default { search: { - title: "Control list", - placeholder: "Enter account", - button: "Add account", + title: 'Control list', + placeholder: 'Enter account', + button: 'Add account', }, table: { - account: "Account ID", - action: "Action", + account: 'Account ID', + action: 'Action', }, popUp: { - title: "Remove account from list", - description: "Are you sure you want to remove this account from list?", - confirmText: "Remove", - cancelText: "Cancel", + title: 'Remove account from list', + description: 'Are you sure you want to remove this account from list?', + confirmText: 'Remove', + cancelText: 'Cancel', }, messages: { - succes: "Success: ", - addToControlListSuccessful: "Add to control list was successful", - removeFromControlListSuccessful: "Remove from control list was successful", - error: "Error: ", - addFailed: "Add to control list failed", - removeFailed: "Remove from control list failed", + succes: 'Success: ', + addToControlListSuccessful: 'Add to control list was successful', + removeFromControlListSuccessful: 'Remove from control list was successful', + error: 'Error: ', + addFailed: 'Add to control list failed', + removeFailed: 'Remove from control list failed', operationsError: { approval: { - title: "Account is not in white list", - description: "Add account to Approval list", + title: 'Account is not in white list', + description: 'Add account to Approval list', }, block: { - title: "Account is in block list", - description: "Remove account from Block list", + title: 'Account is in block list', + description: 'Remove account from Block list', }, }, }, diff --git a/apps/ats/web/src/i18n/en/security/balanceAdjustment.ts b/apps/ats/web/src/i18n/en/security/balanceAdjustment.ts index cbc0a7d93..e87f3a27f 100644 --- a/apps/ats/web/src/i18n/en/security/balanceAdjustment.ts +++ b/apps/ats/web/src/i18n/en/security/balanceAdjustment.ts @@ -205,28 +205,28 @@ export default { program: { - title: "Program Balance Adjustment", + title: 'Program Balance Adjustment', form: { executionDate: { - label: "Execution date", - placeholder: "Select execution date", + label: 'Execution date', + placeholder: 'Select execution date', tooltip: - "Dividendโs record date. A snapshot of Equity holderโs balances will be triggered on this date.", + 'Dividendโs record date. A snapshot of Equity holderโs balances will be triggered on this date.', }, factor: { - label: "Factor", - placeholder: "Factor", + label: 'Factor', + placeholder: 'Factor', }, decimals: { - label: "Decimals", - placeholder: "Decimals", + label: 'Decimals', + placeholder: 'Decimals', }, }, }, messages: { - success: "Success: ", - creationSuccessful: "The schedule for balance adjustment was successful", - error: "Error: ", - creationFailed: "The schedule for balance adjustment failed", + success: 'Success: ', + creationSuccessful: 'The schedule for balance adjustment was successful', + error: 'Error: ', + creationFailed: 'The schedule for balance adjustment failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/cap.ts b/apps/ats/web/src/i18n/en/security/cap.ts index 373d1fb71..53c21e250 100644 --- a/apps/ats/web/src/i18n/en/security/cap.ts +++ b/apps/ats/web/src/i18n/en/security/cap.ts @@ -205,31 +205,31 @@ export default { form: { - title: "Set Max Supply", - description: "Set the maximum supply of the security.", + title: 'Set Max Supply', + description: 'Set the maximum supply of the security.', securityId: { - label: "Security ID", - placeholder: "0.0.12345", + label: 'Security ID', + placeholder: '0.0.12345', }, maxSupply: { - label: "Max Supply", - placeholder: "Max Supply", + label: 'Max Supply', + placeholder: 'Max Supply', }, }, actions: { confirmPopUp: { - title: "Confirm", + title: 'Confirm', description: - "Are you sure you want to set the max supply of the security?", - confirmText: "Confirm", - cancelText: "Cancel", + 'Are you sure you want to set the max supply of the security?', + confirmText: 'Confirm', + cancelText: 'Cancel', }, }, messages: { - success: "Success: ", + success: 'Success: ', descriptionSuccess: - "The set max supply operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The set max supply operation has failed", + 'The set max supply operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The set max supply operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/clearingOperations.ts b/apps/ats/web/src/i18n/en/security/clearingOperations.ts index 79987bf4b..883703e17 100644 --- a/apps/ats/web/src/i18n/en/security/clearingOperations.ts +++ b/apps/ats/web/src/i18n/en/security/clearingOperations.ts @@ -205,108 +205,108 @@ export default { tabs: { - create: "Create", - list: "List", - manage: "Manage", + create: 'Create', + list: 'List', + manage: 'Manage', }, list: { - clearingOperationsTransfer: "Clearing Operations Transfer", - clearingOperationsRedeem: "Clearing Operations Redeem", - clearingOperationsHold: "Clearing Operations Hold", - add: "Add", - transfer: "Transfer", - redeem: "Redeem", - hold: "Hold", - id: "ID", - amount: "Amount", - expirationDate: "Expiration Date", - holdExpirationDate: "Hold Expiration Date", - escrowAddress: "Escrow Address", - sourceAccount: "Source Account", - targetId: "Target ID", - clearingOperationType: "Clearing Operation Type", - actions: "Actions", - reclaim: "Reclaim", + clearingOperationsTransfer: 'Clearing Operations Transfer', + clearingOperationsRedeem: 'Clearing Operations Redeem', + clearingOperationsHold: 'Clearing Operations Hold', + add: 'Add', + transfer: 'Transfer', + redeem: 'Redeem', + hold: 'Hold', + id: 'ID', + amount: 'Amount', + expirationDate: 'Expiration Date', + holdExpirationDate: 'Hold Expiration Date', + escrowAddress: 'Escrow Address', + sourceAccount: 'Source Account', + targetId: 'Target ID', + clearingOperationType: 'Clearing Operation Type', + actions: 'Actions', + reclaim: 'Reclaim', }, create: { - title: "Create Clearing Operation", + title: 'Create Clearing Operation', form: { operationType: { - label: "Operation Type", - placeholder: "Select a operation type", + label: 'Operation Type', + placeholder: 'Select a operation type', }, amount: { - label: "Amount", - placeholder: "0", + label: 'Amount', + placeholder: '0', }, expirationDate: { - label: "Expiration Date", - placeholder: "Expiration Date", + label: 'Expiration Date', + placeholder: 'Expiration Date', }, holdExpirationDate: { - label: "Hold Expiration Date", - placeholder: "Hold Expiration Date", + label: 'Hold Expiration Date', + placeholder: 'Hold Expiration Date', }, targetId: { - label: "Target ID", - placeholder: "0.0.1234567", + label: 'Target ID', + placeholder: '0.0.1234567', }, escrowAccount: { - label: "Escrow Account", - placeholder: "0.0.1234567", + label: 'Escrow Account', + placeholder: '0.0.1234567', }, sourceId: { - label: "Source ID", - placeholder: "0.0.1234567", + label: 'Source ID', + placeholder: '0.0.1234567', }, }, }, manage: { - title: "Manage Clearing Operation", + title: 'Manage Clearing Operation', form: { operationType: { - label: "Operation Type", - placeholder: "Select a operation type", + label: 'Operation Type', + placeholder: 'Select a operation type', }, clearingOperationId: { - label: "Clearing Operation ID", - placeholder: "1", + label: 'Clearing Operation ID', + placeholder: '1', }, clearingOperationType: { - label: "Clearing Operation Type", - placeholder: "Select clearing operation type", + label: 'Clearing Operation Type', + placeholder: 'Select clearing operation type', }, sourceId: { - label: "Source ID", - placeholder: "0.0.1234567", + label: 'Source ID', + placeholder: '0.0.1234567', }, }, - execute: "Execute", + execute: 'Execute', }, actions: { confirmReclaimPopUp: { - title: "Reclaim", - description: "Are you sure you want to reclaim the clearing operation?", - confirmText: "Confirm", - cancelText: "Cancel", + title: 'Reclaim', + description: 'Are you sure you want to reclaim the clearing operation?', + confirmText: 'Confirm', + cancelText: 'Cancel', }, confirmCreate: { - title: "Confirmation", - description: "Are you sure you want to create this clearing operation?", - confirmText: "Confirm", - cancelText: "Cancel", + title: 'Confirmation', + description: 'Are you sure you want to create this clearing operation?', + confirmText: 'Confirm', + cancelText: 'Cancel', }, confirmManage: { - title: "Confirmation", - description: "Are you sure you want to proceed with this operation?", - confirmText: "Confirm", - cancelText: "Cancel", + title: 'Confirmation', + description: 'Are you sure you want to proceed with this operation?', + confirmText: 'Confirm', + cancelText: 'Cancel', }, }, messages: { - success: "Success: ", - descriptionSuccess: "The Clearing Operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The Clearing Operation has failed", + success: 'Success: ', + descriptionSuccess: 'The Clearing Operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The Clearing Operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/coupons.ts b/apps/ats/web/src/i18n/en/security/coupons.ts index 25f5298ec..f13180233 100644 --- a/apps/ats/web/src/i18n/en/security/coupons.ts +++ b/apps/ats/web/src/i18n/en/security/coupons.ts @@ -205,57 +205,57 @@ export default { tabs: { - program: "Program coupon", - see: "See coupon", + program: 'Program coupon', + see: 'See coupon', }, program: { input: { - expired: "You cannot program a coupon since the bond is expired.", + expired: 'You cannot program a coupon since the bond is expired.', recordDate: { - label: "Record date", - placeholder: "Select record date", + label: 'Record date', + placeholder: 'Select record date', tooltip: - "Couponโs record date. A snapshot of Bond holderโs balances will be triggered on this date.", + 'Couponโs record date. A snapshot of Bond holderโs balances will be triggered on this date.', }, paymentDate: { - label: "Payment date", - placeholder: "Select payment date", - tooltip: "Couponโs execution date, must occur after the record date.", + label: 'Payment date', + placeholder: 'Select payment date', + tooltip: 'Couponโs execution date, must occur after the record date.', }, rate: { - label: "Coupon rate", - placeholder: "0,123%", - tooltip: "Interest rate for the coupon.", + label: 'Coupon rate', + placeholder: '0,123%', + tooltip: 'Interest rate for the coupon.', }, }, }, see: { input: { coupon: { - label: "Coupon ID", - placeholder: "Add ID", - tooltip: "ID of the coupon to display.", + label: 'Coupon ID', + placeholder: 'Add ID', + tooltip: 'ID of the coupon to display.', }, account: { - label: "Account ID", - placeholder: "Add ID", - tooltip: "ID of the account to display the coupon for.", + label: 'Account ID', + placeholder: 'Add ID', + tooltip: 'ID of the account to display the coupon for.', }, }, error: { general: - "Sorry, there was an error. Please check data and try again, please", + 'Sorry, there was an error. Please check data and try again, please', }, details: { - title: "Detail", - paymentDay: "Payment day", - amount: "Amount", + title: 'Detail', + paymentDay: 'Payment day', + amount: 'Amount', }, }, messages: { - success: "Success: ", - creationSuccessful: "coupon creation was successful", - error: "Error: ", - creationFailed: "coupon creation failed", + success: 'Success: ', + creationSuccessful: 'coupon creation was successful', + error: 'Error: ', + creationFailed: 'coupon creation failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/createBond.ts b/apps/ats/web/src/i18n/en/security/createBond.ts index b3ac6cb2b..b3e361d8b 100644 --- a/apps/ats/web/src/i18n/en/security/createBond.ts +++ b/apps/ats/web/src/i18n/en/security/createBond.ts @@ -205,142 +205,142 @@ export default { header: { - title: "Bond creation", - details: "Details", - configuration: "Configuration", - coupon: "Coupon", - regulation: "Regulation", - review: "Review", + title: 'Bond creation', + details: 'Details', + configuration: 'Configuration', + coupon: 'Coupon', + regulation: 'Regulation', + review: 'Review', }, stepTokenDetails: { - title: "Bond details", + title: 'Bond details', subtitle: - "Enter the basics details of the digital security to start creating it.", - mandatoryFields: "*Mandatory fields", - generalInformation: "General information", - name: "Name", - nameTooltip: "Bondโs name.", - placeholderName: "Enter name", - symbol: "Symbol", - symbolTooltip: "Bondโs symbol.", - placeholderSymbol: "Enter Symbol", - decimals: "Decimals", - decimalsTooltip: "Number of decimals units.", - placeholderDecimals: "6", - isin: "ISIN", - isinTooltip: "International security identification number.", - placeholderIsin: "12", - bondPermissions: "Bond permissions", - permissionControllable: "Controllable", - permissionBlocklist: "Blocklist", - permissionApprovalList: "Approval list", + 'Enter the basics details of the digital security to start creating it.', + mandatoryFields: '*Mandatory fields', + generalInformation: 'General information', + name: 'Name', + nameTooltip: 'Bondโs name.', + placeholderName: 'Enter name', + symbol: 'Symbol', + symbolTooltip: 'Bondโs symbol.', + placeholderSymbol: 'Enter Symbol', + decimals: 'Decimals', + decimalsTooltip: 'Number of decimals units.', + placeholderDecimals: '6', + isin: 'ISIN', + isinTooltip: 'International security identification number.', + placeholderIsin: '12', + bondPermissions: 'Bond permissions', + permissionControllable: 'Controllable', + permissionBlocklist: 'Blocklist', + permissionApprovalList: 'Approval list', permissionControllableTooltip: - "Enable Token Controller role and compliance control operations", + 'Enable Token Controller role and compliance control operations', permissionBlocklistTooltip: - "Enable access control to the security using a list of blocked accounts", + 'Enable access control to the security using a list of blocked accounts', permissionApprovalListTooltip: - "Enable access control to the security using a list of allowed accounts", - configuration: "Bond configuration", - isClearing: "Clearing mode enabled", - isClearingTooltip: "Enable or disable clearing mode", - internalKycActivated: "Internal Kyc Activated", + 'Enable access control to the security using a list of allowed accounts', + configuration: 'Bond configuration', + isClearing: 'Clearing mode enabled', + isClearingTooltip: 'Enable or disable clearing mode', + internalKycActivated: 'Internal Kyc Activated', }, stepConfiguration: { - title: "Configuration", - subtitle: "Enter the bond details such as currency type, amount... ", - mandatoryFields: "*Mandatory fields", - currency: "Currency", - nominalValue: "Nominal value", + title: 'Configuration', + subtitle: 'Enter the bond details such as currency type, amount... ', + mandatoryFields: '*Mandatory fields', + currency: 'Currency', + nominalValue: 'Nominal value', nominalValueTooltip: - "Vale of each token of the bondโs principal (in the selected currency), which will be returned to the bondholder at maturity.", - nominalValuePlaceHolder: "Enter nominal value", - numberOfUnits: "Number of bond units", - numberOfUnitsTooltip: "Bondโs maximum supply.", - numberOfUnitsPlaceHolder: "Enter bond units", - totalAmount: "Total value", + 'Vale of each token of the bondโs principal (in the selected currency), which will be returned to the bondholder at maturity.', + nominalValuePlaceHolder: 'Enter nominal value', + numberOfUnits: 'Number of bond units', + numberOfUnitsTooltip: 'Bondโs maximum supply.', + numberOfUnitsPlaceHolder: 'Enter bond units', + totalAmount: 'Total value', totalAmountTooltip: - "Total tokenized value resulting of multiply number of shares * nominal value.", - startingDate: "Starting date", + 'Total tokenized value resulting of multiply number of shares * nominal value.', + startingDate: 'Starting date', startingDateTooltip: "Beginning of the bond's interest-earning period.", - startingDatePlaceHolder: "Choose mint date", - maturityDate: "Maturity date", + startingDatePlaceHolder: 'Choose mint date', + maturityDate: 'Maturity date', maturityDateTooltip: - "Date at which the bondโs principal will be returned to the bondholder.", - maturityDatePlaceHolder: "Choose maturity date", + 'Date at which the bondโs principal will be returned to the bondholder.', + maturityDatePlaceHolder: 'Choose maturity date', }, stepCoupon: { - title: "Coupon details", - mandatoryFields: "*Mandatory fields", - couponType: "Coupon type", + title: 'Coupon details', + mandatoryFields: '*Mandatory fields', + couponType: 'Coupon type', couponTypeTooltip: - "- Fixed: Create a bond with a fixed coupon. - Custom: Create a bond with a zero-coupon by default. For floating coupons, can be added in the Set Coupons tab.", - couponTypePlaceHolder: "Choose a coupon type", - couponRate: "Coupon rate", - couponRateTooltip: "Interest rate per coupon.", - couponRatePlaceHolder: "Max 3 decimals", - couponFrequency: "Coupon frequency", + '- Fixed: Create a bond with a fixed coupon. - Custom: Create a bond with a zero-coupon by default. For floating coupons, can be added in the Set Coupons tab.', + couponTypePlaceHolder: 'Choose a coupon type', + couponRate: 'Coupon rate', + couponRateTooltip: 'Interest rate per coupon.', + couponRatePlaceHolder: 'Max 3 decimals', + couponFrequency: 'Coupon frequency', couponFrequencyTooltip: - "Number of months between two consecutive coupons (each month represents 30 days).", - couponFrequencyPlaceHolder: "Enter coupon frequency", - firstCouponDate: "First coupon date", + 'Number of months between two consecutive coupons (each month represents 30 days).', + couponFrequencyPlaceHolder: 'Enter coupon frequency', + firstCouponDate: 'First coupon date', firstCouponDateTooltip: - "First coupon record date. The subsequent couponโs record dates will be calculated using the coupon frequency and the first couponโs date.", - firstCouponDatePlaceHolder: "Choose first coupon date", - lastCouponDate: "Last coupon date", - totalCoupons: "Total coupons", + 'First coupon record date. The subsequent couponโs record dates will be calculated using the coupon frequency and the first couponโs date.', + firstCouponDatePlaceHolder: 'Choose first coupon date', + lastCouponDate: 'Last coupon date', + totalCoupons: 'Total coupons', }, stepExternalManagement: { - title: "External Lists", - subtitle: "Add external lists configurations", - externalPause: "External Pause", - pauseList: "Pause list", - pauseListPlaceholder: "Choose external pause ...", - externalPausesSelected: "External pauses selected:", - externalControl: "External Control", - controlList: "Control list", - controlListPlaceholder: "Choose external control ...", - externalControlsSelected: "External controls selected:", - externalKYC: "External KYC", - kycList: "KYC list", - kycListPlaceholder: "Choose external KYC ...", - externalKYCsSelected: "External KYCs selected:", + title: 'External Lists', + subtitle: 'Add external lists configurations', + externalPause: 'External Pause', + pauseList: 'Pause list', + pauseListPlaceholder: 'Choose external pause ...', + externalPausesSelected: 'External pauses selected:', + externalControl: 'External Control', + controlList: 'Control list', + controlListPlaceholder: 'Choose external control ...', + externalControlsSelected: 'External controls selected:', + externalKYC: 'External KYC', + kycList: 'KYC list', + kycListPlaceholder: 'Choose external KYC ...', + externalKYCsSelected: 'External KYCs selected:', }, stepReview: { - title: "Review", - tokenDetails: "Digital security details", - serieDetails: "Serie details", + title: 'Review', + tokenDetails: 'Digital security details', + serieDetails: 'Serie details', }, messages: { - succes: "Success: ", - creationSuccessful: "Security creation was successful: ", - error: "Error: ", - creationFailed: "Security creation failed", + succes: 'Success: ', + creationSuccessful: 'Security creation was successful: ', + error: 'Error: ', + creationFailed: 'Security creation failed', }, cancelSecurityPopUp: { - title: "You will lose your changes!", + title: 'You will lose your changes!', description: - "You will lose changes if you go out. Are you sure you want to leave this process?", - confirmText: "Leave process", - cancelText: "Cancel", + 'You will lose changes if you go out. Are you sure you want to leave this process?', + confirmText: 'Leave process', + cancelText: 'Cancel', }, createSecurityPopUp: { - title: "Is everything correct?", + title: 'Is everything correct?', description: "Make sure that all the data is correct. You won't be able to edit it later.", - confirmText: "Accept", - cancelText: "Cancel", + confirmText: 'Accept', + cancelText: 'Cancel', }, - createTokenButton: "Create Bond", - cancelButton: "Cancel", - nextStepButton: "Next step", - previousStepButton: "Previous step", + createTokenButton: 'Create Bond', + cancelButton: 'Cancel', + nextStepButton: 'Next step', + previousStepButton: 'Previous step', }; diff --git a/apps/ats/web/src/i18n/en/security/createSecurity.ts b/apps/ats/web/src/i18n/en/security/createSecurity.ts index eb4fd6edc..4e885cccc 100644 --- a/apps/ats/web/src/i18n/en/security/createSecurity.ts +++ b/apps/ats/web/src/i18n/en/security/createSecurity.ts @@ -204,11 +204,11 @@ */ export default { - title: "Choose digital security type", - subtitle: "Choose the type of digital security to start the process.", + title: 'Choose digital security type', + subtitle: 'Choose the type of digital security to start the process.', button: { - newBond: "New bond", - newEquity: "New equity", + newBond: 'New bond', + newEquity: 'New equity', }, }; diff --git a/apps/ats/web/src/i18n/en/security/details.ts b/apps/ats/web/src/i18n/en/security/details.ts index 22523943e..f9adc4369 100644 --- a/apps/ats/web/src/i18n/en/security/details.ts +++ b/apps/ats/web/src/i18n/en/security/details.ts @@ -203,74 +203,74 @@ */ -import dividends from "./dividends"; -import coupons from "./coupons"; -import roleManagement from "./roleManagement"; -import management from "./management"; -import allowedList from "./allowedList"; -import votingRights from "./votingRight"; -import balanceAdjustment from "./balanceAdjustment"; -import locker from "./locker"; -import cap from "./cap"; -import hold from "./hold"; -import kyc from "./kyc"; -import ssiManager from "./ssiManager"; -import clearingOperations from "./clearingOperations"; -import externalPause from "./externalPause"; -import externalControl from "./externalControl"; -import externalKYC from "./externalKYC"; +import dividends from './dividends'; +import coupons from './coupons'; +import roleManagement from './roleManagement'; +import management from './management'; +import allowedList from './allowedList'; +import votingRights from './votingRight'; +import balanceAdjustment from './balanceAdjustment'; +import locker from './locker'; +import cap from './cap'; +import hold from './hold'; +import kyc from './kyc'; +import ssiManager from './ssiManager'; +import clearingOperations from './clearingOperations'; +import externalPause from './externalPause'; +import externalControl from './externalControl'; +import externalKYC from './externalKYC'; export default { header: { - title: "Digital security details", + title: 'Digital security details', }, tabs: { - balance: "Balance", - allowedList: "Allowed list", - blockedList: "Blocked list", - details: "Details", - dividends: "Dividends", - balanceAdjustment: "Balance Adjustment", - coupons: "Coupons", - votingRights: "Voting rights", - roleManagement: "Role management", - management: "Management", - locker: "Locker", - cap: "Cap", - hold: "Hold", - kyc: "KYC", - ssiManager: "SSI Manager", - clearingOperations: "Clearing Operations", - configuration: "Configuration", - operations: "Operations", - control: "Control", - corporateActions: "Corporate Actions", - externalControlList: "External Control", - externalPause: "External Pause", - externalKYCList: "External KYC", + balance: 'Balance', + allowedList: 'Allowed list', + blockedList: 'Blocked list', + details: 'Details', + dividends: 'Dividends', + balanceAdjustment: 'Balance Adjustment', + coupons: 'Coupons', + votingRights: 'Voting rights', + roleManagement: 'Role management', + management: 'Management', + locker: 'Locker', + cap: 'Cap', + hold: 'Hold', + kyc: 'KYC', + ssiManager: 'SSI Manager', + clearingOperations: 'Clearing Operations', + configuration: 'Configuration', + operations: 'Operations', + control: 'Control', + corporateActions: 'Corporate Actions', + externalControlList: 'External Control', + externalPause: 'External Pause', + externalKYCList: 'External KYC', }, actions: { - redeem: "Redeem", - transfer: "Transfer", - mint: "Mint", - freeze: "Freeze / Unfreeze", - forceTransfer: "Force transfer", - forceRedeem: "Force redeem", + redeem: 'Redeem', + transfer: 'Transfer', + mint: 'Mint', + freeze: 'Freeze / Unfreeze', + forceTransfer: 'Force transfer', + forceRedeem: 'Force redeem', dangerZone: { - title: "Danger zone", - pauseSecurityTokenTitle: "Pause Security Token", + title: 'Danger zone', + pauseSecurityTokenTitle: 'Pause Security Token', pauseSecurityTokenDescription: - "Pause all activity related to the security token as a protective measure. While paused, transfers and interactions will be restricted", - buttonActive: "Active", - buttonInactive: "Inactive", - clearingModeTitle: "Clearing mode", + 'Pause all activity related to the security token as a protective measure. While paused, transfers and interactions will be restricted', + buttonActive: 'Active', + buttonInactive: 'Inactive', + clearingModeTitle: 'Clearing mode', clearingModeDescription: - "Restrict token interactions to clearing operations only. While enabled, other types of transactions will be blocked", - activate: "Activate", - deactivate: "Deactivate", - internalKYCManagerTitle: "Internal KYC", + 'Restrict token interactions to clearing operations only. While enabled, other types of transactions will be blocked', + activate: 'Activate', + deactivate: 'Deactivate', + internalKYCManagerTitle: 'Internal KYC', internalKYCManagerDescription: - "While activated, internal KYC will be enable", + 'While activated, internal KYC will be enable', }, }, dividends, @@ -278,21 +278,21 @@ export default { coupons, balance: { search: { - title: "Display balances", - subtitle: "Add the ID account to preview its balance", - placeholder: "0.0.19253", - button: "Search ID", + title: 'Display balances', + subtitle: 'Add the ID account to preview its balance', + placeholder: '0.0.19253', + button: 'Search ID', }, details: { - title: "Details", - availableBalance: "Available balance", - lockBalance: "Lock balance", - heldBalance: "Held balance", - clearedBalance: "Cleared balance", - frozenBalance: "Frozen balance", + title: 'Details', + availableBalance: 'Available balance', + lockBalance: 'Lock balance', + heldBalance: 'Held balance', + clearedBalance: 'Cleared balance', + frozenBalance: 'Frozen balance', }, error: { - targetId: "Sorry, there was an error. Probably wrong address", + targetId: 'Sorry, there was an error. Probably wrong address', }, }, roleManagement, @@ -309,32 +309,32 @@ export default { externalControl, externalKYC, benefits: { - dividends: "Dividends", - balanceAdjustments: "Balance Adjustments", - coupons: "Coupons", - id: "Id", - recordDate: "Record date", - executionDate: "Execution date", - dividendAmount: "Dividend amount", - couponRate: "Rate", - snapshot: "Snapshot Id", - factor: "Factor", - decimals: "Decimals", + dividends: 'Dividends', + balanceAdjustments: 'Balance Adjustments', + coupons: 'Coupons', + id: 'Id', + recordDate: 'Record date', + executionDate: 'Execution date', + dividendAmount: 'Dividend amount', + couponRate: 'Rate', + snapshot: 'Snapshot Id', + factor: 'Factor', + decimals: 'Decimals', }, bond: { updateMaturityDate: { toast: { - title: "Confirmation", - subtitle: "Are you sure you want to change the maturity date?", - cancelButtonText: "Cancel", - confirmButtonText: "Confirm", + title: 'Confirmation', + subtitle: 'Are you sure you want to change the maturity date?', + cancelButtonText: 'Cancel', + confirmButtonText: 'Confirm', }, messages: { - success: "Success: ", + success: 'Success: ', updateMaturityDateSuccessful: - "Maturity date has been updated successfully", - error: "Error: ", - updateMaturityDateFailed: "Update maturity date failed", + 'Maturity date has been updated successfully', + error: 'Error: ', + updateMaturityDateFailed: 'Update maturity date failed', }, }, }, diff --git a/apps/ats/web/src/i18n/en/security/dividends.ts b/apps/ats/web/src/i18n/en/security/dividends.ts index 0038285a0..a7a59fff3 100644 --- a/apps/ats/web/src/i18n/en/security/dividends.ts +++ b/apps/ats/web/src/i18n/en/security/dividends.ts @@ -205,56 +205,56 @@ export default { tabs: { - program: "Program dividend", - see: "See dividend", + program: 'Program dividend', + see: 'See dividend', }, program: { input: { recordDate: { - label: "Record date", - placeholder: "Select record date", + label: 'Record date', + placeholder: 'Select record date', tooltip: - "Dividendโs record date. A snapshot of Equity holderโs balances will be triggered on this date.", + 'Dividendโs record date. A snapshot of Equity holderโs balances will be triggered on this date.', }, paymentDate: { - label: "Payment date", - placeholder: "Select payment date", - tooltip: "Dividendโs execution date, must occur after the record date.", + label: 'Payment date', + placeholder: 'Select payment date', + tooltip: 'Dividendโs execution date, must occur after the record date.', }, amount: { - label: "Dividend amount", - placeholder: "000 $", - tooltip: "Amount per equity that will be paid to equity holderโs.", + label: 'Dividend amount', + placeholder: '000 $', + tooltip: 'Amount per equity that will be paid to equity holderโs.', }, }, }, see: { input: { dividend: { - label: "Dividend ID", - placeholder: "Add ID", - tooltip: "ID of the dividend to display.", + label: 'Dividend ID', + placeholder: 'Add ID', + tooltip: 'ID of the dividend to display.', }, account: { - label: "Account ID", - placeholder: "Add ID", - tooltip: "ID of the account to display the dividend for.", + label: 'Account ID', + placeholder: 'Add ID', + tooltip: 'ID of the account to display the dividend for.', }, }, error: { general: - "Sorry, there was an error. Please check data and try again, please", + 'Sorry, there was an error. Please check data and try again, please', }, details: { - title: "Detail", - paymentDay: "Payment day", - amount: "Amount", + title: 'Detail', + paymentDay: 'Payment day', + amount: 'Amount', }, }, messages: { - succes: "Success: ", - creationSuccessful: "Dividend creation was successful", - error: "Error: ", - creationFailed: "Dividend creation failed", + succes: 'Success: ', + creationSuccessful: 'Dividend creation was successful', + error: 'Error: ', + creationFailed: 'Dividend creation failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/equity/create.ts b/apps/ats/web/src/i18n/en/security/equity/create.ts index 7acf30326..f4bd6ef7f 100644 --- a/apps/ats/web/src/i18n/en/security/equity/create.ts +++ b/apps/ats/web/src/i18n/en/security/equity/create.ts @@ -205,124 +205,124 @@ export default { header: { - title: "Equity creation", - regulation: "Regulation", + title: 'Equity creation', + regulation: 'Regulation', }, stepTokenDetails: { - title: "Create Equity", + title: 'Create Equity', subtitle: - "Enter the basics details of the digital security to start creating it.", - mandatoryFields: "*Mandatory fields", - generalInformation: "General information", - name: "Name", - nameTooltip: "Equityโs name.", - placeholderName: "Enter name", - symbol: "Symbol", - symbolTooltip: "Equityโs symbol.", - placeholderSymbol: "Enter Symbol", - decimals: "Decimals", - decimalsTooltip: "Number of decimals units.", - placeholderDecimals: "6", - isin: "ISIN", - isinTooltip: "International security identification number.", - placeholderIsin: "12", - tokenPermissions: "Digital security permissions", - permissionControllable: "Controllable", - permissionBlocklist: "Blocklist", - permissionApprovalList: "Approval list", + 'Enter the basics details of the digital security to start creating it.', + mandatoryFields: '*Mandatory fields', + generalInformation: 'General information', + name: 'Name', + nameTooltip: 'Equityโs name.', + placeholderName: 'Enter name', + symbol: 'Symbol', + symbolTooltip: 'Equityโs symbol.', + placeholderSymbol: 'Enter Symbol', + decimals: 'Decimals', + decimalsTooltip: 'Number of decimals units.', + placeholderDecimals: '6', + isin: 'ISIN', + isinTooltip: 'International security identification number.', + placeholderIsin: '12', + tokenPermissions: 'Digital security permissions', + permissionControllable: 'Controllable', + permissionBlocklist: 'Blocklist', + permissionApprovalList: 'Approval list', permissionControllableTooltip: - "Enable Token Controller role and compliance control operations", + 'Enable Token Controller role and compliance control operations', permissionBlocklistTooltip: - "Enable access control to the security using a list of blocked accounts", + 'Enable access control to the security using a list of blocked accounts', permissionApprovalListTooltip: - "Enable access control to the security using a list of allowed accounts", - configuration: "Digital security configuration", - clearingMode: "Clearing mode", - isClearing: "Clearing mode enabled", - isClearingTooltip: "Enable or disable clearing mode", - internalKycActivated: "Internal Kyc Activated", + 'Enable access control to the security using a list of allowed accounts', + configuration: 'Digital security configuration', + clearingMode: 'Clearing mode', + isClearing: 'Clearing mode enabled', + isClearingTooltip: 'Enable or disable clearing mode', + internalKycActivated: 'Internal Kyc Activated', }, stepNewSerie: { - title: "Specific details", - subtitle: "Enter the basics details such as currency, type, amount...", - mandatoryFields: "*Mandatory fields", - economicInformation: "Economic information", - nominalValue: "Nominal value", + title: 'Specific details', + subtitle: 'Enter the basics details such as currency, type, amount...', + mandatoryFields: '*Mandatory fields', + economicInformation: 'Economic information', + nominalValue: 'Nominal value', nominalValueTooltip: - "Value of each token of the equity (in the selected currency).", - currency: "Currency", - numberOfShares: "Number of shares", - numberOfSharesTooltip: "Equityโs maximum supply.", - totalAmount: "Total value", + 'Value of each token of the equity (in the selected currency).', + currency: 'Currency', + numberOfShares: 'Number of shares', + numberOfSharesTooltip: 'Equityโs maximum supply.', + totalAmount: 'Total value', totalAmountTooltip: - "Total tokenized value resulting from multiplying number of shares * nominal value.", - rightsAndPrivileges: "Rights and privileges", - votingRights: "Voting rights", - informationRights: "Information rights", - liquidationRights: "Liquidation rights", - preferredDividendsRights: "Preferred dividends rights", - commonDividendsRights: "Common dividends rights", - conversionRights: "Conversion rights", - subscriptionRights: "Subscription rights", - redemptionRights: "Redemption rights", - putRights: "Put right", - dividendType: "Dividend type", + 'Total tokenized value resulting from multiplying number of shares * nominal value.', + rightsAndPrivileges: 'Rights and privileges', + votingRights: 'Voting rights', + informationRights: 'Information rights', + liquidationRights: 'Liquidation rights', + preferredDividendsRights: 'Preferred dividends rights', + commonDividendsRights: 'Common dividends rights', + conversionRights: 'Conversion rights', + subscriptionRights: 'Subscription rights', + redemptionRights: 'Redemption rights', + putRights: 'Put right', + dividendType: 'Dividend type', dividendTypeTooltip: - "- None: Equity holders wonโt receive dividends. - Preferred: Equity holders will receive preferred dividends. - Common: Equity holders will receive only common dividends.", - choosenRights: "Choosen Rights", - nominalValuePlaceHolder: "Enter nominal value", + '- None: Equity holders wonโt receive dividends. - Preferred: Equity holders will receive preferred dividends. - Common: Equity holders will receive only common dividends.', + choosenRights: 'Choosen Rights', + nominalValuePlaceHolder: 'Enter nominal value', }, stepExternalManagement: { - title: "External Lists", - subtitle: "Add external lists configurations", - externalPause: "External Pause", - pauseList: "Pause list", - pauseListPlaceholder: "Choose external pause ...", - externalPausesSelected: "External pauses selected:", - externalControl: "External Control", - controlList: "Control list", - controlListPlaceholder: "Choose external control ...", - externalControlsSelected: "External controls selected:", - externalKYC: "External KYC", - kycList: "KYC list", - kycListPlaceholder: "Choose external KYC ...", - externalKYCsSelected: "External KYCs selected:", + title: 'External Lists', + subtitle: 'Add external lists configurations', + externalPause: 'External Pause', + pauseList: 'Pause list', + pauseListPlaceholder: 'Choose external pause ...', + externalPausesSelected: 'External pauses selected:', + externalControl: 'External Control', + controlList: 'Control list', + controlListPlaceholder: 'Choose external control ...', + externalControlsSelected: 'External controls selected:', + externalKYC: 'External KYC', + kycList: 'KYC list', + kycListPlaceholder: 'Choose external KYC ...', + externalKYCsSelected: 'External KYCs selected:', }, stepReview: { - title: "Review", - tokenDetails: "Digital security details", - configurationDetails: "Configuration details", + title: 'Review', + tokenDetails: 'Digital security details', + configurationDetails: 'Configuration details', }, messages: { - succes: "Success: ", - creationSuccessful: "Security creation was successful: ", - error: "Error: ", - creationFailed: "Security creation failed", + succes: 'Success: ', + creationSuccessful: 'Security creation was successful: ', + error: 'Error: ', + creationFailed: 'Security creation failed', }, cancelSecurityPopUp: { - title: "You will lose your changes!", + title: 'You will lose your changes!', description: - "You will lose changes if you go out. Are you sure you want to leave this process?", - confirmText: "Leave process", - cancelText: "Cancel", + 'You will lose changes if you go out. Are you sure you want to leave this process?', + confirmText: 'Leave process', + cancelText: 'Cancel', }, createSecurityPopUp: { - title: "Is everything correct?", + title: 'Is everything correct?', description: "Make sure that all the data is correct. You won't be able to edit it later.", - confirmText: "Accept", - cancelText: "Cancel", + confirmText: 'Accept', + cancelText: 'Cancel', }, - createTokenButton: "Create equity", - cancelButton: "Cancel", - nextStepButton: "Next step", - previousStepButton: "Previous step", + createTokenButton: 'Create equity', + cancelButton: 'Cancel', + nextStepButton: 'Next step', + previousStepButton: 'Previous step', }; diff --git a/apps/ats/web/src/i18n/en/security/externalControl.ts b/apps/ats/web/src/i18n/en/security/externalControl.ts index 2478b7204..8a217253f 100644 --- a/apps/ats/web/src/i18n/en/security/externalControl.ts +++ b/apps/ats/web/src/i18n/en/security/externalControl.ts @@ -205,43 +205,43 @@ export default { list: { - title: "External Control List", - add: "Add", - removeItemsSelected: "Remove items selected", + title: 'External Control List', + add: 'Add', + removeItemsSelected: 'Remove items selected', }, table: { fields: { - id: "ID", - type: "Type", - blacklist: "Blacklist", - whitelist: "Whitelist", - actions: "Actions", - revoke: "Remove", + id: 'ID', + type: 'Type', + blacklist: 'Blacklist', + whitelist: 'Whitelist', + actions: 'Actions', + revoke: 'Remove', }, - empty: "No results found", + empty: 'No results found', }, create: { - title: "Add External Controls", + title: 'Add External Controls', form: { selector: { - label: "External Control ID", - placeholder: "Select", + label: 'External Control ID', + placeholder: 'Select', }, - externalControlSelected: "External controls selected", - add: "Add", - cancel: "Cancel", + externalControlSelected: 'External controls selected', + add: 'Add', + cancel: 'Cancel', }, }, remove: { - title: "Remove External Control", - description: "Are you sure you want to remove it?", - confirmText: "Remove", - cancelText: "Cancel", + title: 'Remove External Control', + description: 'Are you sure you want to remove it?', + confirmText: 'Remove', + cancelText: 'Cancel', }, messages: { - success: "Success: ", - descriptionSuccess: "The KYC operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The KYC operation has failed", + success: 'Success: ', + descriptionSuccess: 'The KYC operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The KYC operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/externalKYC.ts b/apps/ats/web/src/i18n/en/security/externalKYC.ts index 443ba5fba..e40bfb981 100644 --- a/apps/ats/web/src/i18n/en/security/externalKYC.ts +++ b/apps/ats/web/src/i18n/en/security/externalKYC.ts @@ -205,49 +205,49 @@ export default { list: { - title: "External KYC List", - add: "Add", - removeItemsSelected: "Remove items selected", + title: 'External KYC List', + add: 'Add', + removeItemsSelected: 'Remove items selected', }, table: { fields: { - id: "ID", - state: "State", - activated: "Activated", - deactivated: "Deactivated", - actions: "Actions", - revoke: "Remove", + id: 'ID', + state: 'State', + activated: 'Activated', + deactivated: 'Deactivated', + actions: 'Actions', + revoke: 'Remove', }, - empty: "No results found", + empty: 'No results found', }, create: { - title: "Add External KYCs", + title: 'Add External KYCs', form: { selector: { - label: "External KYC ID", - placeholder: "Select", + label: 'External KYC ID', + placeholder: 'Select', }, - externalKYCSelected: "External KYCs selected", - add: "Add", - cancel: "Cancel", + externalKYCSelected: 'External KYCs selected', + add: 'Add', + cancel: 'Cancel', }, }, remove: { - title: "Remove External KYC", - description: "Are you sure you want to remove it?", - confirmText: "Remove", - cancelText: "Cancel", + title: 'Remove External KYC', + description: 'Are you sure you want to remove it?', + confirmText: 'Remove', + cancelText: 'Cancel', }, messages: { updateExternalKYC: { - success: "Success: ", - descriptionSuccess: "The external KYC list has been executed updated", - error: "Error: ", - descriptionFailed: "The KYC operation has failed", + success: 'Success: ', + descriptionSuccess: 'The external KYC list has been executed updated', + error: 'Error: ', + descriptionFailed: 'The KYC operation has failed', }, - success: "Success: ", - descriptionSuccess: "The KYC operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The KYC operation has failed", + success: 'Success: ', + descriptionSuccess: 'The KYC operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The KYC operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/externalPause.ts b/apps/ats/web/src/i18n/en/security/externalPause.ts index f7da57cf7..1e0e680b1 100644 --- a/apps/ats/web/src/i18n/en/security/externalPause.ts +++ b/apps/ats/web/src/i18n/en/security/externalPause.ts @@ -205,43 +205,43 @@ export default { list: { - title: "External Pause List", - add: "Add", - removeItemsSelected: "Remove items selected", + title: 'External Pause List', + add: 'Add', + removeItemsSelected: 'Remove items selected', }, table: { fields: { - id: "ID", - state: "State", - activated: "Activated", - deactivated: "Deactivated", - actions: "Actions", - revoke: "Remove", + id: 'ID', + state: 'State', + activated: 'Activated', + deactivated: 'Deactivated', + actions: 'Actions', + revoke: 'Remove', }, - empty: "No results found", + empty: 'No results found', }, create: { - title: "Add External Pauses", + title: 'Add External Pauses', form: { selector: { - label: "External Pause ID", - placeholder: "Select", + label: 'External Pause ID', + placeholder: 'Select', }, - externalPauseSelected: "External Pauses selected", - add: "Add", - cancel: "Cancel", + externalPauseSelected: 'External Pauses selected', + add: 'Add', + cancel: 'Cancel', }, }, remove: { - title: "Remove External pause", - description: "Are you sure you want to remove it?", - confirmText: "Remove", - cancelText: "Cancel", + title: 'Remove External pause', + description: 'Are you sure you want to remove it?', + confirmText: 'Remove', + cancelText: 'Cancel', }, messages: { - success: "Success: ", - descriptionSuccess: "The KYC operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The KYC operation has failed", + success: 'Success: ', + descriptionSuccess: 'The KYC operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The KYC operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/forceRedeem.ts b/apps/ats/web/src/i18n/en/security/forceRedeem.ts index 5996b6c9f..9f52ba66d 100644 --- a/apps/ats/web/src/i18n/en/security/forceRedeem.ts +++ b/apps/ats/web/src/i18n/en/security/forceRedeem.ts @@ -205,32 +205,32 @@ export default { header: { - title: "Force redeem digital security", + title: 'Force redeem digital security', }, - title: "Force redeem securities", - subtitle: "Choose the amount you want to redeem", + title: 'Force redeem securities', + subtitle: 'Choose the amount you want to redeem', input: { amount: { - label: "Amount to redeem", - placeholder: "Enter the amount to redeem", + label: 'Amount to redeem', + placeholder: 'Enter the amount to redeem', }, source: { - label: "Add source Account", - placeholder: "Enter the account", + label: 'Add source Account', + placeholder: 'Enter the account', }, }, list: { details: { - label: "Details", + label: 'Details', }, }, button: { - accept: "Redeem", + accept: 'Redeem', }, messages: { - success: "Success: ", - descriptionSuccess: "The redeem operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The redeem operation has failed", + success: 'Success: ', + descriptionSuccess: 'The redeem operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The redeem operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/forceTransfer.ts b/apps/ats/web/src/i18n/en/security/forceTransfer.ts index 921502b93..aca738d03 100644 --- a/apps/ats/web/src/i18n/en/security/forceTransfer.ts +++ b/apps/ats/web/src/i18n/en/security/forceTransfer.ts @@ -205,37 +205,37 @@ export default { header: { - title: "Force transfer digital security", + title: 'Force transfer digital security', }, - title: "Force transfer securities", + title: 'Force transfer securities', subtitle: - "Choose the security and the account to which you want to transfer securities", + 'Choose the security and the account to which you want to transfer securities', input: { amount: { - label: "Amount to transfer", - placeholder: "Enter the amount to transfer", + label: 'Amount to transfer', + placeholder: 'Enter the amount to transfer', }, source: { - label: "Add source Account", - placeholder: "Enter the account", + label: 'Add source Account', + placeholder: 'Enter the account', }, destination: { - label: "Account to transfer", - placeholder: "Enter the account to transfer", + label: 'Account to transfer', + placeholder: 'Enter the account to transfer', }, }, list: { details: { - label: "Details", + label: 'Details', }, }, button: { - accept: "Transfer", + accept: 'Transfer', }, messages: { - success: "Success: ", - descriptionSuccess: "The transfer operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The transfer operation has failed", + success: 'Success: ', + descriptionSuccess: 'The transfer operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The transfer operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/freeze.ts b/apps/ats/web/src/i18n/en/security/freeze.ts index 62de39031..cac4bc1ef 100644 --- a/apps/ats/web/src/i18n/en/security/freeze.ts +++ b/apps/ats/web/src/i18n/en/security/freeze.ts @@ -205,37 +205,37 @@ export default { header: { - title: "Digital security freeze", + title: 'Digital security freeze', }, - title: "Freeze securities", - subtitle: "Enter the information to freeze the securities", + title: 'Freeze securities', + subtitle: 'Enter the information to freeze the securities', input: { amountFreeze: { - label: "Amount to freeze", - placeholder: "Enter the amount to freeze", + label: 'Amount to freeze', + placeholder: 'Enter the amount to freeze', }, amountUnfreeze: { - label: "Amount to Unfreeze", - placeholder: "Enter the amount to unfreeze", + label: 'Amount to Unfreeze', + placeholder: 'Enter the amount to unfreeze', }, destination: { - label: "Destination account", - placeholder: "Choose destination account", + label: 'Destination account', + placeholder: 'Choose destination account', }, isUnfreeze: { - label: "Unfreeze", - tooltip: "Choose to unfreeze the security", + label: 'Unfreeze', + tooltip: 'Choose to unfreeze the security', }, }, list: { details: { - label: "Details", + label: 'Details', }, }, messages: { - success: "Success: ", - descriptionSuccess: "The freeze operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The freeze operation has failed", + success: 'Success: ', + descriptionSuccess: 'The freeze operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The freeze operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/hold.ts b/apps/ats/web/src/i18n/en/security/hold.ts index 1c300dfe7..aef63e14f 100644 --- a/apps/ats/web/src/i18n/en/security/hold.ts +++ b/apps/ats/web/src/i18n/en/security/hold.ts @@ -205,103 +205,103 @@ export default { tabs: { - list: "List", - create: "Create", - manage: "Manage", + list: 'List', + create: 'Create', + manage: 'Manage', }, list: { - id: "Hold ID", - originalAccount: "Original Account", - destinationAccount: "Destination Account", - escrowAccount: "Escrow Account", - expirationDate: "Expiration Date", - amount: "Amount", - noHolds: "No holds found", + id: 'Hold ID', + originalAccount: 'Original Account', + destinationAccount: 'Destination Account', + escrowAccount: 'Escrow Account', + expirationDate: 'Expiration Date', + amount: 'Amount', + noHolds: 'No holds found', }, form: { - title: "Title", - description: "Description", + title: 'Title', + description: 'Description', originalAccount: { - label: "Original Account", - placeholder: "0.0.1234567", + label: 'Original Account', + placeholder: '0.0.1234567', }, targetId: { - label: "Target ID", - placeholder: "0.0.1234567", + label: 'Target ID', + placeholder: '0.0.1234567', }, amount: { - label: "Amount", - placeholder: "Amount", + label: 'Amount', + placeholder: 'Amount', }, destinationAccount: { - label: "Destination Account", - placeholder: "0.0.1234567", + label: 'Destination Account', + placeholder: '0.0.1234567', }, holdId: { - label: "Hold ID", - placeholder: "1", + label: 'Hold ID', + placeholder: '1', }, }, actions: { confirmReclaimPopUp: { - title: "Reclaim", - description: "Are you sure you want to reclaim the hold?", - confirmText: "Confirm", - cancelText: "Cancel", + title: 'Reclaim', + description: 'Are you sure you want to reclaim the hold?', + confirmText: 'Confirm', + cancelText: 'Cancel', }, confirmHoldPopUp: { - title: "New hold", - description: "Are you sure you want to create a new hold?", - confirmText: "Confirm", - cancelText: "Cancel", + title: 'New hold', + description: 'Are you sure you want to create a new hold?', + confirmText: 'Confirm', + cancelText: 'Cancel', }, confirmManage: { - title: "Confirmation", - description: "Are you sure you want to proceed with this operation?", - confirmText: "Confirm", - cancelText: "Cancel", + title: 'Confirmation', + description: 'Are you sure you want to proceed with this operation?', + confirmText: 'Confirm', + cancelText: 'Cancel', }, }, create: { - title: "Create hold", - description: "Fill the form to create a new hold", + title: 'Create hold', + description: 'Fill the form to create a new hold', originalAccount: { - label: "Original Account", - placeholder: "0.0.1234567", + label: 'Original Account', + placeholder: '0.0.1234567', }, destinationAccount: { - label: "Destination Account", - placeholder: "0.0.1234567", + label: 'Destination Account', + placeholder: '0.0.1234567', }, escrowAccount: { - label: "Escrow Account", - placeholder: "0.0.1234567", + label: 'Escrow Account', + placeholder: '0.0.1234567', }, expirationDate: { - label: "Expiration Date", - placeholder: "Select expiration date", + label: 'Expiration Date', + placeholder: 'Select expiration date', }, amount: { - label: "Amount", - placeholder: "Amount", + label: 'Amount', + placeholder: 'Amount', }, }, manage: { - release: "Release", - execute: "Execute", + release: 'Release', + execute: 'Execute', }, release: { - title: "Release Hold", - description: "Fill the form to release a hold", + title: 'Release Hold', + description: 'Fill the form to release a hold', }, execute: { - title: "Execute Hold", - description: "Fill the form to execute a hold", + title: 'Execute Hold', + description: 'Fill the form to execute a hold', }, messages: { - success: "Success: ", - descriptionSuccess: "The hold operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The hold operation has failed", + success: 'Success: ', + descriptionSuccess: 'The hold operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The hold operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/index.ts b/apps/ats/web/src/i18n/en/security/index.ts index 716d7a723..d520130cd 100644 --- a/apps/ats/web/src/i18n/en/security/index.ts +++ b/apps/ats/web/src/i18n/en/security/index.ts @@ -203,22 +203,22 @@ */ -import add from "./add"; -import createSecurity from "./createSecurity"; -import createEquity from "./equity/create"; -import createBond from "./createBond"; -import details from "./details"; -import mint from "./mint"; -import forceTransfer from "./forceTransfer"; -import transfer from "./transfer"; -import redeem from "./redeem"; -import forceRedeem from "./forceRedeem"; -import list from "./list"; -import pause from "./pause"; -import unpause from "./unpause"; -import regulation from "./regulation"; -import management from "./management"; -import freeze from "./freeze"; +import add from './add'; +import createSecurity from './createSecurity'; +import createEquity from './equity/create'; +import createBond from './createBond'; +import details from './details'; +import mint from './mint'; +import forceTransfer from './forceTransfer'; +import transfer from './transfer'; +import redeem from './redeem'; +import forceRedeem from './forceRedeem'; +import list from './list'; +import pause from './pause'; +import unpause from './unpause'; +import regulation from './regulation'; +import management from './management'; +import freeze from './freeze'; export default { add, diff --git a/apps/ats/web/src/i18n/en/security/kyc.ts b/apps/ats/web/src/i18n/en/security/kyc.ts index c682fea33..df058e816 100644 --- a/apps/ats/web/src/i18n/en/security/kyc.ts +++ b/apps/ats/web/src/i18n/en/security/kyc.ts @@ -205,45 +205,45 @@ export default { list: { - title: "KYC List", - add: "Add", + title: 'KYC List', + add: 'Add', }, table: { fields: { - accountId: "Account ID", - issuerId: "Issuer ID", - validFrom: "Valid From", - validTo: "Valid To", - vcId: "VC ID", - status: "Status", - actions: "Actions", - revoke: "Remove", + accountId: 'Account ID', + issuerId: 'Issuer ID', + validFrom: 'Valid From', + validTo: 'Valid To', + vcId: 'VC ID', + status: 'Status', + actions: 'Actions', + revoke: 'Remove', }, }, create: { - title: "Add KYC", - description: "", + title: 'Add KYC', + description: '', form: { account: { - label: "Account ID", - placeholder: "0.0.1234567", + label: 'Account ID', + placeholder: '0.0.1234567', }, vc: { - label: "VC File", - placeholder: "Upload VC File", + label: 'VC File', + placeholder: 'Upload VC File', }, }, }, revoke: { - title: "Remove Account", - description: "Are you sure you want to remove this account?", - confirmText: "Remove", - cancelText: "Cancel", + title: 'Remove Account', + description: 'Are you sure you want to remove this account?', + confirmText: 'Remove', + cancelText: 'Cancel', }, messages: { - success: "Success: ", - descriptionSuccess: "The KYC operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The KYC operation has failed", + success: 'Success: ', + descriptionSuccess: 'The KYC operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The KYC operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/list.ts b/apps/ats/web/src/i18n/en/security/list.ts index 67de11b56..4f74c0118 100644 --- a/apps/ats/web/src/i18n/en/security/list.ts +++ b/apps/ats/web/src/i18n/en/security/list.ts @@ -205,25 +205,25 @@ export default { header: { - title: "All digital securities", + title: 'All digital securities', }, table: { - title: "Digital securities list", - searchPlaceholder: "Search", + title: 'Digital securities list', + searchPlaceholder: 'Search', fields: { - symbol: "Symbol", - name: "Name", - type: "Type", - isin: "ISIN", - evmAddress: "EVM Address", - address: "Address", - role: "Your role", + symbol: 'Symbol', + name: 'Name', + type: 'Type', + isin: 'ISIN', + evmAddress: 'EVM Address', + address: 'Address', + role: 'Your role', }, }, removeSecurityPopUp: { - title: "Remove digital security", - description: "Are you sure you want to remove this digital security?", - confirmText: "Remove", - cancelText: "Cancel", + title: 'Remove digital security', + description: 'Are you sure you want to remove this digital security?', + confirmText: 'Remove', + cancelText: 'Cancel', }, }; diff --git a/apps/ats/web/src/i18n/en/security/locker.ts b/apps/ats/web/src/i18n/en/security/locker.ts index b026d9bde..fed378dc1 100644 --- a/apps/ats/web/src/i18n/en/security/locker.ts +++ b/apps/ats/web/src/i18n/en/security/locker.ts @@ -204,55 +204,55 @@ */ export default { - title: "Locker", + title: 'Locker', search: { - title: "Display Locks", - description: "Add the ID account to preview its locks", - search: "Search", + title: 'Display Locks', + description: 'Add the ID account to preview its locks', + search: 'Search', }, list: { - lockId: "Lock ID", - amount: "Amount", - expirationDate: "Expiration Date", - release: "Release", - noLocks: "No locks found", + lockId: 'Lock ID', + amount: 'Amount', + expirationDate: 'Expiration Date', + release: 'Release', + noLocks: 'No locks found', }, form: { expirationDate: { - label: "Expiration date", - placeholder: "Select expiration date", + label: 'Expiration date', + placeholder: 'Select expiration date', }, targetId: { - label: "Target ID", - placeholder: "0.0.12345", + label: 'Target ID', + placeholder: '0.0.12345', }, amount: { - label: "Amount", - placeholder: "Amount", + label: 'Amount', + placeholder: 'Amount', }, }, actions: { - lock: "Lock", + lock: 'Lock', }, release: { confirmPopUp: { - title: "Release locker", - description: "Are you sure you want to release this locker?", - confirmText: "Confirm", - cancelText: "Cancel", + title: 'Release locker', + description: 'Are you sure you want to release this locker?', + confirmText: 'Confirm', + cancelText: 'Cancel', }, messages: { - success: "Success: ", + success: 'Success: ', descriptionSuccess: - "The release operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The release operation has failed", + 'The release operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The release operation has failed', }, }, messages: { - success: "Success: ", - descriptionSuccess: "The lock operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The lock operation has failed", + success: 'Success: ', + descriptionSuccess: 'The lock operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The lock operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/management.ts b/apps/ats/web/src/i18n/en/security/management.ts index b3a38f364..2d0f1db07 100644 --- a/apps/ats/web/src/i18n/en/security/management.ts +++ b/apps/ats/web/src/i18n/en/security/management.ts @@ -205,33 +205,33 @@ export default { form: { - title: "Edit Configuration", - subtitle: "Add the new configuration information", - resolverId: "Resolver ID", - configId: "Configuration ID", - configVersion: "Configuration Version", - clear: "Clear", - save: "Save", + title: 'Edit Configuration', + subtitle: 'Add the new configuration information', + resolverId: 'Resolver ID', + configId: 'Configuration ID', + configVersion: 'Configuration Version', + clear: 'Clear', + save: 'Save', validations: { configIdWhenResolverId: - "The Configuration ID is required when the Resolver ID is provided", + 'The Configuration ID is required when the Resolver ID is provided', }, }, details: { - title: "Configuration Details", - resolverId: "Resolver ID", - configId: "Configuration ID", - configVersion: "Configuration Version", + title: 'Configuration Details', + resolverId: 'Resolver ID', + configId: 'Configuration ID', + configVersion: 'Configuration Version', }, messages: { - success: "Success: ", + success: 'Success: ', updateConfigVersionSuccessful: - "Configuration version has been updated successfully", - updateConfigSuccessful: "Configuration has been updated successfully", - updateResolverSuccessful: "Resolver has been updated successfully", - error: "Error: ", - updateConfigVersionFailed: "Update configuration version failed", - updateConfigFailed: "Update configuration failed", - updateResolverFailed: "Update resolver failed", + 'Configuration version has been updated successfully', + updateConfigSuccessful: 'Configuration has been updated successfully', + updateResolverSuccessful: 'Resolver has been updated successfully', + error: 'Error: ', + updateConfigVersionFailed: 'Update configuration version failed', + updateConfigFailed: 'Update configuration failed', + updateResolverFailed: 'Update resolver failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/mint.ts b/apps/ats/web/src/i18n/en/security/mint.ts index a44288d9e..052c7411f 100644 --- a/apps/ats/web/src/i18n/en/security/mint.ts +++ b/apps/ats/web/src/i18n/en/security/mint.ts @@ -205,29 +205,29 @@ export default { header: { - title: "Digital security mint", + title: 'Digital security mint', }, - title: "Mint securities", - subtitle: "Enter the information to mint the securities", + title: 'Mint securities', + subtitle: 'Enter the information to mint the securities', input: { amount: { - label: "Amount to mint", - placeholder: "Enter the amount to mint", + label: 'Amount to mint', + placeholder: 'Enter the amount to mint', }, destination: { - label: "Destination account", - placeholder: "Choose destination account", + label: 'Destination account', + placeholder: 'Choose destination account', }, }, list: { details: { - label: "Details", + label: 'Details', }, }, messages: { - success: "Success: ", - descriptionSuccess: "The mint operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The mint operation has failed", + success: 'Success: ', + descriptionSuccess: 'The mint operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The mint operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/pause.ts b/apps/ats/web/src/i18n/en/security/pause.ts index f2e411385..8065b6d4f 100644 --- a/apps/ats/web/src/i18n/en/security/pause.ts +++ b/apps/ats/web/src/i18n/en/security/pause.ts @@ -205,9 +205,9 @@ export default { messages: { - success: "Success: ", - descriptionSuccess: "The security token was paused", - error: "Error: ", - descriptionFailed: "The security token pause has failed", + success: 'Success: ', + descriptionSuccess: 'The security token was paused', + error: 'Error: ', + descriptionFailed: 'The security token pause has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/redeem.ts b/apps/ats/web/src/i18n/en/security/redeem.ts index 6c6887c67..d4c49fd3f 100644 --- a/apps/ats/web/src/i18n/en/security/redeem.ts +++ b/apps/ats/web/src/i18n/en/security/redeem.ts @@ -205,28 +205,28 @@ export default { header: { - title: "Redeem digital security", + title: 'Redeem digital security', }, - title: "Redeem securities", - subtitle: "Choose the amount you want to redeem", + title: 'Redeem securities', + subtitle: 'Choose the amount you want to redeem', input: { amount: { - label: "Amount to redeem", - placeholder: "Enter the amount to redeem", + label: 'Amount to redeem', + placeholder: 'Enter the amount to redeem', }, }, list: { details: { - label: "Details", + label: 'Details', }, }, button: { - accept: "Redeem", + accept: 'Redeem', }, messages: { - success: "Success: ", - descriptionSuccess: "The redeem operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The redeem operation has failed", + success: 'Success: ', + descriptionSuccess: 'The redeem operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The redeem operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/regulation.ts b/apps/ats/web/src/i18n/en/security/regulation.ts index 4267babd8..614ba8cda 100644 --- a/apps/ats/web/src/i18n/en/security/regulation.ts +++ b/apps/ats/web/src/i18n/en/security/regulation.ts @@ -204,69 +204,69 @@ */ export default { - title: "Regulation", + title: 'Regulation', titleImportant: - "It is recommended to consult your legal and financial advisor for regulations applicable to your asset token.", - important: "Important", - jurisdiction: "Jurisdiction", + 'It is recommended to consult your legal and financial advisor for regulations applicable to your asset token.', + important: 'Important', + jurisdiction: 'Jurisdiction', jurisdictionTooltip: - "The jurisdiction of the digital security. New jurisdictions could be supported in the future.", - selectRegulation: "Select Regulation", + 'The jurisdiction of the digital security. New jurisdictions could be supported in the future.', + selectRegulation: 'Select Regulation', selectRegulationImportant: - "Read the restrictions applicable to the selected regulation carefully and make sure your deal is compliant. Note that these details cannot be altered once published.", - regulationType: "Select Regulation type", + 'Read the restrictions applicable to the selected regulation carefully and make sure your deal is compliant. Note that these details cannot be altered once published.', + regulationType: 'Select Regulation type', regulationTypeTooltip: - "The regulation applicable to the new digital security.", - regulationSubType: "Select Regulation sub-type", + 'The regulation applicable to the new digital security.', + regulationSubType: 'Select Regulation sub-type', regulationSubTypeTooltip: - "The regulation sub type applicable to the new digital security.", - authorizationList: "Authorization list", + 'The regulation sub type applicable to the new digital security.', + authorizationList: 'Authorization list', authorizationListImportant: - "Investors from only the countries specified below will be allowed to invest", - blockedList: "Block list", + 'Investors from only the countries specified below will be allowed to invest', + blockedList: 'Block list', blockedListImportant: - "Investors from only the countries specified below will not be allowed to invest", - selectCountry: "Select country", - selectCountryTooltip: "Select a country to add it to the", - addCountryButton: "Add to", - allowList: "allow list", - blockList: "block list", - countriesIn: "Countries in", - restrictions: "Restrictions", - rules: "Rules", - titlePopUp: "Disclaimer", + 'Investors from only the countries specified below will not be allowed to invest', + selectCountry: 'Select country', + selectCountryTooltip: 'Select a country to add it to the', + addCountryButton: 'Add to', + allowList: 'allow list', + blockList: 'block list', + countriesIn: 'Countries in', + restrictions: 'Restrictions', + rules: 'Rules', + titlePopUp: 'Disclaimer', descriptionPopUp: - "I hereby confirm that I have thoroughly read and reviewed the Rules and Restrictions, and that the details of the deal are in full compliance with the applicable Regulation. It is expressly acknowledged that the platform disclaims any responsibility associated with the content and enforcement of these rules. The individual creating this digital security assumes full responsibility for enforcing the appropriate regulatory restrictions on the tokens.", - cancelTextPopUp: "Cancel", - confirmTextPopUp: "Accept", - regulationTypeReview: "Regulation type", - regulationSubTypeReview: "Regulation sub-type", - allowedCountriesReview: "Allowed countries", - blockedCountriesReview: "Blocked countries", - dealSize: "Deal size", - dealSizeTooltip: "Limit of the nominal value, if any.", - dealSizePlaceHolder: "Can raise unlimited capital", - accreditedInvestors: "Accredited investors", - accreditedInvestorsTooltip: "Indicates if accredited investors are required.", - maxNonAccreditedInvestors: "Max non-accredited investors", + 'I hereby confirm that I have thoroughly read and reviewed the Rules and Restrictions, and that the details of the deal are in full compliance with the applicable Regulation. It is expressly acknowledged that the platform disclaims any responsibility associated with the content and enforcement of these rules. The individual creating this digital security assumes full responsibility for enforcing the appropriate regulatory restrictions on the tokens.', + cancelTextPopUp: 'Cancel', + confirmTextPopUp: 'Accept', + regulationTypeReview: 'Regulation type', + regulationSubTypeReview: 'Regulation sub-type', + allowedCountriesReview: 'Allowed countries', + blockedCountriesReview: 'Blocked countries', + dealSize: 'Deal size', + dealSizeTooltip: 'Limit of the nominal value, if any.', + dealSizePlaceHolder: 'Can raise unlimited capital', + accreditedInvestors: 'Accredited investors', + accreditedInvestorsTooltip: 'Indicates if accredited investors are required.', + maxNonAccreditedInvestors: 'Max non-accredited investors', maxNonAccreditedInvestorsTooltip: - "Indicates the limit of non-accredited investors, if any.", - maxNonAccreditedInvestorsPlaceHolder: "Unlimited", - manualInvestorVerification: "Manual investor verification", + 'Indicates the limit of non-accredited investors, if any.', + maxNonAccreditedInvestorsPlaceHolder: 'Unlimited', + manualInvestorVerification: 'Manual investor verification', manualInvestorVerificationTooltip: - "Specifies if a manual review of the investorโs documentation is required.", - internationalInvestors: "International investors", + 'Specifies if a manual review of the investorโs documentation is required.', + internationalInvestors: 'International investors', internationalInvestorsTooltip: - "Indicates whether international investors are allowed or not.", - resaleHoldPeriod: "Resale hold period", + 'Indicates whether international investors are allowed or not.', + resaleHoldPeriod: 'Resale hold period', resaleHoldPeriodTooltip: - "The time window in which an investor cannot transfer their tokens, if any.", - nextStepButton: "Next step", - regulationType_1: "Regulation S", - regulationType_2: "Regulation D", - regulationType_REG_S: "Regulation S", - regulationType_REG_D: "Regulation D", - regulationSubType_0: "NONE", - regulationSubType_1: "506 B", - regulationSubType_2: "506 C", + 'The time window in which an investor cannot transfer their tokens, if any.', + nextStepButton: 'Next step', + regulationType_1: 'Regulation S', + regulationType_2: 'Regulation D', + regulationType_REG_S: 'Regulation S', + regulationType_REG_D: 'Regulation D', + regulationSubType_0: 'NONE', + regulationSubType_1: '506 B', + regulationSubType_2: '506 C', }; diff --git a/apps/ats/web/src/i18n/en/security/roleManagement.ts b/apps/ats/web/src/i18n/en/security/roleManagement.ts index fe1413c85..4e887e123 100644 --- a/apps/ats/web/src/i18n/en/security/roleManagement.ts +++ b/apps/ats/web/src/i18n/en/security/roleManagement.ts @@ -205,44 +205,44 @@ export default { tabs: { - edit: "Edit roles", - search: "Search by role", + edit: 'Edit roles', + search: 'Search by role', }, edit: { - title: "Account", - subtitle: "Add the ID account to manage its roles", - currentRoles: "Current roles", - rolesDefinitions: "Roles definitions", + title: 'Account', + subtitle: 'Add the ID account to manage its roles', + currentRoles: 'Current roles', + rolesDefinitions: 'Roles definitions', inputs: { search: { - placeholder: "0.0.12345", - button: "Search ID", + placeholder: '0.0.12345', + button: 'Search ID', }, apply: { - button: "Apply changes", + button: 'Apply changes', }, }, }, messages: { - success: "Success: ", - grantRoleSuccessful: "Grant role was successful", - revokeRoleSuccessful: "Revoke role was successful", - applyRoleSuccessful: "The role change has been completed.", - error: "Error: ", - grantRoleFailed: "Grant role failed", - revokeRoleFailed: "Revoke role failed", - applyRoleFailed: "role change failed", + success: 'Success: ', + grantRoleSuccessful: 'Grant role was successful', + revokeRoleSuccessful: 'Revoke role was successful', + applyRoleSuccessful: 'The role change has been completed.', + error: 'Error: ', + grantRoleFailed: 'Grant role failed', + revokeRoleFailed: 'Revoke role failed', + applyRoleFailed: 'role change failed', }, search: { - title: "Search by role", - subtitle: "Pick a role to see its linked accounts", - role: "{{ role }} in current accounts", - noRoles: "No accounts founded", + title: 'Search by role', + subtitle: 'Pick a role to see its linked accounts', + role: '{{ role }} in current accounts', + noRoles: 'No accounts founded', inputs: { select: { - label: "Select a role to show", - placeholder: "Select role", - button: "Seach", + label: 'Select a role to show', + placeholder: 'Select role', + button: 'Seach', }, }, }, diff --git a/apps/ats/web/src/i18n/en/security/ssiManager.ts b/apps/ats/web/src/i18n/en/security/ssiManager.ts index d3db7fe41..25e0c4e4c 100644 --- a/apps/ats/web/src/i18n/en/security/ssiManager.ts +++ b/apps/ats/web/src/i18n/en/security/ssiManager.ts @@ -205,47 +205,47 @@ export default { revocation: { - title: "Revocation Registry Address", - change: "Change", + title: 'Revocation Registry Address', + change: 'Change', form: { account: { - label: "Contract ID", - placeholder: "0.0.1234567", + label: 'Contract ID', + placeholder: '0.0.1234567', }, }, }, list: { - title: "Issuers", - add: "Add", + title: 'Issuers', + add: 'Add', }, table: { fields: { - accountId: "Account ID", - actions: "Actions", - remove: "Remove", + accountId: 'Account ID', + actions: 'Actions', + remove: 'Remove', }, }, create: { - title: "Add Issuer", - description: "", + title: 'Add Issuer', + description: '', form: { account: { - label: "Account ID", - placeholder: "0.0.1234567", + label: 'Account ID', + placeholder: '0.0.1234567', }, }, }, removePopUp: { - title: "Remove Issuer", - description: "Are you sure you want to remove this issuer?", - confirmText: "Remove", - cancelText: "Cancel", + title: 'Remove Issuer', + description: 'Are you sure you want to remove this issuer?', + confirmText: 'Remove', + cancelText: 'Cancel', }, messages: { - success: "Success: ", + success: 'Success: ', descriptionSuccess: - "The SSI Manager operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The SSI Manager operation has failed", + 'The SSI Manager operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The SSI Manager operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/transfer.ts b/apps/ats/web/src/i18n/en/security/transfer.ts index 78591077d..2aeb99d15 100644 --- a/apps/ats/web/src/i18n/en/security/transfer.ts +++ b/apps/ats/web/src/i18n/en/security/transfer.ts @@ -205,33 +205,33 @@ export default { header: { - title: "Transfer digital security", + title: 'Transfer digital security', }, - title: "Transfer securities", + title: 'Transfer securities', subtitle: - "Choose the security and the account to which you want to transfer securities", + 'Choose the security and the account to which you want to transfer securities', input: { amount: { - label: "Amount to transfer", - placeholder: "Enter the amount to transfer", + label: 'Amount to transfer', + placeholder: 'Enter the amount to transfer', }, destination: { - label: "Account to transfer", - placeholder: "Enter the account to transfer", + label: 'Account to transfer', + placeholder: 'Enter the account to transfer', }, }, list: { details: { - label: "Details", + label: 'Details', }, }, button: { - accept: "Transfer", + accept: 'Transfer', }, messages: { - success: "Success: ", - descriptionSuccess: "The transfer operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The transfer operation has failed", + success: 'Success: ', + descriptionSuccess: 'The transfer operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The transfer operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/unpause.ts b/apps/ats/web/src/i18n/en/security/unpause.ts index d2d790f78..347486408 100644 --- a/apps/ats/web/src/i18n/en/security/unpause.ts +++ b/apps/ats/web/src/i18n/en/security/unpause.ts @@ -205,9 +205,9 @@ export default { messages: { - success: "Success: ", - descriptionSuccess: "The security token was unpause", - error: "Error: ", - descriptionFailed: "The security token unpause has failed", + success: 'Success: ', + descriptionSuccess: 'The security token was unpause', + error: 'Error: ', + descriptionFailed: 'The security token unpause has failed', }, }; diff --git a/apps/ats/web/src/i18n/en/security/votingRight.ts b/apps/ats/web/src/i18n/en/security/votingRight.ts index 80b77df6b..583d1d3d3 100644 --- a/apps/ats/web/src/i18n/en/security/votingRight.ts +++ b/apps/ats/web/src/i18n/en/security/votingRight.ts @@ -205,50 +205,50 @@ export default { tabs: { - program: "Program voting rights", - see: "See voting rights", + program: 'Program voting rights', + see: 'See voting rights', }, program: { input: { name: { - label: "Name", - placeholder: "Enter name", + label: 'Name', + placeholder: 'Enter name', tooltip: - "Name that will be assigned to the voting right. This name is only used for identification/display purposes. ", + 'Name that will be assigned to the voting right. This name is only used for identification/display purposes. ', }, date: { - label: "Date", - placeholder: "Select day", + label: 'Date', + placeholder: 'Select day', tooltip: - "Voting rightโs record date. A snapshot of Equity holderโs balances will be triggered on this date.", + 'Voting rightโs record date. A snapshot of Equity holderโs balances will be triggered on this date.', }, }, - button: "Program vote", + button: 'Program vote', }, see: { input: { voting: { - label: "Voting ID", - placeholder: "Add ID", - tooltip: "ID of the voting right to display.", + label: 'Voting ID', + placeholder: 'Add ID', + tooltip: 'ID of the voting right to display.', }, account: { - label: "Account ID", - placeholder: "Add ID", - tooltip: "ID of the account to display the voting right for.", + label: 'Account ID', + placeholder: 'Add ID', + tooltip: 'ID of the account to display the voting right for.', }, }, details: { - title: "Voting rights programmed as {{ name }}", - number: "Number of votes: {{ number }}", - pending: "The voting is pending", + title: 'Voting rights programmed as {{ name }}', + number: 'Number of votes: {{ number }}', + pending: 'The voting is pending', }, }, messages: { - success: "Success: ", + success: 'Success: ', descriptionSuccess: - "The voting rights operation has been executed successfully", - error: "Error: ", - descriptionFailed: "The voting rights operation has failed", + 'The voting rights operation has been executed successfully', + error: 'Error: ', + descriptionFailed: 'The voting rights operation has failed', }, }; diff --git a/apps/ats/web/src/i18n/index.ts b/apps/ats/web/src/i18n/index.ts index 0a6cfb736..94eb280d2 100644 --- a/apps/ats/web/src/i18n/index.ts +++ b/apps/ats/web/src/i18n/index.ts @@ -203,12 +203,12 @@ */ -import i18n from "i18next"; -import LanguageDetector from "i18next-browser-languagedetector"; -import { initReactI18next } from "react-i18next"; -import en from "./en"; +import i18n from 'i18next'; +import LanguageDetector from 'i18next-browser-languagedetector'; +import { initReactI18next } from 'react-i18next'; +import en from './en'; -declare module "i18next" { +declare module 'i18next' { interface CustomTypeOptions { returnNull: false; } @@ -218,12 +218,12 @@ i18n .use(initReactI18next) .use(LanguageDetector) .init({ - defaultNS: "globals", + defaultNS: 'globals', detection: { - order: ["localStorage", "navigator"], + order: ['localStorage', 'navigator'], }, - lng: "en", - fallbackLng: "en", + lng: 'en', + fallbackLng: 'en', returnNull: false, returnObjects: true, resources: { diff --git a/apps/ats/web/src/layouts/MainLayout.tsx b/apps/ats/web/src/layouts/MainLayout.tsx index f30662fe3..50685b2ab 100644 --- a/apps/ats/web/src/layouts/MainLayout.tsx +++ b/apps/ats/web/src/layouts/MainLayout.tsx @@ -203,13 +203,12 @@ */ -import { Outlet } from "react-router-dom"; -import { Stack } from "@chakra-ui/react"; -import _capitalize from "lodash/capitalize"; -import { Sidebar } from "./components/Sidebar"; -import { useWalletStore } from "../store/walletStore"; -import { Header } from "./components/Header"; -import { WalletStatus } from "../utils/constants"; +import { Outlet } from 'react-router-dom'; +import { Stack } from '@chakra-ui/react'; +import { Sidebar } from './components/Sidebar'; +import { useWalletStore } from '../store/walletStore'; +import { Header } from './components/Header'; +import { WalletStatus } from '../utils/constants'; export const MainLayout = () => { const { connectionStatus } = useWalletStore(); diff --git a/apps/ats/web/src/layouts/__test__/MainLayout.test.tsx b/apps/ats/web/src/layouts/__test__/MainLayout.test.tsx index 9732e58d6..b57080fda 100644 --- a/apps/ats/web/src/layouts/__test__/MainLayout.test.tsx +++ b/apps/ats/web/src/layouts/__test__/MainLayout.test.tsx @@ -203,10 +203,10 @@ */ -import { MainLayout } from "../MainLayout"; -import { useWalletStore } from "../../store/walletStore"; -import { render } from "../../test-utils"; -import { WalletStatus } from "../../utils/constants"; +import { MainLayout } from '../MainLayout'; +import { useWalletStore } from '../../store/walletStore'; +import { render } from '../../test-utils'; +import { WalletStatus } from '../../utils/constants'; const initialStoreState = useWalletStore.getState(); @@ -216,26 +216,26 @@ describe(`${MainLayout.name}`, () => { useWalletStore.setState(initialStoreState, true); }); - test("if user is not connected should not render sidebar", async () => { + test('if user is not connected should not render sidebar', async () => { const component = render(); - expect(component.getByTestId("header-layout")).toBeInTheDocument(); - expect(component.queryByTestId("sidebar-layout")).not.toBeInTheDocument(); - expect(component.asFragment()).toMatchSnapshot("disconnected"); + expect(component.getByTestId('header-layout')).toBeInTheDocument(); + expect(component.queryByTestId('sidebar-layout')).not.toBeInTheDocument(); + expect(component.asFragment()).toMatchSnapshot('disconnected'); }); - test("if user is not connected should not render sidebar", async () => { + test('if user is not connected should not render sidebar', async () => { const connected = { initialStoreState, connectionStatus: WalletStatus.connected, - address: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", + address: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045', }; useWalletStore.setState(connected, true); const component = render(); - expect(component.getByTestId("header-layout")).toBeInTheDocument(); - expect(component.getByTestId("sidebar-layout")).toBeInTheDocument(); - expect(component.asFragment()).toMatchSnapshot("connected"); + expect(component.getByTestId('header-layout')).toBeInTheDocument(); + expect(component.getByTestId('sidebar-layout')).toBeInTheDocument(); + expect(component.asFragment()).toMatchSnapshot('connected'); }); }); diff --git a/apps/ats/web/src/layouts/components/Header.tsx b/apps/ats/web/src/layouts/components/Header.tsx index 62420fc81..d1459c4f0 100644 --- a/apps/ats/web/src/layouts/components/Header.tsx +++ b/apps/ats/web/src/layouts/components/Header.tsx @@ -203,7 +203,7 @@ */ -import { Divider, Flex, HStack, Menu, MenuButton } from "@chakra-ui/react"; +import { Divider, Flex, HStack, Menu, MenuButton } from '@chakra-ui/react'; import { Button, Header as HeaderBase, @@ -212,16 +212,16 @@ import { Logo, Dropdown, DropdownItem, -} from "io-bricks-ui"; -import { useWalletStore } from "../../store/walletStore"; -import { useTranslation } from "react-i18next"; -import { CaretDown, SignOut, Wallet } from "@phosphor-icons/react"; -import { WalletStatus } from "../../utils/constants"; -import { useUserStore } from "../../store/userStore"; -import { getLayoutBg } from "./helper"; +} from 'io-bricks-ui'; +import { useWalletStore } from '../../store/walletStore'; +import { useTranslation } from 'react-i18next'; +import { CaretDown, SignOut, Wallet } from '@phosphor-icons/react'; +import { WalletStatus } from '../../utils/constants'; +import { useUserStore } from '../../store/userStore'; +import { getLayoutBg } from './helper'; export const Header = () => { - const { t } = useTranslation("globals"); + const { t } = useTranslation('globals'); const { address, connectionStatus, reset } = useWalletStore(); const { type: userType } = useUserStore(); const connected = connectionStatus === WalletStatus.connected; @@ -240,13 +240,13 @@ export const Header = () => { w="180px" leftIcon={} rightIcon={} - sx={{ _focus: { bg: "primary.500" } }} + sx={{ _focus: { bg: 'primary.500' } }} > {address} reset()} /> diff --git a/apps/ats/web/src/layouts/components/Sidebar.tsx b/apps/ats/web/src/layouts/components/Sidebar.tsx index 07383b192..8c1744f5c 100644 --- a/apps/ats/web/src/layouts/components/Sidebar.tsx +++ b/apps/ats/web/src/layouts/components/Sidebar.tsx @@ -203,19 +203,19 @@ */ -import { Stack } from "@chakra-ui/react"; -import { Sidebar as BaseSidebar, SidebarItem } from "io-bricks-ui"; -import { House, Pause, HandPalm, Key } from "@phosphor-icons/react"; -import { useTranslation } from "react-i18next"; -import { useLocation } from "react-router-dom"; -import { RouteName } from "../../router/RouteName"; -import { RoutePath } from "../../router/RoutePath"; -import { RouterManager } from "../../router/RouterManager"; -import { useUserStore } from "../../store/userStore"; -import { getLayoutBg } from "./helper"; +import { Stack } from '@chakra-ui/react'; +import { Sidebar as BaseSidebar, SidebarItem } from 'io-bricks-ui'; +import { House, Pause, HandPalm, Key } from '@phosphor-icons/react'; +import { useTranslation } from 'react-i18next'; +import { useLocation } from 'react-router-dom'; +import { RouteName } from '../../router/RouteName'; +import { RoutePath } from '../../router/RoutePath'; +import { RouterManager } from '../../router/RouterManager'; +import { useUserStore } from '../../store/userStore'; +import { getLayoutBg } from './helper'; export const Sidebar = () => { - const { t } = useTranslation("routes"); + const { t } = useTranslation('routes'); const location = useLocation(); const { type: userType } = useUserStore(); @@ -257,7 +257,7 @@ export const Sidebar = () => { key={index} icon={props.icon} onClick={() => RouterManager.to(props.to)} - textAlign={"center"} + textAlign={'center'} /> ))} @@ -265,13 +265,13 @@ export const Sidebar = () => { // seems to be that Sidebar does not accept variants sx={{ bg: getLayoutBg[userType], - position: "relative", - apply: "textStyles.ElementsRegularXS", - flexDirection: "column", - justifyContent: "space-between", + position: 'relative', + apply: 'textStyles.ElementsRegularXS', + flexDirection: 'column', + justifyContent: 'space-between', pt: 16, pb: 10, - w: "104px", + w: '104px', }} /> ); diff --git a/apps/ats/web/src/layouts/components/__test__/Header.test.tsx b/apps/ats/web/src/layouts/components/__test__/Header.test.tsx index 2f7571487..1c568e92e 100644 --- a/apps/ats/web/src/layouts/components/__test__/Header.test.tsx +++ b/apps/ats/web/src/layouts/components/__test__/Header.test.tsx @@ -203,11 +203,10 @@ */ -import { Header } from "../Header"; -import { useWalletStore } from "../../../store/walletStore"; -import { render } from "../../../test-utils"; -import { WalletStatus } from "../../../utils/constants"; -import _capitalize from "lodash/capitalize"; +import { Header } from '../Header'; +import { useWalletStore } from '../../../store/walletStore'; +import { render } from '../../../test-utils'; +import { WalletStatus } from '../../../utils/constants'; const initialStoreState = useWalletStore.getState(); @@ -217,27 +216,27 @@ describe(`${Header.name}`, () => { useWalletStore.setState(initialStoreState, true); }); - test("if user is not connected should show connect button", async () => { + test('if user is not connected should show connect button', async () => { const component = render(); - expect(component.getByTestId("header-layout")).toBeInTheDocument(); - expect(component.asFragment()).toMatchSnapshot("disconnected"); + expect(component.getByTestId('header-layout')).toBeInTheDocument(); + expect(component.asFragment()).toMatchSnapshot('disconnected'); }); - test("if user is connected should show address", async () => { + test('if user is connected should show address', async () => { const connected = { initialStoreState, connectionStatus: WalletStatus.connected, - address: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045", + address: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045', }; useWalletStore.setState(connected, true); const component = render(); - expect(component.getByTestId("header-layout")).toBeInTheDocument(); + expect(component.getByTestId('header-layout')).toBeInTheDocument(); expect( - component.getByText((content, _element) => content.startsWith("0x")), + component.getByText((content, _element) => content.startsWith('0x')), ); - expect(component.asFragment()).toMatchSnapshot("connected"); + expect(component.asFragment()).toMatchSnapshot('connected'); }); }); diff --git a/apps/ats/web/src/layouts/components/__test__/SideBar.test.tsx b/apps/ats/web/src/layouts/components/__test__/SideBar.test.tsx index 4a369ea16..0bd03f459 100644 --- a/apps/ats/web/src/layouts/components/__test__/SideBar.test.tsx +++ b/apps/ats/web/src/layouts/components/__test__/SideBar.test.tsx @@ -203,14 +203,14 @@ */ -import { Sidebar } from "../Sidebar"; -import { render } from "../../../test-utils"; +import { Sidebar } from '../Sidebar'; +import { render } from '../../../test-utils'; describe(`${Sidebar.name}`, () => { - test("should render correctly", async () => { + test('should render correctly', async () => { const component = render(); - expect(component.getByTestId("sidebar-layout")).toBeInTheDocument(); + expect(component.getByTestId('sidebar-layout')).toBeInTheDocument(); expect(component.asFragment()).toMatchSnapshot(); }); }); diff --git a/apps/ats/web/src/layouts/components/helper.ts b/apps/ats/web/src/layouts/components/helper.ts index c9cba6e44..f5bbc179e 100644 --- a/apps/ats/web/src/layouts/components/helper.ts +++ b/apps/ats/web/src/layouts/components/helper.ts @@ -203,16 +203,16 @@ */ -import { User } from "../../utils/constants"; +import { User } from '../../utils/constants'; export const getLayoutBg = { - [User.admin]: "adminUI.50", - [User.holder]: "holderUI.50", - [User.general]: "neutral.50", + [User.admin]: 'adminUI.50', + [User.holder]: 'holderUI.50', + [User.general]: 'neutral.50', }; export const getAvatarBg = { - [User.admin]: "adminUI.300", - [User.holder]: "holderUI.300", - [User.general]: "neutral.200", + [User.admin]: 'adminUI.300', + [User.holder]: 'holderUI.300', + [User.general]: 'neutral.200', }; diff --git a/apps/ats/web/src/main.tsx b/apps/ats/web/src/main.tsx index 5153e5394..3d11a4a4d 100644 --- a/apps/ats/web/src/main.tsx +++ b/apps/ats/web/src/main.tsx @@ -203,11 +203,11 @@ */ -import React from "react"; -import ReactDOM from "react-dom/client"; -import App from "./App"; +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import App from './App'; -ReactDOM.createRoot(document.getElementById("root")!).render( +ReactDOM.createRoot(document.getElementById('root')!).render( , diff --git a/apps/ats/web/src/react-app-env.d.ts b/apps/ats/web/src/react-app-env.d.ts index f9c772b53..b5af235cf 100644 --- a/apps/ats/web/src/react-app-env.d.ts +++ b/apps/ats/web/src/react-app-env.d.ts @@ -203,7 +203,7 @@ */ -import { MetaMaskInpageProvider } from "@metamask/providers"; +import { MetaMaskInpageProvider } from '@metamask/providers'; declare global { interface Window { diff --git a/apps/ats/web/src/router/RouteName.ts b/apps/ats/web/src/router/RouteName.ts index 751195ed6..46793db1f 100644 --- a/apps/ats/web/src/router/RouteName.ts +++ b/apps/ats/web/src/router/RouteName.ts @@ -204,30 +204,30 @@ */ export enum RouteName { - Landing = "LANDING", - Dashboard = "DASHBOARD", - ExternalControlList = "EXTERNAL_CONTROL_LIST", - ExternalControlDetails = "EXTERNAL_CONTROL_DETAILS", - CreateExternalControl = "CREATE_EXTERNAL_CONTROL", - AddExternalControl = "ADD_EXTERNAL_CONTROL", - ExternalPauseList = "EXTERNAL_PAUSE_LIST", - CreateExternalPause = "CREATE_EXTERNAL_PAUSE", - AddExternalPause = "ADD_EXTERNAL_PAUSE", - ExternalKYCList = "EXTERNAL_KYC_LIST", - ExternalKYCDetails = "EXTERNAL_KYC_DETAILS", - CreateExternalKYC = "CREATE_EXTERNAL_KYC", - AddExternalKYC = "ADD_EXTERNAL_KYC", - AddSecurity = "ADD_SECURITY", - CreateSecurity = "CREATE_SECURITY", - CreateEquity = "CREATE_EQUITY", - CreateBond = "CREATE_BOND", - DigitalSecurityDetails = "DIGITAL_SECURITY_DETAILS", - DigitalSecuritiesList = "DIGITAL_SECURITIES_LIST", - DigitalSecurityMint = "DIGITAL_SECURITY_MINT", - DigitalSecurityFreeze = "DIGITAL_SECURITY_FREEZE", - DigitalSecurityTransfer = "DIGITAL_SECURITY_TRANSFER", - DigitalSecurityForceTransfer = "DIGITAL_SECURITY_FORCE_TRANSFER", - DigitalSecurityRedeem = "DIGITAL_SECURITY_REDEEM", - DigitalSecurityForceRedeem = "DIGITAL_SECURITY_FORCE_REDEEM", - DigitalSecurityLock = "DIGITAL_SECURITY_LOCK", + Landing = 'LANDING', + Dashboard = 'DASHBOARD', + ExternalControlList = 'EXTERNAL_CONTROL_LIST', + ExternalControlDetails = 'EXTERNAL_CONTROL_DETAILS', + CreateExternalControl = 'CREATE_EXTERNAL_CONTROL', + AddExternalControl = 'ADD_EXTERNAL_CONTROL', + ExternalPauseList = 'EXTERNAL_PAUSE_LIST', + CreateExternalPause = 'CREATE_EXTERNAL_PAUSE', + AddExternalPause = 'ADD_EXTERNAL_PAUSE', + ExternalKYCList = 'EXTERNAL_KYC_LIST', + ExternalKYCDetails = 'EXTERNAL_KYC_DETAILS', + CreateExternalKYC = 'CREATE_EXTERNAL_KYC', + AddExternalKYC = 'ADD_EXTERNAL_KYC', + AddSecurity = 'ADD_SECURITY', + CreateSecurity = 'CREATE_SECURITY', + CreateEquity = 'CREATE_EQUITY', + CreateBond = 'CREATE_BOND', + DigitalSecurityDetails = 'DIGITAL_SECURITY_DETAILS', + DigitalSecuritiesList = 'DIGITAL_SECURITIES_LIST', + DigitalSecurityMint = 'DIGITAL_SECURITY_MINT', + DigitalSecurityFreeze = 'DIGITAL_SECURITY_FREEZE', + DigitalSecurityTransfer = 'DIGITAL_SECURITY_TRANSFER', + DigitalSecurityForceTransfer = 'DIGITAL_SECURITY_FORCE_TRANSFER', + DigitalSecurityRedeem = 'DIGITAL_SECURITY_REDEEM', + DigitalSecurityForceRedeem = 'DIGITAL_SECURITY_FORCE_REDEEM', + DigitalSecurityLock = 'DIGITAL_SECURITY_LOCK', } diff --git a/apps/ats/web/src/router/RoutePath.ts b/apps/ats/web/src/router/RoutePath.ts index 0632b568c..ce62506bf 100644 --- a/apps/ats/web/src/router/RoutePath.ts +++ b/apps/ats/web/src/router/RoutePath.ts @@ -203,33 +203,33 @@ */ -import { RouteName } from "./RouteName"; +import { RouteName } from './RouteName'; export const RoutePath: Record = { - [RouteName.Dashboard]: "/", - [RouteName.ExternalPauseList]: "/external-pause", - [RouteName.CreateExternalPause]: "/external-pause/create", - [RouteName.AddExternalPause]: "/external-pause/add", - [RouteName.Landing]: "/connect-to-metamask", - [RouteName.ExternalControlList]: "/external-control", - [RouteName.CreateExternalControl]: "/external-control/create", - [RouteName.AddExternalControl]: "/external-control/add", - [RouteName.ExternalControlDetails]: "/external-control/:id", - [RouteName.ExternalKYCList]: "/external-kyc", - [RouteName.CreateExternalKYC]: "/external-kyc/create", - [RouteName.AddExternalKYC]: "/external-kyc/add", - [RouteName.ExternalKYCDetails]: "/external-kyc/:id", - [RouteName.DigitalSecurityDetails]: "/security/:id", - [RouteName.DigitalSecurityMint]: "/security/:id/mint", - [RouteName.DigitalSecurityFreeze]: "/security/:id/freeze", - [RouteName.DigitalSecurityTransfer]: "/security/:id/transfer", - [RouteName.DigitalSecurityForceTransfer]: "/security/:id/forceTransfer", - [RouteName.DigitalSecurityRedeem]: "/security/:id/redeem", - [RouteName.DigitalSecurityForceRedeem]: "/security/:id/forceRedeem", - [RouteName.DigitalSecurityLock]: "/security/:id/lock", - [RouteName.DigitalSecuritiesList]: "/list/:type", - [RouteName.AddSecurity]: "/security/add", - [RouteName.CreateSecurity]: "/security/create", - [RouteName.CreateEquity]: "/security/create/equity", - [RouteName.CreateBond]: "/security/create/bond", + [RouteName.Dashboard]: '/', + [RouteName.ExternalPauseList]: '/external-pause', + [RouteName.CreateExternalPause]: '/external-pause/create', + [RouteName.AddExternalPause]: '/external-pause/add', + [RouteName.Landing]: '/connect-to-metamask', + [RouteName.ExternalControlList]: '/external-control', + [RouteName.CreateExternalControl]: '/external-control/create', + [RouteName.AddExternalControl]: '/external-control/add', + [RouteName.ExternalControlDetails]: '/external-control/:id', + [RouteName.ExternalKYCList]: '/external-kyc', + [RouteName.CreateExternalKYC]: '/external-kyc/create', + [RouteName.AddExternalKYC]: '/external-kyc/add', + [RouteName.ExternalKYCDetails]: '/external-kyc/:id', + [RouteName.DigitalSecurityDetails]: '/security/:id', + [RouteName.DigitalSecurityMint]: '/security/:id/mint', + [RouteName.DigitalSecurityFreeze]: '/security/:id/freeze', + [RouteName.DigitalSecurityTransfer]: '/security/:id/transfer', + [RouteName.DigitalSecurityForceTransfer]: '/security/:id/forceTransfer', + [RouteName.DigitalSecurityRedeem]: '/security/:id/redeem', + [RouteName.DigitalSecurityForceRedeem]: '/security/:id/forceRedeem', + [RouteName.DigitalSecurityLock]: '/security/:id/lock', + [RouteName.DigitalSecuritiesList]: '/list/:type', + [RouteName.AddSecurity]: '/security/add', + [RouteName.CreateSecurity]: '/security/create', + [RouteName.CreateEquity]: '/security/create/equity', + [RouteName.CreateBond]: '/security/create/bond', }; diff --git a/apps/ats/web/src/router/RouterManager.ts b/apps/ats/web/src/router/RouterManager.ts index 7ce03e63f..e4053b439 100644 --- a/apps/ats/web/src/router/RouterManager.ts +++ b/apps/ats/web/src/router/RouterManager.ts @@ -203,11 +203,11 @@ */ -import type { ReverseParams } from "named-urls"; -import { reverse } from "named-urls"; -import { router } from "."; -import { RouteName } from "./RouteName"; -import { RoutePath } from "./RoutePath"; +import type { ReverseParams } from 'named-urls'; +import { reverse } from 'named-urls'; +import { router } from '.'; +import { RouteName } from './RouteName'; +import { RoutePath } from './RoutePath'; export interface RouteParams { params?: ReverseParams; @@ -218,7 +218,7 @@ export interface RouteParams { export class BaseRouterManager { constructor(private routes: Record = RoutePath) {} - #getPath(name: RouteName, { params, extra = "" }: RouteParams) { + #getPath(name: RouteName, { params, extra = '' }: RouteParams) { const pattern = this.routes[name] + extra; return reverse(pattern, params); } diff --git a/apps/ats/web/src/router/Routes.tsx b/apps/ats/web/src/router/Routes.tsx index 89ce19f2a..a20ae1456 100644 --- a/apps/ats/web/src/router/Routes.tsx +++ b/apps/ats/web/src/router/Routes.tsx @@ -203,36 +203,36 @@ */ -import i18n from "i18next"; -import { MainLayout } from "../layouts/MainLayout"; -import { GenericRoute } from "./components/GenericRoute"; -import { PrivateRoute } from "./components/PrivateRoute"; -import { RouteName } from "./RouteName"; -import { RoutePath } from "./RoutePath"; -import { Landing } from "../views/Landing/Landing"; -import { AddSecurity } from "../views/AddSecurity/AddSecurity"; -import { CreateSecurity } from "../views/Dashboard/Components/CreateSecurity"; -import { CreateEquity } from "../views/CreateEquity/CreateEquity"; -import { CreateBond } from "../views/CreateBond/CreateBond"; -import { Dashboard } from "../views/Dashboard/Dashboard"; -import { DigitalSecuritiesList } from "../views/DigitalSecuritiesList/DigitalSecuritiesList"; -import { DigitalSecurityDetails } from "../views/DigitalSecurityDetails/DigitalSecurityDetails"; -import { DigitalSecurityMint } from "../views/DigitalSecurityMint/DigitalSecurityMint"; -import { DigitalSecurityTransfer } from "../views/DigitalSecurityTransfer/DigitalSecurityTransfer"; -import { DigitalSecurityRedeem } from "../views/DigitalSecurityRedeem/DigitalSecurityRedeem"; -import { DigitalSecurityForceTransfer } from "../views/DigitalSecurityForceTransfer/DigitalSecurityForceTransfer"; -import { DigitalSecurityForceRedeem } from "../views/DigitalSecurityForceRedeem/DigitalSecurityForceRedeem"; -import { DigitalSecurityLocker } from "../views/DigitalSecurityLocker/DigitalSecurityLocker"; -import { ExternalPauseList } from "../views/ExternalPauseList/ExternalPauseList"; -import { CreateExternalPause } from "../views/CreateExternalPause/CreateExternalPause"; -import { AddExternalPause } from "../views/AddExternalPause/AddExternalPause"; -import { ExternalControlList } from "../views/ExternalControlList/ExternalControlList"; -import { CreateExternalControl } from "../views/CreateExternalControl/CreateExternalControl"; -import { AddExternalControl } from "../views/AddExternalControl/AddExternalControl"; -import { ExternalControlDetails } from "../views/ExternalControlDetails/ExternalControlDetails"; -import { ExternalKYCList } from "../views/ExternalKYCList/ExternalKYCList"; -import { AddExternalKYC } from "../views/AddExternalKYC/AddExternalKYC"; -import { DigitalSecurityFreeze } from "../views/DigitalSecurityFreeze/DigitalSecurityFreeze"; +import i18n from 'i18next'; +import { MainLayout } from '../layouts/MainLayout'; +import { GenericRoute } from './components/GenericRoute'; +import { PrivateRoute } from './components/PrivateRoute'; +import { RouteName } from './RouteName'; +import { RoutePath } from './RoutePath'; +import { Landing } from '../views/Landing/Landing'; +import { AddSecurity } from '../views/AddSecurity/AddSecurity'; +import { CreateSecurity } from '../views/Dashboard/Components/CreateSecurity'; +import { CreateEquity } from '../views/CreateEquity/CreateEquity'; +import { CreateBond } from '../views/CreateBond/CreateBond'; +import { Dashboard } from '../views/Dashboard/Dashboard'; +import { DigitalSecuritiesList } from '../views/DigitalSecuritiesList/DigitalSecuritiesList'; +import { DigitalSecurityDetails } from '../views/DigitalSecurityDetails/DigitalSecurityDetails'; +import { DigitalSecurityMint } from '../views/DigitalSecurityMint/DigitalSecurityMint'; +import { DigitalSecurityTransfer } from '../views/DigitalSecurityTransfer/DigitalSecurityTransfer'; +import { DigitalSecurityRedeem } from '../views/DigitalSecurityRedeem/DigitalSecurityRedeem'; +import { DigitalSecurityForceTransfer } from '../views/DigitalSecurityForceTransfer/DigitalSecurityForceTransfer'; +import { DigitalSecurityForceRedeem } from '../views/DigitalSecurityForceRedeem/DigitalSecurityForceRedeem'; +import { DigitalSecurityLocker } from '../views/DigitalSecurityLocker/DigitalSecurityLocker'; +import { ExternalPauseList } from '../views/ExternalPauseList/ExternalPauseList'; +import { CreateExternalPause } from '../views/CreateExternalPause/CreateExternalPause'; +import { AddExternalPause } from '../views/AddExternalPause/AddExternalPause'; +import { ExternalControlList } from '../views/ExternalControlList/ExternalControlList'; +import { CreateExternalControl } from '../views/CreateExternalControl/CreateExternalControl'; +import { AddExternalControl } from '../views/AddExternalControl/AddExternalControl'; +import { ExternalControlDetails } from '../views/ExternalControlDetails/ExternalControlDetails'; +import { ExternalKYCList } from '../views/ExternalKYCList/ExternalKYCList'; +import { AddExternalKYC } from '../views/AddExternalKYC/AddExternalKYC'; +import { DigitalSecurityFreeze } from '../views/DigitalSecurityFreeze/DigitalSecurityFreeze'; const t = (key: RouteName) => i18n.t(`routes:${key}`); @@ -456,7 +456,7 @@ export const routes = [ ], }, { - path: "*", + path: '*', element: ( diff --git a/apps/ats/web/src/router/components/GenericRoute.tsx b/apps/ats/web/src/router/components/GenericRoute.tsx index 3d11fb7ce..cf0f3fdd7 100644 --- a/apps/ats/web/src/router/components/GenericRoute.tsx +++ b/apps/ats/web/src/router/components/GenericRoute.tsx @@ -203,8 +203,8 @@ */ -import { Navigate } from "react-router-dom"; -import { RoutePath } from "../RoutePath"; +import { Navigate } from 'react-router-dom'; +import { RoutePath } from '../RoutePath'; export const GenericRoute = () => { return ; diff --git a/apps/ats/web/src/router/components/OnboardingRoute.tsx b/apps/ats/web/src/router/components/OnboardingRoute.tsx index b4f4c0143..2a7de02e5 100644 --- a/apps/ats/web/src/router/components/OnboardingRoute.tsx +++ b/apps/ats/web/src/router/components/OnboardingRoute.tsx @@ -203,13 +203,10 @@ */ -import { GenericRoute } from "./GenericRoute"; +import { GenericRoute } from './GenericRoute'; +import type { ReactElement } from 'react'; -export const OnboardingRoute = ({ - children, -}: { - children: React.ReactElement; -}) => { +export const OnboardingRoute = ({ children }: { children: ReactElement }) => { const user = false; return !user ? children : ; }; diff --git a/apps/ats/web/src/router/components/PrivateRoute.tsx b/apps/ats/web/src/router/components/PrivateRoute.tsx index f4da96cb6..a0e165744 100644 --- a/apps/ats/web/src/router/components/PrivateRoute.tsx +++ b/apps/ats/web/src/router/components/PrivateRoute.tsx @@ -203,18 +203,15 @@ */ -import { Navigate, useLocation } from "react-router-dom"; -import { RoutePath } from "../RoutePath"; -import { useWalletStore } from "../../store/walletStore"; -import { WalletStatus } from "../../utils/constants"; -import { useEffect } from "react"; -import { useLocationStore } from "../../store/locationStore"; - -export const PrivateRoute = ({ - children, -}: { - children: React.ReactElement; -}) => { +import { Navigate, useLocation } from 'react-router-dom'; +import type { ReactElement } from 'react'; +import { RoutePath } from '../RoutePath'; +import { useWalletStore } from '../../store/walletStore'; +import { WalletStatus } from '../../utils/constants'; +import { useEffect } from 'react'; +import { useLocationStore } from '../../store/locationStore'; + +export const PrivateRoute = ({ children }: { children: ReactElement }) => { const { connectionStatus } = useWalletStore(); const connected = connectionStatus === WalletStatus.connected; const location = useLocation(); diff --git a/apps/ats/web/src/router/index.tsx b/apps/ats/web/src/router/index.tsx index 2851b5a2d..367419ea6 100644 --- a/apps/ats/web/src/router/index.tsx +++ b/apps/ats/web/src/router/index.tsx @@ -203,11 +203,11 @@ */ -import { RouterProvider, createBrowserRouter } from "react-router-dom"; -import { routes } from "./Routes"; -import { useAccountStore } from "../store/accountStore"; -import { useEffect } from "react"; -import { useSecurityStore } from "../store/securityStore"; +import { RouterProvider, createBrowserRouter } from 'react-router-dom'; +import { routes } from './Routes'; +import { useAccountStore } from '../store/accountStore'; +import { useEffect } from 'react'; +import { useSecurityStore } from '../store/securityStore'; export const router = createBrowserRouter(routes); diff --git a/apps/ats/web/src/services/SDKService.ts b/apps/ats/web/src/services/SDKService.ts index cfeaa4190..64b41e0d5 100644 --- a/apps/ats/web/src/services/SDKService.ts +++ b/apps/ats/web/src/services/SDKService.ts @@ -366,15 +366,15 @@ import { GetFrozenPartialTokensRequest, SDK, LoggerTransports, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; export class SDKService { static initData?: InitializationData = undefined; - static testnetNetwork = "testnet"; + static testnetNetwork = 'testnet'; static testnetMirrorNode = { - baseUrl: process.env.REACT_APP_MIRROR_NODE ?? "", - apiKey: "", - headerName: "", + baseUrl: process.env.REACT_APP_MIRROR_NODE ?? '', + apiKey: '', + headerName: '', }; static testnetMirrorNodes = { nodes: [ @@ -385,10 +385,10 @@ export class SDKService { ], }; static testnetRPCNode = { - baseUrl: process.env.REACT_APP_RPC_NODE ?? "", + baseUrl: process.env.REACT_APP_RPC_NODE ?? '', //baseUrl: "http://127.0.0.1:7546", - apiKey: "", - headerName: "", + apiKey: '', + headerName: '', }; static testnetRPCNodes = { nodes: [ @@ -398,8 +398,8 @@ export class SDKService { }, ], }; - static testnetResolverAddress = process.env.REACT_APP_RESOLVER ?? "0.0.0"; - static testnetFactoryAddress = process.env.REACT_APP_FACTORY ?? "0.0.0"; + static testnetResolverAddress = process.env.REACT_APP_RESOLVER ?? '0.0.0'; + static testnetFactoryAddress = process.env.REACT_APP_FACTORY ?? '0.0.0'; static testnetConfiguration = { factoryAddress: this.testnetFactoryAddress, @@ -425,10 +425,10 @@ export class SDKService { // Initialize SDK logger static { try { - SDK.log = { level: "ERROR", transports: new LoggerTransports.Console() }; - console.log("SDK logger initialized successfully"); + SDK.log = { level: 'ERROR', transports: new LoggerTransports.Console() }; + console.log('SDK logger initialized successfully'); } catch (error) { - console.error("Failed to initialize SDK logger:", error); + console.error('Failed to initialize SDK logger:', error); } } @@ -439,11 +439,11 @@ export class SDKService { public static async connectWallet(wallet: SupportedWallets) { let hwcSettings; if (wallet === SupportedWallets.HWALLETCONNECT) { - const projectId = process.env.REACT_APP_PROJECT_ID ?? ""; - const dappName = process.env.REACT_APP_DAPP_NAME ?? ""; - const dappDescription = process.env.REACT_APP_DAPP_DESCRIPTION ?? ""; - const dappURL = process.env.REACT_APP_DAPP_URL ?? ""; - const dappIcons = process.env.REACT_APP_DAPP_ICONS?.split(",") ?? []; + const projectId = process.env.REACT_APP_PROJECT_ID ?? ''; + const dappName = process.env.REACT_APP_DAPP_NAME ?? ''; + const dappDescription = process.env.REACT_APP_DAPP_DESCRIPTION ?? ''; + const dappURL = process.env.REACT_APP_DAPP_URL ?? ''; + const dappIcons = process.env.REACT_APP_DAPP_ICONS?.split(',') ?? []; if (projectId) { hwcSettings = { @@ -486,9 +486,9 @@ export class SDKService { return init; } catch (e) { - console.error("Error initializing the Network : " + e); + console.error('Error initializing the Network : ' + e); console.error( - "There was an error initializing the network, please check your .env file and make sure the configuration is correct", + 'There was an error initializing the network, please check your .env file and make sure the configuration is correct', ); } } diff --git a/apps/ats/web/src/store/accountStore.tsx b/apps/ats/web/src/store/accountStore.tsx index b2135a9fa..e87520843 100644 --- a/apps/ats/web/src/store/accountStore.tsx +++ b/apps/ats/web/src/store/accountStore.tsx @@ -203,8 +203,8 @@ */ -import { create } from "zustand"; -import { devtools, persist } from "zustand/middleware"; +import { create } from 'zustand'; +import { devtools, persist } from 'zustand/middleware'; export interface AccountData { address: string; @@ -233,11 +233,11 @@ interface AccountArrayStore { reset: () => void; } -const ACCOUNT_STORE_KEY = "ACCOUNT_STORE_KEY"; +const ACCOUNT_STORE_KEY = 'ACCOUNT_STORE_KEY'; const toggleFavorite = ( state: AccountArrayStore, - key: "adminSecurities" | "holderSecurities", + key: 'adminSecurities' | 'holderSecurities', walletAddress: string, securityAddress: string, ) => { @@ -295,7 +295,7 @@ export const useAccountStore = create()( set((state) => toggleFavorite( state, - "adminSecurities", + 'adminSecurities', walletAddress, securityAddress, ), @@ -304,7 +304,7 @@ export const useAccountStore = create()( set((state) => toggleFavorite( state, - "holderSecurities", + 'holderSecurities', walletAddress, securityAddress, ), diff --git a/apps/ats/web/src/store/externalControlStore.tsx b/apps/ats/web/src/store/externalControlStore.tsx index 5b73a3984..30248fb48 100644 --- a/apps/ats/web/src/store/externalControlStore.tsx +++ b/apps/ats/web/src/store/externalControlStore.tsx @@ -203,12 +203,12 @@ */ -import { create } from "zustand"; -import { devtools, persist } from "zustand/middleware"; +import { create } from 'zustand'; +import { devtools, persist } from 'zustand/middleware'; export interface ExternalControlStore { address: string; - type: "whitelist" | "blacklist"; + type: 'whitelist' | 'blacklist'; } interface ExternalControlStoreProps { @@ -218,7 +218,7 @@ interface ExternalControlStoreProps { reset: () => void; } -const EXTERNAL_CONTROL_STORE_KEY = "EXTERNAL_CONTROL_STORE_KEY"; +const EXTERNAL_CONTROL_STORE_KEY = 'EXTERNAL_CONTROL_STORE_KEY'; export const useExternalControlStore = create()( persist( diff --git a/apps/ats/web/src/store/externalKYCStore.tsx b/apps/ats/web/src/store/externalKYCStore.tsx index e848e0055..5086582a3 100644 --- a/apps/ats/web/src/store/externalKYCStore.tsx +++ b/apps/ats/web/src/store/externalKYCStore.tsx @@ -203,8 +203,8 @@ */ -import { create } from "zustand"; -import { devtools, persist } from "zustand/middleware"; +import { create } from 'zustand'; +import { devtools, persist } from 'zustand/middleware'; export interface ExternalKYCStore { address: string; @@ -217,7 +217,7 @@ interface ExternalKYCStoreProps { reset: () => void; } -const EXTERNAL_KYC_STORE_KEY = "EXTERNAL_KYC_STORE_KEY"; +const EXTERNAL_KYC_STORE_KEY = 'EXTERNAL_KYC_STORE_KEY'; export const useExternalKYCStore = create()( persist( diff --git a/apps/ats/web/src/store/externalPauseStore.tsx b/apps/ats/web/src/store/externalPauseStore.tsx index 62e2f1b0e..5cc660322 100644 --- a/apps/ats/web/src/store/externalPauseStore.tsx +++ b/apps/ats/web/src/store/externalPauseStore.tsx @@ -203,8 +203,8 @@ */ -import { create } from "zustand"; -import { devtools, persist } from "zustand/middleware"; +import { create } from 'zustand'; +import { devtools, persist } from 'zustand/middleware'; export interface ExternalPauseStore { address: string; @@ -222,7 +222,7 @@ interface ExternalPauseStoreProps { reset: () => void; } -const EXTERNAL_PAUSE_STORE_KEY = "EXTERNAL_PAUSE_STORE_KEY"; +const EXTERNAL_PAUSE_STORE_KEY = 'EXTERNAL_PAUSE_STORE_KEY'; export const useExternalPauseStore = create()( persist( diff --git a/apps/ats/web/src/store/locationStore.tsx b/apps/ats/web/src/store/locationStore.tsx index 83bc42162..716210d95 100644 --- a/apps/ats/web/src/store/locationStore.tsx +++ b/apps/ats/web/src/store/locationStore.tsx @@ -203,7 +203,7 @@ */ -import { create } from "zustand"; +import { create } from 'zustand'; interface LocationStore { locations: string[]; diff --git a/apps/ats/web/src/store/rolesStore.tsx b/apps/ats/web/src/store/rolesStore.tsx index e3db7248d..da9261891 100644 --- a/apps/ats/web/src/store/rolesStore.tsx +++ b/apps/ats/web/src/store/rolesStore.tsx @@ -203,15 +203,15 @@ */ -import { create } from "zustand"; -import { devtools, persist } from "zustand/middleware"; +import { create } from 'zustand'; +import { devtools, persist } from 'zustand/middleware'; interface RolesStore { roles: string[]; setRoles: (roles: string[]) => void; } -const ROLES_STORE_KEY = "ROLES_STORE_KEY"; +const ROLES_STORE_KEY = 'ROLES_STORE_KEY'; export const useRolesStore = create()( persist( diff --git a/apps/ats/web/src/store/securityStore.tsx b/apps/ats/web/src/store/securityStore.tsx index 12027c892..d04b30749 100644 --- a/apps/ats/web/src/store/securityStore.tsx +++ b/apps/ats/web/src/store/securityStore.tsx @@ -203,9 +203,9 @@ */ -import type { SecurityViewModel } from "@hashgraph/asset-tokenization-sdk"; -import { create } from "zustand"; -import { devtools, persist } from "zustand/middleware"; +import type { SecurityViewModel } from '@hashgraph/asset-tokenization-sdk'; +import { create } from 'zustand'; +import { devtools, persist } from 'zustand/middleware'; export interface SecurityStore { name: string; @@ -226,7 +226,7 @@ interface SecurityArrayStore { reset: () => void; } -const SECURITIES_STORE_KEY = "SECURITIES_STORE_KEY"; +const SECURITIES_STORE_KEY = 'SECURITIES_STORE_KEY'; export const useSecurityStore = create()( persist( diff --git a/apps/ats/web/src/store/userStore.tsx b/apps/ats/web/src/store/userStore.tsx index e0c9629e9..a40af9570 100644 --- a/apps/ats/web/src/store/userStore.tsx +++ b/apps/ats/web/src/store/userStore.tsx @@ -203,9 +203,9 @@ */ -import { create } from "zustand"; -import { devtools, persist } from "zustand/middleware"; -import { User } from "../utils/constants"; +import { create } from 'zustand'; +import { devtools, persist } from 'zustand/middleware'; +import { User } from '../utils/constants'; type UserType = User.admin | User.general | User.holder; @@ -214,7 +214,7 @@ interface UserStore { setType: (type: UserType) => void; } -const USER_STORE_KEY = "USER_STORE_KEY"; +const USER_STORE_KEY = 'USER_STORE_KEY'; export const useUserStore = create()( persist( diff --git a/apps/ats/web/src/store/walletStore.tsx b/apps/ats/web/src/store/walletStore.tsx index 7f47975a9..442318775 100644 --- a/apps/ats/web/src/store/walletStore.tsx +++ b/apps/ats/web/src/store/walletStore.tsx @@ -203,10 +203,10 @@ */ -import { create } from "zustand"; -import { WalletStatus } from "../utils/constants"; -import type { InitializationData } from "@hashgraph/asset-tokenization-sdk"; -import { NetworkData } from "@hashgraph/asset-tokenization-sdk"; +import { create } from 'zustand'; +import { WalletStatus } from '../utils/constants'; +import type { InitializationData } from '@hashgraph/asset-tokenization-sdk'; +import { NetworkData } from '@hashgraph/asset-tokenization-sdk'; type WalletStoreStatus = | WalletStatus.disconnected @@ -226,7 +226,7 @@ interface WalletStore { } export const useWalletStore = create((set) => ({ - address: "", + address: '', setAddress: (address: string) => set((state: WalletStore) => ({ ...state, @@ -239,7 +239,7 @@ export const useWalletStore = create((set) => ({ reset: () => set((state: WalletStore) => ({ ...state, - address: "", + address: '', data: null, network: null, connectionStatus: WalletStatus.disconnected, diff --git a/apps/ats/web/src/test-utils.tsx b/apps/ats/web/src/test-utils.tsx index f0d12df30..8a5bd01e4 100644 --- a/apps/ats/web/src/test-utils.tsx +++ b/apps/ats/web/src/test-utils.tsx @@ -203,18 +203,18 @@ */ -import React from "react"; -import { ChakraProvider } from "@chakra-ui/react"; -import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; -import type { RenderOptions, RenderResult } from "@testing-library/react"; -import { render, waitFor } from "@testing-library/react"; -import type { MemoryHistory } from "history"; -import { createMemoryHistory } from "history"; -import { I18nextProvider } from "react-i18next"; -import { Router } from "react-router-dom"; -import i18n from "./i18n"; -import theme from "./theme"; -import userEvent from "@testing-library/user-event"; +import React from 'react'; +import { ChakraProvider } from '@chakra-ui/react'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import type { RenderOptions, RenderResult } from '@testing-library/react'; +import { render, waitFor } from '@testing-library/react'; +import type { MemoryHistory } from 'history'; +import { createMemoryHistory } from 'history'; +import { I18nextProvider } from 'react-i18next'; +import { Router } from 'react-router-dom'; +import i18n from './i18n'; +import theme from './theme'; +import userEvent from '@testing-library/user-event'; export const selectCalendar = async ( component: RenderResult, @@ -228,7 +228,7 @@ export const selectCalendar = async ( const daysToSelect = component.getAllByTestId(`day-${day}`); const dayToSelect = daysToSelect.find( - (day) => !day.hasAttribute("disabled"), + (day) => !day.hasAttribute('disabled'), ); if (dayToSelect) { diff --git a/apps/ats/web/src/theme/colors/adminUIColors.ts b/apps/ats/web/src/theme/colors/adminUIColors.ts index 21ab362b7..2f0e6f655 100644 --- a/apps/ats/web/src/theme/colors/adminUIColors.ts +++ b/apps/ats/web/src/theme/colors/adminUIColors.ts @@ -204,11 +204,11 @@ */ export const adminUIColors = { - admin: "#FDFDFD", - 50: "#E5F6EF", - 100: "#C5E9DA", - 200: "#AAD3C2", - 300: "#99C2B1", - 400: "#32b881", - 500: "#00A863", + admin: '#FDFDFD', + 50: '#E5F6EF', + 100: '#C5E9DA', + 200: '#AAD3C2', + 300: '#99C2B1', + 400: '#32b881', + 500: '#00A863', }; diff --git a/apps/ats/web/src/theme/colors/alternativeColors.ts b/apps/ats/web/src/theme/colors/alternativeColors.ts index 064334e7e..ce7a6d2f1 100644 --- a/apps/ats/web/src/theme/colors/alternativeColors.ts +++ b/apps/ats/web/src/theme/colors/alternativeColors.ts @@ -205,38 +205,38 @@ export const alternativeColors = { A: { - 50: "#E6F6F4", - 100: "#B0E4DD", - 400: "#33BAA7", - 500: "#00A991", - 700: "#007867", - 800: "#005D50", + 50: '#E6F6F4', + 100: '#B0E4DD', + 400: '#33BAA7', + 500: '#00A991', + 700: '#007867', + 800: '#005D50', }, B: { - 50: "#E7F7FA", - 100: "#B6E6F0", - 400: "#42BED7", - 500: "#13AECD", - 700: "#0D7C92", - 800: "#0A6071", + 50: '#E7F7FA', + 100: '#B6E6F0', + 400: '#42BED7', + 500: '#13AECD', + 700: '#0D7C92', + 800: '#0A6071', }, C: { - 50: "#FAE7EF", - 100: "#F0B6CD", - 400: "#D7427E", - 500: "#CD135E", - 700: "#920D43", - 800: "#710A34", + 50: '#FAE7EF', + 100: '#F0B6CD', + 400: '#D7427E', + 500: '#CD135E', + 700: '#920D43', + 800: '#710A34', }, D: { - 50: "#FFF8E6", - 100: "#FFEAB0", - 400: "#FFC933", - 500: "#FFBB00", - 700: "#B58500", - 800: "#8C6700", + 50: '#FFF8E6', + 100: '#FFEAB0', + 400: '#FFC933', + 500: '#FFBB00', + 700: '#B58500', + 800: '#8C6700', }, }; diff --git a/apps/ats/web/src/theme/colors/holderUIColors.ts b/apps/ats/web/src/theme/colors/holderUIColors.ts index 4778f838e..70d1f4eb3 100644 --- a/apps/ats/web/src/theme/colors/holderUIColors.ts +++ b/apps/ats/web/src/theme/colors/holderUIColors.ts @@ -204,11 +204,11 @@ */ export const holderUIColors = { - holder: "#FDFDFD", - 50: "#E2E9F4", - 100: "#C5D3E9", - 200: "#AABAD3", - 300: "#99A9C2", - 400: "#3268B8", - 500: "#0043A8", + holder: '#FDFDFD', + 50: '#E2E9F4', + 100: '#C5D3E9', + 200: '#AABAD3', + 300: '#99A9C2', + 400: '#3268B8', + 500: '#0043A8', }; diff --git a/apps/ats/web/src/theme/colors/index.ts b/apps/ats/web/src/theme/colors/index.ts index 6cd3569ec..298e9c40c 100644 --- a/apps/ats/web/src/theme/colors/index.ts +++ b/apps/ats/web/src/theme/colors/index.ts @@ -203,19 +203,19 @@ */ -import { adminUIColors } from "./adminUIColors"; -import { alternativeColors } from "./alternativeColors"; -import { holderUIColors } from "./holderUIColors"; -import { mainColors } from "./mainColors"; -import { neutralColors } from "./neutralColors"; -import { statusColors } from "./statusColors"; - -export * from "./adminUIColors"; -export * from "./alternativeColors"; -export * from "./holderUIColors"; -export * from "./mainColors"; -export * from "./neutralColors"; -export * from "./statusColors"; +import { adminUIColors } from './adminUIColors'; +import { alternativeColors } from './alternativeColors'; +import { holderUIColors } from './holderUIColors'; +import { mainColors } from './mainColors'; +import { neutralColors } from './neutralColors'; +import { statusColors } from './statusColors'; + +export * from './adminUIColors'; +export * from './alternativeColors'; +export * from './holderUIColors'; +export * from './mainColors'; +export * from './neutralColors'; +export * from './statusColors'; export type AdminUIColors = keyof typeof adminUIColors; export type AlternativeColors = keyof typeof alternativeColors; diff --git a/apps/ats/web/src/theme/colors/mainColors.ts b/apps/ats/web/src/theme/colors/mainColors.ts index 36e4b8df5..5fa92216b 100644 --- a/apps/ats/web/src/theme/colors/mainColors.ts +++ b/apps/ats/web/src/theme/colors/mainColors.ts @@ -205,28 +205,28 @@ export const mainColors = { primary: { - 50: "#EDEFFC", - 100: "#D5C8F7", - 200: "#C0AEF3", - 400: "#9171EA", - 500: "#764EE5", - 700: "#5437A3", - 800: "#412B7E", + 50: '#EDEFFC', + 100: '#D5C8F7', + 200: '#C0AEF3', + 400: '#9171EA', + 500: '#764EE5', + 700: '#5437A3', + 800: '#412B7E', }, secondary: { - 50: "#EAF3FD", - 100: "#E0EDFC", - 400: "#BED9F9", - 500: "#2D84EB", - 600: "#2263B0", - 800: "#143B6A", + 50: '#EAF3FD', + 100: '#E0EDFC', + 400: '#BED9F9', + 500: '#2D84EB', + 600: '#2263B0', + 800: '#143B6A', }, tertiary: { - 50: "#E6FDF4", - 100: "#DAFBEE", - 400: "#B2F8DC", - 500: "#07E78E", - 600: "#06B972", - 800: "#048B55", + 50: '#E6FDF4', + 100: '#DAFBEE', + 400: '#B2F8DC', + 500: '#07E78E', + 600: '#06B972', + 800: '#048B55', }, }; diff --git a/apps/ats/web/src/theme/colors/neutralColors.ts b/apps/ats/web/src/theme/colors/neutralColors.ts index d6af2183b..35632289f 100644 --- a/apps/ats/web/src/theme/colors/neutralColors.ts +++ b/apps/ats/web/src/theme/colors/neutralColors.ts @@ -204,15 +204,15 @@ */ export const neutralColors = { - white: "#FDFDFD", - 50: "#F8F7FC", - 100: "#F3F1F7", - 200: "#E4E2E9", - 300: "#D6D3DE", - 400: "#C3BECF", - 500: "#A7A0B9", - 600: "#958DAB", - 700: "#706789", - 800: "#57506B", - 900: "#332F3F", + white: '#FDFDFD', + 50: '#F8F7FC', + 100: '#F3F1F7', + 200: '#E4E2E9', + 300: '#D6D3DE', + 400: '#C3BECF', + 500: '#A7A0B9', + 600: '#958DAB', + 700: '#706789', + 800: '#57506B', + 900: '#332F3F', }; diff --git a/apps/ats/web/src/theme/colors/statusColors.ts b/apps/ats/web/src/theme/colors/statusColors.ts index 17d1779e9..7953b49bb 100644 --- a/apps/ats/web/src/theme/colors/statusColors.ts +++ b/apps/ats/web/src/theme/colors/statusColors.ts @@ -205,31 +205,31 @@ export const statusColors = { success: { - 50: "#F3F9ED", - 100: "#DBECC7", - 500: "#8BC34A", - 700: "#638A35", - 800: "#4C6B29", + 50: '#F3F9ED', + 100: '#DBECC7', + 500: '#8BC34A', + 700: '#638A35', + 800: '#4C6B29', }, error: { - 50: "#FAE9E6", - 100: "#EEBAB2", - 500: "#C92008", - 700: "#8F1706", - 800: "#6F1204", + 50: '#FAE9E6', + 100: '#EEBAB2', + 500: '#C92008', + 700: '#8F1706', + 800: '#6F1204', }, warning: { - 50: "#FFF5E6", - 100: "#FFDFB0", - 500: "#FF9800", - 700: "#B56C00", - 800: "#8C5400", + 50: '#FFF5E6', + 100: '#FFDFB0', + 500: '#FF9800', + 700: '#B56C00', + 800: '#8C5400', }, info: { - 50: "#F3F7FB", - 100: "#DAE7F2", - 500: "#89B0D4", - 700: "#617D97", - 800: "#4B6175", + 50: '#F3F7FB', + 100: '#DAE7F2', + 500: '#89B0D4', + 700: '#617D97', + 800: '#4B6175', }, }; diff --git a/apps/ats/web/src/theme/components/Accordion.ts b/apps/ats/web/src/theme/components/Accordion.ts index 82c93b3ba..404930288 100644 --- a/apps/ats/web/src/theme/components/Accordion.ts +++ b/apps/ats/web/src/theme/components/Accordion.ts @@ -203,36 +203,36 @@ */ -import type { AccordionThemeConfiguration } from "io-bricks-ui"; +import type { AccordionThemeConfiguration } from 'io-bricks-ui'; // It is not exported from IOBricks const accordionPartsList: Array = [ - "container", - "divider", - "title", - "item", + 'container', + 'divider', + 'title', + 'item', ]; export const Accordion: AccordionThemeConfiguration = { parts: accordionPartsList, baseStyle: { container: { - borderStyle: "unset", - borderRadius: "4px", + borderStyle: 'unset', + borderRadius: '4px', }, divider: { - visibility: "hidden", + visibility: 'hidden', }, }, variants: { admin: { container: { - bg: "adminUI.50", + bg: 'adminUI.50', }, }, holder: { container: { - bg: "holderUI.50", + bg: 'holderUI.50', }, }, }, diff --git a/apps/ats/web/src/theme/components/AccordionItem.ts b/apps/ats/web/src/theme/components/AccordionItem.ts index f47ddc8ea..354399931 100644 --- a/apps/ats/web/src/theme/components/AccordionItem.ts +++ b/apps/ats/web/src/theme/components/AccordionItem.ts @@ -203,10 +203,10 @@ */ -import type { AccordionItemThemeConfiguration } from "io-bricks-ui"; +import type { AccordionItemThemeConfiguration } from 'io-bricks-ui'; // It is not exported from iobricks -const accordionItemPartsList: Array = ["button", "item", "panel"]; +const accordionItemPartsList: Array = ['button', 'item', 'panel']; export const AccordionItem: AccordionItemThemeConfiguration = { parts: accordionItemPartsList, @@ -215,19 +215,19 @@ export const AccordionItem: AccordionItemThemeConfiguration = { p: 0, gap: 5, padding: 8, - flexDirection: "column", - alignItems: "flex-start", + flexDirection: 'column', + alignItems: 'flex-start', }, }, variants: { admin: { panel: { - bg: "adminUI.100", + bg: 'adminUI.100', }, }, holder: { panel: { - bg: "holderUI.100", + bg: 'holderUI.100', }, }, }, diff --git a/apps/ats/web/src/theme/components/Alert.ts b/apps/ats/web/src/theme/components/Alert.ts index 0df1fa909..cde499df8 100644 --- a/apps/ats/web/src/theme/components/Alert.ts +++ b/apps/ats/web/src/theme/components/Alert.ts @@ -203,13 +203,13 @@ */ -import { keyframes } from "@emotion/react"; +import { keyframes } from '@emotion/react'; import { Weight, AlertStatus, AlertThemeConfiguration, alertPartsList, -} from "io-bricks-ui"; +} from 'io-bricks-ui'; const loading = keyframes` 0% { @@ -223,11 +223,11 @@ const loading = keyframes` const loadingAnimation = `${loading} 1s linear infinite`; const colorSchemes: { [key in AlertStatus]: string } = { - info: "status.info.100", - success: "status.success.100", - warning: "status.warning.100", - error: "status.error.100", - loading: "neutral.50", + info: 'status.info.100', + success: 'status.success.100', + warning: 'status.warning.100', + error: 'status.error.100', + loading: 'neutral.50', }; export const Alert: AlertThemeConfiguration = { @@ -241,19 +241,19 @@ export const Alert: AlertThemeConfiguration = { icon: { weight: Weight.Fill, __css: { - color: "neutral.650", - animation: status === "loading" ? loadingAnimation : undefined, + color: 'neutral.650', + animation: status === 'loading' ? loadingAnimation : undefined, }, mr: 3, }, title: { - color: "neutral.650", + color: 'neutral.650', }, description: { - color: "neutral.650", + color: 'neutral.650', }, closeBtn: { - color: "neutral.650", + color: 'neutral.650', }, }), variants: { @@ -267,6 +267,6 @@ export const Alert: AlertThemeConfiguration = { }, }, defaultProps: { - variant: "subtle", + variant: 'subtle', }, }; diff --git a/apps/ats/web/src/theme/components/Avatar.ts b/apps/ats/web/src/theme/components/Avatar.ts index 7a975a056..f1d8c97cf 100644 --- a/apps/ats/web/src/theme/components/Avatar.ts +++ b/apps/ats/web/src/theme/components/Avatar.ts @@ -203,18 +203,18 @@ */ -import { AvatarThemeConfiguration, avatarPartsList } from "io-bricks-ui"; +import { AvatarThemeConfiguration, avatarPartsList } from 'io-bricks-ui'; export const Avatar: AvatarThemeConfiguration = { parts: avatarPartsList, baseStyle: () => ({ container: { - bg: "neutral.100", - fontWeight: "medium", - justifyContent: "center", - alignContent: "center", + bg: 'neutral.100', + fontWeight: 'medium', + justifyContent: 'center', + alignContent: 'center', svg: { - color: "neutral.white", + color: 'neutral.white', w: 6, h: 6, }, @@ -231,12 +231,12 @@ export const Avatar: AvatarThemeConfiguration = { variants: { light: () => ({ container: { - color: "black", + color: 'black', }, }), }, defaultProps: { - size: "md", + size: 'md', }, }; diff --git a/apps/ats/web/src/theme/components/Breadcrumb.ts b/apps/ats/web/src/theme/components/Breadcrumb.ts index 0ad0eda83..66fc717dc 100644 --- a/apps/ats/web/src/theme/components/Breadcrumb.ts +++ b/apps/ats/web/src/theme/components/Breadcrumb.ts @@ -203,24 +203,24 @@ */ -import type { BreadcrumbThemeConfiguration } from "io-bricks-ui"; -import { breadcrumbPartsList } from "io-bricks-ui"; +import type { BreadcrumbThemeConfiguration } from 'io-bricks-ui'; +import { breadcrumbPartsList } from 'io-bricks-ui'; export const Breadcrumb: BreadcrumbThemeConfiguration = { parts: breadcrumbPartsList, baseStyle: { item: { - textStyle: "ElementsSemiboldSM", + textStyle: 'ElementsSemiboldSM', _last: { span: { - color: "neutral.700", - cursor: "default", - textDecoration: "none", - textStyle: "ElementSMBold", + color: 'neutral.700', + cursor: 'default', + textDecoration: 'none', + textStyle: 'ElementSMBold', }, }, svg: { - color: "neutral.500", + color: 'neutral.500', }, }, isDesktop: { @@ -228,11 +228,11 @@ export const Breadcrumb: BreadcrumbThemeConfiguration = { md: true, }, link: { - textStyle: "ElementsSemiboldSM", - color: "neutral.500", + textStyle: 'ElementsSemiboldSM', + color: 'neutral.500', - "&:last-child": { - textStyle: "ElementsBoldSM", + '&:last-child': { + textStyle: 'ElementsBoldSM', }, }, }, diff --git a/apps/ats/web/src/theme/components/Button.ts b/apps/ats/web/src/theme/components/Button.ts index d5e669526..c994ac667 100644 --- a/apps/ats/web/src/theme/components/Button.ts +++ b/apps/ats/web/src/theme/components/Button.ts @@ -203,24 +203,24 @@ */ -import { ButtonProps, ButtonThemeConfiguration } from "io-bricks-ui"; +import { ButtonProps, ButtonThemeConfiguration } from 'io-bricks-ui'; -export const sizes: ButtonThemeConfiguration["sizes"] = { +export const sizes: ButtonThemeConfiguration['sizes'] = { sm: { - fontSize: "sm", - h: "unset", + fontSize: 'sm', + h: 'unset', minH: 8, minW: 19, }, md: { - fontSize: "sm", - h: "unset", + fontSize: 'sm', + h: 'unset', minH: 10, minW: 19, }, lg: { - fontSize: "sm", - h: "unset", + fontSize: 'sm', + h: 'unset', minH: 12, minW: 19, }, @@ -233,38 +233,38 @@ interface Color { disabled: string; } -type ColorName = "primary" | "secondary" | "tertiary"; +type ColorName = 'primary' | 'secondary' | 'tertiary'; export const colors: Record = { primary: { - enabled: "primary.500", - hover: "primary.400", - focused: "primary.500", - disabled: "primary.800", + enabled: 'primary.500', + hover: 'primary.400', + focused: 'primary.500', + disabled: 'primary.800', }, secondary: { - enabled: "primary.500", - hover: "primary.400", - focused: "primary.500", - disabled: "primary.800", + enabled: 'primary.500', + hover: 'primary.400', + focused: 'primary.500', + disabled: 'primary.800', }, tertiary: { - enabled: "secondary.500", - hover: "secondary.500", - focused: "secondary.500", - disabled: "neutral.600", + enabled: 'secondary.500', + hover: 'secondary.500', + focused: 'secondary.500', + disabled: 'neutral.600', }, }; const getColor = (props: ButtonProps, defaultColor: ColorName) => { - if (props.status === "danger") { + if (props.status === 'danger') { return { - enabled: "status.error.500", - hover: "status.error.400", - focused: "status.error.200", - disabled: "status.error.800", + enabled: 'status.error.500', + hover: 'status.error.400', + focused: 'status.error.200', + disabled: 'status.error.800', }; } @@ -274,33 +274,33 @@ const getColor = (props: ButtonProps, defaultColor: ColorName) => { export const variants = { primary: (props: ButtonProps) => { const getKey = (key: keyof Color) => { - const color = getColor(props, "primary")[key]; + const color = getColor(props, 'primary')[key]; return { bg: color, borderColor: color, - color: "neutral.white", + color: 'neutral.white', }; }; return { - ...getKey("enabled"), + ...getKey('enabled'), _hover: { - ...getKey("hover"), - _disabled: getKey("disabled"), + ...getKey('hover'), + _disabled: getKey('disabled'), }, - _focus: getKey("focused"), - _disabled: getKey("disabled"), + _focus: getKey('focused'), + _disabled: getKey('disabled'), _loading: { - ...getKey("enabled"), - _hover: getKey("enabled"), + ...getKey('enabled'), + _hover: getKey('enabled'), }, }; }, secondary: (props: ButtonProps) => { const getKey = (key: keyof Color) => { - const color = getColor(props, "secondary")[key]; + const color = getColor(props, 'secondary')[key]; return { color, @@ -309,23 +309,23 @@ export const variants = { }; return { - ...getKey("enabled"), - _hover: getKey("hover"), - _focus: getKey("focused"), - _disabled: getKey("disabled"), + ...getKey('enabled'), + _hover: getKey('hover'), + _focus: getKey('focused'), + _disabled: getKey('disabled'), }; }, tertiary: (props: ButtonProps) => { const getKey = (key: keyof Color) => { const bgColor = { - enabled: "transparent", - hover: "neutral.150", - focused: "neutral.100", - disabled: "transparent", + enabled: 'transparent', + hover: 'neutral.150', + focused: 'neutral.100', + disabled: 'transparent', }[key]; - const color = getColor(props, "tertiary")[key]; + const color = getColor(props, 'tertiary')[key]; return { color, @@ -335,11 +335,11 @@ export const variants = { }; return { - ...getKey("enabled"), - _hover: getKey("hover"), - _focus: getKey("focused"), - _active: getKey("focused"), - _disabled: getKey("disabled"), + ...getKey('enabled'), + _hover: getKey('hover'), + _focus: getKey('focused'), + _active: getKey('focused'), + _disabled: getKey('disabled'), }; }, }; @@ -348,18 +348,18 @@ export const Button: ButtonThemeConfiguration = { baseStyle: { py: 2, px: 4, - fontWeight: "500", + fontWeight: '500', lineHeight: 1, - border: "1px solid", - borderRadius: "8px", - display: "inline-flex", - flexWrap: "wrap", - justifyContent: "center", - alignItems: "center", - transition: "all 0.2s", - color: "neutral.650", + border: '1px solid', + borderRadius: '8px', + display: 'inline-flex', + flexWrap: 'wrap', + justifyContent: 'center', + alignItems: 'center', + transition: 'all 0.2s', + color: 'neutral.650', leftIcon: { - color: "neutral.650", + color: 'neutral.650', }, }, @@ -368,12 +368,12 @@ export const Button: ButtonThemeConfiguration = { variants: { ...variants, table: { - color: "neutral.700", - textDecoration: "none", - border: "none", + color: 'neutral.700', + textDecoration: 'none', + border: 'none', _focus: { - boxShadow: "unset", - border: "none", + boxShadow: 'unset', + border: 'none', }, }, ghost: { @@ -385,7 +385,7 @@ export const Button: ButtonThemeConfiguration = { }, defaultProps: { - size: "md", - variant: "primary", + size: 'md', + variant: 'primary', }, }; diff --git a/apps/ats/web/src/theme/components/Calendar.ts b/apps/ats/web/src/theme/components/Calendar.ts index f2357be6a..afadb638c 100644 --- a/apps/ats/web/src/theme/components/Calendar.ts +++ b/apps/ats/web/src/theme/components/Calendar.ts @@ -207,103 +207,103 @@ import { CalendarConfigProps, CalendarThemeConfiguration, calendarPartsList, -} from "io-bricks-ui"; +} from 'io-bricks-ui'; export const Calendar: CalendarThemeConfiguration = { parts: calendarPartsList, baseStyle: ({ isSelected }: CalendarConfigProps) => ({ container: { - "&": { - "--popper-bg": "var(--chakra-colors-neutral-300)", + '&': { + '--popper-bg': 'var(--chakra-colors-neutral-300)', }, - "& .rdp-table": { - bg: "neutral.white", + '& .rdp-table': { + bg: 'neutral.white', }, - bg: "neutral.white", - borderRadius: "simple", + bg: 'neutral.white', + borderRadius: 'simple', }, footer: { - color: "neutral.400", + color: 'neutral.400', }, dropDownPannel: { - bgColor: "neutral.white", + bgColor: 'neutral.white', }, changeMonthButton: { - color: "neutral.white", - bg: "transparent", + color: 'neutral.white', + bg: 'transparent', borderWidth: 0, }, input: { - border: "1px", - borderColor: "neutral.300", + border: '1px', + borderColor: 'neutral.300', minH: 10, }, header: { - bgColor: "primary.500", - apply: "textStyles.ElementsBoldXS", + bgColor: 'primary.500', + apply: 'textStyles.ElementsBoldXS', }, dropdownButton: { borderWidth: 0, - color: "neutral.white", + color: 'neutral.white', _hover: { - color: "neutral.white", + color: 'neutral.white', }, _focus: { - color: "neutral.white", + color: 'neutral.white', }, }, headerTitle: { - textStyle: "ElementsBoldXS", - color: "neutral.white", + textStyle: 'ElementsBoldXS', + color: 'neutral.white', }, yearTitle: { - apply: "textStyles.ElementsBoldXS", - color: "inherit", - textAlign: "center", + apply: 'textStyles.ElementsBoldXS', + color: 'inherit', + textAlign: 'center', }, month: { - apply: "textStyles.ElementsRegularXS", - bgColor: isSelected ? "primary.50" : "neutral.white", - color: isSelected ? "neutral.700" : "inherit", + apply: 'textStyles.ElementsRegularXS', + bgColor: isSelected ? 'primary.50' : 'neutral.white', + color: isSelected ? 'neutral.700' : 'inherit', _hover: { - bgColor: isSelected ? "primary.50" : "primary.50", + bgColor: isSelected ? 'primary.50' : 'primary.50', }, _disabled: { - bgColor: "neutral.white", - color: "neutral.200", - cursor: "not-allowed", + bgColor: 'neutral.white', + color: 'neutral.200', + cursor: 'not-allowed', }, }, day: { minW: 6, minH: 6, p: 0, - borderColor: isSelected ? "primary.500" : "neutral.white", - "&.rdp-day_today": { - borderWidth: "1px !important", - borderColor: "primary.500", - fontWeight: "normal !important", + borderColor: isSelected ? 'primary.500' : 'neutral.white', + '&.rdp-day_today': { + borderWidth: '1px !important', + borderColor: 'primary.500', + fontWeight: 'normal !important', }, - bgColor: isSelected ? "primary.500" : "neutral.white", - color: isSelected ? "neutral.white" : "neutral.800", + bgColor: isSelected ? 'primary.500' : 'neutral.white', + color: isSelected ? 'neutral.white' : 'neutral.800', _hover: { - bgColor: isSelected ? "neutral.white" : "neutral.white", - color: isSelected ? "primary.500" : "neutral.800", + bgColor: isSelected ? 'neutral.white' : 'neutral.white', + color: isSelected ? 'primary.500' : 'neutral.800', }, _disabled: { - bgColor: "neutral.white", - color: "neutral.200", - cursor: "not-allowed", - "&.rdp-day_today": { - borderColor: "primary.200 !important", + bgColor: 'neutral.white', + color: 'neutral.200', + cursor: 'not-allowed', + '&.rdp-day_today': { + borderColor: 'primary.200 !important', }, _hover: { - bgColor: "neutral.white", - color: "primary.200", - "&.rdp-day_today": { - borderColor: "primary.200 !important", + bgColor: 'neutral.white', + color: 'primary.200', + '&.rdp-day_today': { + borderColor: 'primary.200 !important', }, }, }, diff --git a/apps/ats/web/src/theme/components/DefinitionList.ts b/apps/ats/web/src/theme/components/DefinitionList.ts index 5bd0bff6f..2ff5405cb 100644 --- a/apps/ats/web/src/theme/components/DefinitionList.ts +++ b/apps/ats/web/src/theme/components/DefinitionList.ts @@ -206,20 +206,20 @@ import { DefinitionListThemeConfiguration, definitionListPartsList, -} from "io-bricks-ui"; -import { BasePlatformTheme } from "io-bricks-ui/Theme"; +} from 'io-bricks-ui'; +import { BasePlatformTheme } from 'io-bricks-ui/Theme'; export const DefinitionList: DefinitionListThemeConfiguration = { parts: definitionListPartsList, baseStyle: { listTitle: { ...BasePlatformTheme.textStyles.ElementsSemiboldMD, - color: "inherit", + color: 'inherit', }, container: { pb: 8, - w: "full", - maxWidth: "unset", + w: 'full', + maxWidth: 'unset', }, }, }; diff --git a/apps/ats/web/src/theme/components/DetailReview.ts b/apps/ats/web/src/theme/components/DetailReview.ts index 542ca5a01..1eb03f3ee 100644 --- a/apps/ats/web/src/theme/components/DetailReview.ts +++ b/apps/ats/web/src/theme/components/DetailReview.ts @@ -206,22 +206,22 @@ import { DetailReviewThemeConfiguration, detailReviewPartsList, -} from "io-bricks-ui"; +} from 'io-bricks-ui'; export const DetailReview: DetailReviewThemeConfiguration = { parts: detailReviewPartsList, baseStyle: { container: { - flexDirection: "column", + flexDirection: 'column', gap: 2, }, title: { - color: "neutral.white", - textStyle: "BodyRegularSM", + color: 'neutral.white', + textStyle: 'BodyRegularSM', }, value: { - color: "neutral.light.200", - textStyle: "HeadingMediumMD", + color: 'neutral.light.200', + textStyle: 'HeadingMediumMD', }, }, }; diff --git a/apps/ats/web/src/theme/components/Dropdown.ts b/apps/ats/web/src/theme/components/Dropdown.ts index 8efa84253..e3a411340 100644 --- a/apps/ats/web/src/theme/components/Dropdown.ts +++ b/apps/ats/web/src/theme/components/Dropdown.ts @@ -203,27 +203,27 @@ */ -import { DropdownThemeConfiguration, dropdownPartsList } from "io-bricks-ui"; +import { DropdownThemeConfiguration, dropdownPartsList } from 'io-bricks-ui'; export const Dropdown: DropdownThemeConfiguration = { parts: dropdownPartsList, baseStyle: ({ isActive }) => ({ wrapper: { - bg: "neutral.50", + bg: 'neutral.50', }, itemContainer: { - textStyle: "ElementsMediumSM", - bg: isActive ? "primary.100" : "transparent", - color: isActive ? "neutral.700" : "neutral.700", + textStyle: 'ElementsMediumSM', + bg: isActive ? 'primary.100' : 'transparent', + color: isActive ? 'neutral.700' : 'neutral.700', _hover: { - bg: isActive ? "primary.100" : "neutral.100", + bg: isActive ? 'primary.100' : 'neutral.100', _disabled: { - bg: "transparent", + bg: 'transparent', }, }, _disabled: { - color: "neutral.600", - cursor: "not-allowed", + color: 'neutral.600', + cursor: 'not-allowed', }, }, }), diff --git a/apps/ats/web/src/theme/components/Forms/Checkbox.ts b/apps/ats/web/src/theme/components/Forms/Checkbox.ts index 390c58ff5..c8e3e2bdf 100644 --- a/apps/ats/web/src/theme/components/Forms/Checkbox.ts +++ b/apps/ats/web/src/theme/components/Forms/Checkbox.ts @@ -203,76 +203,76 @@ */ -import { CheckboxThemeConfiguration, checkboxPartsList } from "io-bricks-ui"; -import { BasePlatformTheme } from "io-bricks-ui/Theme"; +import { CheckboxThemeConfiguration, checkboxPartsList } from 'io-bricks-ui'; +import { BasePlatformTheme } from 'io-bricks-ui/Theme'; export const Checkbox: CheckboxThemeConfiguration = { parts: checkboxPartsList, baseStyle: { control: { - borderColor: "neutral.500", + borderColor: 'neutral.500', _hover: { - borderColor: "neutral.200", + borderColor: 'neutral.200', }, _focus: { - bg: "neutral.600", - boxShadow: "var(--chakra-colors-neutral-light-600) 0px 0px 1px 2px", - borderColor: "neutral.200", + bg: 'neutral.600', + boxShadow: 'var(--chakra-colors-neutral-light-600) 0px 0px 1px 2px', + borderColor: 'neutral.200', }, _checked: { - bg: "primary.500", - borderColor: "primary.500", + bg: 'primary.500', + borderColor: 'primary.500', _hover: { - borderColor: "primary.700", - bg: "primary.700", + borderColor: 'primary.700', + bg: 'primary.700', }, _disabled: { - bg: "neutral.100", - borderColor: "neutral.100", - color: "neutral.500", + bg: 'neutral.100', + borderColor: 'neutral.100', + color: 'neutral.500', }, _focus: { - bg: "primary.500", - boxShadow: "var(--chakra-colors-primary-800) 0px 0px 1px 2px", - borderColor: "primary.500", + bg: 'primary.500', + boxShadow: 'var(--chakra-colors-primary-800) 0px 0px 1px 2px', + borderColor: 'primary.500', }, }, _indeterminate: { - bg: "primary.500", - borderColor: "primary.500", + bg: 'primary.500', + borderColor: 'primary.500', _hover: { - borderColor: "primary.700", - bg: "primary.700", + borderColor: 'primary.700', + bg: 'primary.700', }, _disabled: { - bg: "neutral.100", - borderColor: "neutral.100", - color: "neutral.500", + bg: 'neutral.100', + borderColor: 'neutral.100', + color: 'neutral.500', }, _focus: { - bg: "primary.500", - boxShadow: "var(--chakra-colors-primary-800) 0px 0px 1px 2px", - borderColor: "primary.500", + bg: 'primary.500', + boxShadow: 'var(--chakra-colors-primary-800) 0px 0px 1px 2px', + borderColor: 'primary.500', }, }, _disabled: { - bg: "neutral.200", - borderColor: "neutral.100", - color: "neutral.500", + bg: 'neutral.200', + borderColor: 'neutral.100', + color: 'neutral.500', }, _invalid: { - borderColor: "status.error.500", + borderColor: 'status.error.500', _focus: { - borderColor: "status.error.500", - bg: "status.error.100", - boxShadow: "var(--chakra-colors-status-error-100) 0px 0px 1px 2px", + borderColor: 'status.error.500', + bg: 'status.error.100', + boxShadow: 'var(--chakra-colors-status-error-100) 0px 0px 1px 2px', }, }, }, label: { - color: "neutral.white", + color: 'neutral.white', _disabled: { - color: "neutral.500", + color: 'neutral.500', }, }, }, @@ -286,19 +286,19 @@ export const Checkbox: CheckboxThemeConfiguration = { variants: { roles: { container: { - layerStyle: "whiteContainer", + layerStyle: 'whiteContainer', }, label: { - color: "neutral.700", + color: 'neutral.700', ...BasePlatformTheme.textStyles.ElementsRegularXS, _disabled: { - color: "neutral.500", + color: 'neutral.500', }, }, }, }, defaultProps: { - size: "md", - variant: "square", + size: 'md', + variant: 'square', }, }; diff --git a/apps/ats/web/src/theme/components/Forms/FormError.ts b/apps/ats/web/src/theme/components/Forms/FormError.ts index 9fdcb170f..5e566104f 100644 --- a/apps/ats/web/src/theme/components/Forms/FormError.ts +++ b/apps/ats/web/src/theme/components/Forms/FormError.ts @@ -203,11 +203,11 @@ */ -import type { ComponentMultiStyleConfig } from "@chakra-ui/react"; -import { BasePlatformTheme } from "io-bricks-ui/Theme"; +import type { ComponentMultiStyleConfig } from '@chakra-ui/react'; +import { BasePlatformTheme } from 'io-bricks-ui/Theme'; export const FormError: ComponentMultiStyleConfig = { - parts: ["text"], + parts: ['text'], baseStyle: { text: { ...BasePlatformTheme.textStyles.BodyRegularXS, @@ -216,11 +216,11 @@ export const FormError: ComponentMultiStyleConfig = { variants: { outline: { text: { - color: "status.error.500", + color: 'status.error.500', }, }, }, defaultProps: { - variant: "outline", + variant: 'outline', }, }; diff --git a/apps/ats/web/src/theme/components/Forms/Input.ts b/apps/ats/web/src/theme/components/Forms/Input.ts index 384d5630c..d42d17046 100644 --- a/apps/ats/web/src/theme/components/Forms/Input.ts +++ b/apps/ats/web/src/theme/components/Forms/Input.ts @@ -207,36 +207,36 @@ import { inputPartsList, type InputConfigProps, type InputThemeConfiguration, -} from "io-bricks-ui"; +} from 'io-bricks-ui'; -const baseStyle: InputThemeConfiguration["baseStyle"] = () => { +const baseStyle: InputThemeConfiguration['baseStyle'] = () => { return { input: { - bg: "neutral.white", - apply: "textStyles.ElementsRegularSM", - color: "neutral.600", + bg: 'neutral.white', + apply: 'textStyles.ElementsRegularSM', + color: 'neutral.600', _autofill: { - WebkitTextFillColor: "var(--chakra-colors-neutral-600)", - caretColor: "var(--chakra-colors-neutral-light-200) !important", - boxShadow: "0 0 0px 1000px var(--chakra-colors-neutral-dark-600) inset", + WebkitTextFillColor: 'var(--chakra-colors-neutral-600)', + caretColor: 'var(--chakra-colors-neutral-light-200) !important', + boxShadow: '0 0 0px 1000px var(--chakra-colors-neutral-dark-600) inset', }, _placeholder: { - apply: "textStyles.ElementsRegularSM", - color: "neutral.500", + apply: 'textStyles.ElementsRegularSM', + color: 'neutral.500', }, }, label: { - apply: "textStyles.BodyRegularSM", - color: "neutral.500", + apply: 'textStyles.BodyRegularSM', + color: 'neutral.500', }, addonLeft: { - height: "full", + height: 'full', }, - addonRight: { color: "neutral.500" }, + addonRight: { color: 'neutral.500' }, labelContainer: { [`[id$="-placeholder"]`]: { - color: "neutral.500", + color: 'neutral.500', }, }, }; @@ -245,50 +245,50 @@ const baseStyle: InputThemeConfiguration["baseStyle"] = () => { const outline = ({ isSuccess, isInvalid }: InputConfigProps) => { return { input: { - borderColor: isSuccess ? "status.success.500" : "holderUI.300", + borderColor: isSuccess ? 'status.success.500' : 'holderUI.300', _hover: { - borderColor: "neutral.200", + borderColor: 'neutral.200', }, _focus: { - borderColor: isSuccess ? "status.success.500" : "primary.500", + borderColor: isSuccess ? 'status.success.500' : 'primary.500', _hover: { - borderColor: isSuccess ? "status.success.500" : "primary.500", + borderColor: isSuccess ? 'status.success.500' : 'primary.500', }, }, _active: { - borderColor: isSuccess ? "status.success.500" : "primary.500", + borderColor: isSuccess ? 'status.success.500' : 'primary.500', _hover: { - borderColor: isSuccess ? "status.success.500" : "primary.500", + borderColor: isSuccess ? 'status.success.500' : 'primary.500', }, }, _invalid: { - borderColor: "status.error.500", + borderColor: 'status.error.500', _focus: { - borderColor: "status.error.500", - boxShadow: "none", + borderColor: 'status.error.500', + boxShadow: 'none', }, _active: { - borderColor: "status.error.500", - boxShadow: "none", + borderColor: 'status.error.500', + boxShadow: 'none', }, }, ...(isInvalid && { // this has to be added as well for selects - borderColor: "status.error.500", + borderColor: 'status.error.500', _focus: { - borderColor: "status.error.500", - boxShadow: "none", + borderColor: 'status.error.500', + boxShadow: 'none', }, _active: { - borderColor: "status.error.500", - boxShadow: "none", + borderColor: 'status.error.500', + boxShadow: 'none', }, }), _disabled: { - borderColor: "neutral.100", - bg: "neutral.200", - color: "neutral.500", - cursor: "not-allowed", + borderColor: 'neutral.100', + bg: 'neutral.200', + color: 'neutral.500', + cursor: 'not-allowed', }, }, }; @@ -301,6 +301,6 @@ export const Input: InputThemeConfiguration = { outline, }, defaultProps: { - variant: "outline", + variant: 'outline', }, }; diff --git a/apps/ats/web/src/theme/components/Forms/Textarea.ts b/apps/ats/web/src/theme/components/Forms/Textarea.ts index 21287371e..5623f17e4 100644 --- a/apps/ats/web/src/theme/components/Forms/Textarea.ts +++ b/apps/ats/web/src/theme/components/Forms/Textarea.ts @@ -203,39 +203,39 @@ */ -import { textareaPartsList, TextareaThemeConfiguration } from "io-bricks-ui"; +import { textareaPartsList, TextareaThemeConfiguration } from 'io-bricks-ui'; export const Textarea: TextareaThemeConfiguration = { parts: textareaPartsList, baseStyle: () => ({ labelContainer: { - width: "100%", - position: "relative", + width: '100%', + position: 'relative', }, label: { - apply: "textStyles.BodyRegularSM", - color: "neutral.200", + apply: 'textStyles.BodyRegularSM', + color: 'neutral.200', mb: 2, }, container: { - bg: "neutral.white", - apply: "textStyles.ElementsRegularSM", - color: "neutral.800", + bg: 'neutral.white', + apply: 'textStyles.ElementsRegularSM', + color: 'neutral.800', _placeholder: { - apply: "textStyles.ElementsRegularSM", - color: "neutral.500", + apply: 'textStyles.ElementsRegularSM', + color: 'neutral.500', }, - "&:focus ~ p": { - color: "neutral.200", + '&:focus ~ p': { + color: 'neutral.200', }, }, length: { - position: "absolute", + position: 'absolute', right: 3, - apply: "textStyles.BodyRegularXS", + apply: 'textStyles.BodyRegularXS', bottom: 2, - color: "neutral.500", - transition: "all .2s ease-in", + color: 'neutral.500', + transition: 'all .2s ease-in', }, }), variants: { @@ -243,46 +243,46 @@ export const Textarea: TextareaThemeConfiguration = { container: { px: 3, py: 2, - borderRadius: "simple", - border: "1px", - borderColor: isSuccess ? "status.success.500" : "neutral.500", + borderRadius: 'simple', + border: '1px', + borderColor: isSuccess ? 'status.success.500' : 'neutral.500', _hover: { - borderColor: "neutral.200", + borderColor: 'neutral.200', }, _focus: { - borderColor: isSuccess ? "status.success.500" : "primary.500", + borderColor: isSuccess ? 'status.success.500' : 'primary.500', _hover: { - borderColor: isSuccess ? "status.success.500" : "primary.500", + borderColor: isSuccess ? 'status.success.500' : 'primary.500', }, }, _active: { - borderColor: isSuccess ? "status.success.500" : "primary.500", + borderColor: isSuccess ? 'status.success.500' : 'primary.500', _hover: { - borderColor: isSuccess ? "status.success.500" : "primary.500", + borderColor: isSuccess ? 'status.success.500' : 'primary.500', }, }, - _focusVisible: { boxShadow: "none" }, + _focusVisible: { boxShadow: 'none' }, _invalid: { - borderColor: "status.error.500", + borderColor: 'status.error.500', _focus: { - borderColor: "status.error.500", - boxShadow: "none", + borderColor: 'status.error.500', + boxShadow: 'none', }, _active: { - borderColor: "status.error.500", - boxShadow: "none", + borderColor: 'status.error.500', + boxShadow: 'none', }, }, _disabled: { - borderColor: "neutral.100", - bg: "neutral.200", - color: "neutral.500", - cursor: "not-allowed", + borderColor: 'neutral.100', + bg: 'neutral.200', + color: 'neutral.500', + cursor: 'not-allowed', }, }, }), }, defaultProps: { - variant: "outline", + variant: 'outline', }, }; diff --git a/apps/ats/web/src/theme/components/Forms/Toggle.ts b/apps/ats/web/src/theme/components/Forms/Toggle.ts index 1d72f0d46..67907c104 100644 --- a/apps/ats/web/src/theme/components/Forms/Toggle.ts +++ b/apps/ats/web/src/theme/components/Forms/Toggle.ts @@ -203,102 +203,102 @@ */ -import { ToggleThemeConfiguration, togglePartsList } from "io-bricks-ui"; -import { BasePlatformTheme } from "io-bricks-ui/Theme"; +import { ToggleThemeConfiguration, togglePartsList } from 'io-bricks-ui'; +import { BasePlatformTheme } from 'io-bricks-ui/Theme'; export const Toggle: ToggleThemeConfiguration = { parts: togglePartsList, baseStyle: { label: { - color: "neutral.700", + color: 'neutral.700', ...BasePlatformTheme.textStyles.BodyRegularXS, }, }, sizes: { md: { thumb: { - background: "white", + background: 'white', _checked: { - bg: "neutral.650", + bg: 'neutral.650', }, }, track: { - background: "neutral.500", + background: 'neutral.500', _focus: { - boxShadow: "var(--chakra-colors-neutral-light-600) 0px 0px 1px 2px", + boxShadow: 'var(--chakra-colors-neutral-light-600) 0px 0px 1px 2px', }, _hover: { - background: "neutral.400", + background: 'neutral.400', }, _checked: { - background: "primary.500", + background: 'primary.500', _hover: { - background: "primary.400", + background: 'primary.400', }, _focus: { - boxShadow: "var(--chakra-colors-primary-800) 0px 0px 1px 2px", + boxShadow: 'var(--chakra-colors-primary-800) 0px 0px 1px 2px', }, }, _disabled: { - background: "grey.200", + background: 'grey.200', _checked: { - background: "primary.50", + background: 'primary.50', _hover: { - background: "primary.50", + background: 'primary.50', }, }, }, _invalid: { - outlineColor: "status.error.500", + outlineColor: 'status.error.500', _focus: { - boxShadow: "var(--chakra-colors-error-100) 0px 0px 1px 2px", + boxShadow: 'var(--chakra-colors-error-100) 0px 0px 1px 2px', }, }, }, }, lg: { thumb: { - background: "white", + background: 'white', _checked: { - bg: "neutral.650", + bg: 'neutral.650', }, }, track: { - background: "neutral.500", + background: 'neutral.500', _focus: { - boxShadow: "var(--chakra-colors-neutral-light-600) 0px 0px 1px 2px", + boxShadow: 'var(--chakra-colors-neutral-light-600) 0px 0px 1px 2px', }, _hover: { - background: "neutral.400", + background: 'neutral.400', }, _checked: { - background: "primary.500", + background: 'primary.500', _hover: { - background: "primary.400", + background: 'primary.400', }, _focus: { - boxShadow: "var(--chakra-colors-primary-800) 0px 0px 1px 2px", + boxShadow: 'var(--chakra-colors-primary-800) 0px 0px 1px 2px', }, }, _disabled: { - background: "grey.200", + background: 'grey.200', _checked: { - background: "primary.50", + background: 'primary.50', _hover: { - background: "primary.50", + background: 'primary.50', }, }, }, _invalid: { - outlineColor: "status.error.500", + outlineColor: 'status.error.500', _focus: { - boxShadow: "var(--chakra-colors-error-100) 0px 0px 1px 2px", + boxShadow: 'var(--chakra-colors-error-100) 0px 0px 1px 2px', }, }, }, }, }, defaultProps: { - size: "md", + size: 'md', }, }; diff --git a/apps/ats/web/src/theme/components/Header.ts b/apps/ats/web/src/theme/components/Header.ts index aa55b46ce..0968a13b7 100644 --- a/apps/ats/web/src/theme/components/Header.ts +++ b/apps/ats/web/src/theme/components/Header.ts @@ -203,13 +203,13 @@ */ -import { HeaderThemeConfiguration, headerPartsList } from "io-bricks-ui"; +import { HeaderThemeConfiguration, headerPartsList } from 'io-bricks-ui'; export const Header: HeaderThemeConfiguration = { parts: headerPartsList, baseStyle: { container: { - bg: "neutral.50", + bg: 'neutral.50', h: 16, pl: 6, pr: 8, @@ -217,23 +217,23 @@ export const Header: HeaderThemeConfiguration = { }, contentContainer: { - maxW: "full", + maxW: 'full', }, }, variants: { admin: { container: { - bg: "adminUI.50", + bg: 'adminUI.50', }, }, general: { container: { - bg: "neutral.50", + bg: 'neutral.50', }, }, holder: { container: { - bg: "neutral.50", // Maybe holderUI.400? + bg: 'neutral.50', // Maybe holderUI.400? }, }, }, diff --git a/apps/ats/web/src/theme/components/Link.ts b/apps/ats/web/src/theme/components/Link.ts index 35ba3aad6..48939bfca 100644 --- a/apps/ats/web/src/theme/components/Link.ts +++ b/apps/ats/web/src/theme/components/Link.ts @@ -204,19 +204,19 @@ */ // @ts-ignore FIX No se encuentra el mรณdulo "@Components/Interaction/Link" ni sus declaraciones de tipos correspondientes. -import type { LinkThemeConfiguration } from "@Components/Interaction/Link"; +import type { LinkThemeConfiguration } from '@Components/Interaction/Link'; export const Link: LinkThemeConfiguration = { variants: { table: { - color: "grey.900", - textDecoration: "none", + color: 'grey.900', + textDecoration: 'none', _focus: { - boxShadow: "none", + boxShadow: 'none', }, }, }, defaultProps: { - variant: "highlighted", + variant: 'highlighted', }, }; diff --git a/apps/ats/web/src/theme/components/Logo.ts b/apps/ats/web/src/theme/components/Logo.ts index e72599720..0021ee62d 100644 --- a/apps/ats/web/src/theme/components/Logo.ts +++ b/apps/ats/web/src/theme/components/Logo.ts @@ -203,7 +203,7 @@ */ -import logo from "../../assets/logo.svg"; +import logo from '../../assets/logo.svg'; export const Logo = { baseStyle: { diff --git a/apps/ats/web/src/theme/components/PopUp.ts b/apps/ats/web/src/theme/components/PopUp.ts index 046b6b5bf..b37d75b41 100644 --- a/apps/ats/web/src/theme/components/PopUp.ts +++ b/apps/ats/web/src/theme/components/PopUp.ts @@ -203,27 +203,27 @@ */ -import type { PopUpThemeConfiguration } from "io-bricks-ui"; -import { popUpPartsList } from "io-bricks-ui"; +import type { PopUpThemeConfiguration } from 'io-bricks-ui'; +import { popUpPartsList } from 'io-bricks-ui'; export const PopUp: PopUpThemeConfiguration = { parts: popUpPartsList, baseStyle: { container: { - w: "296px", - bg: "neutral.50", + w: '296px', + bg: 'neutral.50', }, closeButton: { - minW: "24px", - minH: "24px", + minW: '24px', + minH: '24px', }, body: { - pt: "16px !important", - textAlign: "center", - textColor: "neutral.900", + pt: '16px !important', + textAlign: 'center', + textColor: 'neutral.900', }, title: { - fontWeight: "bold", + fontWeight: 'bold', }, footer: { pb: 6, diff --git a/apps/ats/web/src/theme/components/Sidebar.ts b/apps/ats/web/src/theme/components/Sidebar.ts index cebc8c281..6b436558a 100644 --- a/apps/ats/web/src/theme/components/Sidebar.ts +++ b/apps/ats/web/src/theme/components/Sidebar.ts @@ -205,8 +205,8 @@ export const Sidebar = { baseStyle: { - bg: "neutral.50", - position: "relative", - apply: "textStyles.ElementsRegularXS", + bg: 'neutral.50', + position: 'relative', + apply: 'textStyles.ElementsRegularXS', }, }; diff --git a/apps/ats/web/src/theme/components/SidebarItem.ts b/apps/ats/web/src/theme/components/SidebarItem.ts index 27a17a972..54ca022d0 100644 --- a/apps/ats/web/src/theme/components/SidebarItem.ts +++ b/apps/ats/web/src/theme/components/SidebarItem.ts @@ -207,30 +207,30 @@ import { SidebarItemConfigProps, SidebarItemThemeConfiguration, sidebarPartsList, -} from "io-bricks-ui"; +} from 'io-bricks-ui'; const iconStyles = { hover: { - bgColor: "neutral.150", + bgColor: 'neutral.150', }, selected: { - bgColor: "neutral.100", - color: "neutral.650", + bgColor: 'neutral.100', + color: 'neutral.650', }, disabled: { - color: "neutral.600", + color: 'neutral.600', }, }; const labelStyles = { selected: { - textStyle: "ElementsSemiboldXS", + textStyle: 'ElementsSemiboldXS', }, disabled: { - color: "neutral.600", + color: 'neutral.600', }, }; @@ -241,15 +241,15 @@ export const SidebarItem: SidebarItemThemeConfiguration = { return { icon: { - color: "neutral.800", + color: 'neutral.800', ...(isSelected && iconStyles.selected), ...(isHovered && !isSelected && iconStyles.hover), ...(isDisabled && iconStyles.disabled), }, label: { - textStyle: "ElementsMediumXS", - color: "neutral.800", + textStyle: 'ElementsMediumXS', + color: 'neutral.800', ...(isSelected && labelStyles.selected), ...(isDisabled && labelStyles.disabled), }, diff --git a/apps/ats/web/src/theme/components/Stepper.ts b/apps/ats/web/src/theme/components/Stepper.ts index 1cae04a72..28e6417bd 100644 --- a/apps/ats/web/src/theme/components/Stepper.ts +++ b/apps/ats/web/src/theme/components/Stepper.ts @@ -203,7 +203,7 @@ */ -import { StepperThemeConfiguration } from "io-bricks-ui"; +import { StepperThemeConfiguration } from 'io-bricks-ui'; export const Stepper: StepperThemeConfiguration = { parts: [], diff --git a/apps/ats/web/src/theme/components/Table.ts b/apps/ats/web/src/theme/components/Table.ts index 7315c4adc..aaf304434 100644 --- a/apps/ats/web/src/theme/components/Table.ts +++ b/apps/ats/web/src/theme/components/Table.ts @@ -203,70 +203,70 @@ */ -import { tablePartsList, TableThemeConfiguration } from "io-bricks-ui"; -import { BasePlatformTheme } from "io-bricks-ui/Theme"; +import { tablePartsList, TableThemeConfiguration } from 'io-bricks-ui'; +import { BasePlatformTheme } from 'io-bricks-ui/Theme'; const row = { - bg: "neutral.400", - boxShadow: "0px 4px 14px rgba(0, 0, 0, 0.05)", + bg: 'neutral.400', + boxShadow: '0px 4px 14px rgba(0, 0, 0, 0.05)', }; -const disabledColor = "grey.500"; -const enabledColor = "grey.900"; +const disabledColor = 'grey.500'; +const enabledColor = 'grey.900'; -const baseStyle: TableThemeConfiguration["baseStyle"] = ({ +const baseStyle: TableThemeConfiguration['baseStyle'] = ({ isSorted, typeOfSort, }) => ({ headerContainer: { ...row, - bg: "neutral.white", + bg: 'neutral.white', }, header: { // @ts-ignore ...BasePlatformTheme.textStyles.ElementsMediumSM, - color: "neutral.900", + color: 'neutral.900', }, cell: { - apply: "textStyles.ElementsRegularSM", - color: "neutral.700", + apply: 'textStyles.ElementsRegularSM', + color: 'neutral.700', _focusVisible: { - outline: "var(--chakra-colors-primary-100) auto 1px", + outline: 'var(--chakra-colors-primary-100) auto 1px', }, - bg: "neutral.white", + bg: 'neutral.white', }, rowContainer: { ...row, _hover: { - bg: "neutral.150", + bg: 'neutral.150', }, }, footerText: { - apply: "textStyles.ElementsRegularXS", - color: "neutral.900", + apply: 'textStyles.ElementsRegularXS', + color: 'neutral.900', mx: 2, }, subtext: { - apply: "textStyles.ElementsLightXS ", - color: "neutral.500", + apply: 'textStyles.ElementsLightXS ', + color: 'neutral.500', }, title: { ...BasePlatformTheme.textStyles.ElementsSemiboldLG, }, sortIcon: { - "& polyline:first-of-type, & line:first-of-type": { + '& polyline:first-of-type, & line:first-of-type': { stroke: isSorted - ? typeOfSort === "desc" + ? typeOfSort === 'desc' ? enabledColor : disabledColor - : "grey.800", + : 'grey.800', }, - "& polyline:last-of-type, & line:last-of-type": { + '& polyline:last-of-type, & line:last-of-type': { stroke: isSorted - ? typeOfSort === "asc" + ? typeOfSort === 'asc' ? enabledColor : disabledColor - : "grey.800", + : 'grey.800', }, }, }); @@ -275,6 +275,6 @@ export const Table: TableThemeConfiguration = { parts: tablePartsList, baseStyle, defaultProps: { - size: "lg", + size: 'lg', }, }; diff --git a/apps/ats/web/src/theme/components/Tabs.ts b/apps/ats/web/src/theme/components/Tabs.ts index bec91ce40..aa1166244 100644 --- a/apps/ats/web/src/theme/components/Tabs.ts +++ b/apps/ats/web/src/theme/components/Tabs.ts @@ -203,8 +203,8 @@ */ -import { tabsPartsList } from "io-bricks-ui"; -import type { TabsThemeConfiguration } from "io-bricks-ui"; +import { tabsPartsList } from 'io-bricks-ui'; +import type { TabsThemeConfiguration } from 'io-bricks-ui'; export const Tabs: TabsThemeConfiguration = { parts: tabsPartsList, @@ -214,8 +214,8 @@ export const Tabs: TabsThemeConfiguration = { boxShadow: 0, }, _selected: { - borderBottomWidth: "4px", - borderColor: "none", + borderBottomWidth: '4px', + borderColor: 'none', _hover: { _before: { height: 0, @@ -227,26 +227,26 @@ export const Tabs: TabsThemeConfiguration = { }, }, tabpanels: { - h: "full", + h: 'full', py: 6, }, tabpanel: { - h: "full", + h: 'full', py: 0, }, tablist: { - borderBottom: "1px solid", - "& button[aria-selected=true]": { - borderColor: "none", + borderBottom: '1px solid', + '& button[aria-selected=true]': { + borderColor: 'none', }, }, }, variants: { primary: { tablist: { - w: "full", - borderBottom: "1px solid", - borderColor: "neutral.400", + w: 'full', + borderBottom: '1px solid', + borderColor: 'neutral.400', }, tab: { _focus: { @@ -254,13 +254,13 @@ export const Tabs: TabsThemeConfiguration = { }, }, tabpanels: { - h: "full", - w: "full", + h: 'full', + w: 'full', py: 6, }, tabpanel: { - h: "full", - w: "full", + h: 'full', + w: 'full', py: 0, }, }, @@ -271,8 +271,8 @@ export const Tabs: TabsThemeConfiguration = { boxShadow: 0, }, _selected: { - borderBottomWidth: "4px", - borderColor: "primary.500", + borderBottomWidth: '4px', + borderColor: 'primary.500', mb: 0, _hover: { _before: { @@ -285,22 +285,22 @@ export const Tabs: TabsThemeConfiguration = { }, }, tablist: { - position: "relative", - bgColor: "neutral.50", - borderBottom: "1px solid", - borderColor: "neutral.400", - "& button[aria-selected=true]": { - borderColor: "none", + position: 'relative', + bgColor: 'neutral.50', + borderBottom: '1px solid', + borderColor: 'neutral.400', + '& button[aria-selected=true]': { + borderColor: 'none', mb: 0, }, }, tabpanels: { - h: "full", + h: 'full', py: 6, - bgColor: "neutral.50", + bgColor: 'neutral.50', }, tabpanel: { - h: "full", + h: 'full', py: 0, }, }, diff --git a/apps/ats/web/src/theme/components/Tag.ts b/apps/ats/web/src/theme/components/Tag.ts index c1f62c25d..1b62b22a8 100644 --- a/apps/ats/web/src/theme/components/Tag.ts +++ b/apps/ats/web/src/theme/components/Tag.ts @@ -206,18 +206,18 @@ export const Tag = { baseStyle: { label: { - apply: "textStyles.ElementsMediumSM", + apply: 'textStyles.ElementsMediumSM', }, container: { color: `neutral.800`, bg: `neutral.50`, - borderRadius: "19px", + borderRadius: '19px', }, }, variants: { paused: { container: { - bg: "status.error.100", + bg: 'status.error.100', }, }, }, diff --git a/apps/ats/web/src/theme/components/Tooltip.ts b/apps/ats/web/src/theme/components/Tooltip.ts index 727136615..31709a313 100644 --- a/apps/ats/web/src/theme/components/Tooltip.ts +++ b/apps/ats/web/src/theme/components/Tooltip.ts @@ -203,17 +203,17 @@ */ -import { cssVar } from "@chakra-ui/react"; -import { TooltipThemeConfiguration } from "io-bricks-ui"; +import { cssVar } from '@chakra-ui/react'; +import { TooltipThemeConfiguration } from 'io-bricks-ui'; -const $arrowBg = cssVar("popper-arrow-bg"); +const $arrowBg = cssVar('popper-arrow-bg'); export const Tooltip: TooltipThemeConfiguration = { variants: { dark: { - bg: "neutral.600", - [$arrowBg.variable]: "neutral.600", - color: "neutral.white", + bg: 'neutral.600', + [$arrowBg.variable]: 'neutral.600', + color: 'neutral.white', borderWidth: 0, }, }, diff --git a/apps/ats/web/src/theme/components/index.ts b/apps/ats/web/src/theme/components/index.ts index 71d9844e5..890825fd9 100644 --- a/apps/ats/web/src/theme/components/index.ts +++ b/apps/ats/web/src/theme/components/index.ts @@ -203,31 +203,31 @@ */ -import { Accordion } from "./Accordion"; -import { AccordionItem } from "./AccordionItem"; -import { Alert } from "./Alert"; -import { Avatar } from "./Avatar"; -import { Breadcrumb } from "./Breadcrumb"; -import { Button } from "./Button"; -import { Calendar } from "./Calendar"; -import { Checkbox } from "./Forms/Checkbox"; -import { DefinitionList } from "./DefinitionList"; -import { Dropdown } from "./Dropdown"; -import { FormError } from "./Forms/FormError"; -import { Header } from "./Header"; -import { Input } from "./Forms/Input"; -import { Link } from "./Link"; -import { Logo } from "./Logo"; -import { PopUp } from "./PopUp"; -import { Sidebar } from "./Sidebar"; -import { SidebarItem } from "./SidebarItem"; -import { Stepper } from "./Stepper"; -import { Table } from "./Table"; -import { Tabs } from "./Tabs"; -import { Tag } from "./Tag"; -import { Textarea } from "./Forms/Textarea"; -import { Toggle } from "./Forms/Toggle"; -import { Tooltip } from "./Tooltip"; +import { Accordion } from './Accordion'; +import { AccordionItem } from './AccordionItem'; +import { Alert } from './Alert'; +import { Avatar } from './Avatar'; +import { Breadcrumb } from './Breadcrumb'; +import { Button } from './Button'; +import { Calendar } from './Calendar'; +import { Checkbox } from './Forms/Checkbox'; +import { DefinitionList } from './DefinitionList'; +import { Dropdown } from './Dropdown'; +import { FormError } from './Forms/FormError'; +import { Header } from './Header'; +import { Input } from './Forms/Input'; +import { Link } from './Link'; +import { Logo } from './Logo'; +import { PopUp } from './PopUp'; +import { Sidebar } from './Sidebar'; +import { SidebarItem } from './SidebarItem'; +import { Stepper } from './Stepper'; +import { Table } from './Table'; +import { Tabs } from './Tabs'; +import { Tag } from './Tag'; +import { Textarea } from './Forms/Textarea'; +import { Toggle } from './Forms/Toggle'; +import { Tooltip } from './Tooltip'; export const components = { Accordion, diff --git a/apps/ats/web/src/theme/fonts.ts b/apps/ats/web/src/theme/fonts.ts index 5cd6dee1c..c2653cc0d 100644 --- a/apps/ats/web/src/theme/fonts.ts +++ b/apps/ats/web/src/theme/fonts.ts @@ -208,9 +208,9 @@ export const fonts = { }; export const fontWeights = { - light: "300", - regular: "400", - medium: "500", - semibold: "600", - bold: "700", + light: '300', + regular: '400', + medium: '500', + semibold: '600', + bold: '700', }; diff --git a/apps/ats/web/src/theme/index.ts b/apps/ats/web/src/theme/index.ts index 545bcbecb..3ae61e6f1 100644 --- a/apps/ats/web/src/theme/index.ts +++ b/apps/ats/web/src/theme/index.ts @@ -203,43 +203,43 @@ */ -import { extendTheme, type ThemeConfig } from "@chakra-ui/react"; -import _omit from "lodash/omit"; -import { fonts, fontWeights } from "./fonts"; -import { BasePlatformTheme } from "io-bricks-ui/Theme"; -import { components } from "./components"; -import { colors } from "./colors"; +import { extendTheme, type ThemeConfig } from '@chakra-ui/react'; +import _omit from 'lodash/omit'; +import { fonts, fontWeights } from './fonts'; +import { BasePlatformTheme } from 'io-bricks-ui/Theme'; +import { components } from './components'; +import { colors } from './colors'; const config: ThemeConfig = { - initialColorMode: "dark", + initialColorMode: 'dark', useSystemColorMode: false, }; -const iobricksTheme = _omit(BasePlatformTheme, "colors"); +const iobricksTheme = _omit(BasePlatformTheme, 'colors'); const commonContainerLayout = { - w: "full", + w: 'full', p: 4, pt: 6, borderRadius: 1, - "&::-webkit-scrollbar": { + '&::-webkit-scrollbar': { w: 2, - h: "213px", + h: '213px', }, - "&::-webkit-scrollbar-track": { + '&::-webkit-scrollbar-track': { w: 2, - h: "213px", + h: '213px', }, - "&::-webkit-scrollbar-thumb": { - background: "primary.100", - borderRadius: "20px", + '&::-webkit-scrollbar-thumb': { + background: 'primary.100', + borderRadius: '20px', }, }; const theme = extendTheme(iobricksTheme, { breakpoints: { - sm: "20em", - md: "48em", - lg: "60em", - xl: "75em", + sm: '20em', + md: '48em', + lg: '60em', + xl: '75em', }, colors, config, @@ -247,33 +247,33 @@ const theme = extendTheme(iobricksTheme, { fonts, fontWeights, radii: { - 2: "8px", - normal: "5px", + 2: '8px', + normal: '5px', }, styles: { global: { - "*": { - fontWeight: "unset", + '*': { + fontWeight: 'unset', }, body: { margin: 0, padding: 0, - height: "100vh", - fontFamily: "inter", - WebkitFontSmoothing: "antialiased", - MozOsxFontSmoothing: "grayscale", - background: "neutral.white", - display: "flex", - color: "neutral.800", + height: '100vh', + fontFamily: 'inter', + WebkitFontSmoothing: 'antialiased', + MozOsxFontSmoothing: 'grayscale', + background: 'neutral.white', + display: 'flex', + color: 'neutral.800', }, - "#root": { - display: "flex", - width: "100%", - maxWidth: "auto", + '#root': { + display: 'flex', + width: '100%', + maxWidth: 'auto', p: 0, main: { flex: 1, - overflow: "auto", + overflow: 'auto', marginTop: 0, }, }, @@ -282,15 +282,15 @@ const theme = extendTheme(iobricksTheme, { layerStyles: { container: { ...commonContainerLayout, - bgColor: "neutral.50", + bgColor: 'neutral.50', }, greyContainer: { ...commonContainerLayout, - bgColor: "neutral.100", + bgColor: 'neutral.100', }, whiteContainer: { ...commonContainerLayout, - bgColor: "neutral.white", + bgColor: 'neutral.white', }, }, }); diff --git a/apps/ats/web/src/utils/SecurityRole.ts b/apps/ats/web/src/utils/SecurityRole.ts index aacd1c396..2a39ccf05 100644 --- a/apps/ats/web/src/utils/SecurityRole.ts +++ b/apps/ats/web/src/utils/SecurityRole.ts @@ -204,28 +204,28 @@ */ export enum SecurityRole { - _DEFAULT_ADMIN_ROLE = "0x0000000000000000000000000000000000000000000000000000000000000000", - _ISSUER_ROLE = "0x4be32e8849414d19186807008dabd451c1d87dae5f8e22f32f5ce94d486da842", - _FREEZE_MANAGER_ROLE = "0xd0e5294c1fc630933e135c5b668c5d577576754d33964d700bbbcdbfd7e1361b", - _CONTROLLER_ROLE = "0xa72964c08512ad29f46841ce735cff038789243c2b506a89163cc99f76d06c0f", - _PAUSER_ROLE = "0x6f65556918c1422809d0d567462eafeb371be30159d74b38ac958dc58864faeb", - _CONTROLLIST_ROLE = "0xca537e1c88c9f52dc5692c96c482841c3bea25aafc5f3bfe96f645b5f800cac3", - _CORPORATEACTIONS_ROLE = "0x8a139eeb747b9809192ae3de1b88acfd2568c15241a5c4f85db0443a536d77d6", - _DOCUMENTER_ROLE = "0x83ace103a76d3729b4ba1350ad27522bbcda9a1a589d1e5091f443e76abccf41", - _SNAPSHOT_ROLE = "0x3fbb44760c0954eea3f6cb9f1f210568f5ae959dcbbef66e72f749dbaa7cc2da", - _LOCKER_ROLE = "0xd8aa8c6f92fe8ac3f3c0f88216e25f7c08b3a6c374b4452a04d200c29786ce88", - _CAP_ROLE = "0xb60cac52541732a1020ce6841bc7449e99ed73090af03b50911c75d631476571", - _BOND_MANAGER_ROLE = "0x8e99f55d84328dd46dd7790df91f368b44ea448d246199c88b97896b3f83f65d", - _ADJUSTMENT_BALANCE_ROLE = "0x6d0d63b623e69df3a6ea8aebd01f360a0250a880cbc44f7f10c49726a80a78a9", - _PROTECTED_PARTITION_ROLE = "0x8e359333991af626d1f6087d9bc57221ef1207a053860aaa78b7609c2c8f96b6", - _PROTECTED_PARTITIONS_PARTICIPANT_ROLE = "0xdaba153046c65d49da6a7597abc24374aa681e3eee7004426ca6185b3927a3f5", - _WILD_CARD_ROLE = "0x96658f163b67573bbf1e3f9e9330b199b3ac2f6ec0139ea95f622e20a5df2f46", - _SSI_MANAGER_ROLE = "0x0995a089e16ba792fdf9ec5a4235cba5445a9fb250d6e96224c586678b81ebd0", - _KYC_ROLE = "0x6fbd421e041603fa367357d79ffc3b2f9fd37a6fc4eec661aa5537a9ae75f93d", - _CLEARING_ROLE = "0x2292383e7bb988fb281e5195ab88da11e62fec74cf43e8685cff613d6b906450", - _CLEARING_VALIDATOR_ROLE = "0x7b688898673e16c47810f5da9ce1262a3d7d022dfe27c8ff9305371cd435c619", - _PAUSE_MANAGER_ROLE = "0xbc36fbd776e95c4811506a63b650c876b4159cb152d827a5f717968b67c69b84", - _CONTROL_LIST_MANAGER_ROLE = "0x0e625647b832ec7d4146c12550c31c065b71e0a698095568fd8320dd2aa72e75", - _KYC_MANAGER_ROLE = "0x8ebae577938c1afa7fb3dc7b06459c79c86ffd2ac9805b6da92ee4cbbf080449", - _INTERNAL_KYC_MANAGER_ROLE = "0x3916c5c9e68488134c2ee70660332559707c133d0a295a25971da4085441522e", + _DEFAULT_ADMIN_ROLE = '0x0000000000000000000000000000000000000000000000000000000000000000', + _ISSUER_ROLE = '0x4be32e8849414d19186807008dabd451c1d87dae5f8e22f32f5ce94d486da842', + _FREEZE_MANAGER_ROLE = '0xd0e5294c1fc630933e135c5b668c5d577576754d33964d700bbbcdbfd7e1361b', + _CONTROLLER_ROLE = '0xa72964c08512ad29f46841ce735cff038789243c2b506a89163cc99f76d06c0f', + _PAUSER_ROLE = '0x6f65556918c1422809d0d567462eafeb371be30159d74b38ac958dc58864faeb', + _CONTROLLIST_ROLE = '0xca537e1c88c9f52dc5692c96c482841c3bea25aafc5f3bfe96f645b5f800cac3', + _CORPORATEACTIONS_ROLE = '0x8a139eeb747b9809192ae3de1b88acfd2568c15241a5c4f85db0443a536d77d6', + _DOCUMENTER_ROLE = '0x83ace103a76d3729b4ba1350ad27522bbcda9a1a589d1e5091f443e76abccf41', + _SNAPSHOT_ROLE = '0x3fbb44760c0954eea3f6cb9f1f210568f5ae959dcbbef66e72f749dbaa7cc2da', + _LOCKER_ROLE = '0xd8aa8c6f92fe8ac3f3c0f88216e25f7c08b3a6c374b4452a04d200c29786ce88', + _CAP_ROLE = '0xb60cac52541732a1020ce6841bc7449e99ed73090af03b50911c75d631476571', + _BOND_MANAGER_ROLE = '0x8e99f55d84328dd46dd7790df91f368b44ea448d246199c88b97896b3f83f65d', + _ADJUSTMENT_BALANCE_ROLE = '0x6d0d63b623e69df3a6ea8aebd01f360a0250a880cbc44f7f10c49726a80a78a9', + _PROTECTED_PARTITION_ROLE = '0x8e359333991af626d1f6087d9bc57221ef1207a053860aaa78b7609c2c8f96b6', + _PROTECTED_PARTITIONS_PARTICIPANT_ROLE = '0xdaba153046c65d49da6a7597abc24374aa681e3eee7004426ca6185b3927a3f5', + _WILD_CARD_ROLE = '0x96658f163b67573bbf1e3f9e9330b199b3ac2f6ec0139ea95f622e20a5df2f46', + _SSI_MANAGER_ROLE = '0x0995a089e16ba792fdf9ec5a4235cba5445a9fb250d6e96224c586678b81ebd0', + _KYC_ROLE = '0x6fbd421e041603fa367357d79ffc3b2f9fd37a6fc4eec661aa5537a9ae75f93d', + _CLEARING_ROLE = '0x2292383e7bb988fb281e5195ab88da11e62fec74cf43e8685cff613d6b906450', + _CLEARING_VALIDATOR_ROLE = '0x7b688898673e16c47810f5da9ce1262a3d7d022dfe27c8ff9305371cd435c619', + _PAUSE_MANAGER_ROLE = '0xbc36fbd776e95c4811506a63b650c876b4159cb152d827a5f717968b67c69b84', + _CONTROL_LIST_MANAGER_ROLE = '0x0e625647b832ec7d4146c12550c31c065b71e0a698095568fd8320dd2aa72e75', + _KYC_MANAGER_ROLE = '0x8ebae577938c1afa7fb3dc7b06459c79c86ffd2ac9805b6da92ee4cbbf080449', + _INTERNAL_KYC_MANAGER_ROLE = '0x3916c5c9e68488134c2ee70660332559707c133d0a295a25971da4085441522e', } diff --git a/apps/ats/web/src/utils/constants.ts b/apps/ats/web/src/utils/constants.ts index ee7f580d6..9503ec475 100644 --- a/apps/ats/web/src/utils/constants.ts +++ b/apps/ats/web/src/utils/constants.ts @@ -203,26 +203,26 @@ */ -export const METAMASK_URL = "https://metamask.io/download/"; +export const METAMASK_URL = 'https://metamask.io/download/'; export enum WalletStatus { - connected = "CONNECTED", - connecting = "CONNECTING", - disconnected = "DISCONNECTED", - uninstalled = "UNINSTALLED", + connected = 'CONNECTED', + connecting = 'CONNECTING', + disconnected = 'DISCONNECTED', + uninstalled = 'UNINSTALLED', } export enum User { - admin = "admin", - holder = "holder", - general = "general", + admin = 'admin', + holder = 'holder', + general = 'general', } -export const LOCALE = "en-US"; +export const LOCALE = 'en-US'; export const COUPONS_FACTOR = 1000; export const NOMINAL_VALUE_FACTOR = 100; -export const DATE_TIME_FORMAT = "dd/MM/yyyy HH:mm:ss"; +export const DATE_TIME_FORMAT = 'dd/MM/yyyy HH:mm:ss'; export const DEFAULT_PARTITION = - "0x0000000000000000000000000000000000000000000000000000000000000001"; + '0x0000000000000000000000000000000000000000000000000000000000000001'; diff --git a/apps/ats/web/src/utils/countriesConfig.ts b/apps/ats/web/src/utils/countriesConfig.ts index bf1b0892a..e1d6fa665 100644 --- a/apps/ats/web/src/utils/countriesConfig.ts +++ b/apps/ats/web/src/utils/countriesConfig.ts @@ -203,5 +203,5 @@ */ -export const COUNTRY_LIST_ALLOWED: string[] = ["US"]; -export const COUNTRY_LIST_BLOCKED: string[] = ["CU", "KP", "IR", "SY"]; +export const COUNTRY_LIST_ALLOWED: string[] = ['US']; +export const COUNTRY_LIST_BLOCKED: string[] = ['CU', 'KP', 'IR', 'SY']; diff --git a/apps/ats/web/src/utils/format.ts b/apps/ats/web/src/utils/format.ts index 37c524222..a5387f068 100644 --- a/apps/ats/web/src/utils/format.ts +++ b/apps/ats/web/src/utils/format.ts @@ -203,11 +203,11 @@ */ -import _capitalize from "lodash/capitalize"; -import _formatDate from "date-fns/format"; -import { TimeUnit } from "./types"; -import i18n from "../i18n"; -import { LOCALE } from "./constants"; +import _capitalize from 'lodash/capitalize'; +import _formatDate from 'date-fns/format'; +import { TimeUnit } from './types'; +import i18n from '../i18n'; +import { LOCALE } from './constants'; export const formatAddressAccount = (address: string) => `${_capitalize( address.slice(0, 2), @@ -217,7 +217,7 @@ export const formatAddressAccount = (address: string) => `${_capitalize( export const formatCurrency = ( amount: number, { - currency = "EUR", + currency = 'EUR', locale = LOCALE, options, }: { @@ -227,7 +227,7 @@ export const formatCurrency = ( } = {}, ) => { return (amount ?? 0).toLocaleString(locale, { - style: "currency", + style: 'currency', currency, minimumFractionDigits: 3, maximumFractionDigits: 3, @@ -245,12 +245,12 @@ export const toDate = (date: string | Date = new Date()) => export const formatDate = ( date?: string | Date | number, - format = "dd/MM/yyyy", - defaultValue = "", + format = 'dd/MM/yyyy', + defaultValue = '', ) => { if (!date) return defaultValue; - if (typeof date === "number") return _formatDate(date, format); + if (typeof date === 'number') return _formatDate(date, format); return _formatDate(toDate(date), format); }; @@ -278,7 +278,7 @@ export const formatFrequency = ({ timeUnit: TimeUnit; }) => { const unit = i18n.t(`timeUnit.${timeUnit}`, { count: amount }); - return `${i18n.t("every")} ${amount} ${unit}`; + return `${i18n.t('every')} ${amount} ${unit}`; }; export const formatPeriod = ({ @@ -299,7 +299,7 @@ export const formatNumber = ( decimals = 3, ) => (+(value || 0)).toLocaleString(i18n.language, { - style: "decimal", + style: 'decimal', minimumFractionDigits: decimals, maximumFractionDigits: decimals, ...options, @@ -311,9 +311,9 @@ export const toNumber = (value?: string, decimals: number = 0) => { }; export const formatNumberLocale = (value?: string | number, decimals = 0) => { - if (value === undefined) return ""; + if (value === undefined) return ''; const valueNumber = - typeof value === "string" ? toNumber(value, decimals) : value; + typeof value === 'string' ? toNumber(value, decimals) : value; return valueNumber.toLocaleString(LOCALE, { minimumFractionDigits: decimals, maximumFractionDigits: decimals, @@ -321,7 +321,7 @@ export const formatNumberLocale = (value?: string | number, decimals = 0) => { }; export const textToHex = (text: string) => { - let ascii = "0x"; + let ascii = '0x'; for (let index = 0; index < text.length; index++) { ascii = ascii + text.charCodeAt(index).toString(16); @@ -331,7 +331,7 @@ export const textToHex = (text: string) => { }; export const hexToText = (hexString: string) => { - let asciiString = ""; + let asciiString = ''; for (let i = 0; i < hexString.length; i += 2) { const hexChar = hexString.substring(i, i + 2); @@ -356,7 +356,7 @@ export const calculateCouponFrequency = (couponFrequency: string) => { }; export const calculateFactorDecimals = (number: number, separator?: string) => { - const [integerPart, decimalPart] = number.toString().split(separator ?? "."); + const [integerPart, decimalPart] = number.toString().split(separator ?? '.'); const factorNumber = Number( decimalPart ? integerPart + decimalPart : integerPart, diff --git a/apps/ats/web/src/utils/helpers.ts b/apps/ats/web/src/utils/helpers.ts index f6b145b4d..8b25c7ac8 100644 --- a/apps/ats/web/src/utils/helpers.ts +++ b/apps/ats/web/src/utils/helpers.ts @@ -203,28 +203,28 @@ */ -import isBefore from "date-fns/isBefore"; -import { toDate } from "./format"; -import { SecurityRole } from "./SecurityRole"; +import isBefore from 'date-fns/isBefore'; +import { toDate } from './format'; +import { SecurityRole } from './SecurityRole'; export const checkIsApprovalError = (error: unknown) => { - if (typeof error !== "object" || error === null) return false; + if (typeof error !== 'object' || error === null) return false; // @ts-ignore - return error?.message?.includes("is not in white list"); + return error?.message?.includes('is not in white list'); }; export const checkIsBlockedError = (error: unknown) => { - if (typeof error !== "object" || error === null) return false; + if (typeof error !== 'object' || error === null) return false; // @ts-ignore - return error?.message?.includes("is in black list"); + return error?.message?.includes('is in black list'); }; export enum KnownErrors { - blocked = "blocked", - not_approved = "not_approved", - unknown = "unknown", + blocked = 'blocked', + not_approved = 'not_approved', + unknown = 'unknown', } export const checkError = (error: unknown) => { diff --git a/apps/ats/web/src/utils/rules.ts b/apps/ats/web/src/utils/rules.ts index 2b3761708..e68d7eebd 100644 --- a/apps/ats/web/src/utils/rules.ts +++ b/apps/ats/web/src/utils/rules.ts @@ -203,12 +203,12 @@ */ -import isAfter from "date-fns/isAfter"; -import isBefore from "date-fns/isBefore"; -import isToday from "date-fns/isToday"; -import isEqual from "date-fns/isEqual"; -import i18n from "../i18n"; -import { formatDate, toDate } from "./format"; +import isAfter from 'date-fns/isAfter'; +import isBefore from 'date-fns/isBefore'; +import isToday from 'date-fns/isToday'; +import isEqual from 'date-fns/isEqual'; +import i18n from '../i18n'; +import { formatDate, toDate } from './format'; const t = (key: string, options?: object) => { return i18n.t(`rules:${key}`, options || {}); @@ -216,86 +216,86 @@ const t = (key: string, options?: object) => { export const maxLength = (value: number) => ({ value, - message: t("maxlength", { value }), + message: t('maxlength', { value }), }); export const required = { value: true, - message: t("required"), + message: t('required'), }; export const isEmail = { value: /\S+@\S+\.\S+/, - message: t("email"), + message: t('email'), }; export const min = (value: number) => ({ value, - message: t("greaterOrEqualThan", { min: value }), + message: t('greaterOrEqualThan', { min: value }), }); export const greaterThanZero = (val: number) => - val > 0 || t("greaterThan", { min: 0 }); + val > 0 || t('greaterThan', { min: 0 }); export const greaterThan = (min: number) => (val: number) => - val > min || t("greaterThan", { min }); + val > min || t('greaterThan', { min }); export const greaterOrEqualThan = (min: number) => (val: number) => - val >= min || t("greaterOrEqualThan", { min }); + val >= min || t('greaterOrEqualThan', { min }); export const isAfterDate = (initialDate: Date, format?: string) => (val: string | Date) => isAfter(toDate(val), initialDate) || - t("dateAfter", { date: formatDate(initialDate, format ?? "dd-MM-yyyy") }); + t('dateAfter', { date: formatDate(initialDate, format ?? 'dd-MM-yyyy') }); export const isAfterTodayOrEqualDate = () => (val: string | Date) => isAfter(toDate(val), new Date()) || isToday(toDate(val)) || - t("dateAfter", { date: formatDate(new Date(), "dd-MM-yyyy") }); + t('dateAfter', { date: formatDate(new Date(), 'dd-MM-yyyy') }); export const isBetweenDates = (initialDate: Date, maxDate: Date) => (val: string | Date) => (isAfter(toDate(val), initialDate) && isBefore(toDate(val), maxDate)) || - t("dateBetween", { - min: formatDate(initialDate, "dd-MM-yyyy"), - max: formatDate(maxDate, "dd-MM-yyyy"), + t('dateBetween', { + min: formatDate(initialDate, 'dd-MM-yyyy'), + max: formatDate(maxDate, 'dd-MM-yyyy'), }); export const isBetweenInclusiveDates = (initialDate: Date, maxDate: Date) => (val: string | Date) => ((isAfter(toDate(val), initialDate) || isEqual(toDate(val), initialDate)) && (isBefore(toDate(val), maxDate) || isEqual(toDate(val), maxDate))) || - t("dateBetween", { - min: formatDate(initialDate, "dd-MM-yyyy"), - max: formatDate(maxDate, "dd-MM-yyyy"), + t('dateBetween', { + min: formatDate(initialDate, 'dd-MM-yyyy'), + max: formatDate(maxDate, 'dd-MM-yyyy'), }); export const isPercentage = (val: number) => - val <= 100 || t("invalidPercentage"); + val <= 100 || t('invalidPercentage'); export const lowerOrEqualThan = (max: number) => (val: number) => - val <= max || t("maxExceeded"); + val <= max || t('maxExceeded'); export const lowerThan = (max: number) => (val: number) => - val < max || t("lowerThan", { max }); + val < max || t('lowerThan', { max }); export const isISINValid = (val: string) => { if (val.length !== 12) { - return t("isISINValid", { length: 12 }); + return t('isISINValid', { length: 12 }); } const isinRegex = /^[A-Z]{2}[A-Z0-9]{10}$/; if (!isinRegex.test(val)) { - return t("isISINValidFormat"); + return t('isISINValidFormat'); } // Validate Luhn algorithm const digits = val - .split("") + .split('') .map((char) => /[A-Z]/.test(char) ? char.charCodeAt(0) - 55 : parseInt(char, 10), ) - .join(""); + .join(''); let sum = 0; let alternate = false; @@ -311,7 +311,7 @@ export const isISINValid = (val: string) => { } if (sum % 10 !== 0) { - return t("isISINValidFormat"); + return t('isISINValidFormat'); } return true; @@ -319,5 +319,5 @@ export const isISINValid = (val: string) => { export const isHederaValidAddress = (val: string) => { const maskRegex = /^[0-9]\.[0-9]\.[0-9]{1,7}$/; - return maskRegex.test(val) || t("isHederaValidAddress"); + return maskRegex.test(val) || t('isHederaValidAddress'); }; diff --git a/apps/ats/web/src/utils/types.ts b/apps/ats/web/src/utils/types.ts index f2ec4cf13..11c68027d 100644 --- a/apps/ats/web/src/utils/types.ts +++ b/apps/ats/web/src/utils/types.ts @@ -203,7 +203,7 @@ */ -export type TimeUnit = "YEAR" | "MONTH" | "DAY"; +export type TimeUnit = 'YEAR' | 'MONTH' | 'DAY'; export type Options = Array<{ code: T; diff --git a/apps/ats/web/src/views/AddExternalControl/AddExternalControl.tsx b/apps/ats/web/src/views/AddExternalControl/AddExternalControl.tsx index a61c37701..0b946b275 100644 --- a/apps/ats/web/src/views/AddExternalControl/AddExternalControl.tsx +++ b/apps/ats/web/src/views/AddExternalControl/AddExternalControl.tsx @@ -1,33 +1,33 @@ -import { Box, HStack, Stack, VStack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { RouteName } from "../../router/RouteName"; -import { useTranslation } from "react-i18next"; -import { RoutePath } from "../../router/RoutePath"; +import { Box, HStack, Stack, VStack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { RouteName } from '../../router/RouteName'; +import { useTranslation } from 'react-i18next'; +import { RoutePath } from '../../router/RoutePath'; import { Button, InputController, SelectController, Text, useToast, -} from "io-bricks-ui"; -import { isHederaValidAddress, required } from "../../utils/rules"; -import { useForm } from "react-hook-form"; -import { RouterManager } from "../../router/RouterManager"; -import { useState } from "react"; -import { useExternalControlStore } from "../../store/externalControlStore"; +} from 'io-bricks-ui'; +import { isHederaValidAddress, required } from '../../utils/rules'; +import { useForm } from 'react-hook-form'; +import { RouterManager } from '../../router/RouterManager'; +import { useState } from 'react'; +import { useExternalControlStore } from '../../store/externalControlStore'; export interface FormValues { externalControlId: string; - type: "whitelist" | "blacklist"; + type: 'whitelist' | 'blacklist'; } export const AddExternalControl = () => { const toast = useToast(); - const { t: tRoutes } = useTranslation("routes"); + const { t: tRoutes } = useTranslation('routes'); - const { t: tAdd } = useTranslation("externalControl", { - keyPrefix: "add", + const { t: tAdd } = useTranslation('externalControl', { + keyPrefix: 'add', }); const [isSubmitting, setIsSubmitting] = useState(false); @@ -39,7 +39,7 @@ export const AddExternalControl = () => { formState: { isValid }, handleSubmit, } = useForm({ - mode: "onChange", + mode: 'onChange', }); const onSubmit = async (values: FormValues) => { @@ -51,9 +51,9 @@ export const AddExternalControl = () => { }); toast.show({ - status: "success", - title: tAdd("messages.addExternalControl.success"), - description: tAdd("messages.addExternalControl.descriptionSuccess"), + status: 'success', + title: tAdd('messages.addExternalControl.success'), + description: tAdd('messages.addExternalControl.descriptionSuccess'), }); setIsSubmitting(false); @@ -68,32 +68,32 @@ export const AddExternalControl = () => { excludePaths={[RoutePath.DASHBOARD]} /> - {tAdd("title")} - {tAdd("subtitle")} + {tAdd('title')} + {tAdd('subtitle')} - {tAdd("mandatoryFields")} + {tAdd('mandatoryFields')} - {tAdd("input.id.label")} + {tAdd('input.id.label')} { /> - {tAdd("input.type.label")} + {tAdd('input.type.label')} { }} /> - + RouterManager.goBack()} > - {tAdd("cancel")} + {tAdd('cancel')} - {tAdd("create")} + {tAdd('create')} diff --git a/apps/ats/web/src/views/AddExternalKYC/AddExternalKYC.tsx b/apps/ats/web/src/views/AddExternalKYC/AddExternalKYC.tsx index 079fd4df1..0153c5b9a 100644 --- a/apps/ats/web/src/views/AddExternalKYC/AddExternalKYC.tsx +++ b/apps/ats/web/src/views/AddExternalKYC/AddExternalKYC.tsx @@ -1,14 +1,14 @@ -import { Box, HStack, Stack, VStack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { RouteName } from "../../router/RouteName"; -import { useTranslation } from "react-i18next"; -import { RoutePath } from "../../router/RoutePath"; -import { Button, InputController, Text, useToast } from "io-bricks-ui"; -import { isHederaValidAddress, required } from "../../utils/rules"; -import { useForm } from "react-hook-form"; -import { RouterManager } from "../../router/RouterManager"; -import { useState } from "react"; -import { useExternalKYCStore } from "../../store/externalKYCStore"; +import { Box, HStack, Stack, VStack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { RouteName } from '../../router/RouteName'; +import { useTranslation } from 'react-i18next'; +import { RoutePath } from '../../router/RoutePath'; +import { Button, InputController, Text, useToast } from 'io-bricks-ui'; +import { isHederaValidAddress, required } from '../../utils/rules'; +import { useForm } from 'react-hook-form'; +import { RouterManager } from '../../router/RouterManager'; +import { useState } from 'react'; +import { useExternalKYCStore } from '../../store/externalKYCStore'; export interface FormValues { externalKYCId: string; @@ -17,10 +17,10 @@ export interface FormValues { export const AddExternalKYC = () => { const toast = useToast(); - const { t: tRoutes } = useTranslation("routes"); + const { t: tRoutes } = useTranslation('routes'); - const { t: tAdd } = useTranslation("externalKYC", { - keyPrefix: "add", + const { t: tAdd } = useTranslation('externalKYC', { + keyPrefix: 'add', }); const [isSubmitting, setIsSubmitting] = useState(false); @@ -32,7 +32,7 @@ export const AddExternalKYC = () => { formState: { isValid }, handleSubmit, } = useForm({ - mode: "onChange", + mode: 'onChange', }); const onSubmit = async (values: FormValues) => { @@ -43,9 +43,9 @@ export const AddExternalKYC = () => { }); toast.show({ - status: "success", - title: tAdd("messages.addExternalKYC.success"), - description: tAdd("messages.addExternalKYC.descriptionSuccess"), + status: 'success', + title: tAdd('messages.addExternalKYC.success'), + description: tAdd('messages.addExternalKYC.descriptionSuccess'), }); setIsSubmitting(false); @@ -60,32 +60,32 @@ export const AddExternalKYC = () => { excludePaths={[RoutePath.DASHBOARD]} /> - {tAdd("title")} - {tAdd("subtitle")} + {tAdd('title')} + {tAdd('subtitle')} - {tAdd("mandatoryFields")} + {tAdd('mandatoryFields')} - {tAdd("input.id.label")} + {tAdd('input.id.label')} { }} /> - + RouterManager.goBack()} > - {tAdd("cancel")} + {tAdd('cancel')} - {tAdd("create")} + {tAdd('create')} diff --git a/apps/ats/web/src/views/AddExternalPause/AddExternalPause.tsx b/apps/ats/web/src/views/AddExternalPause/AddExternalPause.tsx index 656324149..810881939 100644 --- a/apps/ats/web/src/views/AddExternalPause/AddExternalPause.tsx +++ b/apps/ats/web/src/views/AddExternalPause/AddExternalPause.tsx @@ -1,16 +1,16 @@ -import { Box, HStack, Stack, VStack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { RouteName } from "../../router/RouteName"; -import { useTranslation } from "react-i18next"; -import { RoutePath } from "../../router/RoutePath"; -import { Button, InputController, Text, useToast } from "io-bricks-ui"; -import { isHederaValidAddress, required } from "../../utils/rules"; -import { useForm } from "react-hook-form"; -import { RouterManager } from "../../router/RouterManager"; -import { useIsPauseMock } from "../../hooks/queries/useExternalPause"; -import { IsPausedMockRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useExternalPauseStore } from "../../store/externalPauseStore"; -import { useState } from "react"; +import { Box, HStack, Stack, VStack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { RouteName } from '../../router/RouteName'; +import { useTranslation } from 'react-i18next'; +import { RoutePath } from '../../router/RoutePath'; +import { Button, InputController, Text, useToast } from 'io-bricks-ui'; +import { isHederaValidAddress, required } from '../../utils/rules'; +import { useForm } from 'react-hook-form'; +import { RouterManager } from '../../router/RouterManager'; +import { useIsPauseMock } from '../../hooks/queries/useExternalPause'; +import { IsPausedMockRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useExternalPauseStore } from '../../store/externalPauseStore'; +import { useState } from 'react'; export interface FormValues { externalPauseId: string; @@ -19,13 +19,13 @@ export interface FormValues { export const AddExternalPause = () => { const toast = useToast(); - const { t: tRoutes } = useTranslation("routes"); + const { t: tRoutes } = useTranslation('routes'); - const { t: tAdd } = useTranslation("externalPause", { - keyPrefix: "add", + const { t: tAdd } = useTranslation('externalPause', { + keyPrefix: 'add', }); - const { t: tMessages } = useTranslation("externalPause", { - keyPrefix: "messages", + const { t: tMessages } = useTranslation('externalPause', { + keyPrefix: 'messages', }); const [isSubmitting, setIsSubmitting] = useState(false); @@ -38,12 +38,12 @@ export const AddExternalPause = () => { handleSubmit, watch, } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { refetch } = useIsPauseMock( new IsPausedMockRequest({ - contractId: watch("externalPauseId"), + contractId: watch('externalPauseId'), }), { enabled: false, @@ -67,16 +67,16 @@ export const AddExternalPause = () => { isPaused: result.data, }); toast.show({ - status: "success", - title: tMessages("addExternalPause.success"), - description: tMessages("addExternalPause.descriptionSuccess"), + status: 'success', + title: tMessages('addExternalPause.success'), + description: tMessages('addExternalPause.descriptionSuccess'), }); } - } catch (error) { + } catch (_error) { toast.show({ - status: "error", - title: tMessages("addExternalPause.error"), - description: tMessages("addExternalPause.descriptionFailed"), + status: 'error', + title: tMessages('addExternalPause.error'), + description: tMessages('addExternalPause.descriptionFailed'), }); } finally { setIsSubmitting(false); @@ -91,32 +91,32 @@ export const AddExternalPause = () => { excludePaths={[RoutePath.DASHBOARD]} /> - {tAdd("title")} - {tAdd("subtitle")} + {tAdd('title')} + {tAdd('subtitle')} - {tAdd("mandatoryFields")} + {tAdd('mandatoryFields')} - {tAdd("input.id.label")} + {tAdd('input.id.label')} { }} /> - + RouterManager.goBack()} > - {tAdd("cancel")} + {tAdd('cancel')} - {tAdd("create")} + {tAdd('create')} diff --git a/apps/ats/web/src/views/AddSecurity/AddSecurity.tsx b/apps/ats/web/src/views/AddSecurity/AddSecurity.tsx index 4414de53f..35a387730 100644 --- a/apps/ats/web/src/views/AddSecurity/AddSecurity.tsx +++ b/apps/ats/web/src/views/AddSecurity/AddSecurity.tsx @@ -203,25 +203,25 @@ */ -import { HStack, Stack, VStack } from "@chakra-ui/react"; -import { Heading, Text, Button, useToast, InputController } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { RouteName } from "../../router/RouteName"; -import { History } from "../../components/History"; -import { CancelButton } from "../../components/CancelButton"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { AddSecurityFormValues } from "./AddSecurityFormValues"; -import { useAddDigitalSecurity } from "../../hooks/queries/useAddDigitalSecurity"; +import { HStack, Stack, VStack } from '@chakra-ui/react'; +import { Heading, Text, Button, useToast, InputController } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RouteName } from '../../router/RouteName'; +import { History } from '../../components/History'; +import { CancelButton } from '../../components/CancelButton'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { AddSecurityFormValues } from './AddSecurityFormValues'; +import { useAddDigitalSecurity } from '../../hooks/queries/useAddDigitalSecurity'; import { GetRoleCountForRequest, GetSecurityDetailsRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { isHederaValidAddress, required } from "../../utils/rules"; -import { RouterManager } from "../../router/RouterManager"; -import { useEffect, useState } from "react"; -import { useWalletStore } from "../../store/walletStore"; -import { useGetSecurityRoleCountFor } from "../../hooks/queries/useGetSecurityDetails"; -import { useAccountStore } from "../../store/accountStore"; +} from '@hashgraph/asset-tokenization-sdk'; +import { isHederaValidAddress, required } from '../../utils/rules'; +import { RouterManager } from '../../router/RouterManager'; +import { useEffect, useState } from 'react'; +import { useWalletStore } from '../../store/walletStore'; +import { useGetSecurityRoleCountFor } from '../../hooks/queries/useGetSecurityDetails'; +import { useAccountStore } from '../../store/accountStore'; export const AddSecurity = () => { const { @@ -230,10 +230,10 @@ export const AddSecurity = () => { data: addSecurityResult, } = useAddDigitalSecurity(); const { control, formState, handleSubmit } = useForm({ - mode: "all", + mode: 'all', }); - const { t } = useTranslation("security", { keyPrefix: "add" }); - const { t: tRoutes } = useTranslation("routes"); + const { t } = useTranslation('security', { keyPrefix: 'add' }); + const { t: tRoutes } = useTranslation('routes'); const { address } = useWalletStore(); const { addSecurityToAdmin, adminSecurities } = useAccountStore(); const [isRoleCountForLoading, setIsRoleCountForLoading] = @@ -241,7 +241,7 @@ export const AddSecurity = () => { const toast = useToast(); const roleCountForRequest = new GetRoleCountForRequest({ - securityId: addSecurityResult?.diamondAddress ?? "", + securityId: addSecurityResult?.diamondAddress ?? '', targetId: address, }); @@ -268,7 +268,7 @@ export const AddSecurity = () => { }, [addSecurityResult]); useEffect(() => { - if (typeof roleCountFor !== "undefined") { + if (typeof roleCountFor !== 'undefined') { if (roleCountFor > 0) { const securities = adminSecurities[address]; const existsInAdmin = securities?.some( @@ -283,8 +283,8 @@ export const AddSecurity = () => { toast.show({ duration: 3000, - title: `${t("messages.addedToAdmin")}`, - status: "success", + title: `${t('messages.addedToAdmin')}`, + status: 'success', }); } @@ -307,19 +307,19 @@ export const AddSecurity = () => { alignItems="flex-start" > - {t("title")} - {t("subtitle")} + {t('title')} + {t('subtitle')} - {t("form.mandatoryFields")} + {t('form.mandatoryFields')} - {t("form.input.address.label")} + {t('form.input.address.label')} { minW="unset" isLoading={isAddSecurityLoading || isRoleCountForLoading} > - {t("addDigitalSecurity")} + {t('addDigitalSecurity')} diff --git a/apps/ats/web/src/views/AddSecurity/__tests__/AddSecurity.test.tsx b/apps/ats/web/src/views/AddSecurity/__tests__/AddSecurity.test.tsx index 092e60c1f..9c143b35a 100644 --- a/apps/ats/web/src/views/AddSecurity/__tests__/AddSecurity.test.tsx +++ b/apps/ats/web/src/views/AddSecurity/__tests__/AddSecurity.test.tsx @@ -203,11 +203,11 @@ */ -import { AddSecurity } from "../AddSecurity"; -import { render } from "../../../test-utils"; +import { AddSecurity } from '../AddSecurity'; +import { render } from '../../../test-utils'; describe(`${AddSecurity.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/CreateBond/Components/CreateTokenButton.tsx b/apps/ats/web/src/views/CreateBond/Components/CreateTokenButton.tsx index 81ef05915..5da9ef58b 100644 --- a/apps/ats/web/src/views/CreateBond/Components/CreateTokenButton.tsx +++ b/apps/ats/web/src/views/CreateBond/Components/CreateTokenButton.tsx @@ -203,12 +203,12 @@ */ -import { Button } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { Button } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const CreateTokenButton = (props: ButtonProps) => { - const { t } = useTranslation("security", { keyPrefix: "createBond" }); + const { t } = useTranslation('security', { keyPrefix: 'createBond' }); return ( { variant="primary" {...props} > - {t("createTokenButton")} + {t('createTokenButton')} ); }; diff --git a/apps/ats/web/src/views/CreateBond/Components/NextStepButton.tsx b/apps/ats/web/src/views/CreateBond/Components/NextStepButton.tsx index f3801bdf3..16ffbe6bf 100644 --- a/apps/ats/web/src/views/CreateBond/Components/NextStepButton.tsx +++ b/apps/ats/web/src/views/CreateBond/Components/NextStepButton.tsx @@ -203,12 +203,12 @@ */ -import { Button, useStepContext } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { Button, useStepContext } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const NextStepButton = (props: ButtonProps) => { - const { t } = useTranslation("security", { keyPrefix: "createEquity" }); + const { t } = useTranslation('security', { keyPrefix: 'createEquity' }); const { goToNext } = useStepContext(); @@ -222,7 +222,7 @@ export const NextStepButton = (props: ButtonProps) => { onClick={goToNext} {...props} > - {t("nextStepButton")} + {t('nextStepButton')} ); }; diff --git a/apps/ats/web/src/views/CreateBond/Components/PreviousStepButton.tsx b/apps/ats/web/src/views/CreateBond/Components/PreviousStepButton.tsx index 181024a5d..26b3c2bb6 100644 --- a/apps/ats/web/src/views/CreateBond/Components/PreviousStepButton.tsx +++ b/apps/ats/web/src/views/CreateBond/Components/PreviousStepButton.tsx @@ -203,12 +203,12 @@ */ -import { Button, useStepContext } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { Button, useStepContext } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const PreviousStepButton = (props: ButtonProps) => { - const { t } = useTranslation("security", { keyPrefix: "createEquity" }); + const { t } = useTranslation('security', { keyPrefix: 'createEquity' }); const { goToPrevious } = useStepContext(); @@ -222,7 +222,7 @@ export const PreviousStepButton = (props: ButtonProps) => { onClick={goToPrevious} {...props} > - {t("previousStepButton")} + {t('previousStepButton')} ); }; diff --git a/apps/ats/web/src/views/CreateBond/Components/StepConfiguration.tsx b/apps/ats/web/src/views/CreateBond/Components/StepConfiguration.tsx index 1f8e65eba..7dd71c96b 100644 --- a/apps/ats/web/src/views/CreateBond/Components/StepConfiguration.tsx +++ b/apps/ats/web/src/views/CreateBond/Components/StepConfiguration.tsx @@ -203,9 +203,9 @@ */ -import { useEffect } from "react"; -import { HStack, Stack } from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; +import { useEffect } from 'react'; +import { HStack, Stack } from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; import { PhosphorIcon, Text, @@ -213,30 +213,30 @@ import { InputController, InputNumberController, Tooltip, -} from "io-bricks-ui"; -import { CancelButton } from "../../../components/CancelButton"; -import { NextStepButton } from "./NextStepButton"; -import { PreviousStepButton } from "./PreviousStepButton"; -import { required, isAfterDate, min } from "../../../utils/rules"; -import { ICreateBondFormValues } from "../ICreateBondFormValues"; -import { useFormContext, useFormState } from "react-hook-form"; -import { FormStepContainer } from "../../../components/FormStepContainer"; -import { formatNumber } from "../../../utils/format"; -import { Info } from "@phosphor-icons/react"; -import { addDays } from "date-fns"; +} from 'io-bricks-ui'; +import { CancelButton } from '../../../components/CancelButton'; +import { NextStepButton } from './NextStepButton'; +import { PreviousStepButton } from './PreviousStepButton'; +import { required, isAfterDate, min } from '../../../utils/rules'; +import { ICreateBondFormValues } from '../ICreateBondFormValues'; +import { useFormContext, useFormState } from 'react-hook-form'; +import { FormStepContainer } from '../../../components/FormStepContainer'; +import { formatNumber } from '../../../utils/format'; +import { Info } from '@phosphor-icons/react'; +import { addDays } from 'date-fns'; export const StepConfiguration = () => { - const { t } = useTranslation("security", { keyPrefix: "createBond" }); + const { t } = useTranslation('security', { keyPrefix: 'createBond' }); const { control, watch, setValue, getValues } = useFormContext(); const stepFormState = useFormState({ control }); const today = new Date(); - const startingDate = watch("startingDate"); - const nominalValue = watch("nominalValue"); - const numberOfUnits = watch("numberOfUnits"); - const totalAmount = watch("totalAmount"); - const decimals = getValues("decimals"); + const startingDate = watch('startingDate'); + const nominalValue = watch('nominalValue'); + const numberOfUnits = watch('numberOfUnits'); + const totalAmount = watch('totalAmount'); + const decimals = getValues('decimals'); useEffect(() => { let totalAmount = 0; @@ -244,23 +244,23 @@ export const StepConfiguration = () => { totalAmount = Number(nominalValue) * Number(numberOfUnits); } - setValue("totalAmount", formatNumber(totalAmount, {}, 2)); + setValue('totalAmount', formatNumber(totalAmount, {}, 2)); }, [nominalValue, numberOfUnits, setValue]); return ( - {t("stepConfiguration.title")} + {t('stepConfiguration.title')} - {t("stepConfiguration.subtitle")} + {t('stepConfiguration.subtitle')} - {t("stepConfiguration.mandatoryFields")} + {t('stepConfiguration.mandatoryFields')} - {t("stepConfiguration.currency")} + {t('stepConfiguration.currency')} { - {t("stepConfiguration.numberOfUnits")}* + {t('stepConfiguration.numberOfUnits')}* @@ -294,7 +294,7 @@ export const StepConfiguration = () => { }} decimalScale={decimals} fixedDecimalScale={true} - placeholder={t("stepConfiguration.numberOfUnitsPlaceHolder")} + placeholder={t('stepConfiguration.numberOfUnitsPlaceHolder')} backgroundColor="neutral.600" size="md" thousandSeparator="," @@ -304,10 +304,10 @@ export const StepConfiguration = () => { - {t("stepConfiguration.nominalValue")}* + {t('stepConfiguration.nominalValue')}* @@ -322,7 +322,7 @@ export const StepConfiguration = () => { }} decimalScale={2} fixedDecimalScale={true} - placeholder={t("stepConfiguration.nominalValuePlaceHolder")} + placeholder={t('stepConfiguration.nominalValuePlaceHolder')} backgroundColor="neutral.600" size="md" thousandSeparator="," @@ -332,10 +332,10 @@ export const StepConfiguration = () => { - {t("stepConfiguration.totalAmount")}* + {t('stepConfiguration.totalAmount')}* @@ -355,10 +355,10 @@ export const StepConfiguration = () => { - {t("stepConfiguration.startingDate")}* + {t('stepConfiguration.startingDate')}* @@ -371,7 +371,7 @@ export const StepConfiguration = () => { rules={{ required, }} - placeholder={t("stepConfiguration.startingDatePlaceHolder")} + placeholder={t('stepConfiguration.startingDatePlaceHolder')} backgroundColor="neutral.600" size="md" /> @@ -379,10 +379,10 @@ export const StepConfiguration = () => { - {t("stepConfiguration.maturityDate")}* + {t('stepConfiguration.maturityDate')}* @@ -396,7 +396,7 @@ export const StepConfiguration = () => { required, validate: isAfterDate(new Date(startingDate)), }} - placeholder={t("stepConfiguration.maturityDatePlaceHolder")} + placeholder={t('stepConfiguration.maturityDatePlaceHolder')} backgroundColor="neutral.600" size="md" /> @@ -406,7 +406,7 @@ export const StepConfiguration = () => { w="full" h="100px" align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > diff --git a/apps/ats/web/src/views/CreateBond/Components/StepCoupon.tsx b/apps/ats/web/src/views/CreateBond/Components/StepCoupon.tsx index 6627f19cd..d4437cc8c 100644 --- a/apps/ats/web/src/views/CreateBond/Components/StepCoupon.tsx +++ b/apps/ats/web/src/views/CreateBond/Components/StepCoupon.tsx @@ -203,9 +203,9 @@ */ -import { useEffect } from "react"; -import { HStack, Stack } from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; +import { useEffect } from 'react'; +import { HStack, Stack } from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; import { PhosphorIcon, Text, @@ -213,40 +213,40 @@ import { InputController, InputNumberController, SelectController, -} from "io-bricks-ui"; -import { CancelButton } from "../../../components/CancelButton"; -import { NextStepButton } from "./NextStepButton"; -import { PreviousStepButton } from "./PreviousStepButton"; +} from 'io-bricks-ui'; +import { CancelButton } from '../../../components/CancelButton'; +import { NextStepButton } from './NextStepButton'; +import { PreviousStepButton } from './PreviousStepButton'; import { greaterThan, isBetweenInclusiveDates, required, -} from "../../../utils/rules"; -import { ICreateBondFormValues } from "../ICreateBondFormValues"; -import { useFormContext, useFormState } from "react-hook-form"; -import { formatDate } from "../../../utils/format"; -import { CouponTypeOptions } from "../CouponType"; -import { Tooltip } from "io-bricks-ui"; -import { Info } from "@phosphor-icons/react"; -import { Trans } from "react-i18next"; -import { FormStepContainer } from "../../../components/FormStepContainer"; +} from '../../../utils/rules'; +import { ICreateBondFormValues } from '../ICreateBondFormValues'; +import { useFormContext, useFormState } from 'react-hook-form'; +import { formatDate } from '../../../utils/format'; +import { CouponTypeOptions } from '../CouponType'; +import { Tooltip } from 'io-bricks-ui'; +import { Info } from '@phosphor-icons/react'; +import { Trans } from 'react-i18next'; +import { FormStepContainer } from '../../../components/FormStepContainer'; export const StepCoupon = () => { - const { t } = useTranslation("security", { keyPrefix: "createBond" }); + const { t } = useTranslation('security', { keyPrefix: 'createBond' }); const { control, watch, setValue } = useFormContext(); const stepFormState = useFormState({ control }); - const startingDate = watch("startingDate"); - const couponType = watch("couponType"); - const firstCouponDate = watch("firstCouponDate"); - const couponFrequency = watch("couponFrequency"); - const maturityDate = watch("maturityDate"); - const lastCouponDate = watch("lastCouponDate"); - const totalCoupons = watch("totalCoupons"); + const startingDate = watch('startingDate'); + const couponType = watch('couponType'); + const firstCouponDate = watch('firstCouponDate'); + const couponFrequency = watch('couponFrequency'); + const maturityDate = watch('maturityDate'); + const lastCouponDate = watch('lastCouponDate'); + const totalCoupons = watch('totalCoupons'); useEffect(() => { if (couponType === undefined) { - setValue("couponType", 1); + setValue('couponType', 1); } // eslint-disable-next-line react-hooks/exhaustive-deps }, []); @@ -271,28 +271,28 @@ export const StepCoupon = () => { ); } - setValue("totalCoupons", Math.floor(totalCoupons)); - setValue("lastCouponDate", formatDate(new Date(lastCouponDate))); + setValue('totalCoupons', Math.floor(totalCoupons)); + setValue('lastCouponDate', formatDate(new Date(lastCouponDate))); } }, [firstCouponDate, maturityDate, couponFrequency, setValue]); return ( - {t("stepCoupon.title")} + {t('stepCoupon.title')} - {t("stepCoupon.mandatoryFields")} + {t('stepCoupon.mandatoryFields')} - {t("stepCoupon.couponType")}* + {t('stepCoupon.couponType')}* - {t("stepCoupon.couponTypeTooltip")} + {t('stepCoupon.couponTypeTooltip')} } placement="right" @@ -304,7 +304,7 @@ export const StepCoupon = () => { control={control} id="couponType" rules={{ required }} - placeholder={t("stepCoupon.couponTypePlaceHolder")} + placeholder={t('stepCoupon.couponTypePlaceHolder')} size="md" options={CouponTypeOptions} /> @@ -314,10 +314,10 @@ export const StepCoupon = () => { - {t("stepCoupon.couponRate")}* + {t('stepCoupon.couponRate')}* @@ -331,7 +331,7 @@ export const StepCoupon = () => { required, validate: greaterThan(0), }} - placeholder={t("stepCoupon.couponRatePlaceHolder")} + placeholder={t('stepCoupon.couponRatePlaceHolder')} backgroundColor="neutral.600" size="md" decimalScale={3} @@ -344,10 +344,10 @@ export const StepCoupon = () => { - {t("stepCoupon.couponFrequency")}* + {t('stepCoupon.couponFrequency')}* @@ -360,7 +360,7 @@ export const StepCoupon = () => { required, validate: greaterThan(0), }} - placeholder={t("stepCoupon.couponFrequencyPlaceHolder")} + placeholder={t('stepCoupon.couponFrequencyPlaceHolder')} backgroundColor="neutral.600" size="md" /> @@ -368,10 +368,10 @@ export const StepCoupon = () => { - {t("stepCoupon.firstCouponDate")}* + {t('stepCoupon.firstCouponDate')}* @@ -389,14 +389,14 @@ export const StepCoupon = () => { new Date(maturityDate), ), }} - placeholder={t("stepCoupon.firstCouponDatePlaceHolder")} + placeholder={t('stepCoupon.firstCouponDatePlaceHolder')} backgroundColor="neutral.600" size="md" /> - {t("stepCoupon.lastCouponDate")} + {t('stepCoupon.lastCouponDate')} { - {t("stepCoupon.totalCoupons")} + {t('stepCoupon.totalCoupons')} { w="full" h="100px" align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > diff --git a/apps/ats/web/src/views/CreateBond/Components/StepReview.tsx b/apps/ats/web/src/views/CreateBond/Components/StepReview.tsx index 23994cf2b..d6856ba0d 100644 --- a/apps/ats/web/src/views/CreateBond/Components/StepReview.tsx +++ b/apps/ats/web/src/views/CreateBond/Components/StepReview.tsx @@ -209,43 +209,43 @@ import { Stack, VStack, useDisclosure, -} from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; -import { PreviousStepButton } from "./PreviousStepButton"; -import { PhosphorIcon } from "io-bricks-ui"; -import { useFormContext } from "react-hook-form"; +} from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import { PreviousStepButton } from './PreviousStepButton'; +import { PhosphorIcon } from 'io-bricks-ui'; +import { useFormContext } from 'react-hook-form'; import { Button, DetailReview, DetailReviewProps, InfoDivider, PopUp, -} from "io-bricks-ui"; -import { useCreateBond } from "../../../hooks/queries/useCreateBond"; -import { useWalletStore } from "../../../store/walletStore"; -import { CreateBondRequest } from "@hashgraph/asset-tokenization-sdk"; -import { ICreateBondFormValues } from "../ICreateBondFormValues"; -import { RouterManager } from "../../../router/RouterManager"; -import { RouteName } from "../../../router/RouteName"; -import { WarningCircle, Question } from "@phosphor-icons/react"; -import { transformCouponType } from "../CouponType"; +} from 'io-bricks-ui'; +import { useCreateBond } from '../../../hooks/queries/useCreateBond'; +import { useWalletStore } from '../../../store/walletStore'; +import { CreateBondRequest } from '@hashgraph/asset-tokenization-sdk'; +import { ICreateBondFormValues } from '../ICreateBondFormValues'; +import { RouterManager } from '../../../router/RouterManager'; +import { RouteName } from '../../../router/RouteName'; +import { WarningCircle, Question } from '@phosphor-icons/react'; +import { transformCouponType } from '../CouponType'; import { dateToUnixTimestamp, formatNumber, numberToExponential, -} from "../../../utils/format"; -import { FormStepContainer } from "../../../components/FormStepContainer"; -import { COUPONS_FACTOR, NOMINAL_VALUE_FACTOR } from "../../../utils/constants"; -import { CountriesList } from "../../CreateSecurityCommons/CountriesList"; +} from '../../../utils/format'; +import { FormStepContainer } from '../../../components/FormStepContainer'; +import { COUPONS_FACTOR, NOMINAL_VALUE_FACTOR } from '../../../utils/constants'; +import { CountriesList } from '../../CreateSecurityCommons/CountriesList'; import { COUNTRY_LIST_ALLOWED, COUNTRY_LIST_BLOCKED, -} from "../../../utils/countriesConfig"; +} from '../../../utils/countriesConfig'; export const StepReview = () => { - const { t } = useTranslation("security", { keyPrefix: "createBond" }); - const { t: tRegulation } = useTranslation("security", { - keyPrefix: "regulation", + const { t } = useTranslation('security', { keyPrefix: 'createBond' }); + const { t: tRegulation } = useTranslation('security', { + keyPrefix: 'regulation', }); const { mutate: createBond, isLoading } = useCreateBond(); @@ -264,33 +264,33 @@ export const StepReview = () => { const { getValues } = useFormContext(); - const name = getValues("name"); - const symbol = getValues("symbol"); - const decimals = getValues("decimals"); - const isin = getValues("isin"); - const currency = getValues("currency"); - const numberOfUnits = getValues("numberOfUnits"); - const nominalValue = getValues("nominalValue"); - const totalAmount = getValues("totalAmount"); - const startingDate = getValues("startingDate"); - const maturityDate = getValues("maturityDate"); - const couponType = getValues("couponType"); - let couponFrequency = getValues("couponFrequency"); - let couponRate = getValues("couponRate"); - let firstCouponDate = getValues("firstCouponDate"); - const lastCouponDate = getValues("lastCouponDate"); - const totalCoupons = getValues("totalCoupons"); - const isBlocklist = getValues("isBlocklist"); - const isControllable = getValues("isControllable"); - const isClearing = getValues("isClearing"); - const regulationType = getValues("regulationType"); - const regulationSubType = getValues("regulationSubType"); - const countriesListType = getValues("countriesListType"); - let countriesList = getValues("countriesList"); - const externalPausesList = getValues("externalPausesList"); - const externalControlList = getValues("externalControlList"); - const externalKYCList = getValues("externalKYCList"); - const internalKycActivated = getValues("internalKycActivated"); + const name = getValues('name'); + const symbol = getValues('symbol'); + const decimals = getValues('decimals'); + const isin = getValues('isin'); + const currency = getValues('currency'); + const numberOfUnits = getValues('numberOfUnits'); + const nominalValue = getValues('nominalValue'); + const totalAmount = getValues('totalAmount'); + const startingDate = getValues('startingDate'); + const maturityDate = getValues('maturityDate'); + const couponType = getValues('couponType'); + let couponFrequency = getValues('couponFrequency'); + let couponRate = getValues('couponRate'); + let firstCouponDate = getValues('firstCouponDate'); + const lastCouponDate = getValues('lastCouponDate'); + const totalCoupons = getValues('totalCoupons'); + const isBlocklist = getValues('isBlocklist'); + const isControllable = getValues('isControllable'); + const isClearing = getValues('isClearing'); + const regulationType = getValues('regulationType'); + const regulationSubType = getValues('regulationSubType'); + const countriesListType = getValues('countriesListType'); + let countriesList = getValues('countriesList'); + const externalPausesList = getValues('externalPausesList'); + const externalControlList = getValues('externalControlList'); + const externalKYCList = getValues('externalKYCList'); + const internalKycActivated = getValues('internalKycActivated'); countriesList = countriesList.concat( countriesListType === 2 ? COUNTRY_LIST_ALLOWED : COUNTRY_LIST_BLOCKED, @@ -299,8 +299,8 @@ export const StepReview = () => { const submit = () => { if (couponType === 2) { couponRate = 0; - couponFrequency = "0"; - firstCouponDate = "0"; + couponFrequency = '0'; + firstCouponDate = '0'; } const request = new CreateBondRequest({ @@ -324,11 +324,11 @@ export const StepReview = () => { ).toString(), couponRate: (couponRate * COUPONS_FACTOR).toString(), firstCouponDate: - firstCouponDate != "0" + firstCouponDate != '0' ? dateToUnixTimestamp(firstCouponDate) : firstCouponDate, currency: - "0x" + + '0x' + currency.charCodeAt(0) + currency.charCodeAt(1) + currency.charCodeAt(2), @@ -336,9 +336,9 @@ export const StepReview = () => { regulationSubType: regulationSubType, isCountryControlListWhiteList: countriesListType === 2, countries: countriesList.map((country) => country).toString(), - info: "", - configId: process.env.REACT_APP_BOND_CONFIG_ID ?? "", - configVersion: parseInt(process.env.REACT_APP_BOND_CONFIG_VERSION ?? "0"), + info: '', + configId: process.env.REACT_APP_BOND_CONFIG_ID ?? '', + configVersion: parseInt(process.env.REACT_APP_BOND_CONFIG_VERSION ?? '0'), ...(externalPausesList && externalPausesList.length > 0 && { externalPauses: externalPausesList, @@ -359,97 +359,97 @@ export const StepReview = () => { const tokenDetails: DetailReviewProps[] = [ { - title: t("stepTokenDetails.name"), + title: t('stepTokenDetails.name'), value: name, }, { - title: t("stepTokenDetails.symbol"), + title: t('stepTokenDetails.symbol'), value: symbol, }, { - title: t("stepTokenDetails.decimals"), + title: t('stepTokenDetails.decimals'), value: decimals, }, { - title: t("stepTokenDetails.isin"), + title: t('stepTokenDetails.isin'), value: isin, }, ]; const configurationDetails: DetailReviewProps[] = [ { - title: t("stepConfiguration.currency"), + title: t('stepConfiguration.currency'), value: currency, }, { - title: t("stepConfiguration.numberOfUnits"), + title: t('stepConfiguration.numberOfUnits'), value: formatNumber(numberOfUnits, {}, decimals), }, { - title: t("stepConfiguration.nominalValue"), + title: t('stepConfiguration.nominalValue'), value: formatNumber(nominalValue, {}, 2), }, { - title: t("stepConfiguration.totalAmount"), + title: t('stepConfiguration.totalAmount'), value: totalAmount, }, { - title: t("stepConfiguration.startingDate"), + title: t('stepConfiguration.startingDate'), value: new Date(startingDate).toLocaleDateString(), }, { - title: t("stepConfiguration.maturityDate"), + title: t('stepConfiguration.maturityDate'), value: new Date(maturityDate).toLocaleDateString(), }, ]; const externalManagement: DetailReviewProps[] = [ { - title: t("stepExternalManagement.externalPause"), + title: t('stepExternalManagement.externalPause'), value: externalPausesList - ? externalPausesList?.map((pause) => " " + pause).toString() - : "-", + ? externalPausesList?.map((pause) => ' ' + pause).toString() + : '-', }, { - title: t("stepExternalManagement.externalControl"), + title: t('stepExternalManagement.externalControl'), value: externalControlList - ? externalControlList?.map((control) => " " + control).toString() - : "-", + ? externalControlList?.map((control) => ' ' + control).toString() + : '-', }, { - title: t("stepExternalManagement.externalKYC"), + title: t('stepExternalManagement.externalKYC'), value: externalKYCList - ? externalKYCList?.map((control) => " " + control).toString() - : "-", + ? externalKYCList?.map((control) => ' ' + control).toString() + : '-', }, ]; const couponDetails: DetailReviewProps[] = [ { - title: t("stepCoupon.couponType"), + title: t('stepCoupon.couponType'), value: transformCouponType(couponType), }, ]; if (couponType === 1) { couponDetails.push( { - title: t("stepCoupon.couponRate"), - value: formatNumber(couponRate) + " %", + title: t('stepCoupon.couponRate'), + value: formatNumber(couponRate) + ' %', }, { - title: t("stepCoupon.couponFrequency"), - value: "Every " + couponFrequency + " months", + title: t('stepCoupon.couponFrequency'), + value: 'Every ' + couponFrequency + ' months', }, { - title: t("stepCoupon.firstCouponDate"), + title: t('stepCoupon.firstCouponDate'), value: new Date(firstCouponDate).toLocaleDateString(), }, { - title: t("stepCoupon.lastCouponDate"), + title: t('stepCoupon.lastCouponDate'), value: lastCouponDate, }, { - title: t("stepCoupon.totalCoupons"), + title: t('stepCoupon.totalCoupons'), value: totalCoupons, }, ); @@ -457,22 +457,22 @@ export const StepReview = () => { const regulationDetails: DetailReviewProps[] = [ { - title: tRegulation("regulationTypeReview"), + title: tRegulation('regulationTypeReview'), value: tRegulation(`regulationType_${regulationType}`), }, { - title: tRegulation("regulationSubTypeReview"), + title: tRegulation('regulationSubTypeReview'), value: tRegulation(`regulationSubType_${regulationSubType}`), }, { title: countriesListType === 2 - ? tRegulation("allowedCountriesReview") - : tRegulation("blockedCountriesReview"), + ? tRegulation('allowedCountriesReview') + : tRegulation('blockedCountriesReview'), value: countriesList .map( (country) => - " " + CountriesList[country as keyof typeof CountriesList], + ' ' + CountriesList[country as keyof typeof CountriesList], ) .toString(), }, @@ -484,7 +484,7 @@ export const StepReview = () => { @@ -495,7 +495,7 @@ export const StepReview = () => { @@ -506,7 +506,7 @@ export const StepReview = () => { @@ -517,7 +517,7 @@ export const StepReview = () => { @@ -526,7 +526,7 @@ export const StepReview = () => { ))} - + {regulationDetails.map((props) => ( @@ -538,10 +538,10 @@ export const StepReview = () => { w="full" h="100px" align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > - {t("cancelButton")} + {t('cancelButton')} { onClick={onOpenCreate} isLoading={isLoading} > - {t("createTokenButton")} + {t('createTokenButton')} @@ -561,31 +561,31 @@ export const StepReview = () => { isOpen={isOpenCancel} onClose={onCloseCancel} icon={} - title={t("cancelSecurityPopUp.title")} - description={t("cancelSecurityPopUp.description")} - confirmText={t("cancelSecurityPopUp.confirmText")} + title={t('cancelSecurityPopUp.title')} + description={t('cancelSecurityPopUp.description')} + confirmText={t('cancelSecurityPopUp.confirmText')} onConfirm={() => { RouterManager.to(RouteName.Dashboard); onCloseCancel(); }} onCancel={onCloseCancel} - cancelText={t("cancelSecurityPopUp.cancelText")} - confirmButtonProps={{ status: "danger" }} + cancelText={t('cancelSecurityPopUp.cancelText')} + confirmButtonProps={{ status: 'danger' }} /> } - title={t("createSecurityPopUp.title")} - description={t("createSecurityPopUp.description")} - confirmText={t("createSecurityPopUp.confirmText")} + title={t('createSecurityPopUp.title')} + description={t('createSecurityPopUp.description')} + confirmText={t('createSecurityPopUp.confirmText')} onConfirm={() => { submit(); onCloseCreate(); }} onCancel={onCloseCreate} - cancelText={t("createSecurityPopUp.cancelText")} + cancelText={t('createSecurityPopUp.cancelText')} /> ); diff --git a/apps/ats/web/src/views/CreateBond/Components/StepTokenDetails.tsx b/apps/ats/web/src/views/CreateBond/Components/StepTokenDetails.tsx index cf662c18a..9c79c2f4e 100644 --- a/apps/ats/web/src/views/CreateBond/Components/StepTokenDetails.tsx +++ b/apps/ats/web/src/views/CreateBond/Components/StepTokenDetails.tsx @@ -209,9 +209,9 @@ import { SimpleGrid, Stack, VStack, -} from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; -import { Info } from "@phosphor-icons/react"; +} from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import { Info } from '@phosphor-icons/react'; import { PhosphorIcon, Tooltip, @@ -220,22 +220,22 @@ import { InputNumberController, ToggleController, InfoDivider, -} from "io-bricks-ui"; +} from 'io-bricks-ui'; import { greaterOrEqualThan, isISINValid, lowerOrEqualThan, maxLength, required, -} from "../../../utils/rules"; -import { useFormContext, useFormState } from "react-hook-form"; -import { ICreateBondFormValues } from "../ICreateBondFormValues"; -import { CancelButton } from "../../../components/CancelButton"; -import { NextStepButton } from "./NextStepButton"; -import { FormStepContainer } from "../../../components/FormStepContainer"; +} from '../../../utils/rules'; +import { useFormContext, useFormState } from 'react-hook-form'; +import { ICreateBondFormValues } from '../ICreateBondFormValues'; +import { CancelButton } from '../../../components/CancelButton'; +import { NextStepButton } from './NextStepButton'; +import { FormStepContainer } from '../../../components/FormStepContainer'; export const StepTokenDetails = () => { - const { t } = useTranslation("security", { keyPrefix: "createBond" }); + const { t } = useTranslation('security', { keyPrefix: 'createBond' }); const { control, setValue } = useFormContext(); @@ -246,24 +246,24 @@ export const StepTokenDetails = () => { return ( - {t("stepTokenDetails.title")} + {t('stepTokenDetails.title')} - {t("stepTokenDetails.subtitle")} + {t('stepTokenDetails.subtitle')} - {t("stepTokenDetails.mandatoryFields")} + {t('stepTokenDetails.mandatoryFields')} - {t("stepTokenDetails.name")}* + {t('stepTokenDetails.name')}* - + @@ -272,7 +272,7 @@ export const StepTokenDetails = () => { control={control} id="name" rules={{ required, maxLength: maxLength(100) }} - placeholder={t("stepTokenDetails.placeholderName")} + placeholder={t('stepTokenDetails.placeholderName')} backgroundColor="neutral.600" size="md" /> @@ -280,10 +280,10 @@ export const StepTokenDetails = () => { - {t("stepTokenDetails.symbol")}* + {t('stepTokenDetails.symbol')}* @@ -292,7 +292,7 @@ export const StepTokenDetails = () => { { - {t("stepTokenDetails.decimals")}* + {t('stepTokenDetails.decimals')}* @@ -313,7 +313,7 @@ export const StepTokenDetails = () => { { - {t("stepTokenDetails.isin")}* + {t('stepTokenDetails.isin')}* - + { }} /> - + @@ -367,11 +367,11 @@ export const StepTokenDetails = () => { setValue("isApproval", !e.target.checked)} + label={t('stepTokenDetails.permissionBlocklist')} + onChange={(e) => setValue('isApproval', !e.target.checked)} /> @@ -381,11 +381,11 @@ export const StepTokenDetails = () => { setValue("isBlocklist", !e.target.checked)} + label={t('stepTokenDetails.permissionApprovalList')} + onChange={(e) => setValue('isBlocklist', !e.target.checked)} /> @@ -393,17 +393,17 @@ export const StepTokenDetails = () => { - + @@ -413,7 +413,7 @@ export const StepTokenDetails = () => { @@ -423,7 +423,7 @@ export const StepTokenDetails = () => { w="full" h="100px" align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > diff --git a/apps/ats/web/src/views/CreateBond/Components/__tests__/CreateTokenButton.test.tsx b/apps/ats/web/src/views/CreateBond/Components/__tests__/CreateTokenButton.test.tsx index d0e6c6261..f4f4c2b8d 100644 --- a/apps/ats/web/src/views/CreateBond/Components/__tests__/CreateTokenButton.test.tsx +++ b/apps/ats/web/src/views/CreateBond/Components/__tests__/CreateTokenButton.test.tsx @@ -203,11 +203,11 @@ */ -import { CreateTokenButton } from "../CreateTokenButton"; -import { render } from "../../../../test-utils"; +import { CreateTokenButton } from '../CreateTokenButton'; +import { render } from '../../../../test-utils'; describe(`${CreateTokenButton.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/CreateBond/Components/__tests__/NextStepButton.test.tsx b/apps/ats/web/src/views/CreateBond/Components/__tests__/NextStepButton.test.tsx index d8127faaa..74036092b 100644 --- a/apps/ats/web/src/views/CreateBond/Components/__tests__/NextStepButton.test.tsx +++ b/apps/ats/web/src/views/CreateBond/Components/__tests__/NextStepButton.test.tsx @@ -203,17 +203,17 @@ */ -import { NextStepButton } from "../NextStepButton"; -import { render } from "../../../../test-utils"; +import { NextStepButton } from '../NextStepButton'; +import { render } from '../../../../test-utils'; const goToNext = jest.fn(); -jest.mock("io-bricks-ui", () => ({ - ...jest.requireActual("io-bricks-ui"), +jest.mock('io-bricks-ui', () => ({ + ...jest.requireActual('io-bricks-ui'), useStepContext: () => ({ goToNext }), })); describe(`${NextStepButton.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/CreateBond/Components/__tests__/PreviousStepButton.test.tsx b/apps/ats/web/src/views/CreateBond/Components/__tests__/PreviousStepButton.test.tsx index 4b42b5567..2130c81bf 100644 --- a/apps/ats/web/src/views/CreateBond/Components/__tests__/PreviousStepButton.test.tsx +++ b/apps/ats/web/src/views/CreateBond/Components/__tests__/PreviousStepButton.test.tsx @@ -203,17 +203,17 @@ */ -import { PreviousStepButton } from "../PreviousStepButton"; -import { render } from "../../../../test-utils"; +import { PreviousStepButton } from '../PreviousStepButton'; +import { render } from '../../../../test-utils'; const goToPrevious = jest.fn(); -jest.mock("io-bricks-ui", () => ({ - ...jest.requireActual("io-bricks-ui"), +jest.mock('io-bricks-ui', () => ({ + ...jest.requireActual('io-bricks-ui'), useStepContext: () => ({ goToPrevious }), })); describe(`${PreviousStepButton.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/CreateBond/CouponType.ts b/apps/ats/web/src/views/CreateBond/CouponType.ts index 45e16270a..13b9a04e1 100644 --- a/apps/ats/web/src/views/CreateBond/CouponType.ts +++ b/apps/ats/web/src/views/CreateBond/CouponType.ts @@ -204,8 +204,8 @@ */ export enum CouponType { - FIXED = "Fixed", - CUSTOM = "Custom", + FIXED = 'Fixed', + CUSTOM = 'Custom', } export function transformCouponType(value: number): CouponType { diff --git a/apps/ats/web/src/views/CreateBond/CreateBond.tsx b/apps/ats/web/src/views/CreateBond/CreateBond.tsx index b31391bcd..fc4fa00b0 100644 --- a/apps/ats/web/src/views/CreateBond/CreateBond.tsx +++ b/apps/ats/web/src/views/CreateBond/CreateBond.tsx @@ -203,31 +203,31 @@ */ -import { Box, HStack, Stack } from "@chakra-ui/react"; -import { StepTokenDetails } from "./Components/StepTokenDetails"; -import { FormProvider, useForm } from "react-hook-form"; -import { useSteps, Wizard } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { History } from "../../components/History"; -import { RouteName } from "../../router/RouteName"; -import { ICreateBondFormValues } from "./ICreateBondFormValues"; -import { useEffect } from "react"; -import { User } from "../../utils/constants"; -import { useUserStore } from "../../store/userStore"; -import { StepConfiguration } from "./Components/StepConfiguration"; -import { StepReview } from "./Components/StepReview"; -import { StepCoupon } from "./Components/StepCoupon"; -import { StepRegulation } from "../CreateSecurityCommons/StepRegulation"; -import { StepExternalManagement } from "../CreateSecurityCommons/StepExternalManagement"; +import { Box, HStack, Stack } from '@chakra-ui/react'; +import { StepTokenDetails } from './Components/StepTokenDetails'; +import { FormProvider, useForm } from 'react-hook-form'; +import { useSteps, Wizard } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { History } from '../../components/History'; +import { RouteName } from '../../router/RouteName'; +import { ICreateBondFormValues } from './ICreateBondFormValues'; +import { useEffect } from 'react'; +import { User } from '../../utils/constants'; +import { useUserStore } from '../../store/userStore'; +import { StepConfiguration } from './Components/StepConfiguration'; +import { StepReview } from './Components/StepReview'; +import { StepCoupon } from './Components/StepCoupon'; +import { StepRegulation } from '../CreateSecurityCommons/StepRegulation'; +import { StepExternalManagement } from '../CreateSecurityCommons/StepExternalManagement'; export const CreateBond = () => { - const { t } = useTranslation("security", { keyPrefix: "createBond" }); - const { t: tRoutes } = useTranslation("routes"); + const { t } = useTranslation('security', { keyPrefix: 'createBond' }); + const { t: tRoutes } = useTranslation('routes'); const { setType } = useUserStore(); const steps = useSteps(); const form = useForm({ - mode: "all", + mode: 'all', defaultValues: { isControllable: true, isBlocklist: true, @@ -246,27 +246,27 @@ export const CreateBond = () => { const wizardSteps = [ { - title: t("header.details"), + title: t('header.details'), content: , }, { - title: t("header.configuration"), + title: t('header.configuration'), content: , }, { - title: t("header.coupon"), + title: t('header.coupon'), content: , }, { - title: t("stepExternalManagement.title"), + title: t('stepExternalManagement.title'), content: , }, { - title: t("header.regulation"), + title: t('header.regulation'), content: , }, { - title: t("header.review"), + title: t('header.review'), content: , }, ]; diff --git a/apps/ats/web/src/views/CreateBond/__tests__/CreateBond.test.tsx b/apps/ats/web/src/views/CreateBond/__tests__/CreateBond.test.tsx index 00d378952..49097bbcf 100644 --- a/apps/ats/web/src/views/CreateBond/__tests__/CreateBond.test.tsx +++ b/apps/ats/web/src/views/CreateBond/__tests__/CreateBond.test.tsx @@ -203,11 +203,11 @@ */ -import { CreateBond } from "../CreateBond"; -import { render } from "../../../test-utils"; +import { CreateBond } from '../CreateBond'; +import { render } from '../../../test-utils'; describe(`${CreateBond.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/CreateEquity/Components/CreateTokenButton.tsx b/apps/ats/web/src/views/CreateEquity/Components/CreateTokenButton.tsx index 024aa94b2..8660fcd0a 100644 --- a/apps/ats/web/src/views/CreateEquity/Components/CreateTokenButton.tsx +++ b/apps/ats/web/src/views/CreateEquity/Components/CreateTokenButton.tsx @@ -203,12 +203,12 @@ */ -import { Button } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { Button } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const CreateTokenButton = (props: ButtonProps) => { - const { t } = useTranslation("security", { keyPrefix: "createEquity" }); + const { t } = useTranslation('security', { keyPrefix: 'createEquity' }); return ( { variant="primary" {...props} > - {t("createTokenButton")} + {t('createTokenButton')} ); }; diff --git a/apps/ats/web/src/views/CreateEquity/Components/NextStepButton.tsx b/apps/ats/web/src/views/CreateEquity/Components/NextStepButton.tsx index f3801bdf3..16ffbe6bf 100644 --- a/apps/ats/web/src/views/CreateEquity/Components/NextStepButton.tsx +++ b/apps/ats/web/src/views/CreateEquity/Components/NextStepButton.tsx @@ -203,12 +203,12 @@ */ -import { Button, useStepContext } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { Button, useStepContext } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const NextStepButton = (props: ButtonProps) => { - const { t } = useTranslation("security", { keyPrefix: "createEquity" }); + const { t } = useTranslation('security', { keyPrefix: 'createEquity' }); const { goToNext } = useStepContext(); @@ -222,7 +222,7 @@ export const NextStepButton = (props: ButtonProps) => { onClick={goToNext} {...props} > - {t("nextStepButton")} + {t('nextStepButton')} ); }; diff --git a/apps/ats/web/src/views/CreateEquity/Components/PreviousStepButton.tsx b/apps/ats/web/src/views/CreateEquity/Components/PreviousStepButton.tsx index 181024a5d..26b3c2bb6 100644 --- a/apps/ats/web/src/views/CreateEquity/Components/PreviousStepButton.tsx +++ b/apps/ats/web/src/views/CreateEquity/Components/PreviousStepButton.tsx @@ -203,12 +203,12 @@ */ -import { Button, useStepContext } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +import { Button, useStepContext } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; export const PreviousStepButton = (props: ButtonProps) => { - const { t } = useTranslation("security", { keyPrefix: "createEquity" }); + const { t } = useTranslation('security', { keyPrefix: 'createEquity' }); const { goToPrevious } = useStepContext(); @@ -222,7 +222,7 @@ export const PreviousStepButton = (props: ButtonProps) => { onClick={goToPrevious} {...props} > - {t("previousStepButton")} + {t('previousStepButton')} ); }; diff --git a/apps/ats/web/src/views/CreateEquity/Components/StepNewSerie.tsx b/apps/ats/web/src/views/CreateEquity/Components/StepNewSerie.tsx index 0fbad3c11..89787e1ed 100644 --- a/apps/ats/web/src/views/CreateEquity/Components/StepNewSerie.tsx +++ b/apps/ats/web/src/views/CreateEquity/Components/StepNewSerie.tsx @@ -209,9 +209,9 @@ import { SimpleGrid, Stack, VStack, -} from "@chakra-ui/react"; -import { Trans, useTranslation } from "react-i18next"; -import { Info } from "@phosphor-icons/react"; +} from '@chakra-ui/react'; +import { Trans, useTranslation } from 'react-i18next'; +import { Info } from '@phosphor-icons/react'; import { PhosphorIcon, Text, @@ -221,20 +221,20 @@ import { SelectController, ToggleController, Tooltip, -} from "io-bricks-ui"; -import { CancelButton } from "../../../components/CancelButton"; -import { NextStepButton } from "./NextStepButton"; -import { PreviousStepButton } from "./PreviousStepButton"; -import { greaterThan, min, required } from "../../../utils/rules"; -import { ICreateEquityFormValues } from "../ICreateEquityFormValues"; -import { useFormContext, useFormState } from "react-hook-form"; -import { useEffect } from "react"; -import { DividendType } from "../DividendType"; -import { FormStepContainer } from "../../../components/FormStepContainer"; -import { formatNumber } from "../../../utils/format"; +} from 'io-bricks-ui'; +import { CancelButton } from '../../../components/CancelButton'; +import { NextStepButton } from './NextStepButton'; +import { PreviousStepButton } from './PreviousStepButton'; +import { greaterThan, min, required } from '../../../utils/rules'; +import { ICreateEquityFormValues } from '../ICreateEquityFormValues'; +import { useFormContext, useFormState } from 'react-hook-form'; +import { useEffect } from 'react'; +import { DividendType } from '../DividendType'; +import { FormStepContainer } from '../../../components/FormStepContainer'; +import { formatNumber } from '../../../utils/format'; export const StepNewSerie = () => { - const { t } = useTranslation("security", { keyPrefix: "createEquity" }); + const { t } = useTranslation('security', { keyPrefix: 'createEquity' }); const { control, watch, setValue, getValues } = useFormContext(); @@ -243,36 +243,36 @@ export const StepNewSerie = () => { control, }); - const nominalValue = watch("nominalValue"); - const numberOfShares = watch("numberOfShares"); - const totalAmount = watch("totalAmount"); - const decimals = getValues("decimals"); + const nominalValue = watch('nominalValue'); + const numberOfShares = watch('numberOfShares'); + const totalAmount = watch('totalAmount'); + const decimals = getValues('decimals'); useEffect(() => { let totalAmount = 0; if (!isNaN(Number(nominalValue)) && !isNaN(Number(numberOfShares))) { totalAmount = Number(nominalValue) * Number(numberOfShares); } - setValue("totalAmount", formatNumber(totalAmount, {}, 2)); + setValue('totalAmount', formatNumber(totalAmount, {}, 2)); }, [nominalValue, numberOfShares, setValue]); return ( - {t("stepNewSerie.title")} - {t("stepNewSerie.subtitle")} + {t('stepNewSerie.title')} + {t('stepNewSerie.subtitle')} - {t("stepNewSerie.mandatoryFields")} + {t('stepNewSerie.mandatoryFields')} - + - {t("stepNewSerie.nominalValue")}* + {t('stepNewSerie.nominalValue')}* @@ -288,7 +288,7 @@ export const StepNewSerie = () => { }} decimalScale={2} fixedDecimalScale={true} - placeholder={t("stepNewSerie.nominalValuePlaceHolder")} + placeholder={t('stepNewSerie.nominalValuePlaceHolder')} backgroundColor="neutral.600" size="md" thousandSeparator="," @@ -296,7 +296,7 @@ export const StepNewSerie = () => { /> - {t("stepNewSerie.currency")} + {t('stepNewSerie.currency')} { - {t("stepNewSerie.numberOfShares")}* + {t('stepNewSerie.numberOfShares')}* @@ -339,10 +339,10 @@ export const StepNewSerie = () => { - {t("stepNewSerie.totalAmount")}* + {t('stepNewSerie.totalAmount')}* @@ -359,56 +359,56 @@ export const StepNewSerie = () => { isDisabled={true} /> - + @@ -416,12 +416,12 @@ export const StepNewSerie = () => { - {t("stepNewSerie.dividendType")}* + {t('stepNewSerie.dividendType')}* - {t("stepNewSerie.dividendTypeTooltip")} + {t('stepNewSerie.dividendTypeTooltip')} } placement="right" @@ -437,15 +437,15 @@ export const StepNewSerie = () => { options={[ { label: DividendType.NONE, - value: "0", + value: '0', }, { label: DividendType.PREFERRED, - value: "1", + value: '1', }, { label: DividendType.COMMON, - value: "2", + value: '2', }, ]} /> @@ -455,7 +455,7 @@ export const StepNewSerie = () => { w="full" h="100px" align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > diff --git a/apps/ats/web/src/views/CreateEquity/Components/StepReview.tsx b/apps/ats/web/src/views/CreateEquity/Components/StepReview.tsx index 1f36b6e40..a31889484 100644 --- a/apps/ats/web/src/views/CreateEquity/Components/StepReview.tsx +++ b/apps/ats/web/src/views/CreateEquity/Components/StepReview.tsx @@ -209,9 +209,9 @@ import { Stack, VStack, useDisclosure, -} from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; -import { PreviousStepButton } from "./PreviousStepButton"; +} from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import { PreviousStepButton } from './PreviousStepButton'; import { PhosphorIcon, Text, @@ -220,30 +220,30 @@ import { DetailReviewProps, InfoDivider, PopUp, -} from "io-bricks-ui"; -import { useFormContext } from "react-hook-form"; -import { ICreateEquityFormValues } from "../ICreateEquityFormValues"; -import { useCreateEquity } from "../../../hooks/queries/useCreateEquity"; -import { useWalletStore } from "../../../store/walletStore"; -import { CreateEquityRequest } from "@hashgraph/asset-tokenization-sdk"; -import { transformDividendType } from "../DividendType"; -import { WarningCircle, Question } from "@phosphor-icons/react"; -import { RouterManager } from "../../../router/RouterManager"; -import { RouteName } from "../../../router/RouteName"; -import { numberToExponential } from "../../../utils/format"; -import { FormStepContainer } from "../../../components/FormStepContainer"; -import { NOMINAL_VALUE_FACTOR } from "../../../utils/constants"; -import { formatNumber } from "../../../utils/format"; -import { CountriesList } from "../../CreateSecurityCommons/CountriesList"; +} from 'io-bricks-ui'; +import { useFormContext } from 'react-hook-form'; +import { ICreateEquityFormValues } from '../ICreateEquityFormValues'; +import { useCreateEquity } from '../../../hooks/queries/useCreateEquity'; +import { useWalletStore } from '../../../store/walletStore'; +import { CreateEquityRequest } from '@hashgraph/asset-tokenization-sdk'; +import { transformDividendType } from '../DividendType'; +import { WarningCircle, Question } from '@phosphor-icons/react'; +import { RouterManager } from '../../../router/RouterManager'; +import { RouteName } from '../../../router/RouteName'; +import { numberToExponential } from '../../../utils/format'; +import { FormStepContainer } from '../../../components/FormStepContainer'; +import { NOMINAL_VALUE_FACTOR } from '../../../utils/constants'; +import { formatNumber } from '../../../utils/format'; +import { CountriesList } from '../../CreateSecurityCommons/CountriesList'; import { COUNTRY_LIST_ALLOWED, COUNTRY_LIST_BLOCKED, -} from "../../../utils/countriesConfig"; +} from '../../../utils/countriesConfig'; export const StepReview = () => { - const { t } = useTranslation("security", { keyPrefix: "createEquity" }); - const { t: tRegulation } = useTranslation("security", { - keyPrefix: "regulation", + const { t } = useTranslation('security', { keyPrefix: 'createEquity' }); + const { t: tRegulation } = useTranslation('security', { + keyPrefix: 'regulation', }); const { getValues } = useFormContext(); @@ -261,35 +261,35 @@ export const StepReview = () => { onOpen: onOpenCreate, } = useDisclosure(); - const name = getValues("name"); - const symbol = getValues("symbol"); - const isin = getValues("isin"); - const decimals = getValues("decimals"); - const isControllable = getValues("isControllable"); - const isBlocklist = getValues("isBlocklist"); - const isClearing = getValues("isClearing"); - const nominalValue = getValues("nominalValue"); - const currency = getValues("currency"); - const numberOfShares = getValues("numberOfShares"); - const totalAmount = getValues("totalAmount"); + const name = getValues('name'); + const symbol = getValues('symbol'); + const isin = getValues('isin'); + const decimals = getValues('decimals'); + const isControllable = getValues('isControllable'); + const isBlocklist = getValues('isBlocklist'); + const isClearing = getValues('isClearing'); + const nominalValue = getValues('nominalValue'); + const currency = getValues('currency'); + const numberOfShares = getValues('numberOfShares'); + const totalAmount = getValues('totalAmount'); const rights = { - votingRights: getValues("isVotingRight"), - informationRights: getValues("isInformationRight"), - liquidationRights: getValues("isLiquidationRight"), - subscriptionRights: getValues("isSubscriptionRight"), - conversionRights: getValues("isConversionRight"), - redemptionRights: getValues("isRedemptionRight"), - putRights: getValues("isPutRight"), + votingRights: getValues('isVotingRight'), + informationRights: getValues('isInformationRight'), + liquidationRights: getValues('isLiquidationRight'), + subscriptionRights: getValues('isSubscriptionRight'), + conversionRights: getValues('isConversionRight'), + redemptionRights: getValues('isRedemptionRight'), + putRights: getValues('isPutRight'), }; - const dividendType = getValues("dividendType"); - const regulationType = getValues("regulationType"); - const regulationSubType = getValues("regulationSubType"); - const countriesListType = getValues("countriesListType"); - let countriesList: string[] = getValues("countriesList"); - const externalPausesList = getValues("externalPausesList"); - const externalControlList = getValues("externalControlList"); - const externalKYCList = getValues("externalKYCList"); - const internalKycActivated = getValues("internalKycActivated"); + const dividendType = getValues('dividendType'); + const regulationType = getValues('regulationType'); + const regulationSubType = getValues('regulationSubType'); + const countriesListType = getValues('countriesListType'); + let countriesList: string[] = getValues('countriesList'); + const externalPausesList = getValues('externalPausesList'); + const externalControlList = getValues('externalControlList'); + const externalKYCList = getValues('externalKYCList'); + const internalKycActivated = getValues('internalKycActivated'); countriesList = countriesList.concat( countriesListType === 2 ? COUNTRY_LIST_ALLOWED : COUNTRY_LIST_BLOCKED, @@ -316,7 +316,7 @@ export const StepReview = () => { putRight: rights.putRights, dividendRight: dividendType, currency: - "0x" + + '0x' + currency.charCodeAt(0) + currency.charCodeAt(1) + currency.charCodeAt(2), @@ -326,10 +326,10 @@ export const StepReview = () => { regulationSubType: regulationSubType, isCountryControlListWhiteList: countriesListType === 2, countries: countriesList.map((country) => country).toString(), - info: "", - configId: process.env.REACT_APP_EQUITY_CONFIG_ID ?? "", + info: '', + configId: process.env.REACT_APP_EQUITY_CONFIG_ID ?? '', configVersion: parseInt( - process.env.REACT_APP_EQUITY_CONFIG_VERSION ?? "0", + process.env.REACT_APP_EQUITY_CONFIG_VERSION ?? '0', ), ...(externalPausesList && externalPausesList.length > 0 && { @@ -351,88 +351,88 @@ export const StepReview = () => { const tokenDetails: DetailReviewProps[] = [ { - title: t("stepTokenDetails.name"), + title: t('stepTokenDetails.name'), value: name, }, { - title: t("stepTokenDetails.symbol"), + title: t('stepTokenDetails.symbol'), value: symbol, }, { - title: t("stepTokenDetails.decimals"), + title: t('stepTokenDetails.decimals'), value: decimals, }, { - title: t("stepTokenDetails.isin"), + title: t('stepTokenDetails.isin'), value: isin, }, ]; const configurationNewSerieDetails: DetailReviewProps[] = [ { - title: t("stepNewSerie.nominalValue"), + title: t('stepNewSerie.nominalValue'), value: formatNumber(nominalValue, {}, 2), }, { - title: t("stepNewSerie.currency"), + title: t('stepNewSerie.currency'), value: currency, }, { - title: t("stepNewSerie.numberOfShares"), + title: t('stepNewSerie.numberOfShares'), value: formatNumber(numberOfShares, {}, decimals), }, { - title: t("stepNewSerie.totalAmount"), + title: t('stepNewSerie.totalAmount'), value: totalAmount, }, ]; const configurationRightsDetails: DetailReviewProps[] = [ { - title: t("stepNewSerie.dividendType"), + title: t('stepNewSerie.dividendType'), value: transformDividendType(dividendType.toString()), }, ]; const externalManagement: DetailReviewProps[] = [ { - title: t("stepExternalManagement.externalPause"), + title: t('stepExternalManagement.externalPause'), value: externalPausesList - ? externalPausesList?.map((pause) => " " + pause).toString() - : "-", + ? externalPausesList?.map((pause) => ' ' + pause).toString() + : '-', }, { - title: t("stepExternalManagement.externalControl"), + title: t('stepExternalManagement.externalControl'), value: externalControlList - ? externalControlList?.map((control) => " " + control).toString() - : "-", + ? externalControlList?.map((control) => ' ' + control).toString() + : '-', }, { - title: t("stepExternalManagement.externalKYC"), + title: t('stepExternalManagement.externalKYC'), value: externalKYCList - ? externalKYCList?.map((control) => " " + control).toString() - : "-", + ? externalKYCList?.map((control) => ' ' + control).toString() + : '-', }, ]; const regulationDetails: DetailReviewProps[] = [ { - title: tRegulation("regulationTypeReview"), + title: tRegulation('regulationTypeReview'), value: tRegulation(`regulationType_${regulationType}`), }, { - title: tRegulation("regulationSubTypeReview"), + title: tRegulation('regulationSubTypeReview'), value: tRegulation(`regulationSubType_${regulationSubType}`), }, { title: countriesListType === 2 - ? tRegulation("allowedCountriesReview") - : tRegulation("blockedCountriesReview"), + ? tRegulation('allowedCountriesReview') + : tRegulation('blockedCountriesReview'), value: countriesList .map( (country) => - " " + CountriesList[country as keyof typeof CountriesList], + ' ' + CountriesList[country as keyof typeof CountriesList], ) .toString(), }, @@ -444,7 +444,7 @@ export const StepReview = () => { @@ -455,7 +455,7 @@ export const StepReview = () => { @@ -468,7 +468,7 @@ export const StepReview = () => { - {t("stepNewSerie.choosenRights")} + {t('stepNewSerie.choosenRights')} {Object.entries(rights) .filter(([_key, value]) => value) @@ -492,7 +492,7 @@ export const StepReview = () => { @@ -501,7 +501,7 @@ export const StepReview = () => { ))} - + {regulationDetails.map((props) => ( @@ -513,10 +513,10 @@ export const StepReview = () => { w="full" h="100px" align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > - {t("cancelButton")} + {t('cancelButton')} { onClick={onOpenCreate} isLoading={isLoading} > - {t("createTokenButton")} + {t('createTokenButton')} @@ -535,31 +535,31 @@ export const StepReview = () => { isOpen={isOpenCancel} onClose={onCloseCancel} icon={} - title={t("cancelSecurityPopUp.title")} - description={t("cancelSecurityPopUp.description")} - confirmText={t("cancelSecurityPopUp.confirmText")} + title={t('cancelSecurityPopUp.title')} + description={t('cancelSecurityPopUp.description')} + confirmText={t('cancelSecurityPopUp.confirmText')} onConfirm={() => { RouterManager.to(RouteName.Dashboard); onCloseCancel(); }} onCancel={onCloseCancel} - cancelText={t("cancelSecurityPopUp.cancelText")} - confirmButtonProps={{ status: "danger" }} + cancelText={t('cancelSecurityPopUp.cancelText')} + confirmButtonProps={{ status: 'danger' }} /> } - title={t("createSecurityPopUp.title")} - description={t("createSecurityPopUp.description")} - confirmText={t("createSecurityPopUp.confirmText")} + title={t('createSecurityPopUp.title')} + description={t('createSecurityPopUp.description')} + confirmText={t('createSecurityPopUp.confirmText')} onConfirm={() => { submit(); onCloseCreate(); }} onCancel={onCloseCreate} - cancelText={t("createSecurityPopUp.cancelText")} + cancelText={t('createSecurityPopUp.cancelText')} /> ); diff --git a/apps/ats/web/src/views/CreateEquity/Components/StepTokenDetails.tsx b/apps/ats/web/src/views/CreateEquity/Components/StepTokenDetails.tsx index 9421529dc..75a7c9285 100644 --- a/apps/ats/web/src/views/CreateEquity/Components/StepTokenDetails.tsx +++ b/apps/ats/web/src/views/CreateEquity/Components/StepTokenDetails.tsx @@ -209,9 +209,9 @@ import { SimpleGrid, Stack, VStack, -} from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; -import { Info } from "@phosphor-icons/react"; +} from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import { Info } from '@phosphor-icons/react'; import { InfoDivider, PhosphorIcon, @@ -220,22 +220,22 @@ import { InputController, InputNumberController, ToggleController, -} from "io-bricks-ui"; +} from 'io-bricks-ui'; import { greaterOrEqualThan, isISINValid, lowerOrEqualThan, maxLength, required, -} from "../../../utils/rules"; -import { useFormContext, useFormState } from "react-hook-form"; -import { ICreateEquityFormValues } from "../ICreateEquityFormValues"; -import { CancelButton } from "../../../components/CancelButton"; -import { NextStepButton } from "./NextStepButton"; -import { FormStepContainer } from "../../../components/FormStepContainer"; +} from '../../../utils/rules'; +import { useFormContext, useFormState } from 'react-hook-form'; +import { ICreateEquityFormValues } from '../ICreateEquityFormValues'; +import { CancelButton } from '../../../components/CancelButton'; +import { NextStepButton } from './NextStepButton'; +import { FormStepContainer } from '../../../components/FormStepContainer'; export const StepTokenDetails = () => { - const { t } = useTranslation("security", { keyPrefix: "createEquity" }); + const { t } = useTranslation('security', { keyPrefix: 'createEquity' }); const { control, setValue } = useFormContext(); @@ -246,24 +246,24 @@ export const StepTokenDetails = () => { return ( - {t("stepTokenDetails.title")} + {t('stepTokenDetails.title')} - {t("stepTokenDetails.subtitle")} + {t('stepTokenDetails.subtitle')} - {t("stepTokenDetails.mandatoryFields")} + {t('stepTokenDetails.mandatoryFields')} - {t("stepTokenDetails.name")}* + {t('stepTokenDetails.name')}* - + @@ -272,7 +272,7 @@ export const StepTokenDetails = () => { control={control} id="name" rules={{ required, maxLength: maxLength(100) }} - placeholder={t("stepTokenDetails.placeholderName")} + placeholder={t('stepTokenDetails.placeholderName')} backgroundColor="neutral.600" size="md" /> @@ -280,10 +280,10 @@ export const StepTokenDetails = () => { - {t("stepTokenDetails.symbol")}* + {t('stepTokenDetails.symbol')}* @@ -292,7 +292,7 @@ export const StepTokenDetails = () => { { - {t("stepTokenDetails.decimals")}* + {t('stepTokenDetails.decimals')}* @@ -313,7 +313,7 @@ export const StepTokenDetails = () => { { - {t("stepTokenDetails.isin")}* + {t('stepTokenDetails.isin')}* - + { }} /> - + @@ -366,11 +366,11 @@ export const StepTokenDetails = () => { setValue("isApproval", !e.target.checked)} + label={t('stepTokenDetails.permissionBlocklist')} + onChange={(e) => setValue('isApproval', !e.target.checked)} /> @@ -380,11 +380,11 @@ export const StepTokenDetails = () => { setValue("isBlocklist", !e.target.checked)} + label={t('stepTokenDetails.permissionApprovalList')} + onChange={(e) => setValue('isBlocklist', !e.target.checked)} /> @@ -392,17 +392,17 @@ export const StepTokenDetails = () => { - + @@ -412,7 +412,7 @@ export const StepTokenDetails = () => { @@ -422,7 +422,7 @@ export const StepTokenDetails = () => { w="full" h="100px" align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > diff --git a/apps/ats/web/src/views/CreateEquity/Components/__tests__/CreateTokenButton.test.tsx b/apps/ats/web/src/views/CreateEquity/Components/__tests__/CreateTokenButton.test.tsx index d0e6c6261..f4f4c2b8d 100644 --- a/apps/ats/web/src/views/CreateEquity/Components/__tests__/CreateTokenButton.test.tsx +++ b/apps/ats/web/src/views/CreateEquity/Components/__tests__/CreateTokenButton.test.tsx @@ -203,11 +203,11 @@ */ -import { CreateTokenButton } from "../CreateTokenButton"; -import { render } from "../../../../test-utils"; +import { CreateTokenButton } from '../CreateTokenButton'; +import { render } from '../../../../test-utils'; describe(`${CreateTokenButton.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/CreateEquity/Components/__tests__/NextStepButton.test.tsx b/apps/ats/web/src/views/CreateEquity/Components/__tests__/NextStepButton.test.tsx index d8127faaa..74036092b 100644 --- a/apps/ats/web/src/views/CreateEquity/Components/__tests__/NextStepButton.test.tsx +++ b/apps/ats/web/src/views/CreateEquity/Components/__tests__/NextStepButton.test.tsx @@ -203,17 +203,17 @@ */ -import { NextStepButton } from "../NextStepButton"; -import { render } from "../../../../test-utils"; +import { NextStepButton } from '../NextStepButton'; +import { render } from '../../../../test-utils'; const goToNext = jest.fn(); -jest.mock("io-bricks-ui", () => ({ - ...jest.requireActual("io-bricks-ui"), +jest.mock('io-bricks-ui', () => ({ + ...jest.requireActual('io-bricks-ui'), useStepContext: () => ({ goToNext }), })); describe(`${NextStepButton.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/CreateEquity/Components/__tests__/PreviousStepButton.test.tsx b/apps/ats/web/src/views/CreateEquity/Components/__tests__/PreviousStepButton.test.tsx index 4b42b5567..2130c81bf 100644 --- a/apps/ats/web/src/views/CreateEquity/Components/__tests__/PreviousStepButton.test.tsx +++ b/apps/ats/web/src/views/CreateEquity/Components/__tests__/PreviousStepButton.test.tsx @@ -203,17 +203,17 @@ */ -import { PreviousStepButton } from "../PreviousStepButton"; -import { render } from "../../../../test-utils"; +import { PreviousStepButton } from '../PreviousStepButton'; +import { render } from '../../../../test-utils'; const goToPrevious = jest.fn(); -jest.mock("io-bricks-ui", () => ({ - ...jest.requireActual("io-bricks-ui"), +jest.mock('io-bricks-ui', () => ({ + ...jest.requireActual('io-bricks-ui'), useStepContext: () => ({ goToPrevious }), })); describe(`${PreviousStepButton.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/CreateEquity/CreateEquity.tsx b/apps/ats/web/src/views/CreateEquity/CreateEquity.tsx index 32b3a1465..5a372d607 100644 --- a/apps/ats/web/src/views/CreateEquity/CreateEquity.tsx +++ b/apps/ats/web/src/views/CreateEquity/CreateEquity.tsx @@ -203,30 +203,30 @@ */ -import { Box, HStack, Stack } from "@chakra-ui/react"; -import { StepTokenDetails } from "./Components/StepTokenDetails"; -import { FormProvider, useForm } from "react-hook-form"; -import { useSteps, Wizard } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { History } from "../../components/History"; -import { RouteName } from "../../router/RouteName"; -import { ICreateEquityFormValues } from "./ICreateEquityFormValues"; -import { useEffect } from "react"; -import { User } from "../../utils/constants"; -import { useUserStore } from "../../store/userStore"; -import { StepNewSerie } from "./Components/StepNewSerie"; -import { StepReview } from "./Components/StepReview"; -import { StepRegulation } from "../CreateSecurityCommons/StepRegulation"; -import { StepExternalManagement } from "../CreateSecurityCommons/StepExternalManagement"; +import { Box, HStack, Stack } from '@chakra-ui/react'; +import { StepTokenDetails } from './Components/StepTokenDetails'; +import { FormProvider, useForm } from 'react-hook-form'; +import { useSteps, Wizard } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { History } from '../../components/History'; +import { RouteName } from '../../router/RouteName'; +import { ICreateEquityFormValues } from './ICreateEquityFormValues'; +import { useEffect } from 'react'; +import { User } from '../../utils/constants'; +import { useUserStore } from '../../store/userStore'; +import { StepNewSerie } from './Components/StepNewSerie'; +import { StepReview } from './Components/StepReview'; +import { StepRegulation } from '../CreateSecurityCommons/StepRegulation'; +import { StepExternalManagement } from '../CreateSecurityCommons/StepExternalManagement'; export const CreateEquity = () => { - const { t } = useTranslation("security", { keyPrefix: "createEquity" }); - const { t: tRoutes } = useTranslation("routes"); + const { t } = useTranslation('security', { keyPrefix: 'createEquity' }); + const { t: tRoutes } = useTranslation('routes'); const { setType } = useUserStore(); const steps = useSteps(); const form = useForm({ - mode: "all", + mode: 'all', defaultValues: { isControllable: true, isBlocklist: true, @@ -252,23 +252,23 @@ export const CreateEquity = () => { const wizardSteps = [ { - title: t("stepTokenDetails.title"), + title: t('stepTokenDetails.title'), content: , }, { - title: t("stepNewSerie.title"), + title: t('stepNewSerie.title'), content: , }, { - title: t("stepExternalManagement.title"), + title: t('stepExternalManagement.title'), content: , }, { - title: t("header.regulation"), + title: t('header.regulation'), content: , }, { - title: t("stepReview.title"), + title: t('stepReview.title'), content: , }, ]; diff --git a/apps/ats/web/src/views/CreateEquity/DividendType.ts b/apps/ats/web/src/views/CreateEquity/DividendType.ts index 60d989976..978488b05 100644 --- a/apps/ats/web/src/views/CreateEquity/DividendType.ts +++ b/apps/ats/web/src/views/CreateEquity/DividendType.ts @@ -204,18 +204,18 @@ */ export enum DividendType { - NONE = "None", - PREFERRED = "Preferred", - COMMON = "Common", + NONE = 'None', + PREFERRED = 'Preferred', + COMMON = 'Common', } export function transformDividendType(value: string): DividendType { switch (value) { - case "0": + case '0': return DividendType.NONE; - case "1": + case '1': return DividendType.PREFERRED; - case "2": + case '2': return DividendType.COMMON; default: throw new Error(`Unknown value: ${value}`); diff --git a/apps/ats/web/src/views/CreateEquity/__tests__/CreateEquity.test.tsx b/apps/ats/web/src/views/CreateEquity/__tests__/CreateEquity.test.tsx index b026d3204..7f23ffa4a 100644 --- a/apps/ats/web/src/views/CreateEquity/__tests__/CreateEquity.test.tsx +++ b/apps/ats/web/src/views/CreateEquity/__tests__/CreateEquity.test.tsx @@ -203,11 +203,11 @@ */ -import { CreateEquity } from "../CreateEquity"; -import { render } from "../../../test-utils"; +import { CreateEquity } from '../CreateEquity'; +import { render } from '../../../test-utils'; describe(`${CreateEquity.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/CreateExternalControl/CreateExternalControl.tsx b/apps/ats/web/src/views/CreateExternalControl/CreateExternalControl.tsx index 55321fb7d..6632020f6 100644 --- a/apps/ats/web/src/views/CreateExternalControl/CreateExternalControl.tsx +++ b/apps/ats/web/src/views/CreateExternalControl/CreateExternalControl.tsx @@ -1,27 +1,27 @@ -import { Box, HStack, Stack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { RouteName } from "../../router/RouteName"; -import { useTranslation } from "react-i18next"; -import { RoutePath } from "../../router/RoutePath"; -import { Button, SelectController, Text } from "io-bricks-ui"; -import { RouterManager } from "../../router/RouterManager"; -import { useForm } from "react-hook-form"; -import { useExternalControlStore } from "../../store/externalControlStore"; -import { required } from "../../utils/rules"; +import { Box, HStack, Stack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { RouteName } from '../../router/RouteName'; +import { useTranslation } from 'react-i18next'; +import { RoutePath } from '../../router/RoutePath'; +import { Button, SelectController, Text } from 'io-bricks-ui'; +import { RouterManager } from '../../router/RouterManager'; +import { useForm } from 'react-hook-form'; +import { useExternalControlStore } from '../../store/externalControlStore'; +import { required } from '../../utils/rules'; import { useCreateExternalBlackListMock, useCreateExternalWhiteListMock, -} from "../../hooks/mutations/useExternalControl"; +} from '../../hooks/mutations/useExternalControl'; export interface FormValues { - type: "whitelist" | "blacklist"; + type: 'whitelist' | 'blacklist'; } export const CreateExternalControl = () => { const { addExternalControl } = useExternalControlStore(); - const { t: tRoutes } = useTranslation("routes"); - const { t: tCreate } = useTranslation("externalControl", { - keyPrefix: "create", + const { t: tRoutes } = useTranslation('routes'); + const { t: tCreate } = useTranslation('externalControl', { + keyPrefix: 'create', }); const { @@ -29,7 +29,7 @@ export const CreateExternalControl = () => { formState: { isValid }, handleSubmit, } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { @@ -46,24 +46,24 @@ export const CreateExternalControl = () => { isLoadingCreatingExternalWhiteListMock; const onSubmit = (values: FormValues) => { - if (values.type === "blacklist") { + if (values.type === 'blacklist') { return createExternalBlacklistMock().then((response) => { if (response) { addExternalControl({ address: response, - type: "blacklist", + type: 'blacklist', }); RouterManager.goBack(); } }); } - if (values.type === "whitelist") { + if (values.type === 'whitelist') { return createExternalWhitelistMock().then((response) => { if (response) { addExternalControl({ address: response, - type: "whitelist", + type: 'whitelist', }); RouterManager.goBack(); @@ -79,56 +79,56 @@ export const CreateExternalControl = () => { excludePaths={[RoutePath.DASHBOARD]} /> - {tCreate("title")} - {tCreate("subtitle")} + {tCreate('title')} + {tCreate('subtitle')} - {tCreate("mandatoryFields")} + {tCreate('mandatoryFields')} - + RouterManager.goBack()} > - {tCreate("cancel")} + {tCreate('cancel')} - {tCreate("create")} + {tCreate('create')} diff --git a/apps/ats/web/src/views/CreateExternalPause/CreateExternalPause.tsx b/apps/ats/web/src/views/CreateExternalPause/CreateExternalPause.tsx index ffd10a4d4..3490eb7de 100644 --- a/apps/ats/web/src/views/CreateExternalPause/CreateExternalPause.tsx +++ b/apps/ats/web/src/views/CreateExternalPause/CreateExternalPause.tsx @@ -1,17 +1,17 @@ -import { Box, HStack, Stack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { RouteName } from "../../router/RouteName"; -import { useTranslation } from "react-i18next"; -import { RoutePath } from "../../router/RoutePath"; -import { Button, Text, ToggleController } from "io-bricks-ui"; -import { RouterManager } from "../../router/RouterManager"; -import { useForm } from "react-hook-form"; -import { useExternalPauseStore } from "../../store/externalPauseStore"; +import { Box, HStack, Stack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { RouteName } from '../../router/RouteName'; +import { useTranslation } from 'react-i18next'; +import { RoutePath } from '../../router/RoutePath'; +import { Button, Text, ToggleController } from 'io-bricks-ui'; +import { RouterManager } from '../../router/RouterManager'; +import { useForm } from 'react-hook-form'; +import { useExternalPauseStore } from '../../store/externalPauseStore'; import { useCreatePauseMock, useSetPausedMock, -} from "../../hooks/mutations/useExternalPause"; -import { SetPausedMockRequest } from "@hashgraph/asset-tokenization-sdk"; +} from '../../hooks/mutations/useExternalPause'; +import { SetPausedMockRequest } from '@hashgraph/asset-tokenization-sdk'; export interface FormValues { isActivated: boolean; @@ -19,9 +19,9 @@ export interface FormValues { export const CreateExternalPause = () => { const { addExternalPause } = useExternalPauseStore(); - const { t: tRoutes } = useTranslation("routes"); - const { t: tCreate } = useTranslation("externalPause", { - keyPrefix: "create", + const { t: tRoutes } = useTranslation('routes'); + const { t: tCreate } = useTranslation('externalPause', { + keyPrefix: 'create', }); const { @@ -29,7 +29,7 @@ export const CreateExternalPause = () => { formState: { isValid }, handleSubmit, } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { mutateAsync, isLoading } = useCreatePauseMock(); @@ -60,7 +60,7 @@ export const CreateExternalPause = () => { RouterManager.goBack(); } } catch (error) { - console.error("Error en onSubmit:", error); + console.error('Error en onSubmit:', error); } }; @@ -71,48 +71,48 @@ export const CreateExternalPause = () => { excludePaths={[RoutePath.DASHBOARD]} /> - {tCreate("title")} - {tCreate("subtitle")} + {tCreate('title')} + {tCreate('subtitle')} - {tCreate("mandatoryFields")} + {tCreate('mandatoryFields')} {}} - label={tCreate("input.isActivated.label")} + label={tCreate('input.isActivated.label')} /> - + RouterManager.goBack()} > - {tCreate("cancel")} + {tCreate('cancel')} - {tCreate("create")} + {tCreate('create')} diff --git a/apps/ats/web/src/views/CreateSecurityCommons/CountriesList.ts b/apps/ats/web/src/views/CreateSecurityCommons/CountriesList.ts index 255be1b28..1f739be17 100644 --- a/apps/ats/web/src/views/CreateSecurityCommons/CountriesList.ts +++ b/apps/ats/web/src/views/CreateSecurityCommons/CountriesList.ts @@ -204,253 +204,253 @@ */ export enum CountriesList { - AF = "Afghanistan", - AX = "ร land Islands", - AL = "Albania", - DZ = "Algeria", - AS = "American Samoa", - AD = "Andorra", - AO = "Angola", - AI = "Anguilla", - AQ = "Antarctica", - AG = "Antigua and Barbuda", - AR = "Argentina", - AM = "Armenia", - AW = "Aruba", - AU = "Australia", - AT = "Austria", - AZ = "Azerbaijan", - BS = "Bahamas", - BH = "Bahrain", - BD = "Bangladesh", - BB = "Barbados", - BY = "Belarus", - BE = "Belgium", - BZ = "Belize", - BJ = "Benin", - BM = "Bermuda", - BT = "Bhutan", - BO = "Bolivia", - BQ = "Bonaire Sint Eustatius Saba", - BA = "Bosnia and Herzegovina", - BW = "Botswana", - BV = "Bouvet Island", - BR = "Brazil", - IO = "British Indian Ocean Territory", - BN = "Brunei Darussalam", - BG = "Bulgaria", - BF = "Burkina Faso", - BI = "Burundi", - CV = "Cabo Verde", - KH = "Cambodia", - CM = "Cameroon", - CA = "Canada", - KY = "Cayman Islands", - CF = "Central African Republic", - TD = "Chad", - CL = "Chile", - CN = "China", - CX = "Christmas Island", - CC = "Cocos Islands", - CO = "Colombia", - KM = "Comoros", - CD = "Democratic Republic of the Congo", - CG = "Republic of the Congo", - CK = "Cook Islands", - CR = "Costa Rica", + AF = 'Afghanistan', + AX = 'ร land Islands', + AL = 'Albania', + DZ = 'Algeria', + AS = 'American Samoa', + AD = 'Andorra', + AO = 'Angola', + AI = 'Anguilla', + AQ = 'Antarctica', + AG = 'Antigua and Barbuda', + AR = 'Argentina', + AM = 'Armenia', + AW = 'Aruba', + AU = 'Australia', + AT = 'Austria', + AZ = 'Azerbaijan', + BS = 'Bahamas', + BH = 'Bahrain', + BD = 'Bangladesh', + BB = 'Barbados', + BY = 'Belarus', + BE = 'Belgium', + BZ = 'Belize', + BJ = 'Benin', + BM = 'Bermuda', + BT = 'Bhutan', + BO = 'Bolivia', + BQ = 'Bonaire Sint Eustatius Saba', + BA = 'Bosnia and Herzegovina', + BW = 'Botswana', + BV = 'Bouvet Island', + BR = 'Brazil', + IO = 'British Indian Ocean Territory', + BN = 'Brunei Darussalam', + BG = 'Bulgaria', + BF = 'Burkina Faso', + BI = 'Burundi', + CV = 'Cabo Verde', + KH = 'Cambodia', + CM = 'Cameroon', + CA = 'Canada', + KY = 'Cayman Islands', + CF = 'Central African Republic', + TD = 'Chad', + CL = 'Chile', + CN = 'China', + CX = 'Christmas Island', + CC = 'Cocos Islands', + CO = 'Colombia', + KM = 'Comoros', + CD = 'Democratic Republic of the Congo', + CG = 'Republic of the Congo', + CK = 'Cook Islands', + CR = 'Costa Rica', CI = "Cรดte d'Ivoire", - HR = "Croatia", - CU = "Cuba", - CW = "Curaรงao", - CY = "Cyprus", - CZ = "Czechia", - DK = "Denmark", - DJ = "Djibouti", - DM = "Dominica", - DO = "Dominican Republic", - EC = "Ecuador", - EG = "Egypt", - SV = "El Salvador", - GQ = "Equatorial Guinea", - ER = "Eritrea", - EE = "Estonia", - SZ = "Eswatini", - ET = "Ethiopia", - FK = "Falkland Islands", - FO = "Faroe Islands", - FJ = "Fiji", - FI = "Finland", - FR = "France", - GF = "French Guiana", - PF = "French Polynesia", - TF = "French Southern Territories", - GA = "Gabon", - GM = "Gambia", - GE = "Georgia", - DE = "Germany", - GH = "Ghana", - GI = "Gibraltar", - GR = "Greece", - GL = "Greenland", - GD = "Grenada", - GP = "Guadeloupe", - GU = "Guam", - GT = "Guatemala", - GG = "Guernsey", - GN = "Guinea", - GW = "Guinea-Bissau", - GY = "Guyana", - HT = "Haiti", - HM = "Heard Island and McDonald Islands", - VA = "Vatican", - HN = "Honduras", - HK = "Hong Kong", - HU = "Hungary", - IS = "Iceland", - IN = "India", - ID = "Indonesia", - IR = "Iran", - IQ = "Iraq", - IE = "Ireland", - IM = "Isle of Man", - IL = "Israel", - IT = "Italy", - JM = "Jamaica", - JP = "Japan", - JE = "Jersey", - JO = "Jordan", - KZ = "Kazakhstan", - KE = "Kenya", - KI = "Kiribati", - KP = "North Korea", - KR = "South Korea", - KW = "Kuwait", - KG = "Kyrgyzstan", - LA = "Lao", - LV = "Latvia", - LB = "Lebanon", - LS = "Lesotho", - LR = "Liberia", - LY = "Libya", - LI = "Liechtenstein", - LT = "Lithuania", - LU = "Luxembourg", - MO = "Macao", - MG = "Madagascar", - MW = "Malawi", - MY = "Malaysia", - MV = "Maldives", - ML = "Mali", - MT = "Malta", - MH = "Marshall Islands", - MQ = "Martinique", - MR = "Mauritania", - MU = "Mauritius", - YT = "Mayotte", - MX = "Mexico", - FM = "Micronesia", - MD = "Moldova", - MC = "Monaco", - MN = "Mongolia", - ME = "Montenegro", - MS = "Montserrat", - MA = "Morocco", - MZ = "Mozambique", - MM = "Myanmar", - NA = "Namibia", - NR = "Nauru", - NP = "Nepal", - NL = "Netherlands", - NC = "New Caledonia", - NZ = "New Zealand", - NI = "Nicaragua", - NE = "Niger", - NG = "Nigeria", - NU = "Niue", - NF = "Norfolk Island", - MK = "North Macedonia", - MP = "Northern Mariana Islands", - NO = "Norway", - OM = "Oman", - PK = "Pakistan", - PW = "Palau", - PS = "Palestine", - PA = "Panama", - PG = "Papua New Guinea", - PY = "Paraguay", - PE = "Peru", - PH = "Philippines", - PN = "Pitcairn", - PL = "Poland", - PT = "Portugal", - PR = "Puerto Rico", - QA = "Qatar", - RE = "Rรฉunion", - RO = "Romania", - RU = "Russian Federation", - RW = "Rwanda", - BL = "Saint Barthรฉlemy", - SH = "Saint Helena, Ascension Island, Tristan da Cunha", - KN = "Saint Kitts and Nevis", - LC = "Saint Lucia", - MF = "Saint Martin", - PM = "Saint Pierre and Miquelon", - VC = "Saint Vincent and the Grenadines", - WS = "Samoa", - SM = "San Marino", - ST = "Sao Tome and Principe", - SA = "Saudi Arabia", - SN = "Senegal", - RS = "Serbia", - SC = "Seychelles", - SL = "Sierra Leone", - SG = "Singapore", - SX = "Sint Maarten", - SK = "Slovakia", - SI = "Slovenia", - SB = "Solomon Islands", - SO = "Somalia", - ZA = "South Africa", - GS = "South Georgia and the South Sandwich Islands", - SS = "South Sudan", - ES = "Spain", - LK = "Sri Lanka", - SD = "Sudan", - SR = "Suriname", - SJ = "Svalbard, Jan Mayen", - SE = "Sweden", - CH = "Switzerland", - SY = "Syrian Arab Republic", - TW = "Taiwan", - TJ = "Tajikistan", - TZ = "Tanzania", - TH = "Thailand", - TL = "Timor-Leste", - TG = "Togo", - TK = "Tokelau", - TO = "Tonga", - TT = "Trinidad and Tobago", - TN = "Tunisia", - TR = "Tรผrkiye", - TM = "Turkmenistan", - TC = "Turks and Caicos Islands", - TV = "Tuvalu", - UG = "Uganda", - UA = "Ukraine", - AE = "United Arab Emirates", - GB = "United Kingdom", - UM = "United States Islands", - US = "United States of America", - UY = "Uruguay", - UZ = "Uzbekistan", - VU = "Vanuatu", - VE = "Venezuela", - VN = "Viet Nam", - VG = "Virgin Islands British", - VI = "Virgin Islands U.S.", - WF = "Wallis and Futuna", - EH = "Western Sahara", - YE = "Yemen", - ZM = "Zambia", - ZW = "Zimbabwe", + HR = 'Croatia', + CU = 'Cuba', + CW = 'Curaรงao', + CY = 'Cyprus', + CZ = 'Czechia', + DK = 'Denmark', + DJ = 'Djibouti', + DM = 'Dominica', + DO = 'Dominican Republic', + EC = 'Ecuador', + EG = 'Egypt', + SV = 'El Salvador', + GQ = 'Equatorial Guinea', + ER = 'Eritrea', + EE = 'Estonia', + SZ = 'Eswatini', + ET = 'Ethiopia', + FK = 'Falkland Islands', + FO = 'Faroe Islands', + FJ = 'Fiji', + FI = 'Finland', + FR = 'France', + GF = 'French Guiana', + PF = 'French Polynesia', + TF = 'French Southern Territories', + GA = 'Gabon', + GM = 'Gambia', + GE = 'Georgia', + DE = 'Germany', + GH = 'Ghana', + GI = 'Gibraltar', + GR = 'Greece', + GL = 'Greenland', + GD = 'Grenada', + GP = 'Guadeloupe', + GU = 'Guam', + GT = 'Guatemala', + GG = 'Guernsey', + GN = 'Guinea', + GW = 'Guinea-Bissau', + GY = 'Guyana', + HT = 'Haiti', + HM = 'Heard Island and McDonald Islands', + VA = 'Vatican', + HN = 'Honduras', + HK = 'Hong Kong', + HU = 'Hungary', + IS = 'Iceland', + IN = 'India', + ID = 'Indonesia', + IR = 'Iran', + IQ = 'Iraq', + IE = 'Ireland', + IM = 'Isle of Man', + IL = 'Israel', + IT = 'Italy', + JM = 'Jamaica', + JP = 'Japan', + JE = 'Jersey', + JO = 'Jordan', + KZ = 'Kazakhstan', + KE = 'Kenya', + KI = 'Kiribati', + KP = 'North Korea', + KR = 'South Korea', + KW = 'Kuwait', + KG = 'Kyrgyzstan', + LA = 'Lao', + LV = 'Latvia', + LB = 'Lebanon', + LS = 'Lesotho', + LR = 'Liberia', + LY = 'Libya', + LI = 'Liechtenstein', + LT = 'Lithuania', + LU = 'Luxembourg', + MO = 'Macao', + MG = 'Madagascar', + MW = 'Malawi', + MY = 'Malaysia', + MV = 'Maldives', + ML = 'Mali', + MT = 'Malta', + MH = 'Marshall Islands', + MQ = 'Martinique', + MR = 'Mauritania', + MU = 'Mauritius', + YT = 'Mayotte', + MX = 'Mexico', + FM = 'Micronesia', + MD = 'Moldova', + MC = 'Monaco', + MN = 'Mongolia', + ME = 'Montenegro', + MS = 'Montserrat', + MA = 'Morocco', + MZ = 'Mozambique', + MM = 'Myanmar', + NA = 'Namibia', + NR = 'Nauru', + NP = 'Nepal', + NL = 'Netherlands', + NC = 'New Caledonia', + NZ = 'New Zealand', + NI = 'Nicaragua', + NE = 'Niger', + NG = 'Nigeria', + NU = 'Niue', + NF = 'Norfolk Island', + MK = 'North Macedonia', + MP = 'Northern Mariana Islands', + NO = 'Norway', + OM = 'Oman', + PK = 'Pakistan', + PW = 'Palau', + PS = 'Palestine', + PA = 'Panama', + PG = 'Papua New Guinea', + PY = 'Paraguay', + PE = 'Peru', + PH = 'Philippines', + PN = 'Pitcairn', + PL = 'Poland', + PT = 'Portugal', + PR = 'Puerto Rico', + QA = 'Qatar', + RE = 'Rรฉunion', + RO = 'Romania', + RU = 'Russian Federation', + RW = 'Rwanda', + BL = 'Saint Barthรฉlemy', + SH = 'Saint Helena, Ascension Island, Tristan da Cunha', + KN = 'Saint Kitts and Nevis', + LC = 'Saint Lucia', + MF = 'Saint Martin', + PM = 'Saint Pierre and Miquelon', + VC = 'Saint Vincent and the Grenadines', + WS = 'Samoa', + SM = 'San Marino', + ST = 'Sao Tome and Principe', + SA = 'Saudi Arabia', + SN = 'Senegal', + RS = 'Serbia', + SC = 'Seychelles', + SL = 'Sierra Leone', + SG = 'Singapore', + SX = 'Sint Maarten', + SK = 'Slovakia', + SI = 'Slovenia', + SB = 'Solomon Islands', + SO = 'Somalia', + ZA = 'South Africa', + GS = 'South Georgia and the South Sandwich Islands', + SS = 'South Sudan', + ES = 'Spain', + LK = 'Sri Lanka', + SD = 'Sudan', + SR = 'Suriname', + SJ = 'Svalbard, Jan Mayen', + SE = 'Sweden', + CH = 'Switzerland', + SY = 'Syrian Arab Republic', + TW = 'Taiwan', + TJ = 'Tajikistan', + TZ = 'Tanzania', + TH = 'Thailand', + TL = 'Timor-Leste', + TG = 'Togo', + TK = 'Tokelau', + TO = 'Tonga', + TT = 'Trinidad and Tobago', + TN = 'Tunisia', + TR = 'Tรผrkiye', + TM = 'Turkmenistan', + TC = 'Turks and Caicos Islands', + TV = 'Tuvalu', + UG = 'Uganda', + UA = 'Ukraine', + AE = 'United Arab Emirates', + GB = 'United Kingdom', + UM = 'United States Islands', + US = 'United States of America', + UY = 'Uruguay', + UZ = 'Uzbekistan', + VU = 'Vanuatu', + VE = 'Venezuela', + VN = 'Viet Nam', + VG = 'Virgin Islands British', + VI = 'Virgin Islands U.S.', + WF = 'Wallis and Futuna', + EH = 'Western Sahara', + YE = 'Yemen', + ZM = 'Zambia', + ZW = 'Zimbabwe', } diff --git a/apps/ats/web/src/views/CreateSecurityCommons/StepExternalManagement.tsx b/apps/ats/web/src/views/CreateSecurityCommons/StepExternalManagement.tsx index 8cff988d8..52160d97b 100644 --- a/apps/ats/web/src/views/CreateSecurityCommons/StepExternalManagement.tsx +++ b/apps/ats/web/src/views/CreateSecurityCommons/StepExternalManagement.tsx @@ -209,9 +209,9 @@ import { SimpleGrid, Stack, VStack, -} from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; -import { X } from "@phosphor-icons/react"; +} from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import { X } from '@phosphor-icons/react'; import { PhosphorIcon, Text, @@ -219,18 +219,18 @@ import { SelectController, Tag, PanelTitle, -} from "io-bricks-ui"; -import { useFormContext, useFormState } from "react-hook-form"; -import { useEffect, useState } from "react"; -import { useExternalPauseStore } from "../../store/externalPauseStore"; -import { ICreateEquityFormValues } from "../CreateEquity/ICreateEquityFormValues"; -import { ICreateBondFormValues } from "../CreateBond/ICreateBondFormValues"; -import { FormStepContainer } from "../../components/FormStepContainer"; -import { CancelButton } from "../../components/CancelButton"; -import { PreviousStepButton } from "../CreateEquity/Components/PreviousStepButton"; -import { NextStepButton } from "../CreateEquity/Components/NextStepButton"; -import { useExternalControlStore } from "../../store/externalControlStore"; -import { useExternalKYCStore } from "../../store/externalKYCStore"; +} from 'io-bricks-ui'; +import { useFormContext, useFormState } from 'react-hook-form'; +import { useEffect, useState } from 'react'; +import { useExternalPauseStore } from '../../store/externalPauseStore'; +import { ICreateEquityFormValues } from '../CreateEquity/ICreateEquityFormValues'; +import { ICreateBondFormValues } from '../CreateBond/ICreateBondFormValues'; +import { FormStepContainer } from '../../components/FormStepContainer'; +import { CancelButton } from '../../components/CancelButton'; +import { PreviousStepButton } from '../CreateEquity/Components/PreviousStepButton'; +import { NextStepButton } from '../CreateEquity/Components/NextStepButton'; +import { useExternalControlStore } from '../../store/externalControlStore'; +import { useExternalKYCStore } from '../../store/externalKYCStore'; type SelectOption = { value: string; @@ -238,8 +238,8 @@ type SelectOption = { }; export const StepExternalManagement = () => { - const { t } = useTranslation("security", { - keyPrefix: "createEquity.stepExternalManagement", + const { t } = useTranslation('security', { + keyPrefix: 'createEquity.stepExternalManagement', }); const { externalPauses } = useExternalPauseStore(); @@ -256,18 +256,18 @@ export const StepExternalManagement = () => { const [externalPausesSelected, setExternalPausesSelected] = useState< string[] - >(watch("externalPausesList") ?? []); + >(watch('externalPausesList') ?? []); const [externalControlsSelected, setExternalControlsSelected] = useState< string[] - >(watch("externalControlList") ?? []); + >(watch('externalControlList') ?? []); const [externalKYCsSelected, setExternalKYCsSelected] = useState( - watch("externalKYCList") ?? [], + watch('externalKYCList') ?? [], ); useEffect(() => { - setValue("externalPausesList", externalPausesSelected); - setValue("externalControlList", externalControlsSelected); - setValue("externalKYCList", externalKYCsSelected); + setValue('externalPausesList', externalPausesSelected); + setValue('externalControlList', externalControlsSelected); + setValue('externalKYCList', externalKYCsSelected); }, [ externalPausesSelected, externalControlsSelected, @@ -347,20 +347,20 @@ export const StepExternalManagement = () => { return ( - {t("title")} - {t("subtitle")} + {t('title')} + {t('subtitle')} - + - {t("pauseList")} + {t('pauseList')} { /> - + {externalPausesSelected.map((item) => ( { ))} - + - {t("controlList")} + {t('controlList')} { /> - + {externalControlsSelected.map((item) => ( { ))} - + - {t("kycList")} + {t('kycList')} { /> - + {externalKYCsSelected.map((item) => ( { w="full" h="100px" align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > diff --git a/apps/ats/web/src/views/CreateSecurityCommons/StepRegulation.tsx b/apps/ats/web/src/views/CreateSecurityCommons/StepRegulation.tsx index 60c28ccef..0c17640da 100644 --- a/apps/ats/web/src/views/CreateSecurityCommons/StepRegulation.tsx +++ b/apps/ats/web/src/views/CreateSecurityCommons/StepRegulation.tsx @@ -203,9 +203,9 @@ */ -import { useEffect, useState } from "react"; -import { Button, HStack, Stack, VStack, useDisclosure } from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; +import { useEffect, useState } from 'react'; +import { Button, HStack, Stack, VStack, useDisclosure } from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; import { PhosphorIcon, Text, @@ -220,25 +220,25 @@ import { useStepContext, PopUp, Tooltip, -} from "io-bricks-ui"; -import { Plus, X } from "@phosphor-icons/react"; -import { CancelButton } from "../../components/CancelButton"; -import { PreviousStepButton } from "../CreateEquity/Components/PreviousStepButton"; -import { required } from "../../utils/rules"; -import { ICreateEquityFormValues } from "../CreateEquity/ICreateEquityFormValues"; -import { useFormContext, useFormState } from "react-hook-form"; -import { Info } from "@phosphor-icons/react"; -import { FormStepContainer } from "../../components/FormStepContainer"; -import { CountriesList } from "./CountriesList"; -import { useGetRegulationDetails } from "../../hooks/queries/useGetSecurityDetails"; -import { GetRegulationDetailsRequest } from "@hashgraph/asset-tokenization-sdk"; -import { createColumnHelper } from "@tanstack/react-table"; +} from 'io-bricks-ui'; +import { Plus, X } from '@phosphor-icons/react'; +import { CancelButton } from '../../components/CancelButton'; +import { PreviousStepButton } from '../CreateEquity/Components/PreviousStepButton'; +import { required } from '../../utils/rules'; +import { ICreateEquityFormValues } from '../CreateEquity/ICreateEquityFormValues'; +import { useFormContext, useFormState } from 'react-hook-form'; +import { Info } from '@phosphor-icons/react'; +import { FormStepContainer } from '../../components/FormStepContainer'; +import { CountriesList } from './CountriesList'; +import { useGetRegulationDetails } from '../../hooks/queries/useGetSecurityDetails'; +import { GetRegulationDetailsRequest } from '@hashgraph/asset-tokenization-sdk'; +import { createColumnHelper } from '@tanstack/react-table'; import { COUNTRY_LIST_ALLOWED, COUNTRY_LIST_BLOCKED, -} from "../../utils/countriesConfig"; -import { ICreateBondFormValues } from "../CreateBond/ICreateBondFormValues"; -import _capitalize from "lodash/capitalize"; +} from '../../utils/countriesConfig'; +import { ICreateBondFormValues } from '../CreateBond/ICreateBondFormValues'; +import _capitalize from 'lodash/capitalize'; interface Regulation { restriction: { @@ -249,26 +249,26 @@ interface Regulation { } export const StepRegulation = () => { - const { t } = useTranslation("security", { keyPrefix: "regulation" }); + const { t } = useTranslation('security', { keyPrefix: 'regulation' }); const { control, watch, setValue } = useFormContext< ICreateEquityFormValues | ICreateBondFormValues >(); const stepFormState = useFormState({ control }); - const [countryToAdd, setCountryToAdd] = useState(""); + const [countryToAdd, setCountryToAdd] = useState(''); const { goToNext } = useStepContext(); - const regulationType = watch("regulationType"); - const regulationSubType = watch("regulationSubType"); - const countriesListType = watch("countriesListType"); - const countriesList: string[] = watch("countriesList"); + const regulationType = watch('regulationType'); + const regulationSubType = watch('regulationSubType'); + const countriesListType = watch('countriesListType'); + const countriesList: string[] = watch('countriesList'); useEffect(() => { if (regulationType === 1) { - setValue("regulationSubType", 0); - setValue("countriesListType", 1); + setValue('regulationSubType', 0); + setValue('countriesListType', 1); } else { - setValue("regulationSubType", 1); - setValue("countriesListType", 2); + setValue('regulationSubType', 1); + setValue('countriesListType', 2); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [regulationType]); @@ -292,11 +292,11 @@ export const StepRegulation = () => { }, [regulationType, regulationSubType]); const addCountryOnSubmit = () => { - if (countryToAdd !== "") { + if (countryToAdd !== '') { if (!countriesList.includes(countryToAdd)) { countriesList.push(countryToAdd); } - setCountryToAdd(""); + setCountryToAdd(''); } }; @@ -306,7 +306,7 @@ export const StepRegulation = () => { const onRemoveCountryHandler = (country: string) => { setValue( - "countriesList", + 'countriesList', countriesList.filter((obj) => obj !== country), ); }; @@ -315,8 +315,8 @@ export const StepRegulation = () => { const columnHelper = createColumnHelper(); const columns = [ - columnHelper.accessor("restriction", { - header: t("restrictions"), + columnHelper.accessor('restriction', { + header: t('restrictions'), size: 160, enableSorting: false, cell: ({ getValue }) => { @@ -332,8 +332,8 @@ export const StepRegulation = () => { ); }, }), - columnHelper.accessor("rule", { - header: t("rules"), + columnHelper.accessor('rule', { + header: t('rules'), size: 160, enableSorting: false, cell: ({ getValue }) => { @@ -349,51 +349,51 @@ export const StepRegulation = () => { const dataRegulations: Regulation[] = [ { restriction: { - text: t("dealSize"), - tooltip: t("dealSizeTooltip"), + text: t('dealSize'), + tooltip: t('dealSizeTooltip'), }, rule: - regulationDetails?.dealSize !== "0" - ? `${regulationDetails?.dealSize} $` || "" - : t("dealSizePlaceHolder"), + regulationDetails?.dealSize !== '0' + ? `${regulationDetails?.dealSize} $` + : t('dealSizePlaceHolder'), }, { restriction: { - text: t("accreditedInvestors"), - tooltip: t("accreditedInvestorsTooltip"), + text: t('accreditedInvestors'), + tooltip: t('accreditedInvestorsTooltip'), }, - rule: _capitalize(regulationDetails?.accreditedInvestors) ?? "", + rule: _capitalize(regulationDetails?.accreditedInvestors) ?? '', }, { restriction: { - text: t("maxNonAccreditedInvestors"), - tooltip: t("maxNonAccreditedInvestorsTooltip"), + text: t('maxNonAccreditedInvestors'), + tooltip: t('maxNonAccreditedInvestorsTooltip'), }, rule: regulationDetails?.maxNonAccreditedInvestors !== 0 - ? `${regulationDetails?.maxNonAccreditedInvestors}` || "" - : t("maxNonAccreditedInvestorsPlaceHolder"), + ? `${regulationDetails?.maxNonAccreditedInvestors}` + : t('maxNonAccreditedInvestorsPlaceHolder'), }, { restriction: { - text: t("manualInvestorVerification"), - tooltip: t("manualInvestorVerificationTooltip"), + text: t('manualInvestorVerification'), + tooltip: t('manualInvestorVerificationTooltip'), }, - rule: _capitalize(regulationDetails?.manualInvestorVerification) ?? "", + rule: _capitalize(regulationDetails?.manualInvestorVerification) ?? '', }, { restriction: { - text: t("internationalInvestors"), - tooltip: t("internationalInvestorsTooltip"), + text: t('internationalInvestors'), + tooltip: t('internationalInvestorsTooltip'), }, - rule: _capitalize(regulationDetails?.internationalInvestors) ?? "", + rule: _capitalize(regulationDetails?.internationalInvestors) ?? '', }, { restriction: { - text: t("resaleHoldPeriod"), - tooltip: t("resaleHoldPeriodTooltip"), + text: t('resaleHoldPeriod'), + tooltip: t('resaleHoldPeriodTooltip'), }, - rule: _capitalize(regulationDetails?.resaleHoldPeriod) ?? "", + rule: _capitalize(regulationDetails?.resaleHoldPeriod) ?? '', }, ]; @@ -401,19 +401,19 @@ export const StepRegulation = () => { - {t("title")} + {t('title')} - {t("important") + ":"} - {t("titleImportant")} + {t('important') + ':'} + {t('titleImportant')} - {t("jurisdiction")} - + {t('jurisdiction')} + @@ -423,17 +423,17 @@ export const StepRegulation = () => { defaultValue={1} options={[ { - label: "United States jurisdiction", - value: "1", + label: 'United States jurisdiction', + value: '1', }, ]} /> - + - {t("regulationType")} - + {t('regulationType')} + @@ -445,11 +445,11 @@ export const StepRegulation = () => { options={[ { value: 1, - label: t("regulationType_1"), + label: t('regulationType_1'), }, { value: 2, - label: t("regulationType_2"), + label: t('regulationType_2'), }, ]} /> @@ -458,9 +458,9 @@ export const StepRegulation = () => { - {t("regulationSubType")} + {t('regulationSubType')} - + @@ -471,11 +471,11 @@ export const StepRegulation = () => { options={[ { value: 1, - label: t("regulationSubType_1"), + label: t('regulationSubType_1'), }, { value: 2, - label: t("regulationSubType_2"), + label: t('regulationSubType_2'), }, ]} /> @@ -484,47 +484,47 @@ export const StepRegulation = () => { - {t("important") + ":"} + {t('important') + ':'} - {t("selectRegulationImportant")} + {t('selectRegulationImportant')} - {t("important") + ":"} + {t('important') + ':'} {countriesListType === 1 - ? t("blockedListImportant") - : t("authorizationListImportant")} + ? t('blockedListImportant') + : t('authorizationListImportant')} - {t("selectCountry")} + {t('selectCountry')} @@ -548,9 +548,9 @@ export const StepRegulation = () => { leftIcon={} onClick={addCountryOnSubmit} > - {t("addCountryButton") + - " " + - (countriesListType === 1 ? t("blockList") : t("allowList"))} + {t('addCountryButton') + + ' ' + + (countriesListType === 1 ? t('blockList') : t('allowList'))} @@ -560,9 +560,9 @@ export const StepRegulation = () => { { w="full" h="100px" align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > @@ -621,7 +621,7 @@ export const StepRegulation = () => { onClick={onOpen} isDisabled={!stepFormState.isValid} > - {t("nextStepButton")} + {t('nextStepButton')} @@ -631,10 +631,10 @@ export const StepRegulation = () => { isOpen={isOpen} onClose={onClose} icon={} - title={t("titlePopUp")} - description={t("descriptionPopUp")} - cancelText={t("cancelTextPopUp")} - confirmText={t("confirmTextPopUp")} + title={t('titlePopUp')} + description={t('descriptionPopUp')} + cancelText={t('cancelTextPopUp')} + confirmText={t('confirmTextPopUp')} onConfirm={() => { goToNext?.(); onClose(); diff --git a/apps/ats/web/src/views/Dashboard/Components/AccordionItemCustomTitle.tsx b/apps/ats/web/src/views/Dashboard/Components/AccordionItemCustomTitle.tsx index c8e659040..320726bde 100644 --- a/apps/ats/web/src/views/Dashboard/Components/AccordionItemCustomTitle.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/AccordionItemCustomTitle.tsx @@ -208,14 +208,14 @@ import { AccordionIcon as ChakraAccordionIcon, HStack, StackProps, -} from "@chakra-ui/react"; -import { Button, Tag } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { RouterManager } from "../../../router/RouterManager"; -import { RouteName } from "../../../router/RouteName"; -import { User } from "../../../utils/constants"; -import { useAccountStore } from "../../../store/accountStore"; -import { useWalletStore } from "../../../store/walletStore"; +} from '@chakra-ui/react'; +import { Button, Tag } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RouterManager } from '../../../router/RouterManager'; +import { RouteName } from '../../../router/RouteName'; +import { User } from '../../../utils/constants'; +import { useAccountStore } from '../../../store/accountStore'; +import { useWalletStore } from '../../../store/walletStore'; export interface AccordionItemCustomTitleProps extends StackProps { isAdmin: boolean; @@ -227,7 +227,7 @@ export const AccordionItemCustomTitle = ( props: AccordionItemCustomTitleProps, ) => { const { isAdmin, isExpanded, numOfTokens, ...stackProps } = props; - const { t } = useTranslation("globals"); + const { t } = useTranslation('globals'); const { adminSecurities, holderSecurities } = useAccountStore(); const { address } = useWalletStore(); const userSecurities = isAdmin @@ -241,19 +241,19 @@ export const AccordionItemCustomTitle = ( h="64px" px={4} justify="space-between" - bg={isAdmin ? "adminUI.100" : "holderUI.100"} - borderRadius={isExpanded ? "4px 4px 0px 0px" : "4px"} + bg={isAdmin ? 'adminUI.100' : 'holderUI.100'} + borderRadius={isExpanded ? '4px 4px 0px 0px' : '4px'} {...stackProps} > - - {isAdmin ? t("admin") : t("holder")} + + {isAdmin ? t('admin') : t('holder')} - + @@ -267,7 +267,7 @@ export const AccordionItemCustomTitle = ( } isDisabled={!userSecurities?.length} > - {t("seeAll")} + {t('seeAll')} diff --git a/apps/ats/web/src/views/Dashboard/Components/AddFavorite.tsx b/apps/ats/web/src/views/Dashboard/Components/AddFavorite.tsx index e8e4779ab..0623e07fe 100644 --- a/apps/ats/web/src/views/Dashboard/Components/AddFavorite.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/AddFavorite.tsx @@ -203,20 +203,20 @@ */ -import { Center, Stack, StackProps } from "@chakra-ui/react"; -import { Button, PhosphorIcon, Text } from "io-bricks-ui"; -import { Plus } from "@phosphor-icons/react"; -import { useTranslation } from "react-i18next"; -import { RouteName } from "../../../router/RouteName"; -import { RouterManager } from "../../../router/RouterManager"; -import { User } from "../../../utils/constants"; +import { Center, Stack, StackProps } from '@chakra-ui/react'; +import { Button, PhosphorIcon, Text } from 'io-bricks-ui'; +import { Plus } from '@phosphor-icons/react'; +import { useTranslation } from 'react-i18next'; +import { RouteName } from '../../../router/RouteName'; +import { RouterManager } from '../../../router/RouterManager'; +import { User } from '../../../utils/constants'; export interface AddFavoriteProps extends StackProps { isAdmin: boolean; } export const AddFavorite = (props: AddFavoriteProps) => { const { isAdmin, ...stackProps } = props; - const { t } = useTranslation("dashboard", { keyPrefix: "commons" }); + const { t } = useTranslation('dashboard', { keyPrefix: 'commons' }); return ( { data-testid="add-favorite-button" w="full" h="144px" - bg={isAdmin ? "adminUI.100" : "holderUI.100"} + bg={isAdmin ? 'adminUI.100' : 'holderUI.100'} borderRadius="normal" borderStyle="dashed" borderWidth="1px" - borderColor={isAdmin ? "adminUI.400" : "holderUI.400"} + borderColor={isAdmin ? 'adminUI.400' : 'holderUI.400'} p={4} onClick={() => RouterManager.to(RouteName.DigitalSecuritiesList, { params: { type: isAdmin ? User.admin : User.holder }, }) } - _hover={{ bg: isAdmin ? "adminUI.200" : "holderUI.200" }} + _hover={{ bg: isAdmin ? 'adminUI.200' : 'holderUI.200' }} {...stackProps} > - {t("addFavorite")} + {t('addFavorite')} diff --git a/apps/ats/web/src/views/Dashboard/Components/AddSecurityButton.tsx b/apps/ats/web/src/views/Dashboard/Components/AddSecurityButton.tsx index 1b5acce04..ce4eb0c6e 100644 --- a/apps/ats/web/src/views/Dashboard/Components/AddSecurityButton.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/AddSecurityButton.tsx @@ -203,16 +203,16 @@ */ -import { PhosphorIcon, Button } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { RouterManager } from "../../../router/RouterManager"; -import { RouteName } from "../../../router/RouteName"; -import { Link as RouterLink } from "react-router-dom"; -import { Plus } from "@phosphor-icons/react"; +import { PhosphorIcon, Button } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RouterManager } from '../../../router/RouterManager'; +import { RouteName } from '../../../router/RouteName'; +import { Link as RouterLink } from 'react-router-dom'; +import { Plus } from '@phosphor-icons/react'; export const AddSecurityButton = (props: ButtonProps) => { - const { t } = useTranslation("routes"); + const { t } = useTranslation('routes'); return ( { - const { t } = useTranslation("dashboard", { keyPrefix: "commons" }); + const { t } = useTranslation('dashboard', { keyPrefix: 'commons' }); return ( { size="md" {...props} > - {t("createNewSecurity")} + {t('createNewSecurity')} ); }; diff --git a/apps/ats/web/src/views/Dashboard/Components/CreateSecurity.tsx b/apps/ats/web/src/views/Dashboard/Components/CreateSecurity.tsx index c17847a38..26e084e68 100644 --- a/apps/ats/web/src/views/Dashboard/Components/CreateSecurity.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/CreateSecurity.tsx @@ -203,18 +203,18 @@ */ -import { HStack, Stack, VStack } from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; -import { History } from "../../../components/History"; -import { RouteName } from "../../../router/RouteName"; -import { CardButton, Heading, PhosphorIcon, Text } from "io-bricks-ui"; -import { Link as RouterLink } from "react-router-dom"; -import { RouterManager } from "../../../router/RouterManager"; -import { DiamondsFour, CodesandboxLogo } from "@phosphor-icons/react"; +import { HStack, Stack, VStack } from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import { History } from '../../../components/History'; +import { RouteName } from '../../../router/RouteName'; +import { CardButton, Heading, PhosphorIcon, Text } from 'io-bricks-ui'; +import { Link as RouterLink } from 'react-router-dom'; +import { RouterManager } from '../../../router/RouterManager'; +import { DiamondsFour, CodesandboxLogo } from '@phosphor-icons/react'; export const CreateSecurity = () => { - const { t } = useTranslation("security", { keyPrefix: "createSecurity" }); - const { t: tRoutes } = useTranslation("routes"); + const { t } = useTranslation('security', { keyPrefix: 'createSecurity' }); + const { t: tRoutes } = useTranslation('routes'); return ( <> @@ -223,8 +223,8 @@ export const CreateSecurity = () => { - {t("title")} - {t("subtitle")} + {t('title')} + {t('subtitle')} { as={RouterLink} to={RouterManager.getUrl(RouteName.CreateBond)} icon={} - text={t("button.newBond")} + text={t('button.newBond')} variant="secondary" textAlign="center" /> @@ -241,7 +241,7 @@ export const CreateSecurity = () => { as={RouterLink} to={RouterManager.getUrl(RouteName.CreateEquity)} icon={} - text={t("button.newEquity")} + text={t('button.newEquity')} variant="secondary" textAlign="center" /> diff --git a/apps/ats/web/src/views/Dashboard/Components/FavoritesList.tsx b/apps/ats/web/src/views/Dashboard/Components/FavoritesList.tsx index ef461628a..458cb8a5f 100644 --- a/apps/ats/web/src/views/Dashboard/Components/FavoritesList.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/FavoritesList.tsx @@ -203,23 +203,23 @@ */ -import { useMemo, useState } from "react"; -import { AccordionPanel, SimpleGrid } from "@chakra-ui/react"; -import { Accordion, AccordionItem, AccordionProps } from "io-bricks-ui"; -import { AccordionItemCustomTitle } from "./AccordionItemCustomTitle"; -import { SecurityCard } from "./SecurityCard"; -import { User } from "../../../utils/constants"; -import { AddFavorite } from "./AddFavorite"; -import { useAccountStore } from "../../../store/accountStore"; -import { useWalletStore } from "../../../store/walletStore"; -import { SecurityStore, useSecurityStore } from "../../../store/securityStore"; - -export interface FavoritesList - extends Omit { +import { useMemo, useState } from 'react'; +import { AccordionPanel, SimpleGrid } from '@chakra-ui/react'; +import { Accordion, AccordionItem, AccordionProps } from 'io-bricks-ui'; +import { AccordionItemCustomTitle } from './AccordionItemCustomTitle'; +import { SecurityCard } from './SecurityCard'; +import { User } from '../../../utils/constants'; +import { AddFavorite } from './AddFavorite'; +import { useAccountStore } from '../../../store/accountStore'; +import { useWalletStore } from '../../../store/walletStore'; +import { SecurityStore, useSecurityStore } from '../../../store/securityStore'; + +export interface FavoritesListProps + extends Omit { type: User; } -export const FavoritesList = (props: FavoritesList) => { +export const FavoritesList = (props: FavoritesListProps) => { const { type = User.admin } = props; const isAdmin = type === User.admin; const [isExpanded, setIsExpanded] = useState(true); diff --git a/apps/ats/web/src/views/Dashboard/Components/Header.tsx b/apps/ats/web/src/views/Dashboard/Components/Header.tsx index 0aa91e7f9..9dd5bfba0 100644 --- a/apps/ats/web/src/views/Dashboard/Components/Header.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/Header.tsx @@ -203,20 +203,20 @@ */ -import { Stack, Flex, VStack } from "@chakra-ui/react"; -import { Text } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { AddSecurityButton } from "./AddSecurityButton"; -import { CreateNewSecurityButton } from "./CreateNewSecurityButton"; +import { Stack, Flex, VStack } from '@chakra-ui/react'; +import { Text } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { AddSecurityButton } from './AddSecurityButton'; +import { CreateNewSecurityButton } from './CreateNewSecurityButton'; export const Header = () => { - const { t } = useTranslation("dashboard", { keyPrefix: "header" }); + const { t } = useTranslation('dashboard', { keyPrefix: 'header' }); return ( - {t("title")} - {t("subtitle")} + {t('title')} + {t('subtitle')} { - const { t } = useTranslation("dashboard", { keyPrefix: "noTokens" }); + const { t } = useTranslation('dashboard', { keyPrefix: 'noTokens' }); return ( @@ -226,10 +226,10 @@ export const NoTokens = () => { > - {t("title")} + {t('title')} - {t("subTitle")} + {t('subTitle')} diff --git a/apps/ats/web/src/views/Dashboard/Components/SecurityCard.tsx b/apps/ats/web/src/views/Dashboard/Components/SecurityCard.tsx index d3a1a786c..1dceeef48 100644 --- a/apps/ats/web/src/views/Dashboard/Components/SecurityCard.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/SecurityCard.tsx @@ -203,17 +203,17 @@ */ -import { HStack, Stack, StackProps, VStack } from "@chakra-ui/react"; -import { PhosphorIcon, Weight, Text } from "io-bricks-ui"; -import { Star } from "@phosphor-icons/react"; -import { SecurityStore } from "../../../store/securityStore"; -import { useWalletStore } from "../../../store/walletStore"; -import { useAccountStore } from "../../../store/accountStore"; -import { RouterManager } from "../../../router/RouterManager"; -import { RouteName } from "../../../router/RouteName"; -import { Link as RouterLink } from "react-router-dom"; -import { useUserStore } from "../../../store/userStore"; -import { User } from "../../../utils/constants"; +import { HStack, Stack, StackProps, VStack } from '@chakra-ui/react'; +import { PhosphorIcon, Weight, Text } from 'io-bricks-ui'; +import { Star } from '@phosphor-icons/react'; +import { SecurityStore } from '../../../store/securityStore'; +import { useWalletStore } from '../../../store/walletStore'; +import { useAccountStore } from '../../../store/accountStore'; +import { RouterManager } from '../../../router/RouterManager'; +import { RouteName } from '../../../router/RouteName'; +import { Link as RouterLink } from 'react-router-dom'; +import { useUserStore } from '../../../store/userStore'; +import { User } from '../../../utils/constants'; export interface SecurityProps extends StackProps { isAdmin: boolean; @@ -228,16 +228,18 @@ export const SecurityCard = (props: SecurityProps) => { const { setType } = useUserStore(); const handleClickOnFavorite = () => { - isAdmin - ? toggleAdminFavorite(walletAddress, address) - : toggleHolderFavorite(walletAddress, address); + if (isAdmin) { + toggleAdminFavorite(walletAddress, address); + } else { + toggleHolderFavorite(walletAddress, address); + } }; return ( { onClick={() => setType(isAdmin ? User.admin : User.holder)} {...stackProps} > - + { e.preventDefault(); handleClickOnFavorite(); }} - sx={{ color: "neutral.white" }} + sx={{ color: 'neutral.white' }} /> diff --git a/apps/ats/web/src/views/Dashboard/Components/TokensList.tsx b/apps/ats/web/src/views/Dashboard/Components/TokensList.tsx index debbfb934..c4e556fe4 100644 --- a/apps/ats/web/src/views/Dashboard/Components/TokensList.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/TokensList.tsx @@ -203,9 +203,9 @@ */ -import { Stack } from "@chakra-ui/react"; -import { FavoritesList } from "./FavoritesList"; -import { User } from "../../../utils/constants"; +import { Stack } from '@chakra-ui/react'; +import { FavoritesList } from './FavoritesList'; +import { User } from '../../../utils/constants'; export const TokensList = () => { return ( diff --git a/apps/ats/web/src/views/Dashboard/Components/__tests__/AccordionItemCustomTitle.test.tsx b/apps/ats/web/src/views/Dashboard/Components/__tests__/AccordionItemCustomTitle.test.tsx index 6759f4b39..b72908c24 100644 --- a/apps/ats/web/src/views/Dashboard/Components/__tests__/AccordionItemCustomTitle.test.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/__tests__/AccordionItemCustomTitle.test.tsx @@ -206,9 +206,9 @@ import { AccordionItemCustomTitle, AccordionItemCustomTitleProps, -} from "../AccordionItemCustomTitle"; -import { render } from "../../../../test-utils"; -import { Accordion, AccordionItem } from "io-bricks-ui"; +} from '../AccordionItemCustomTitle'; +import { render } from '../../../../test-utils'; +import { Accordion, AccordionItem } from 'io-bricks-ui'; const defaultProps = { isAdmin: true, @@ -228,47 +228,47 @@ describe(`${AccordionItemCustomTitle.name}`, () => { , ); - test("should render correctly as admin and expanded", () => { + test('should render correctly as admin and expanded', () => { const component = factoryComponent(); - const accordionButton = component.getByTestId("custom-title-button"); - expect(accordionButton).toHaveTextContent("Admin"); + const accordionButton = component.getByTestId('custom-title-button'); + expect(accordionButton).toHaveTextContent('Admin'); - expect(component.asFragment).toMatchSnapshot("adminExpanded"); + expect(component.asFragment).toMatchSnapshot('adminExpanded'); }); - test("should render correctly as admin and collapsed", () => { + test('should render correctly as admin and collapsed', () => { const component = factoryComponent({ ...defaultProps, isExpanded: false }); - const accordionButton = component.getByTestId("custom-title-button"); - expect(accordionButton).toHaveTextContent("Admin"); + const accordionButton = component.getByTestId('custom-title-button'); + expect(accordionButton).toHaveTextContent('Admin'); - expect(component.asFragment).toMatchSnapshot("adminCollapsed"); + expect(component.asFragment).toMatchSnapshot('adminCollapsed'); }); - test("should render correctly as holder and expanded", () => { + test('should render correctly as holder and expanded', () => { const component = factoryComponent({ ...defaultProps, isAdmin: false, numOfTokens: 3, }); - const accordionButton = component.getByTestId("custom-title-button"); - expect(accordionButton).toHaveTextContent("Holder"); + const accordionButton = component.getByTestId('custom-title-button'); + expect(accordionButton).toHaveTextContent('Holder'); - expect(component.asFragment).toMatchSnapshot("holderExpanded"); + expect(component.asFragment).toMatchSnapshot('holderExpanded'); }); - test("should render correctly as holder and collapsed", () => { + test('should render correctly as holder and collapsed', () => { const component = factoryComponent({ isAdmin: false, numOfTokens: 3, isExpanded: false, }); - const accordionButton = component.getByTestId("custom-title-button"); - expect(accordionButton).toHaveTextContent("Holder"); + const accordionButton = component.getByTestId('custom-title-button'); + expect(accordionButton).toHaveTextContent('Holder'); - expect(component.asFragment).toMatchSnapshot("holderCollapsed"); + expect(component.asFragment).toMatchSnapshot('holderCollapsed'); }); }); diff --git a/apps/ats/web/src/views/Dashboard/Components/__tests__/AddFavorite.test.tsx b/apps/ats/web/src/views/Dashboard/Components/__tests__/AddFavorite.test.tsx index 1647a8105..6e6836176 100644 --- a/apps/ats/web/src/views/Dashboard/Components/__tests__/AddFavorite.test.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/__tests__/AddFavorite.test.tsx @@ -203,15 +203,15 @@ */ -import { AddFavorite } from "../AddFavorite"; -import { render } from "../../../../test-utils"; -import userEvent from "@testing-library/user-event"; -import { RouterManager } from "../../../../router/RouterManager"; -import { waitFor } from "@testing-library/react"; +import { AddFavorite } from '../AddFavorite'; +import { render } from '../../../../test-utils'; +import userEvent from '@testing-library/user-event'; +import { RouterManager } from '../../../../router/RouterManager'; +import { waitFor } from '@testing-library/react'; -jest.mock("../../../../router/RouterManager", () => ({ +jest.mock('../../../../router/RouterManager', () => ({ RouterManager: { - ...jest.requireActual("../../../../router/RouterManager").RouterManager, + ...jest.requireActual('../../../../router/RouterManager').RouterManager, to: jest.fn(), }, })); @@ -221,31 +221,31 @@ describe(`${AddFavorite.name}`, () => { jest.clearAllMocks(); }); - test("render correctly as admin", () => { + test('render correctly as admin', () => { const component = render(); - expect(component.asFragment()).toMatchSnapshot("admin"); + expect(component.asFragment()).toMatchSnapshot('admin'); }); - test("render correctly as holder", () => { + test('render correctly as holder', () => { const component = render(); - expect(component.asFragment()).toMatchSnapshot("holder"); + expect(component.asFragment()).toMatchSnapshot('holder'); }); - test("if click on button then redirect to Admin Securities List page", async () => { + test('if click on button then redirect to Admin Securities List page', async () => { const component = render(); - const button = component.getByTestId("add-favorite-button"); + const button = component.getByTestId('add-favorite-button'); userEvent.click(button); await waitFor( () => { expect(RouterManager.to).toHaveBeenCalledTimes(1); expect(RouterManager.to).toHaveBeenCalledWith( - "DIGITAL_SECURITIES_LIST", + 'DIGITAL_SECURITIES_LIST', { - params: { type: "admin" }, + params: { type: 'admin' }, }, ); }, @@ -253,19 +253,19 @@ describe(`${AddFavorite.name}`, () => { ); }); - test("if click on button then redirect to Holder Securities List page", async () => { + test('if click on button then redirect to Holder Securities List page', async () => { const component = render(); - const button = component.getByTestId("add-favorite-button"); + const button = component.getByTestId('add-favorite-button'); userEvent.click(button); await waitFor( () => { expect(RouterManager.to).toHaveBeenCalledTimes(1); expect(RouterManager.to).toHaveBeenCalledWith( - "DIGITAL_SECURITIES_LIST", + 'DIGITAL_SECURITIES_LIST', { - params: { type: "holder" }, + params: { type: 'holder' }, }, ); }, diff --git a/apps/ats/web/src/views/Dashboard/Components/__tests__/AddSecurityButton.test.tsx b/apps/ats/web/src/views/Dashboard/Components/__tests__/AddSecurityButton.test.tsx index dd9d0ed6b..34d392751 100644 --- a/apps/ats/web/src/views/Dashboard/Components/__tests__/AddSecurityButton.test.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/__tests__/AddSecurityButton.test.tsx @@ -203,16 +203,16 @@ */ -import { AddSecurityButton } from "../AddSecurityButton"; -import { render } from "../../../../test-utils"; -import userEvent from "@testing-library/user-event"; -import { RouterManager } from "../../../../router/RouterManager"; -import { RouteName } from "../../../../router/RouteName"; -import { waitFor } from "@testing-library/react"; - -jest.mock("../../../../router/RouterManager", () => ({ +import { AddSecurityButton } from '../AddSecurityButton'; +import { render } from '../../../../test-utils'; +import userEvent from '@testing-library/user-event'; +import { RouterManager } from '../../../../router/RouterManager'; +import { RouteName } from '../../../../router/RouteName'; +import { waitFor } from '@testing-library/react'; + +jest.mock('../../../../router/RouterManager', () => ({ RouterManager: { - ...jest.requireActual("../../../../router/RouterManager").RouterManager, + ...jest.requireActual('../../../../router/RouterManager').RouterManager, getUrl: jest.fn(), }, })); @@ -222,16 +222,16 @@ describe(`${AddSecurityButton.name}`, () => { jest.clearAllMocks(); }); - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); }); - test("if click on button then redirect to Add Security page", async () => { + test('if click on button then redirect to Add Security page', async () => { const component = render(); - const button = component.getByTestId("add-security-button"); + const button = component.getByTestId('add-security-button'); userEvent.click(button); await waitFor(() => { diff --git a/apps/ats/web/src/views/Dashboard/Components/__tests__/CreateNewSecurityButton.test.tsx b/apps/ats/web/src/views/Dashboard/Components/__tests__/CreateNewSecurityButton.test.tsx index 9c55397eb..feb350e3c 100644 --- a/apps/ats/web/src/views/Dashboard/Components/__tests__/CreateNewSecurityButton.test.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/__tests__/CreateNewSecurityButton.test.tsx @@ -203,16 +203,16 @@ */ -import { CreateNewSecurityButton } from "../CreateNewSecurityButton"; -import { render } from "../../../../test-utils"; -import userEvent from "@testing-library/user-event"; -import { RouterManager } from "../../../../router/RouterManager"; -import { RouteName } from "../../../../router/RouteName"; -import { waitFor } from "@testing-library/react"; - -jest.mock("../../../../router/RouterManager", () => ({ +import { CreateNewSecurityButton } from '../CreateNewSecurityButton'; +import { render } from '../../../../test-utils'; +import userEvent from '@testing-library/user-event'; +import { RouterManager } from '../../../../router/RouterManager'; +import { RouteName } from '../../../../router/RouteName'; +import { waitFor } from '@testing-library/react'; + +jest.mock('../../../../router/RouterManager', () => ({ RouterManager: { - ...jest.requireActual("../../../../router/RouterManager").RouterManager, + ...jest.requireActual('../../../../router/RouterManager').RouterManager, getUrl: jest.fn(), }, })); @@ -222,16 +222,16 @@ describe(`${CreateNewSecurityButton.name}`, () => { jest.clearAllMocks(); }); - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); }); - test("if click on button then redirect to Create Security page", async () => { + test('if click on button then redirect to Create Security page', async () => { const component = render(); - const button = component.getByTestId("create-new-security-button"); + const button = component.getByTestId('create-new-security-button'); userEvent.click(button); await waitFor(() => { diff --git a/apps/ats/web/src/views/Dashboard/Components/__tests__/FavoritesList.test.tsx b/apps/ats/web/src/views/Dashboard/Components/__tests__/FavoritesList.test.tsx index a7e8308e6..bc8c211ce 100644 --- a/apps/ats/web/src/views/Dashboard/Components/__tests__/FavoritesList.test.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/__tests__/FavoritesList.test.tsx @@ -203,21 +203,21 @@ */ -import { FavoritesList } from "../FavoritesList"; -import { render } from "../../../../test-utils"; -import { User } from "../../../../utils/constants"; +import { FavoritesList } from '../FavoritesList'; +import { render } from '../../../../test-utils'; +import { User } from '../../../../utils/constants'; // TODO mock adminSecurities, holderSecurities in AccountStore and SecurityStore describe.skip(`${FavoritesList.name}`, () => { - test("should render correctly as admin", () => { + test('should render correctly as admin', () => { const component = render(); - expect(component.asFragment()).toMatchSnapshot("admin"); + expect(component.asFragment()).toMatchSnapshot('admin'); }); - test("should render correctly as admin", () => { + test('should render correctly as admin', () => { const component = render(); - expect(component.asFragment()).toMatchSnapshot("holder"); + expect(component.asFragment()).toMatchSnapshot('holder'); }); }); diff --git a/apps/ats/web/src/views/Dashboard/Components/__tests__/Header.test.tsx b/apps/ats/web/src/views/Dashboard/Components/__tests__/Header.test.tsx index 73c504248..677ac3a9e 100644 --- a/apps/ats/web/src/views/Dashboard/Components/__tests__/Header.test.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/__tests__/Header.test.tsx @@ -203,11 +203,11 @@ */ -import { Header } from "../Header"; -import { render } from "../../../../test-utils"; +import { Header } from '../Header'; +import { render } from '../../../../test-utils'; describe(`Dashboard ${Header.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const componet = render(); expect(componet.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/Dashboard/Components/__tests__/NoTokens.test.tsx b/apps/ats/web/src/views/Dashboard/Components/__tests__/NoTokens.test.tsx index bf4d2f993..2f0652550 100644 --- a/apps/ats/web/src/views/Dashboard/Components/__tests__/NoTokens.test.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/__tests__/NoTokens.test.tsx @@ -203,11 +203,11 @@ */ -import { NoTokens } from "../NoTokens"; -import { render } from "../../../../test-utils"; +import { NoTokens } from '../NoTokens'; +import { render } from '../../../../test-utils'; describe(`${NoTokens.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/Dashboard/Components/__tests__/SecurityCard.test.tsx b/apps/ats/web/src/views/Dashboard/Components/__tests__/SecurityCard.test.tsx index dd6db1083..973b4d812 100644 --- a/apps/ats/web/src/views/Dashboard/Components/__tests__/SecurityCard.test.tsx +++ b/apps/ats/web/src/views/Dashboard/Components/__tests__/SecurityCard.test.tsx @@ -203,32 +203,32 @@ */ -import { SecurityCard } from "../SecurityCard"; -import { render } from "../../../../test-utils"; +import { SecurityCard } from '../SecurityCard'; +import { render } from '../../../../test-utils'; const defaultProps = { digitalSecurity: { - name: "testing", - symbol: "TEST", - isin: "123456789101", - address: "0.0.123456", - evmAddress: "0x38949962d54e5a2c6081d7e87203e3565e90cc80", + name: 'testing', + symbol: 'TEST', + isin: '123456789101', + address: '0.0.123456', + evmAddress: '0x38949962d54e5a2c6081d7e87203e3565e90cc80', }, isAdmin: true, }; describe(`${SecurityCard.name}`, () => { - test("render correctly as admin", () => { + test('render correctly as admin', () => { const component = render(); - expect(component.asFragment()).toMatchSnapshot("admin"); + expect(component.asFragment()).toMatchSnapshot('admin'); }); - test("render correctly as holder", () => { + test('render correctly as holder', () => { const component = render( , ); - expect(component.asFragment()).toMatchSnapshot("holder"); + expect(component.asFragment()).toMatchSnapshot('holder'); }); }); diff --git a/apps/ats/web/src/views/Dashboard/Dashboard.tsx b/apps/ats/web/src/views/Dashboard/Dashboard.tsx index 6c937fb73..e86b3ec6b 100644 --- a/apps/ats/web/src/views/Dashboard/Dashboard.tsx +++ b/apps/ats/web/src/views/Dashboard/Dashboard.tsx @@ -204,16 +204,16 @@ */ /* eslint-disable no-prototype-builtins */ -import { useEffect } from "react"; -import { Header } from "./Components/Header"; -import { NoTokens } from "./Components/NoTokens"; -import { TokensList } from "./Components/TokensList"; -import { useUserStore } from "../../store/userStore"; -import { User } from "../../utils/constants"; -import { useAccountStore } from "../../store/accountStore"; -import { useRolesStore } from "../../store/rolesStore"; -import { useWalletStore } from "../../store/walletStore"; -import { useSecurityStore } from "../../store/securityStore"; +import { useEffect } from 'react'; +import { Header } from './Components/Header'; +import { NoTokens } from './Components/NoTokens'; +import { TokensList } from './Components/TokensList'; +import { useUserStore } from '../../store/userStore'; +import { User } from '../../utils/constants'; +import { useAccountStore } from '../../store/accountStore'; +import { useRolesStore } from '../../store/rolesStore'; +import { useWalletStore } from '../../store/walletStore'; +import { useSecurityStore } from '../../store/securityStore'; export const Dashboard = () => { const { setType } = useUserStore(); @@ -230,7 +230,6 @@ export const Dashboard = () => { }, []); const userHasTokens = - // eslint-disable-next-line no-prototype-builtins adminSecurities.hasOwnProperty(address) || holderSecurities.hasOwnProperty(address); diff --git a/apps/ats/web/src/views/Dashboard/__tests__/Dashboard.test.tsx b/apps/ats/web/src/views/Dashboard/__tests__/Dashboard.test.tsx index b2968a4dc..1b725de83 100644 --- a/apps/ats/web/src/views/Dashboard/__tests__/Dashboard.test.tsx +++ b/apps/ats/web/src/views/Dashboard/__tests__/Dashboard.test.tsx @@ -203,11 +203,11 @@ */ -import { Dashboard } from "../Dashboard"; -import { render } from "../../../test-utils"; +import { Dashboard } from '../Dashboard'; +import { render } from '../../../test-utils'; describe(`${Dashboard.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecuritiesList/DigitalSecuritiesList.tsx b/apps/ats/web/src/views/DigitalSecuritiesList/DigitalSecuritiesList.tsx index 1699ea4d0..291a88044 100644 --- a/apps/ats/web/src/views/DigitalSecuritiesList/DigitalSecuritiesList.tsx +++ b/apps/ats/web/src/views/DigitalSecuritiesList/DigitalSecuritiesList.tsx @@ -203,7 +203,7 @@ */ -import { useEffect, useMemo, useState } from "react"; +import { useEffect, useMemo, useState } from 'react'; import { Table, PhosphorIcon, @@ -215,25 +215,25 @@ import { ClipboardButton, Link, Tooltip, -} from "io-bricks-ui"; -import { CellContext, createColumnHelper } from "@tanstack/react-table"; -import { useParams } from "react-router-dom"; -import { useTranslation } from "react-i18next"; - -import { Star, Trash } from "@phosphor-icons/react"; -import { Header } from "../../components/Header"; -import { useUserStore } from "../../store/userStore"; -import { User } from "../../utils/constants"; -import type { SecurityStore } from "../../store/securityStore"; -import { useSecurityStore } from "../../store/securityStore"; -import { HStack, Stack, useDisclosure } from "@chakra-ui/react"; -import { useForm } from "react-hook-form"; -import { useAccountStore } from "../../store/accountStore"; -import { useWalletStore } from "../../store/walletStore"; -import { RouterManager } from "../../router/RouterManager"; -import { RouteName } from "../../router/RouteName"; -import { useTable } from "../../hooks/useTable"; -import { collapseText } from "../../utils/format"; +} from 'io-bricks-ui'; +import { CellContext, createColumnHelper } from '@tanstack/react-table'; +import { useParams } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; + +import { Star, Trash } from '@phosphor-icons/react'; +import { Header } from '../../components/Header'; +import { useUserStore } from '../../store/userStore'; +import { User } from '../../utils/constants'; +import type { SecurityStore } from '../../store/securityStore'; +import { useSecurityStore } from '../../store/securityStore'; +import { HStack, Stack, useDisclosure } from '@chakra-ui/react'; +import { useForm } from 'react-hook-form'; +import { useAccountStore } from '../../store/accountStore'; +import { useWalletStore } from '../../store/walletStore'; +import { RouterManager } from '../../router/RouterManager'; +import { RouteName } from '../../router/RouteName'; +import { useTable } from '../../hooks/useTable'; +import { collapseText } from '../../utils/format'; type securitiesSearch = { search: string; @@ -247,14 +247,14 @@ export const DigitalSecuritiesList = () => { const { setType } = useUserStore(); const { securities, setDetails } = useSecurityStore(); const columnsHelper = createColumnHelper(); - const { t: tHeader } = useTranslation("security", { - keyPrefix: "list.header", + const { t: tHeader } = useTranslation('security', { + keyPrefix: 'list.header', }); - const { t: tTable } = useTranslation("security", { - keyPrefix: "list.table", + const { t: tTable } = useTranslation('security', { + keyPrefix: 'list.table', }); - const { t: tRemove } = useTranslation("security", { - keyPrefix: "list.removeSecurityPopUp", + const { t: tRemove } = useTranslation('security', { + keyPrefix: 'list.removeSecurityPopUp', }); const { type } = useParams(); const { @@ -268,15 +268,15 @@ export const DigitalSecuritiesList = () => { const table = useTable(); const { isOpen, onClose, onOpen } = useDisclosure(); const [selectedSecurityAddressToRemove, setSelectedSecurityAddressToRemove] = - useState(""); + useState(''); const { control, watch } = useForm({ - mode: "all", + mode: 'all', defaultValues: { - search: "", + search: '', }, }); - const search = watch("search"); + const search = watch('search'); useEffect(() => { setType(type as User); @@ -325,7 +325,6 @@ export const DigitalSecuritiesList = () => { ); return list; - // eslint-disable-next-line react-hooks/exhaustive-deps }, [search, securitiesToShow]); const renderFavorite = ( @@ -354,7 +353,7 @@ export const DigitalSecuritiesList = () => { @@ -388,46 +387,46 @@ export const DigitalSecuritiesList = () => { const columns = [ columnsHelper.display({ - id: "isFavorite", - header: "", + id: 'isFavorite', + header: '', size: 21, enableSorting: false, cell: (props) => renderFavorite(props), }), - columnsHelper.accessor("symbol", { - header: tTable("fields.symbol"), + columnsHelper.accessor('symbol', { + header: tTable('fields.symbol'), size: 160, enableSorting: false, cell: ({ getValue }) => getValue(), }), - columnsHelper.accessor("name", { - header: tTable("fields.name"), + columnsHelper.accessor('name', { + header: tTable('fields.name'), size: 160, cell: ({ getValue }) => getValue(), enableSorting: false, }), - columnsHelper.accessor("type", { - header: tTable("fields.type"), + columnsHelper.accessor('type', { + header: tTable('fields.type'), size: 160, enableSorting: false, cell: ({ getValue }) => getValue(), }), - columnsHelper.accessor("isin", { - header: tTable("fields.isin"), + columnsHelper.accessor('isin', { + header: tTable('fields.isin'), size: 160, cell: ({ getValue }) => { const isin = getValue(); return ( {isin} - + ); }, enableSorting: false, }), - columnsHelper.accessor("address", { - header: tTable("fields.address"), + columnsHelper.accessor('address', { + header: tTable('fields.address'), size: 160, enableSorting: false, cell: ({ getValue }) => { @@ -446,8 +445,8 @@ export const DigitalSecuritiesList = () => { ); }, }), - columnsHelper.accessor("evmAddress", { - header: tTable("fields.evmAddress"), + columnsHelper.accessor('evmAddress', { + header: tTable('fields.evmAddress'), size: 160, enableSorting: false, cell: ({ getValue }) => { @@ -468,7 +467,7 @@ export const DigitalSecuritiesList = () => { {collapseText(evmAddress, 4, 8)} @@ -480,8 +479,8 @@ export const DigitalSecuritiesList = () => { if (type === User.holder) { const removeColumn = columnsHelper.display({ - id: "remove", - header: "", + id: 'remove', + header: '', size: 21, enableSorting: false, cell: (props) => renderRemove(props), @@ -492,7 +491,7 @@ export const DigitalSecuritiesList = () => { return ( <> - + { gap={4} > - {tTable("title")} + {tTable('title')} console.log("SEARCHING: ", search)} + placeholder={tTable('searchPlaceholder')} + onSearch={(search) => console.log('SEARCHING: ', search)} control={control} size="md" bg="white" @@ -537,16 +536,16 @@ export const DigitalSecuritiesList = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tRemove("title")} - description={tRemove("description")} - confirmText={tRemove("confirmText")} + title={tRemove('title')} + description={tRemove('description')} + confirmText={tRemove('confirmText')} onConfirm={() => { removeSecurityFromHolder(address, selectedSecurityAddressToRemove); onClose(); - setSelectedSecurityAddressToRemove(""); + setSelectedSecurityAddressToRemove(''); }} onCancel={onClose} - cancelText={tRemove("cancelText")} + cancelText={tRemove('cancelText')} /> > ); diff --git a/apps/ats/web/src/views/DigitalSecuritiesList/__tests__/DigitalSecuritiesList.test.tsx b/apps/ats/web/src/views/DigitalSecuritiesList/__tests__/DigitalSecuritiesList.test.tsx index 8124d15e3..f0c738f9e 100644 --- a/apps/ats/web/src/views/DigitalSecuritiesList/__tests__/DigitalSecuritiesList.test.tsx +++ b/apps/ats/web/src/views/DigitalSecuritiesList/__tests__/DigitalSecuritiesList.test.tsx @@ -203,11 +203,11 @@ */ -import { DigitalSecuritiesList } from "../DigitalSecuritiesList"; -import { render } from "../../../test-utils"; +import { DigitalSecuritiesList } from '../DigitalSecuritiesList'; +import { render } from '../../../test-utils'; describe(`${DigitalSecuritiesList.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ActionsButtons.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ActionsButtons.tsx index 2419a05f0..802c06dbf 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ActionsButtons.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ActionsButtons.tsx @@ -203,10 +203,10 @@ */ -import { useUserStore } from "../../../store/userStore"; -import { User } from "../../../utils/constants"; -import { AdminActionsButtons } from "./AdminActionsButtons"; -import { HolderActionsButtons } from "./HolderActionsButtons"; +import { useUserStore } from '../../../store/userStore'; +import { User } from '../../../utils/constants'; +import { AdminActionsButtons } from './AdminActionsButtons'; +import { HolderActionsButtons } from './HolderActionsButtons'; export const ActionsButtons = () => { const { type } = useUserStore(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/AdminActionsButtons.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/AdminActionsButtons.tsx index 1b12e67ec..53529b5b6 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/AdminActionsButtons.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/AdminActionsButtons.tsx @@ -203,22 +203,22 @@ */ -import { Link as RouterLink, useParams } from "react-router-dom"; -import { useTranslation } from "react-i18next"; -import { HStack } from "@chakra-ui/react"; -import { Button } from "io-bricks-ui"; -import { RouteName } from "../../../router/RouteName"; -import { RouterManager } from "../../../router/RouterManager"; -import { PauseRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useGetIsPaused } from "../../../hooks/queries/useGetSecurityDetails"; -import { useRolesStore } from "../../../store/rolesStore"; -import { SecurityRole } from "../../../utils/SecurityRole"; +import { Link as RouterLink, useParams } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { HStack } from '@chakra-ui/react'; +import { Button } from 'io-bricks-ui'; +import { RouteName } from '../../../router/RouteName'; +import { RouterManager } from '../../../router/RouterManager'; +import { PauseRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useGetIsPaused } from '../../../hooks/queries/useGetSecurityDetails'; +import { useRolesStore } from '../../../store/rolesStore'; +import { SecurityRole } from '../../../utils/SecurityRole'; export const AdminActionsButtons = () => { - const { t: tButtons } = useTranslation("security", { - keyPrefix: "details.actions", + const { t: tButtons } = useTranslation('security', { + keyPrefix: 'details.actions', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { data: isPaused } = useGetIsPaused( new PauseRequest({ securityId: id }), ); @@ -245,7 +245,7 @@ export const AdminActionsButtons = () => { })} variant="secondary" > - {tButtons("mint")} + {tButtons('mint')} )} {hasControllerRole && ( @@ -257,7 +257,7 @@ export const AdminActionsButtons = () => { })} variant="secondary" > - {tButtons("forceTransfer")} + {tButtons('forceTransfer')} )} {hasControllerRole && ( @@ -269,7 +269,7 @@ export const AdminActionsButtons = () => { })} variant="secondary" > - {tButtons("forceRedeem")} + {tButtons('forceRedeem')} )} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/AdminControlActionsButtons.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/AdminControlActionsButtons.tsx index e09da7ab9..431c31e9b 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/AdminControlActionsButtons.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/AdminControlActionsButtons.tsx @@ -203,22 +203,22 @@ */ -import { Link as RouterLink, useParams } from "react-router-dom"; -import { useTranslation } from "react-i18next"; -import { HStack } from "@chakra-ui/react"; -import { Button } from "io-bricks-ui"; -import { RouteName } from "../../../router/RouteName"; -import { RouterManager } from "../../../router/RouterManager"; -import { PauseRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useGetIsPaused } from "../../../hooks/queries/useGetSecurityDetails"; -import { useRolesStore } from "../../../store/rolesStore"; -import { SecurityRole } from "../../../utils/SecurityRole"; +import { Link as RouterLink, useParams } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { HStack } from '@chakra-ui/react'; +import { Button } from 'io-bricks-ui'; +import { RouteName } from '../../../router/RouteName'; +import { RouterManager } from '../../../router/RouterManager'; +import { PauseRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useGetIsPaused } from '../../../hooks/queries/useGetSecurityDetails'; +import { useRolesStore } from '../../../store/rolesStore'; +import { SecurityRole } from '../../../utils/SecurityRole'; export const AdminControlActionsButtons = () => { - const { t: tButtons } = useTranslation("security", { - keyPrefix: "details.actions", + const { t: tButtons } = useTranslation('security', { + keyPrefix: 'details.actions', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { data: isPaused } = useGetIsPaused( new PauseRequest({ securityId: id }), ); @@ -241,7 +241,7 @@ export const AdminControlActionsButtons = () => { })} variant="secondary" > - {tButtons("freeze")} + {tButtons('freeze')} )} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Balance.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Balance.tsx index 8d1f9389a..199bbbae6 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Balance.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Balance.tsx @@ -203,12 +203,12 @@ */ -import { HStack, Stack, VStack } from "@chakra-ui/react"; -import { Button, Heading, Text, useToast } from "io-bricks-ui"; -import { SearchInputController, DefinitionList } from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { isHederaValidAddress, required } from "../../../utils/rules"; +import { HStack, Stack, VStack } from '@chakra-ui/react'; +import { Button, Heading, Text, useToast } from 'io-bricks-ui'; +import { SearchInputController, DefinitionList } from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { isHederaValidAddress, required } from '../../../utils/rules'; import { GetAccountBalanceRequest, GetClearedAmountForRequest, @@ -216,14 +216,14 @@ import { GetHeldAmountForRequest, GetLocksIdRequest, SecurityViewModel, -} from "@hashgraph/asset-tokenization-sdk"; -import { useGetBalanceOf } from "../../../hooks/queries/useGetSecurityDetails"; -import { useEffect, useMemo, useState } from "react"; -import { useGetLockers } from "../../../hooks/queries/useGetLockers"; -import { useGetHeldAmountFor } from "../../../hooks/queries/useGetHolds"; -import { useSecurityStore } from "../../../store/securityStore"; -import { useGetClearedAmountFor } from "../../../hooks/queries/useClearingOperations"; -import { useGetFrozenTokens } from "../../../hooks/queries/useGetFreezers"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useGetBalanceOf } from '../../../hooks/queries/useGetSecurityDetails'; +import { useEffect, useMemo, useState } from 'react'; +import { useGetLockers } from '../../../hooks/queries/useGetLockers'; +import { useGetHeldAmountFor } from '../../../hooks/queries/useGetHolds'; +import { useSecurityStore } from '../../../store/securityStore'; +import { useGetClearedAmountFor } from '../../../hooks/queries/useClearingOperations'; +import { useGetFrozenTokens } from '../../../hooks/queries/useGetFreezers'; interface BalanceProps { id?: string; @@ -241,17 +241,17 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { formState: { isValid }, handleSubmit, } = useForm({ - mode: "onSubmit", + mode: 'onSubmit', }); - const { t: tProperties } = useTranslation("properties"); - const { t: tSearch } = useTranslation("security", { - keyPrefix: "details.balance.search", + const { t: tProperties } = useTranslation('properties'); + const { t: tSearch } = useTranslation('security', { + keyPrefix: 'details.balance.search', }); - const { t: tDetails } = useTranslation("security", { - keyPrefix: "details.balance.details", + const { t: tDetails } = useTranslation('security', { + keyPrefix: 'details.balance.details', }); - const { t: tError } = useTranslation("security", { - keyPrefix: "details.balance.error", + const { t: tError } = useTranslation('security', { + keyPrefix: 'details.balance.error', }); const [targetId, setTargetId] = useState(); const [isLoading, setIsLoading] = useState(false); @@ -264,7 +264,7 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { const { data: balance, refetch } = useGetBalanceOf( new GetAccountBalanceRequest({ securityId: id!, - targetId: targetId ?? "", + targetId: targetId ?? '', }), { enabled: false, @@ -276,8 +276,8 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { setIsLoading(false); toast.show({ duration: 3000, - title: tError("targetId"), - status: "error", + title: tError('targetId'), + status: 'error', }); }, }, @@ -286,7 +286,7 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { const { data: lockers, refetch: refetchLockers } = useGetLockers( new GetLocksIdRequest({ securityId: id!, - targetId: targetId ?? "", + targetId: targetId ?? '', start: 0, end: 100, }), @@ -300,8 +300,8 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { setIsLoadingLockers(false); toast.show({ duration: 3000, - title: tError("targetId"), - status: "error", + title: tError('targetId'), + status: 'error', }); }, }, @@ -310,7 +310,7 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { const { data: heldBalance, refetch: refetchHolds } = useGetHeldAmountFor( new GetHeldAmountForRequest({ securityId: id!, - targetId: targetId ?? "", + targetId: targetId ?? '', }), { enabled: !!targetId, @@ -325,8 +325,8 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { setIsLoadingHolds(false); toast.show({ duration: 3000, - title: tError("targetId"), - status: "error", + title: tError('targetId'), + status: 'error', }); }, }, @@ -336,7 +336,7 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { useGetFrozenTokens( new GetFrozenPartialTokensRequest({ securityId: id!, - targetId: targetId ?? "", + targetId: targetId ?? '', }), { enabled: !!targetId, @@ -348,8 +348,8 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { setIsLoadingFreezed(false); toast.show({ duration: 3000, - title: tError("targetId"), - status: "error", + title: tError('targetId'), + status: 'error', }); }, }, @@ -359,7 +359,7 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { useGetClearedAmountFor( new GetClearedAmountForRequest({ securityId: id!, - targetId: targetId ?? "", + targetId: targetId ?? '', }), { enabled: !!targetId, @@ -374,8 +374,8 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { setIsLoadingCleared(false); toast.show({ duration: 3000, - title: tError("targetId"), - status: "error", + title: tError('targetId'), + status: 'error', }); }, }, @@ -418,7 +418,7 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { const lockBalance = useMemo(() => { if (!lockers) { - return "-"; + return '-'; } return lockers.reduce((acc, current) => { @@ -428,12 +428,12 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { const totalBalance = useMemo(() => { if (!balance?.value) { - return "-"; + return '-'; } let totalBalance = Number(balance?.value); - if (lockBalance !== "-") { + if (lockBalance !== '-') { totalBalance += Number(lockBalance); } @@ -456,8 +456,8 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { - {tSearch("title")} - {tSearch("subtitle")} + {tSearch('title')} + {tSearch('subtitle')} { > {}} control={control} size="sm" @@ -484,7 +484,7 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { isLoading={isLoadingTotal} > - {tSearch("button")} + {tSearch('button')} @@ -495,26 +495,26 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { - + - {tProperties("totalBalance")} + {tProperties('totalBalance')} - {totalBalance ?? "-"} + {totalBalance ?? '-'} - {tProperties(detailsResponse.symbol ?? "")} + {tProperties(detailsResponse.symbol ?? '')} @@ -522,64 +522,64 @@ export const Balance = ({ id, detailsResponse }: BalanceProps) => { gap={8} w="full" h="auto" - alignItems={"center"} - justifyContent={"center"} + alignItems={'center'} + justifyContent={'center'} > - + - {tDetails("availableBalance")} + {tDetails('availableBalance')} - {balance?.value ?? "-"}{" "} - {tProperties(detailsResponse.symbol ?? "")} + {balance?.value ?? '-'}{' '} + {tProperties(detailsResponse.symbol ?? '')} - + - + - {tDetails("lockBalance")} + {tDetails('lockBalance')} - {lockBalance ?? "0"}{" "} - {tProperties(detailsResponse.symbol ?? "")} + {lockBalance ?? '0'}{' '} + {tProperties(detailsResponse.symbol ?? '')} - + - + - {tDetails("heldBalance")} + {tDetails('heldBalance')} - {heldBalance ?? "-"}{" "} - {tProperties(detailsResponse.symbol ?? "")} + {heldBalance ?? '-'}{' '} + {tProperties(detailsResponse.symbol ?? '')} - + - + - {tDetails("clearedBalance")} + {tDetails('clearedBalance')} - {clearedBalance ?? "-"}{" "} - {tProperties(detailsResponse.symbol ?? "")} + {clearedBalance ?? '-'}{' '} + {tProperties(detailsResponse.symbol ?? '')} - + - + - {tDetails("frozenBalance")} + {tDetails('frozenBalance')} - {frozenBalance ?? "-"}{" "} - {tProperties(detailsResponse.symbol ?? "")} + {frozenBalance ?? '-'}{' '} + {tProperties(detailsResponse.symbol ?? '')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/BalanceAdjustment/BalanceAdjustment.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/BalanceAdjustment/BalanceAdjustment.tsx index 4f86e798f..0ba36aeaa 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/BalanceAdjustment/BalanceAdjustment.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/BalanceAdjustment/BalanceAdjustment.tsx @@ -203,8 +203,8 @@ */ -import { Stack } from "@chakra-ui/react"; -import { ProgramBalanceAdjustment } from "./ProgramBalanceAdjustment"; +import { Stack } from '@chakra-ui/react'; +import { ProgramBalanceAdjustment } from './ProgramBalanceAdjustment'; export const BalanceAdjustment = () => { return ( diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/BalanceAdjustment/ProgramBalanceAdjustment.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/BalanceAdjustment/ProgramBalanceAdjustment.tsx index 085faf3c2..b7f969f20 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/BalanceAdjustment/ProgramBalanceAdjustment.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/BalanceAdjustment/ProgramBalanceAdjustment.tsx @@ -203,7 +203,7 @@ */ -import { Center, HStack, Stack, VStack } from "@chakra-ui/react"; +import { Center, HStack, Stack, VStack } from '@chakra-ui/react'; import { Button, CalendarInputController, @@ -212,19 +212,19 @@ import { PhosphorIcon, Text, Tooltip, -} from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { Info } from "@phosphor-icons/react"; -import { useForm } from "react-hook-form"; -import { required, min, isAfterDate } from "../../../../utils/rules"; -import { useParams } from "react-router-dom"; -import { useBalanceAdjustment } from "../../../../hooks/queries/useBalanceAdjustment"; +} from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { Info } from '@phosphor-icons/react'; +import { useForm } from 'react-hook-form'; +import { required, min, isAfterDate } from '../../../../utils/rules'; +import { useParams } from 'react-router-dom'; +import { useBalanceAdjustment } from '../../../../hooks/queries/useBalanceAdjustment'; import { calculateFactorDecimals, dateToUnixTimestamp, -} from "../../../../utils/format"; -import { SetScheduledBalanceAdjustmentRequest } from "@hashgraph/asset-tokenization-sdk"; -import { DATE_TIME_FORMAT } from "../../../../utils/constants"; +} from '../../../../utils/format'; +import { SetScheduledBalanceAdjustmentRequest } from '@hashgraph/asset-tokenization-sdk'; +import { DATE_TIME_FORMAT } from '../../../../utils/constants'; interface ProgramBalanceAdjustmentFormValues { executionDate: string; @@ -234,26 +234,26 @@ interface ProgramBalanceAdjustmentFormValues { export const ProgramBalanceAdjustment = () => { const { id: securityId } = useParams(); - const { t: tProgram } = useTranslation("security", { - keyPrefix: "details.balanceAdjustment.program", + const { t: tProgram } = useTranslation('security', { + keyPrefix: 'details.balanceAdjustment.program', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.balanceAdjustment.program.form", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.balanceAdjustment.program.form', }); - const { t: tGlobal } = useTranslation("globals"); + const { t: tGlobal } = useTranslation('globals'); const { mutate: createBalanceAdjustment, isLoading } = useBalanceAdjustment(); const { control, formState, handleSubmit, reset } = useForm({ - mode: "all", + mode: 'all', }); const onSubmit = (data: ProgramBalanceAdjustmentFormValues) => { const { factor, decimals } = calculateFactorDecimals(Number(data.factor)); const request = new SetScheduledBalanceAdjustmentRequest({ - securityId: securityId ?? "", + securityId: securityId ?? '', executionDate: dateToUnixTimestamp(data.executionDate), factor: factor.toString(), decimals: decimals.toString(), @@ -269,7 +269,7 @@ export const ProgramBalanceAdjustment = () => { return ( - {tProgram("title")} + {tProgram('title')} { - {tForm("executionDate.label")}* + {tForm('executionDate.label')}* - + @@ -296,7 +296,7 @@ export const ProgramBalanceAdjustment = () => { validate: isAfterDate(new Date(), DATE_TIME_FORMAT), }} fromDate={new Date()} - placeholder={tForm("executionDate.placeholder")} + placeholder={tForm('executionDate.placeholder')} withTimeInput format={DATE_TIME_FORMAT} /> @@ -304,7 +304,7 @@ export const ProgramBalanceAdjustment = () => { - {tForm("factor.label")}* + {tForm('factor.label')}* { control={control} id="factor" rules={{ required, min: min(0) }} - placeholder={tForm("factor.placeholder")} + placeholder={tForm('factor.placeholder')} /> { isDisabled={!formState.isValid} type="submit" > - {tGlobal("send")} + {tGlobal('send')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/Cap.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/Cap.tsx index ba029ac39..2dd82a53c 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/Cap.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/Cap.tsx @@ -1,4 +1,4 @@ -import { CapSetMaxSupplyForm } from "./CapSetMaxSupplyForm"; +import { CapSetMaxSupplyForm } from './CapSetMaxSupplyForm'; export const Cap = () => { return ; diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/CapSetMaxSupplyForm.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/CapSetMaxSupplyForm.tsx index 2c1d5dfe2..d3543e5c4 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/CapSetMaxSupplyForm.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/CapSetMaxSupplyForm.tsx @@ -1,4 +1,4 @@ -import { Center, HStack, Stack, useDisclosure, VStack } from "@chakra-ui/react"; +import { Center, HStack, Stack, useDisclosure, VStack } from '@chakra-ui/react'; import { Button, Heading, @@ -7,32 +7,32 @@ import { PhosphorIcon, PopUp, Text, -} from "io-bricks-ui"; -import { isHederaValidAddress, min, required } from "../../../../utils/rules"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { useParams } from "react-router-dom"; -import { useSetCapMaxSupply } from "../../../../hooks/mutations/useSetCapMaxSupply"; -import { SetMaxSupplyRequest } from "@hashgraph/asset-tokenization-sdk"; -import { WarningCircle } from "@phosphor-icons/react"; +} from 'io-bricks-ui'; +import { isHederaValidAddress, min, required } from '../../../../utils/rules'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { useParams } from 'react-router-dom'; +import { useSetCapMaxSupply } from '../../../../hooks/mutations/useSetCapMaxSupply'; +import { SetMaxSupplyRequest } from '@hashgraph/asset-tokenization-sdk'; +import { WarningCircle } from '@phosphor-icons/react'; export const CapSetMaxSupplyForm = () => { const { isOpen, onClose, onOpen } = useDisclosure(); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.cap.form", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.cap.form', }); - const { t: tActions } = useTranslation("security", { - keyPrefix: "details.cap.actions", + const { t: tActions } = useTranslation('security', { + keyPrefix: 'details.cap.actions', }); - const { t: tGlobal } = useTranslation("globals"); + const { t: tGlobal } = useTranslation('globals'); const { control, formState, watch, handleSubmit, reset } = useForm<{ maxSupply: string; securityId: string; }>({ - mode: "onChange", + mode: 'onChange', }); const { mutate: setCapMaxSupplyMutation, isLoading } = useSetCapMaxSupply(); @@ -42,7 +42,7 @@ export const CapSetMaxSupplyForm = () => { }; const handleSetMaxSupply = () => { - const maxSupply = watch("maxSupply"); + const maxSupply = watch('maxSupply'); const setMaxSupplyRequest = new SetMaxSupplyRequest({ maxSupply: maxSupply.toString(), @@ -63,9 +63,9 @@ export const CapSetMaxSupplyForm = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tActions("confirmPopUp.title")} - description={tActions("confirmPopUp.description")} - confirmText={tActions("confirmPopUp.confirmText")} + title={tActions('confirmPopUp.title')} + description={tActions('confirmPopUp.description')} + confirmText={tActions('confirmPopUp.confirmText')} onConfirm={() => { onClose(); handleSetMaxSupply(); @@ -73,14 +73,14 @@ export const CapSetMaxSupplyForm = () => { onCancel={() => { onClose(); }} - cancelText={tActions("confirmPopUp.cancelText")} - confirmButtonProps={{ status: "danger" }} + cancelText={tActions('confirmPopUp.cancelText')} + confirmButtonProps={{ status: 'danger' }} /> - {tForm("title")} - {tForm("description")} + {tForm('title')} + {tForm('description')} { - {tForm("securityId.label")}* + {tForm('securityId.label')}* { - {tForm("maxSupply.label")}* + {tForm('maxSupply.label')}* { control={control} id="maxSupply" rules={{ required, min: min(0) }} - placeholder={tForm("maxSupply.placeholder")} + placeholder={tForm('maxSupply.placeholder')} /> @@ -128,7 +128,7 @@ export const CapSetMaxSupplyForm = () => { isDisabled={!formState.isValid} type="submit" > - {isLoading ? tGlobal("sending") : tGlobal("send")} + {isLoading ? tGlobal('sending') : tGlobal('send')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/__tests__/CapSetMaxSupplyForm.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/__tests__/CapSetMaxSupplyForm.test.tsx index 58511fe9c..b5f93c562 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/__tests__/CapSetMaxSupplyForm.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Cap/__tests__/CapSetMaxSupplyForm.test.tsx @@ -1,28 +1,28 @@ -import { fireEvent } from "@testing-library/react"; -import { waitFor } from "@testing-library/react"; -import { render } from "../../../../../test-utils"; -import { CapSetMaxSupplyForm } from "../CapSetMaxSupplyForm"; +import { fireEvent } from '@testing-library/react'; +import { waitFor } from '@testing-library/react'; +import { render } from '../../../../../test-utils'; +import { CapSetMaxSupplyForm } from '../CapSetMaxSupplyForm'; describe(`${CapSetMaxSupplyForm.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should disable the submit button if the form is invalid", () => { + test('should disable the submit button if the form is invalid', () => { const component = render(); - const submitButton = component.getByTestId("set-max-supply-button"); + const submitButton = component.getByTestId('set-max-supply-button'); expect(submitButton).toBeDisabled(); }); - test("should validate maxSupply field", async () => { + test('should validate maxSupply field', async () => { const component = render(); - fireEvent.change(component.getByTestId("maxSupply"), { - target: { value: "-1" }, + fireEvent.change(component.getByTestId('maxSupply'), { + target: { value: '-1' }, }); expect( @@ -30,18 +30,18 @@ describe(`${CapSetMaxSupplyForm.name}`, () => { ).toBeInTheDocument(); }); - test("should enable the submit button if the form is valid", async () => { + test('should enable the submit button if the form is valid', async () => { const component = render(); - const submitButton = component.getByTestId("set-max-supply-button"); + const submitButton = component.getByTestId('set-max-supply-button'); expect(submitButton).toBeDisabled(); - fireEvent.change(component.getByTestId("securityId"), { - target: { value: "0.0.123456" }, + fireEvent.change(component.getByTestId('securityId'), { + target: { value: '0.0.123456' }, }); - fireEvent.change(component.getByTestId("maxSupply"), { - target: { value: "1000" }, + fireEvent.change(component.getByTestId('maxSupply'), { + target: { value: '1000' }, }); await waitFor(() => { diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperationCreate.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperationCreate.tsx index 8d3efdc03..680092430 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperationCreate.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperationCreate.tsx @@ -1,4 +1,4 @@ -import { Center, HStack, Stack, useDisclosure, VStack } from "@chakra-ui/react"; +import { Center, HStack, Stack, useDisclosure, VStack } from '@chakra-ui/react'; import { Button, CalendarInputController, @@ -9,33 +9,33 @@ import { PopUp, SelectController, Text, -} from "io-bricks-ui"; -import { isHederaValidAddress, min, required } from "../../../../utils/rules"; -import { useParams } from "react-router-dom"; -import { useTranslation } from "react-i18next"; -import { useForm } from "react-hook-form"; -import { WarningCircle } from "@phosphor-icons/react"; -import { useState } from "react"; +} from 'io-bricks-ui'; +import { isHederaValidAddress, min, required } from '../../../../utils/rules'; +import { useParams } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { useForm } from 'react-hook-form'; +import { WarningCircle } from '@phosphor-icons/react'; +import { useState } from 'react'; import { DATE_TIME_FORMAT, DEFAULT_PARTITION, -} from "../../../../utils/constants"; +} from '../../../../utils/constants'; import { useCreateClearingHoldByPartition, useCreateClearingRedeemByPartition, useCreateClearingTransferByPartition, -} from "../../../../hooks/mutations/useClearingOperations"; +} from '../../../../hooks/mutations/useClearingOperations'; import { ClearingCreateHoldByPartitionRequest, ClearingRedeemByPartitionRequest, ClearingTransferByPartitionRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { dateToUnixTimestamp } from "../../../../utils/format"; +} from '@hashgraph/asset-tokenization-sdk'; +import { dateToUnixTimestamp } from '../../../../utils/format'; enum ClearingOperationType { - TRANSFER = "Transfer", - REDEEM = "Redeem", - HOLD = "Hold", + TRANSFER = 'Transfer', + REDEEM = 'Redeem', + HOLD = 'Hold', } interface FormValues { @@ -51,23 +51,23 @@ interface FormValues { export const ClearingOperationsCreate = () => { const { isOpen, onClose, onOpen } = useDisclosure(); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const [isMutating, setIsMutating] = useState(false); - const { t: tCreate } = useTranslation("security", { - keyPrefix: "details.clearingOperations.create", + const { t: tCreate } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.create', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.clearingOperations.create.form", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.create.form', }); - const { t: tActions } = useTranslation("security", { - keyPrefix: "details.clearingOperations.actions.confirmCreate", + const { t: tActions } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.actions.confirmCreate', }); - const { t: tGlobal } = useTranslation("globals"); + const { t: tGlobal } = useTranslation('globals'); const { control, formState, getValues, watch, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { mutate: createClearingTransferByPartition } = @@ -156,10 +156,10 @@ export const ClearingOperationsCreate = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tActions("title")} - description={tActions("description")} - confirmText={tActions("confirmText")} - cancelText={tActions("cancelText")} + title={tActions('title')} + description={tActions('description')} + confirmText={tActions('confirmText')} + cancelText={tActions('cancelText')} onConfirm={() => { onSubmit(); onClose(); @@ -171,7 +171,7 @@ export const ClearingOperationsCreate = () => { - {tCreate("title")} + {tCreate('title')} { - {tForm("operationType.label")}* + {tForm('operationType.label')}* { - {tForm("amount.label")}* + {tForm('amount.label')}* - {tForm("expirationDate.label")}* + {tForm('expirationDate.label')}* { id="expirationDate" rules={{ required }} fromDate={new Date()} - placeholder={tForm("expirationDate.placeholder")} + placeholder={tForm('expirationDate.placeholder')} withTimeInput format={DATE_TIME_FORMAT} /> - {watch("operationType") === + {watch('operationType') === ClearingOperationType.TRANSFER.valueOf() && ( - {tForm("targetId.label")}* + {tForm('targetId.label')}* { )} - {watch("operationType") === + {watch('operationType') === ClearingOperationType.HOLD.valueOf() && ( - {tForm("holdExpirationDate.label")}* + {tForm('holdExpirationDate.label')}* { id="holdExpirationDate" rules={{ required }} fromDate={new Date()} - placeholder={tForm("holdExpirationDate.placeholder")} + placeholder={tForm('holdExpirationDate.placeholder')} withTimeInput format={DATE_TIME_FORMAT} /> @@ -282,13 +282,13 @@ export const ClearingOperationsCreate = () => { - {tForm("escrowAccount.label")}* + {tForm('escrowAccount.label')}* { - {tForm("sourceId.label")}* + {tForm('sourceId.label')}* { - {tForm("targetId.label")}* + {tForm('targetId.label')}* { onOpen(); }} > - {tGlobal("execute")} + {tGlobal('execute')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperationList.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperationList.tsx index 456f07462..33af35d49 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperationList.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperationList.tsx @@ -1,4 +1,4 @@ -import { Box, Stack, useDisclosure } from "@chakra-ui/react"; +import { Box, Stack, useDisclosure } from '@chakra-ui/react'; import { Button, PhosphorIcon, @@ -6,27 +6,27 @@ import { Table, Text, useToast, -} from "io-bricks-ui"; -import { useParams } from "react-router-dom"; -import { useTranslation } from "react-i18next"; -import { WarningCircle } from "@phosphor-icons/react"; -import { useState } from "react"; +} from 'io-bricks-ui'; +import { useParams } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { WarningCircle } from '@phosphor-icons/react'; +import { useState } from 'react'; import { DATE_TIME_FORMAT, DEFAULT_PARTITION, -} from "../../../../utils/constants"; -import { formatDate } from "../../../../utils/format"; -import { useSecurityStore } from "../../../../store/securityStore"; +} from '../../../../utils/constants'; +import { formatDate } from '../../../../utils/format'; +import { useSecurityStore } from '../../../../store/securityStore'; import { ClearingOperationViewModel, GET_CLEARING_OPERATIONS_LIST, useGetClearingOperations, -} from "../../../../hooks/queries/useClearingOperations"; -import { ReclaimClearingOperationByPartitionRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useWalletStore } from "../../../../store/walletStore"; -import { useReclaimClearingByPartition } from "../../../../hooks/mutations/useClearingOperations"; -import { useQueryClient } from "@tanstack/react-query"; -import { createColumnHelper } from "@tanstack/table-core"; +} from '../../../../hooks/queries/useClearingOperations'; +import { ReclaimClearingOperationByPartitionRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useWalletStore } from '../../../../store/walletStore'; +import { useReclaimClearingByPartition } from '../../../../hooks/mutations/useClearingOperations'; +import { useQueryClient } from '@tanstack/react-query'; +import { createColumnHelper } from '@tanstack/table-core'; export const ClearingOperationsList = () => { const queryClient = useQueryClient(); @@ -34,7 +34,7 @@ export const ClearingOperationsList = () => { const { isOpen, onClose, onOpen } = useDisclosure(); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const { details } = useSecurityStore(); const { address } = useWalletStore(); @@ -43,14 +43,14 @@ export const ClearingOperationsList = () => { useState(); const [isReclaiming, setIsReclaiming] = useState(false); - const { t: tList } = useTranslation("security", { - keyPrefix: "details.clearingOperations.list", + const { t: tList } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.list', }); - const { t: tActions } = useTranslation("security", { - keyPrefix: "details.clearingOperations.actions.confirmReclaimPopUp", + const { t: tActions } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.actions.confirmReclaimPopUp', }); - const { t: tMessages } = useTranslation("security", { - keyPrefix: "details.clearingOperations.messages", + const { t: tMessages } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.messages', }); const { mutate } = useReclaimClearingByPartition(); @@ -83,10 +83,10 @@ export const ClearingOperationsList = () => { toast.show({ duration: 3000, - title: tMessages("success"), - description: tMessages("descriptionSuccess"), - variant: "subtle", - status: "success", + title: tMessages('success'), + description: tMessages('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, }); @@ -107,13 +107,13 @@ export const ClearingOperationsList = () => { const columnsHelper = createColumnHelper(); - const columnId = columnsHelper.accessor("id", { - header: tList("id"), + const columnId = columnsHelper.accessor('id', { + header: tList('id'), enableSorting: false, }); - const columnAmount = columnsHelper.accessor("amount", { - header: tList("amount"), + const columnAmount = columnsHelper.accessor('amount', { + header: tList('amount'), enableSorting: false, cell({ getValue }) { return ( @@ -124,8 +124,8 @@ export const ClearingOperationsList = () => { }, }); - const columnExpirationDate = columnsHelper.accessor("expirationDate", { - header: tList("expirationDate"), + const columnExpirationDate = columnsHelper.accessor('expirationDate', { + header: tList('expirationDate'), enableSorting: false, cell({ getValue }) { const formattedDate = formatDate(Number(getValue()), DATE_TIME_FORMAT); @@ -134,8 +134,8 @@ export const ClearingOperationsList = () => { }); const columnActions = columnsHelper.display({ - id: "remove", - header: tList("actions"), + id: 'remove', + header: tList('actions'), enableSorting: false, size: 100, cell({ row: { original } }) { @@ -158,7 +158,7 @@ export const ClearingOperationsList = () => { disabled={isReclaiming && clearOperationSelected?.id === original.id} isLoading={isReclaiming && clearOperationSelected?.id === original.id} > - {tList("reclaim")} + {tList('reclaim')} ); }, @@ -168,12 +168,12 @@ export const ClearingOperationsList = () => { columnId, columnAmount, columnExpirationDate, - columnsHelper.accessor("destination", { - header: tList("targetId"), + columnsHelper.accessor('destination', { + header: tList('targetId'), enableSorting: false, cell({ getValue }) { const value = getValue(); - return {value ?? "-"}; + return {value ?? '-'}; }, }), columnActions, @@ -190,8 +190,8 @@ export const ClearingOperationsList = () => { columnId, columnAmount, columnExpirationDate, - columnsHelper.accessor("holdExpirationDate", { - header: tList("holdExpirationDate"), + columnsHelper.accessor('holdExpirationDate', { + header: tList('holdExpirationDate'), enableSorting: false, cell({ getValue }) { const value = getValue(); @@ -203,12 +203,12 @@ export const ClearingOperationsList = () => { return {formattedDate}; }, }), - columnsHelper.accessor("holdEscrow", { - header: tList("escrowAddress"), + columnsHelper.accessor('holdEscrow', { + header: tList('escrowAddress'), enableSorting: false, cell({ getValue }) { const value = getValue(); - return {value ?? "-"}; + return {value ?? '-'}; }, }), columnActions, @@ -221,10 +221,10 @@ export const ClearingOperationsList = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tActions("title")} - description={tActions("description")} - confirmText={tActions("confirmText")} - cancelText={tActions("cancelText")} + title={tActions('title')} + description={tActions('description')} + confirmText={tActions('confirmText')} + cancelText={tActions('cancelText')} onConfirm={() => { setIsReclaiming(true); onSubmit(); @@ -238,7 +238,7 @@ export const ClearingOperationsList = () => { - {tList("clearingOperationsTransfer")} + {tList('clearingOperationsTransfer')} { - {tList("clearingOperationsRedeem")} + {tList('clearingOperationsRedeem')} { - {tList("clearingOperationsHold")} + {tList('clearingOperationsHold')} { const { isOpen, onClose, onOpen } = useDisclosure(); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const [isMutating, setIsMutating] = useState(false); - const { t: tManage } = useTranslation("security", { - keyPrefix: "details.clearingOperations.manage", + const { t: tManage } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.manage', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.clearingOperations.manage.form", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.manage.form', }); - const { t: tActions } = useTranslation("security", { - keyPrefix: "details.clearingOperations.actions.confirmManage", + const { t: tActions } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.actions.confirmManage', }); - const { t: tGlobal } = useTranslation("globals"); + const { t: tGlobal } = useTranslation('globals'); const { control, formState, getValues, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { mutate: approveClearing } = useApproveClearingByPartition(); @@ -136,10 +136,10 @@ export const ClearingOperationsManage = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tActions("title")} - description={tActions("description")} - confirmText={tActions("confirmText")} - cancelText={tActions("cancelText")} + title={tActions('title')} + description={tActions('description')} + confirmText={tActions('confirmText')} + cancelText={tActions('cancelText')} onConfirm={() => { onSubmit(); onClose(); @@ -151,7 +151,7 @@ export const ClearingOperationsManage = () => { - {tManage("title")} + {tManage('title')} { - {tForm("operationType.label")}* + {tForm('operationType.label')}* { - {tForm("clearingOperationId.label")}* + {tForm('clearingOperationId.label')}* { - {tForm("clearingOperationType.label")}* + {tForm('clearingOperationType.label')}* { - {tForm("sourceId.label")} + {tForm('sourceId.label')} { onOpen(); }} > - {tGlobal("execute")} + {tGlobal('execute')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperations.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperations.tsx index 06f6e1567..f87399e60 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperations.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ClearingOperations/ClearingOperations.tsx @@ -1,15 +1,15 @@ -import { Stack } from "@chakra-ui/react"; -import { Tabs } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { ClearingOperationsList } from "./ClearingOperationList"; -import { ClearingOperationsCreate } from "./ClearingOperationCreate"; -import { ClearingOperationsManage } from "./ClearingOperationManage"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { SecurityRole } from "../../../../utils/SecurityRole"; +import { Stack } from '@chakra-ui/react'; +import { Tabs } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { ClearingOperationsList } from './ClearingOperationList'; +import { ClearingOperationsCreate } from './ClearingOperationCreate'; +import { ClearingOperationsManage } from './ClearingOperationManage'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { SecurityRole } from '../../../../utils/SecurityRole'; export const ClearingOperations = () => { - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.clearingOperations.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.clearingOperations.tabs', }); const { roles } = useRolesStore(); @@ -21,15 +21,15 @@ export const ClearingOperations = () => { const tabs = [ { content: , - header: tTabs("list"), + header: tTabs('list'), }, - { content: , header: tTabs("create") }, + { content: , header: tTabs('create') }, ]; if (hasClearingValidatorRole) { tabs.push({ content: , - header: tTabs("manage"), + header: tTabs('manage'), }); } diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ControlList.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ControlList.tsx index 1d236011b..883861125 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ControlList.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ControlList.tsx @@ -212,28 +212,28 @@ import { Button, ClipboardButton, useToast, -} from "io-bricks-ui"; -import { CellContext, createColumnHelper } from "@tanstack/react-table"; -import { useTranslation } from "react-i18next"; -import { Trash } from "@phosphor-icons/react"; -import { HStack, Stack, useDisclosure } from "@chakra-ui/react"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { useEffect, useMemo, useState } from "react"; -import { useTable } from "../../../hooks/useTable"; -import _chunk from "lodash/chunk"; -import { isHederaValidAddress, required } from "../../../utils/rules"; +} from 'io-bricks-ui'; +import { CellContext, createColumnHelper } from '@tanstack/react-table'; +import { useTranslation } from 'react-i18next'; +import { Trash } from '@phosphor-icons/react'; +import { HStack, Stack, useDisclosure } from '@chakra-ui/react'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { useEffect, useMemo, useState } from 'react'; +import { useTable } from '../../../hooks/useTable'; +import _chunk from 'lodash/chunk'; +import { isHederaValidAddress, required } from '../../../utils/rules'; import { useAddToControlList, useGetControlListCount, useGetControlListMembers, useRemoveFromControlList, -} from "../../../hooks/queries/useControlList"; +} from '../../../hooks/queries/useControlList'; import { ControlListRequest, GetControlListCountRequest, GetControlListMembersRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; type securitiesSearch = { search: string; @@ -244,7 +244,7 @@ interface AllowedListFields { } export const ControlList = () => { - const { id = "" } = useParams(); + const { id = '' } = useParams(); const [accounts, setAccounts] = useState([]); const [isRefetchAccountsLoading, setIsRefetchAccountsLoading] = useState(true); @@ -257,11 +257,11 @@ export const ControlList = () => { }), { onError: (error) => { - console.log("SDK message --> Control list count error: ", error); + console.log('SDK message --> Control list count error: ', error); toast.show({ duration: 3000, - title: t("messages.error"), - status: "error", + title: t('messages.error'), + status: 'error', }); setIsRefetchAccountsLoading(false); }, @@ -275,7 +275,7 @@ export const ControlList = () => { end: controlListCount ?? 0, }), { - enabled: typeof controlListCount !== "undefined", + enabled: typeof controlListCount !== 'undefined', onSettled: () => setIsRefetchAccountsLoading(false), }, ); @@ -296,23 +296,21 @@ export const ControlList = () => { setAccounts(accounts); } - - // eslint-disable-next-line react-hooks/exhaustive-deps }, [controlListResponse]); const columnsHelper = createColumnHelper(); - const { t: tTable } = useTranslation("security", { - keyPrefix: "details.allowedList.table", + const { t: tTable } = useTranslation('security', { + keyPrefix: 'details.allowedList.table', }); - const { t } = useTranslation("security", { - keyPrefix: "details.allowedList.search", + const { t } = useTranslation('security', { + keyPrefix: 'details.allowedList.search', }); - const { t: tRemove } = useTranslation("security", { - keyPrefix: "details.allowedList.popUp", + const { t: tRemove } = useTranslation('security', { + keyPrefix: 'details.allowedList.popUp', }); const { isOpen, onClose, onOpen } = useDisclosure(); - const [accountToRemove, setAccountToRemove] = useState(""); + const [accountToRemove, setAccountToRemove] = useState(''); const { pagination: { pageIndex, pageSize }, ...table @@ -340,12 +338,12 @@ export const ControlList = () => { formState: { isValid }, reset, } = useForm({ - mode: "onSubmit", + mode: 'onSubmit', }); const paginatedData = useMemo( () => _chunk(accounts, pageSize), - // eslint-disable-next-line react-hooks/exhaustive-deps + [accounts, pageSize], ); @@ -375,14 +373,14 @@ export const ControlList = () => { size="xs" isLoading={isLoadingRemove} > - + ); }; const columns = [ - columnsHelper.accessor("account", { - header: tTable("account"), + columnsHelper.accessor('account', { + header: tTable('account'), enableSorting: false, size: 995, cell: ({ getValue }) => { @@ -391,14 +389,14 @@ export const ControlList = () => { return ( {account} - + ); }, }), columnsHelper.display({ - id: "remove", - header: tTable("action"), + id: 'remove', + header: tTable('action'), size: 5, enableSorting: false, cell: (props) => renderRemove(props), @@ -408,18 +406,18 @@ export const ControlList = () => { const removeSecurityFromAllowedList = (address: string) => { const requestToRemove = new ControlListRequest({ securityId: id!, - targetId: address ?? "", + targetId: address ?? '', }); - console.log("request to remove from control list: ", requestToRemove); + console.log('request to remove from control list: ', requestToRemove); removeFromControlList(requestToRemove); }; const onSubmit: SubmitHandler = (params) => { const requestToAdd = new ControlListRequest({ securityId: id!, - targetId: params.search ?? "", + targetId: params.search ?? '', }); - console.log("request to add to control list: ", requestToAdd); + console.log('request to add to control list: ', requestToAdd); addToControlList(requestToAdd); }; @@ -435,7 +433,7 @@ export const ControlList = () => { gap={4} > - {t("title")} + {t('title')} { console.log("SEARCHING: ", search)} + placeholder={t('placeholder')} + onSearch={(search) => console.log('SEARCHING: ', search)} control={control} size="sm" rules={{ @@ -464,7 +462,7 @@ export const ControlList = () => { isLoadingAdd || isLoadingRemove || isRefetchAccountsLoading } > - {t("button")} + {t('button')} { isOpen={isOpen} onClose={onClose} icon={} - title={tRemove("title")} - description={tRemove("description")} - confirmText={tRemove("confirmText")} + title={tRemove('title')} + description={tRemove('description')} + confirmText={tRemove('confirmText')} onConfirm={() => { removeSecurityFromAllowedList(accountToRemove); onClose(); }} onCancel={onClose} - cancelText={tRemove("cancelText")} + cancelText={tRemove('cancelText')} /> > ); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/Coupons.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/Coupons.tsx index 74b9f4db6..f7072e475 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/Coupons.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/Coupons.tsx @@ -203,23 +203,23 @@ */ -import { Stack } from "@chakra-ui/react"; -import { Tabs } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { ProgramCoupon } from "./ProgramCoupon"; -import { SeeCoupon } from "./SeeCoupon"; +import { Stack } from '@chakra-ui/react'; +import { Tabs } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { ProgramCoupon } from './ProgramCoupon'; +import { SeeCoupon } from './SeeCoupon'; export const Coupons = () => { - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.coupons.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.coupons.tabs', }); return ( , header: tTabs("program") }, - { content: , header: tTabs("see") }, + { content: , header: tTabs('program') }, + { content: , header: tTabs('see') }, ]} isFitted /> diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/ProgramCoupon.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/ProgramCoupon.tsx index 56aa73aa7..dd1a26132 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/ProgramCoupon.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/ProgramCoupon.tsx @@ -203,28 +203,28 @@ */ -import { Button, Center, HStack, Stack, VStack } from "@chakra-ui/react"; +import { Button, Center, HStack, Stack, VStack } from '@chakra-ui/react'; import { CalendarInputController, InputNumberController, PhosphorIcon, Text, Tooltip, -} from "io-bricks-ui"; -import { Info } from "@phosphor-icons/react"; -import { isAfterDate, min, required } from "../../../../utils/rules"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; +} from 'io-bricks-ui'; +import { Info } from '@phosphor-icons/react'; +import { isAfterDate, min, required } from '../../../../utils/rules'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; import { GetBondDetailsRequest, SetCouponRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; -import { useCoupons } from "../../../../hooks/queries/useCoupons"; -import { useGetBondDetails } from "../../../../hooks/queries/useGetSecurityDetails"; -import { dateToUnixTimestamp } from "../../../../utils/format"; -import { COUPONS_FACTOR, DATE_TIME_FORMAT } from "../../../../utils/constants"; -import { isBeforeDate } from "../../../../utils/helpers"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; +import { useCoupons } from '../../../../hooks/queries/useCoupons'; +import { useGetBondDetails } from '../../../../hooks/queries/useGetSecurityDetails'; +import { dateToUnixTimestamp } from '../../../../utils/format'; +import { COUPONS_FACTOR, DATE_TIME_FORMAT } from '../../../../utils/constants'; +import { isBeforeDate } from '../../../../utils/helpers'; interface ProgramCouponFormValues { rate: number; @@ -236,14 +236,14 @@ export const ProgramCoupon = () => { const { mutate: createCoupon, isLoading } = useCoupons(); const { control, formState, handleSubmit, watch, reset } = useForm({ - mode: "all", + mode: 'all', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.coupons.program.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.coupons.program.input', }); - const { t: tGlobal } = useTranslation("globals"); - const { id = "" } = useParams(); - const recordTimestamp = watch("recordTimestamp"); + const { t: tGlobal } = useTranslation('globals'); + const { id = '' } = useParams(); + const recordTimestamp = watch('recordTimestamp'); const { data: bondDetails } = useGetBondDetails( new GetBondDetailsRequest({ @@ -253,7 +253,7 @@ export const ProgramCoupon = () => { const submit: SubmitHandler = (params) => { const request = new SetCouponRequest({ - securityId: id ?? "", + securityId: id ?? '', rate: (params.rate * COUPONS_FACTOR).toString(), recordTimestamp: dateToUnixTimestamp(params.recordTimestamp), executionTimestamp: dateToUnixTimestamp(params.executionTimestamp), @@ -281,9 +281,9 @@ export const ProgramCoupon = () => { - {tForm("recordDate.label")}* + {tForm('recordDate.label')}* - + @@ -294,7 +294,7 @@ export const ProgramCoupon = () => { rules={{ required }} fromDate={new Date()} toDate={new Date(bondDetails.maturityDate)} - placeholder={tForm("recordDate.placeholder")} + placeholder={tForm('recordDate.placeholder')} withTimeInput format={DATE_TIME_FORMAT} /> @@ -303,9 +303,9 @@ export const ProgramCoupon = () => { - {tForm("paymentDate.label")}* + {tForm('paymentDate.label')}* - + @@ -319,7 +319,7 @@ export const ProgramCoupon = () => { }} fromDate={new Date()} toDate={new Date(bondDetails.maturityDate)} - placeholder={tForm("paymentDate.placeholder")} + placeholder={tForm('paymentDate.placeholder')} withTimeInput format={DATE_TIME_FORMAT} /> @@ -327,8 +327,8 @@ export const ProgramCoupon = () => { - {tForm("rate.label")}* - + {tForm('rate.label')}* + @@ -337,7 +337,7 @@ export const ProgramCoupon = () => { control={control} id="rate" rules={{ required, min: min(0) }} - placeholder={tForm("rate.placeholder")} + placeholder={tForm('rate.placeholder')} decimalScale={3} fixedDecimalScale={true} suffix="%" @@ -353,12 +353,12 @@ export const ProgramCoupon = () => { isDisabled={!formState.isValid} type="submit" > - {tGlobal("send")} + {tGlobal('send')} ) : ( - {tForm("expired")} + {tForm('expired')} )} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/SeeCoupon.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/SeeCoupon.tsx index 38e64a878..8f4462877 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/SeeCoupon.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/SeeCoupon.tsx @@ -203,7 +203,7 @@ */ -import { Button, Center, HStack, Stack, VStack } from "@chakra-ui/react"; +import { Button, Center, HStack, Stack, VStack } from '@chakra-ui/react'; import { InputController, InputNumberController, @@ -212,23 +212,23 @@ import { PhosphorIcon, Text, Tooltip, -} from "io-bricks-ui"; -import { isHederaValidAddress, min, required } from "../../../../utils/rules"; -import { useForm } from "react-hook-form"; -import { Info } from "@phosphor-icons/react"; -import { useTranslation } from "react-i18next"; +} from 'io-bricks-ui'; +import { isHederaValidAddress, min, required } from '../../../../utils/rules'; +import { useForm } from 'react-hook-form'; +import { Info } from '@phosphor-icons/react'; +import { useTranslation } from 'react-i18next'; import { GetCouponForRequest, GetCouponRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useEffect, useState } from "react"; -import { useParams } from "react-router-dom"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useEffect, useState } from 'react'; +import { useParams } from 'react-router-dom'; import { useGetCoupons, useGetCouponsFor, -} from "../../../../hooks/queries/useCoupons"; -import { formatDate } from "../../../../utils/format"; -import { DATE_TIME_FORMAT } from "../../../../utils/constants"; +} from '../../../../hooks/queries/useCoupons'; +import { formatDate } from '../../../../utils/format'; +import { DATE_TIME_FORMAT } from '../../../../utils/constants'; interface SeeCouponFormValues { couponId: number; @@ -236,13 +236,13 @@ interface SeeCouponFormValues { } const defaultCouponForRequest = new GetCouponForRequest({ - securityId: "", + securityId: '', couponId: 0, - targetId: "", + targetId: '', }); const defaultCouponRequest = new GetCouponRequest({ - securityId: "", + securityId: '', couponId: 0, }); @@ -252,16 +252,16 @@ export const SeeCoupon = () => { handleSubmit, formState: { isValid }, } = useForm({ - mode: "all", + mode: 'all', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.coupons.see.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.coupons.see.input', }); - const { t: tDetail } = useTranslation("security", { - keyPrefix: "details.coupons.see.details", + const { t: tDetail } = useTranslation('security', { + keyPrefix: 'details.coupons.see.details', }); - const { t: tGlobal } = useTranslation("globals"); - const { id: securityId = "" } = useParams(); + const { t: tGlobal } = useTranslation('globals'); + const { id: securityId = '' } = useParams(); const [couponsRequest, setCouponsRequest] = useState(); const [couponForRequest, setCouponsForRequest] = useState(); @@ -269,8 +269,8 @@ export const SeeCoupon = () => { useState(false); const [isCouponsLoading, setIsCouponsLoading] = useState(false); const toast = useToast(); - const { t: tError } = useTranslation("security", { - keyPrefix: "details.Coupons.see.error", + const { t: tError } = useTranslation('security', { + keyPrefix: 'details.Coupons.see.error', }); const { data: couponsFor, refetch: refetchCouponsFor } = useGetCouponsFor( @@ -283,8 +283,8 @@ export const SeeCoupon = () => { onError: () => { setIsCouponsForLoading(false); toast.show({ - title: tError("general"), - status: "error", + title: tError('general'), + status: 'error', }); }, }, @@ -300,8 +300,8 @@ export const SeeCoupon = () => { onError: () => { setIsCouponsLoading(false); toast.show({ - title: tError("general"), - status: "error", + title: tError('general'), + status: 'error', }); }, }, @@ -353,9 +353,9 @@ export const SeeCoupon = () => { - {tForm("coupon.label")}* + {tForm('coupon.label')}* - + @@ -364,15 +364,15 @@ export const SeeCoupon = () => { control={control} id="couponId" rules={{ required, min: min(0) }} - placeholder={tForm("coupon.placeholder")} + placeholder={tForm('coupon.placeholder')} /> - {tForm("account.label")}* + {tForm('account.label')}* - + @@ -380,7 +380,7 @@ export const SeeCoupon = () => { control={control} id="targetId" rules={{ required, isHederaValidAddress }} - placeholder={tForm("account.placeholder")} + placeholder={tForm('account.placeholder')} /> { isLoading={isCouponsForLoading || isCouponsLoading} type="submit" > - {tGlobal("check")} + {tGlobal('check')} {couponsFor && coupons && ( { valueToCopy: coupons.executionDate.toDateString(), }, { - title: tDetail("amount"), + title: tDetail('amount'), description: couponsFor.value, canCopy: true, valueToCopy: couponsFor.value, }, ]} - title={tDetail("title")} + title={tDetail('title')} /> )} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/Coupons.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/Coupons.test.tsx index b7c44ec73..165a9c55e 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/Coupons.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/Coupons.test.tsx @@ -203,23 +203,23 @@ */ -import { Coupons } from "../Coupons"; -import { render } from "../../../../../test-utils"; +import { Coupons } from '../Coupons'; +import { render } from '../../../../../test-utils'; -jest.mock("../../../../../hooks/queries/useGetSecurityDetails", () => ({ - ...jest.requireActual("../../../../../hooks/queries/useGetSecurityDetails"), +jest.mock('../../../../../hooks/queries/useGetSecurityDetails', () => ({ + ...jest.requireActual('../../../../../hooks/queries/useGetSecurityDetails'), useGetBondDetails: () => ({ data: { - currency: "0x858368", - nominalValue: "50", - startingDate: "2023-11-29T23:00:00.000Z", - maturityDate: "2027-01-30T23:00:00.000Z", + currency: '0x858368', + nominalValue: '50', + startingDate: '2023-11-29T23:00:00.000Z', + maturityDate: '2027-01-30T23:00:00.000Z', }, }), })); describe(`${Coupons.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/ProgramCoupon.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/ProgramCoupon.test.tsx index 1f1f899fd..557c16199 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/ProgramCoupon.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/ProgramCoupon.test.tsx @@ -203,24 +203,24 @@ */ -import { ProgramCoupon } from "../ProgramCoupon"; -import { render } from "../../../../../test-utils"; +import { ProgramCoupon } from '../ProgramCoupon'; +import { render } from '../../../../../test-utils'; -jest.mock("../../../../../hooks/queries/useGetSecurityDetails", () => ({ - ...jest.requireActual("../../../../../hooks/queries/useGetSecurityDetails"), +jest.mock('../../../../../hooks/queries/useGetSecurityDetails', () => ({ + ...jest.requireActual('../../../../../hooks/queries/useGetSecurityDetails'), useGetBondDetails: () => ({ data: { - currency: "0x858368", - nominalValue: "50", - startingDate: "2023-11-29T23:00:00.000Z", - maturityDate: "2028-01-30T23:00:00.000Z", + currency: '0x858368', + nominalValue: '50', + startingDate: '2023-11-29T23:00:00.000Z', + maturityDate: '2028-01-30T23:00:00.000Z', }, }), })); // TODO Improve tests when it is connected to SDK describe(`${ProgramCoupon.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/SeeCoupon.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/SeeCoupon.test.tsx index 146a8aee8..3cc804421 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/SeeCoupon.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Coupons/__tests__/SeeCoupon.test.tsx @@ -203,12 +203,12 @@ */ -import { SeeCoupon } from "../SeeCoupon"; -import { render } from "../../../../../test-utils"; +import { SeeCoupon } from '../SeeCoupon'; +import { render } from '../../../../../test-utils'; // TODO Improve tests when it is connected to SDK describe(`${SeeCoupon.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/DangerZone.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/DangerZone.tsx index 90acbe45c..636683a10 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/DangerZone.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/DangerZone.tsx @@ -1,12 +1,12 @@ -import { Divider, HStack, VStack } from "@chakra-ui/react"; -import { Text, Toggle } from "io-bricks-ui"; -import { useRolesStore } from "../../../store/rolesStore"; -import { useMemo } from "react"; -import { hasRole } from "../../../utils/helpers"; -import { SecurityRole } from "../../../utils/SecurityRole"; -import { useParams } from "react-router-dom"; -import { useGetIsClearingActivated } from "../../../hooks/queries/useClearingOperations"; -import { useGetIsPaused } from "../../../hooks/queries/useGetSecurityDetails"; +import { Divider, HStack, VStack } from '@chakra-ui/react'; +import { Text, Toggle } from 'io-bricks-ui'; +import { useRolesStore } from '../../../store/rolesStore'; +import { useMemo } from 'react'; +import { hasRole } from '../../../utils/helpers'; +import { SecurityRole } from '../../../utils/SecurityRole'; +import { useParams } from 'react-router-dom'; +import { useGetIsClearingActivated } from '../../../hooks/queries/useClearingOperations'; +import { useGetIsPaused } from '../../../hooks/queries/useGetSecurityDetails'; import { ActivateClearingRequest, ActivateInternalKycRequest, @@ -15,26 +15,26 @@ import { IsClearingActivatedRequest, IsInternalKycActivatedRequest, PauseRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { usePauseSecurity } from "../../../hooks/queries/usePauseSecurity"; -import { useUnpauseSecurity } from "../../../hooks/queries/useUnpauseSecurity"; +} from '@hashgraph/asset-tokenization-sdk'; +import { usePauseSecurity } from '../../../hooks/queries/usePauseSecurity'; +import { useUnpauseSecurity } from '../../../hooks/queries/useUnpauseSecurity'; import { useActivateClearing, useDeactivateClearing, -} from "../../../hooks/mutations/useClearingOperations"; -import { useTranslation } from "react-i18next"; -import { useGetIsInternalKycActivated } from "../../../hooks/queries/useKYC"; +} from '../../../hooks/mutations/useClearingOperations'; +import { useTranslation } from 'react-i18next'; +import { useGetIsInternalKycActivated } from '../../../hooks/queries/useKYC'; import { useActivateInternalKyc, useDeactivateInternalKyc, -} from "../../../hooks/mutations/useKYC"; +} from '../../../hooks/mutations/useKYC'; export const DangerZone = () => { - const { t: tButtons } = useTranslation("security", { - keyPrefix: "details.actions", + const { t: tButtons } = useTranslation('security', { + keyPrefix: 'details.actions', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { roles: accountRoles } = useRolesStore(); @@ -134,40 +134,40 @@ export const DangerZone = () => { }; return ( - + {hasPauserRole && ( - + - {tButtons("dangerZone.pauseSecurityTokenTitle")} + {tButtons('dangerZone.pauseSecurityTokenTitle')} - {tButtons("dangerZone.pauseSecurityTokenDescription")} + {tButtons('dangerZone.pauseSecurityTokenDescription')} )} - {hasClearingRole && hasPauserRole && } + {hasClearingRole && hasPauserRole && } {hasClearingRole && ( - + - {tButtons("dangerZone.clearingModeTitle")} + {tButtons('dangerZone.clearingModeTitle')} - {tButtons("dangerZone.clearingModeDescription")} + {tButtons('dangerZone.clearingModeDescription')} { )} {(hasClearingRole || hasPauserRole) && hasInternalKYCManagerRole && ( - + )} {hasInternalKYCManagerRole && ( - + - {tButtons("dangerZone.internalKYCManagerTitle")} + {tButtons('dangerZone.internalKYCManagerTitle')} - {tButtons("dangerZone.internalKYCManagerDescription")} + {tButtons('dangerZone.internalKYCManagerDescription')} { - const { t: tProperties } = useTranslation("properties"); - const { t: tPermissions } = useTranslation("properties", { - keyPrefix: "permissions", + const { t: tProperties } = useTranslation('properties'); + const { t: tPermissions } = useTranslation('properties', { + keyPrefix: 'permissions', }); - const { t: tRights } = useTranslation("security", { - keyPrefix: "createEquity", + const { t: tRights } = useTranslation('security', { + keyPrefix: 'createEquity', }); - const { t: tBenefits } = useTranslation("security", { - keyPrefix: "details.benefits", + const { t: tBenefits } = useTranslation('security', { + keyPrefix: 'details.benefits', }); - const { t: tRegulations } = useTranslation("properties", { - keyPrefix: "regulations", + const { t: tRegulations } = useTranslation('properties', { + keyPrefix: 'regulations', }); - const { t: tRegulation } = useTranslation("security", { - keyPrefix: "regulation", + const { t: tRegulation } = useTranslation('security', { + keyPrefix: 'regulation', }); const { type: userType } = useUserStore(); @@ -284,7 +284,7 @@ export const Details = ({ securityId: id, }), { - enabled: details?.type === "EQUITY", + enabled: details?.type === 'EQUITY', }, ); @@ -293,7 +293,7 @@ export const Details = ({ securityId: id, }), { - enabled: details?.type === "EQUITY", + enabled: details?.type === 'EQUITY', }, ); @@ -306,7 +306,7 @@ export const Details = ({ securityId: id, }), { - enabled: details?.type === "BOND", + enabled: details?.type === 'BOND', }, ); @@ -334,93 +334,93 @@ export const Details = ({ const permissionsItems = [ { - title: tPermissions("controllable"), + title: tPermissions('controllable'), description: details?.isControllable - ? tPermissions("allowed") - : tPermissions("notAllowed"), + ? tPermissions('allowed') + : tPermissions('notAllowed'), }, { - title: tPermissions("blocklist"), + title: tPermissions('blocklist'), description: details?.isWhiteList - ? tPermissions("notAllowed") - : tPermissions("allowed"), + ? tPermissions('notAllowed') + : tPermissions('allowed'), }, { - title: tPermissions("approvalList"), + title: tPermissions('approvalList'), description: details?.isWhiteList - ? tPermissions("allowed") - : tPermissions("notAllowed"), + ? tPermissions('allowed') + : tPermissions('notAllowed'), }, ]; const { type, - subType = "", - dealSize = "", - accreditedInvestors = "", - maxNonAccreditedInvestors = "", - manualInvestorVerification = "", - internationalInvestors = "", - resaleHoldPeriod = "", + subType = '', + dealSize = '', + accreditedInvestors = '', + maxNonAccreditedInvestors = '', + manualInvestorVerification = '', + internationalInvestors = '', + resaleHoldPeriod = '', } = details?.regulation || {}; const regulationItems = [ { - title: tRegulations("regulationType"), + title: tRegulations('regulationType'), description: tRegulation(`regulationType_${type}`), }, { - title: tRegulations("regulationSubType"), - description: subType.replace("_", " "), + title: tRegulations('regulationSubType'), + description: subType.replace('_', ' '), }, { title: details?.isCountryControlListWhiteList - ? tRegulations("allowedCountries") - : tRegulations("blockedCountries"), + ? tRegulations('allowedCountries') + : tRegulations('blockedCountries'), description: details?.countries - ?.split(",") + ?.split(',') .map( (country) => CountriesList[country as keyof typeof CountriesList], ) - .join(" - ") ?? "", + .join(' - ') ?? '', }, { - title: tRegulations("dealSize"), + title: tRegulations('dealSize'), description: - dealSize !== "0" + dealSize !== '0' ? `${dealSize} $` - : tRegulations("dealSizePlaceHolder"), + : tRegulations('dealSizePlaceHolder'), }, { - title: tRegulations("accreditedInvestors"), + title: tRegulations('accreditedInvestors'), description: _capitalize(accreditedInvestors), }, { - title: tRegulations("maxNonAccreditedInvestors"), + title: tRegulations('maxNonAccreditedInvestors'), description: maxNonAccreditedInvestors !== 0 ? `${maxNonAccreditedInvestors}` - : tRegulations("maxNonAccreditedInvestorsPlaceHolder"), + : tRegulations('maxNonAccreditedInvestorsPlaceHolder'), }, { - title: tRegulations("manualInvestorVerification"), + title: tRegulations('manualInvestorVerification'), description: _capitalize(manualInvestorVerification), }, { - title: tRegulations("internationalInvestors"), + title: tRegulations('internationalInvestors'), description: _capitalize(internationalInvestors), }, { - title: tRegulations("resaleHoldPeriod"), + title: tRegulations('resaleHoldPeriod'), description: _capitalize(resaleHoldPeriod), }, ]; if (Object.keys(equityDetailsResponse).length > 0) { permissionsItems.push({ - title: tPermissions("rightsAndPrivileges"), - description: rightsAndPrivilegesFiltered.join(", "), + title: tPermissions('rightsAndPrivileges'), + description: rightsAndPrivilegesFiltered.join(', '), }); } @@ -450,8 +450,8 @@ export const Details = ({ /> {(isLoadingDividends || isFetchingDividends) && !dividends && - detailsResponse.type === "EQUITY" && ( - + detailsResponse.type === 'EQUITY' && ( + Checking for dividends... @@ -461,40 +461,40 @@ export const Details = ({ key={dividend.dividendId} items={[ { - title: tBenefits("id"), - description: dividend.dividendId ?? "", + title: tBenefits('id'), + description: dividend.dividendId ?? '', }, { - title: tBenefits("recordDate"), + title: tBenefits('recordDate'), description: - formatDate(dividend.recordDate, DATE_TIME_FORMAT) ?? "", + formatDate(dividend.recordDate, DATE_TIME_FORMAT) ?? '', }, { - title: tBenefits("executionDate"), + title: tBenefits('executionDate'), description: - formatDate(dividend.executionDate, DATE_TIME_FORMAT) ?? "", + formatDate(dividend.executionDate, DATE_TIME_FORMAT) ?? '', }, { - title: tBenefits("dividendAmount"), - description: dividend.amountPerUnitOfSecurity ?? "", + title: tBenefits('dividendAmount'), + description: dividend.amountPerUnitOfSecurity ?? '', }, ...(dividend.snapshotId ? [ { - title: "Snapshot Id", + title: 'Snapshot Id', description: dividend.snapshotId, }, ] : []), ]} - title={tBenefits("dividends")} + title={tBenefits('dividends')} layerStyle="container" /> ))} {(isLoadingCoupons || isFetchingCoupons) && !coupons && - detailsResponse.type === "BOND" && ( - + detailsResponse.type === 'BOND' && ( + Checking for coupons... @@ -504,40 +504,40 @@ export const Details = ({ key={coupon.couponId} items={[ { - title: tBenefits("id"), - description: coupon.couponId ?? "", + title: tBenefits('id'), + description: coupon.couponId ?? '', }, { - title: tBenefits("recordDate"), + title: tBenefits('recordDate'), description: - formatDate(coupon.recordDate, DATE_TIME_FORMAT) ?? "", + formatDate(coupon.recordDate, DATE_TIME_FORMAT) ?? '', }, { - title: tBenefits("executionDate"), + title: tBenefits('executionDate'), description: - formatDate(coupon.executionDate, DATE_TIME_FORMAT) ?? "", + formatDate(coupon.executionDate, DATE_TIME_FORMAT) ?? '', }, { - title: tBenefits("couponRate"), + title: tBenefits('couponRate'), description: `${parseInt(coupon.rate) / COUPONS_FACTOR}%`, }, ...(coupon.snapshotId ? [ { - title: tBenefits("snapshot"), + title: tBenefits('snapshot'), description: coupon.snapshotId, }, ] : []), ]} - title={tBenefits("coupons")} + title={tBenefits('coupons')} layerStyle="container" /> ))} {userType === User.holder && ( - + {isAvailableBalanceLoading ? ( @@ -546,11 +546,11 @@ export const Details = ({ {currentAvailableBalance} - {details?.symbol ?? ""} + {details?.symbol ?? ''} - {tProperties("nominalTotalValue")} + {tProperties('nominalTotalValue')} {formatNumberLocale(totalAvailableBalanceValue, 2)} @@ -558,18 +558,18 @@ export const Details = ({ )} - + {details ? ( - {details?.totalSupply ?? ""} + {details?.totalSupply ?? ''} - {details?.symbol ?? ""} + {details?.symbol ?? ''} - {tProperties("nominalTotalValue")} + {tProperties('nominalTotalValue')} {nominalTotalValue} @@ -581,14 +581,14 @@ export const Details = ({ @@ -597,23 +597,23 @@ export const Details = ({ key={balanceAdjustment.id} items={[ { - title: tBenefits("executionDate"), + title: tBenefits('executionDate'), description: formatDate( balanceAdjustment.executionDate, DATE_TIME_FORMAT, - ) ?? "", + ) ?? '', }, { - title: tBenefits("factor"), + title: tBenefits('factor'), description: ( Number(balanceAdjustment.factor) / Math.pow(10, Number(balanceAdjustment.decimals)) - ).toString() ?? "", + ).toString() ?? '', }, ]} - title={tBenefits("balanceAdjustments")} + title={tBenefits('balanceAdjustments')} layerStyle="container" /> ))} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/Dividends.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/Dividends.tsx index 23e95820b..f7259fbd1 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/Dividends.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/Dividends.tsx @@ -203,23 +203,23 @@ */ -import { Stack } from "@chakra-ui/react"; -import { Tabs } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { ProgramDividend } from "./ProgramDividend"; -import { SeeDividend } from "./SeeDividend"; +import { Stack } from '@chakra-ui/react'; +import { Tabs } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { ProgramDividend } from './ProgramDividend'; +import { SeeDividend } from './SeeDividend'; export const Dividends = () => { - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.dividends.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.dividends.tabs', }); return ( , header: tTabs("program") }, - { content: , header: tTabs("see") }, + { content: , header: tTabs('program') }, + { content: , header: tTabs('see') }, ]} isFitted /> diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/ProgramDividend.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/ProgramDividend.tsx index ed28ebdaf..1a94c0d26 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/ProgramDividend.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/ProgramDividend.tsx @@ -203,23 +203,23 @@ */ -import { Button, Center, HStack, Stack, VStack } from "@chakra-ui/react"; +import { Button, Center, HStack, Stack, VStack } from '@chakra-ui/react'; import { CalendarInputController, InputNumberController, PhosphorIcon, Text, Tooltip, -} from "io-bricks-ui"; -import { min, required } from "../../../../utils/rules"; -import { Info } from "@phosphor-icons/react"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { useDividends } from "../../../../hooks/queries/useDividends"; -import { SetDividendsRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; -import { dateToUnixTimestamp } from "../../../../utils/format"; -import { DATE_TIME_FORMAT } from "../../../../utils/constants"; +} from 'io-bricks-ui'; +import { min, required } from '../../../../utils/rules'; +import { Info } from '@phosphor-icons/react'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { useDividends } from '../../../../hooks/queries/useDividends'; +import { SetDividendsRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; +import { dateToUnixTimestamp } from '../../../../utils/format'; +import { DATE_TIME_FORMAT } from '../../../../utils/constants'; interface ProgramDividendFormValues { amountPerUnitOfSecurity: string; @@ -231,18 +231,18 @@ export const ProgramDividend = () => { const { mutate: createDividend, isLoading } = useDividends(); const { control, formState, handleSubmit, reset } = useForm({ - mode: "all", + mode: 'all', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.dividends.program.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.dividends.program.input', }); - const { t: tGlobal } = useTranslation("globals"); + const { t: tGlobal } = useTranslation('globals'); const { id } = useParams(); const submit: SubmitHandler = (params) => { const request = new SetDividendsRequest({ - securityId: id ?? "", + securityId: id ?? '', amountPerUnitOfSecurity: params.amountPerUnitOfSecurity.toString(), recordTimestamp: dateToUnixTimestamp(params.recordTimestamp), executionTimestamp: dateToUnixTimestamp(params.executionTimestamp), @@ -268,9 +268,9 @@ export const ProgramDividend = () => { - {tForm("recordDate.label")}* + {tForm('recordDate.label')}* - + @@ -279,7 +279,7 @@ export const ProgramDividend = () => { id="recordTimestamp" rules={{ required }} fromDate={new Date()} - placeholder={tForm("recordDate.placeholder")} + placeholder={tForm('recordDate.placeholder')} withTimeInput format={DATE_TIME_FORMAT} /> @@ -287,9 +287,9 @@ export const ProgramDividend = () => { - {tForm("paymentDate.label")}* + {tForm('paymentDate.label')}* - + @@ -298,15 +298,15 @@ export const ProgramDividend = () => { id="executionTimestamp" rules={{ required }} fromDate={new Date()} - placeholder={tForm("paymentDate.placeholder")} + placeholder={tForm('paymentDate.placeholder')} withTimeInput format={DATE_TIME_FORMAT} /> - {tForm("amount.label")}* - + {tForm('amount.label')}* + @@ -315,7 +315,7 @@ export const ProgramDividend = () => { control={control} id="amountPerUnitOfSecurity" rules={{ required, min: min(0) }} - placeholder={tForm("amount.placeholder")} + placeholder={tForm('amount.placeholder')} /> { isDisabled={!formState.isValid} type="submit" > - {tGlobal("send")} + {tGlobal('send')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/SeeDividend.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/SeeDividend.tsx index 6a5499ed4..dee8f1983 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/SeeDividend.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/SeeDividend.tsx @@ -203,7 +203,7 @@ */ -import { Button, Center, HStack, Stack, VStack } from "@chakra-ui/react"; +import { Button, Center, HStack, Stack, VStack } from '@chakra-ui/react'; import { InputController, InputNumberController, @@ -212,23 +212,23 @@ import { PhosphorIcon, Text, Tooltip, -} from "io-bricks-ui"; -import { Info } from "@phosphor-icons/react"; -import { isHederaValidAddress, min, required } from "../../../../utils/rules"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; +} from 'io-bricks-ui'; +import { Info } from '@phosphor-icons/react'; +import { isHederaValidAddress, min, required } from '../../../../utils/rules'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; import { useGetDividends, useGetDividendsFor, -} from "../../../../hooks/queries/useDividends"; +} from '../../../../hooks/queries/useDividends'; import { GetDividendsForRequest, GetDividendsRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useEffect, useState } from "react"; -import { useParams } from "react-router-dom"; -import { formatDate, formatNumberLocale } from "../../../../utils/format"; -import { DATE_TIME_FORMAT } from "../../../../utils/constants"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useEffect, useState } from 'react'; +import { useParams } from 'react-router-dom'; +import { formatDate, formatNumberLocale } from '../../../../utils/format'; +import { DATE_TIME_FORMAT } from '../../../../utils/constants'; interface SeeDividendFormValues { dividendId: number; @@ -236,13 +236,13 @@ interface SeeDividendFormValues { } const defaultDividendsForRequest = new GetDividendsForRequest({ - securityId: "", + securityId: '', dividendId: 0, - targetId: "", + targetId: '', }); const defaultDividendsRequest = new GetDividendsRequest({ - securityId: "", + securityId: '', dividendId: 0, }); @@ -252,16 +252,16 @@ export const SeeDividend = () => { handleSubmit, formState: { isValid }, } = useForm({ - mode: "all", + mode: 'all', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.dividends.see.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.dividends.see.input', }); - const { t: tDetail } = useTranslation("security", { - keyPrefix: "details.dividends.see.details", + const { t: tDetail } = useTranslation('security', { + keyPrefix: 'details.dividends.see.details', }); - const { t: tGlobal } = useTranslation("globals"); - const { id: securityId = "" } = useParams(); + const { t: tGlobal } = useTranslation('globals'); + const { id: securityId = '' } = useParams(); const [dividendsRequest, setDividendsRequest] = useState(); const [dividendsForRequest, setDividendsForRequest] = @@ -270,8 +270,8 @@ export const SeeDividend = () => { useState(false); const [isDividendsLoading, setIsDivididendLoading] = useState(false); const toast = useToast(); - const { t: tError } = useTranslation("security", { - keyPrefix: "details.dividends.see.error", + const { t: tError } = useTranslation('security', { + keyPrefix: 'details.dividends.see.error', }); const { data: dividendsFor, refetch: refetchDividendsFor } = @@ -284,8 +284,8 @@ export const SeeDividend = () => { setIsDivididendForLoading(false); toast.show({ duration: 3000, - title: tError("general"), - status: "error", + title: tError('general'), + status: 'error', }); }, }); @@ -301,8 +301,8 @@ export const SeeDividend = () => { setIsDivididendLoading(false); toast.show({ duration: 3000, - title: tError("general"), - status: "error", + title: tError('general'), + status: 'error', }); }, }, @@ -341,8 +341,8 @@ export const SeeDividend = () => { setDividendsRequest(dividendsReq); }; - let dividendsPaymentDay = ""; - let dividendsAmount = "0"; + let dividendsPaymentDay = ''; + let dividendsAmount = '0'; if (dividends && dividendsFor) { dividendsPaymentDay = dividends.executionDate.toDateString(); @@ -371,9 +371,9 @@ export const SeeDividend = () => { - {tForm("dividend.label")}* + {tForm('dividend.label')}* - + @@ -382,15 +382,15 @@ export const SeeDividend = () => { control={control} id="dividendId" rules={{ required, min: min(0) }} - placeholder={tForm("dividend.placeholder")} + placeholder={tForm('dividend.placeholder')} /> - {tForm("account.label")}* + {tForm('account.label')}* - + @@ -398,7 +398,7 @@ export const SeeDividend = () => { control={control} id="targetId" rules={{ required, isHederaValidAddress }} - placeholder={tForm("account.placeholder")} + placeholder={tForm('account.placeholder')} /> { isLoading={isDividendsForLoading || isDividendsLoading} type="submit" > - {tGlobal("check")} + {tGlobal('check')} {dividends && dividendsFor && ( )} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/Dividends.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/Dividends.test.tsx index 87251ee96..11e0b6a92 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/Dividends.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/Dividends.test.tsx @@ -203,11 +203,11 @@ */ -import { Dividends } from "../Dividends"; -import { render } from "../../../../../test-utils"; +import { Dividends } from '../Dividends'; +import { render } from '../../../../../test-utils'; describe(`${Dividends.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/ProgramDividend.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/ProgramDividend.test.tsx index 8b907247c..0a8e6bbf1 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/ProgramDividend.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/ProgramDividend.test.tsx @@ -203,12 +203,12 @@ */ -import { ProgramDividend } from "../ProgramDividend"; -import { render } from "../../../../../test-utils"; +import { ProgramDividend } from '../ProgramDividend'; +import { render } from '../../../../../test-utils'; // TODO Improve tests when it is connected to SDK describe(`${ProgramDividend.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/SeeDividend.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/SeeDividend.test.tsx index ac8dfd138..f01e7ccff 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/SeeDividend.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Dividends/__tests__/SeeDividend.test.tsx @@ -203,12 +203,12 @@ */ -import { SeeDividend } from "../SeeDividend"; -import { render } from "../../../../../test-utils"; +import { SeeDividend } from '../SeeDividend'; +import { render } from '../../../../../test-utils'; // TODO Improve tests when it is connected to SDK describe(`${SeeDividend.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalControl/AddExternalControlModal.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalControl/AddExternalControlModal.tsx index 217f0ff7a..de637cebe 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalControl/AddExternalControlModal.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalControl/AddExternalControlModal.tsx @@ -9,7 +9,7 @@ import { ModalOverlay, ModalProps, VStack, -} from "@chakra-ui/react"; +} from '@chakra-ui/react'; import { Button, PhosphorIcon, @@ -17,15 +17,15 @@ import { Tag, Text, useToast, -} from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { useParams } from "react-router-dom"; -import { useState } from "react"; -import { X } from "@phosphor-icons/react"; -import { useExternalControlStore } from "../../../../store/externalControlStore"; -import { useUpdateExternalControlLists } from "../../../../hooks/mutations/useExternalControl"; -import { UpdateExternalControlListsRequest } from "@hashgraph/asset-tokenization-sdk"; +} from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { useParams } from 'react-router-dom'; +import { useState } from 'react'; +import { X } from '@phosphor-icons/react'; +import { useExternalControlStore } from '../../../../store/externalControlStore'; +import { useUpdateExternalControlLists } from '../../../../hooks/mutations/useExternalControl'; +import { UpdateExternalControlListsRequest } from '@hashgraph/asset-tokenization-sdk'; type SelectOption = { value: string; @@ -37,7 +37,7 @@ interface FormValues { vcFile: string; } -interface AddExternalControlModalProps extends Omit {} +type AddExternalControlModalProps = Omit; export const AddExternalControlModal = ({ isOpen, @@ -47,13 +47,13 @@ export const AddExternalControlModal = ({ const [selectedControls, setSelectedControls] = useState([]); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); - const { t: tCreate } = useTranslation("security", { - keyPrefix: "details.externalControl.create", + const { t: tCreate } = useTranslation('security', { + keyPrefix: 'details.externalControl.create', }); - const { t: tMessage } = useTranslation("externalControl", { - keyPrefix: "add.messages", + const { t: tMessage } = useTranslation('externalControl', { + keyPrefix: 'add.messages', }); const { externalControls } = useExternalControlStore(); @@ -65,7 +65,7 @@ export const AddExternalControlModal = ({ })); const { control, handleSubmit, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const onSubmit = (_values: FormValues) => { @@ -81,10 +81,10 @@ export const AddExternalControlModal = ({ onClose(); toast.show({ duration: 3000, - title: tMessage("updateExternalControl.success"), - description: tMessage("updateExternalControl.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tMessage('updateExternalControl.success'), + description: tMessage('updateExternalControl.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }); }; @@ -124,23 +124,23 @@ export const AddExternalControlModal = ({ }} > - - {tCreate("title")} + + {tCreate('title')} handleSelectChange(option as SelectOption)} /> {selectedControls.length > 0 && ( - + External control selected: - {tCreate("form.add")} + {tCreate('form.add')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalControl/ExternalControl.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalControl/ExternalControl.tsx index 3e9ced730..8ab3b2ca0 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalControl/ExternalControl.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalControl/ExternalControl.tsx @@ -1,5 +1,5 @@ -import { Checkbox, HStack, Stack, useDisclosure } from "@chakra-ui/react"; -import { createColumnHelper } from "@tanstack/table-core"; +import { Checkbox, HStack, Stack, useDisclosure } from '@chakra-ui/react'; +import { createColumnHelper } from '@tanstack/table-core'; import { Button, PhosphorIcon, @@ -7,32 +7,32 @@ import { Table, Text, useToast, -} from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { Trash } from "@phosphor-icons/react"; -import { useState } from "react"; -import { useParams } from "react-router-dom"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { hasRole } from "../../../../utils/helpers"; -import { SecurityRole } from "../../../../utils/SecurityRole"; -import { AddExternalControlModal } from "./AddExternalControlModal"; +} from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { Trash } from '@phosphor-icons/react'; +import { useState, type ChangeEvent } from 'react'; +import { useParams } from 'react-router-dom'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { hasRole } from '../../../../utils/helpers'; +import { SecurityRole } from '../../../../utils/SecurityRole'; +import { AddExternalControlModal } from './AddExternalControlModal'; import { useRemoveExternalControlList, useUpdateExternalControlLists, -} from "../../../../hooks/mutations/useExternalControl"; -import { useGetExternalControls } from "../../../../hooks/queries/useExternalControl"; +} from '../../../../hooks/mutations/useExternalControl'; +import { useGetExternalControls } from '../../../../hooks/queries/useExternalControl'; import { RemoveExternalControlListRequest, UpdateExternalControlListsRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; -type ExternalControl = { +type ExternalControlRow = { address: string; }; export const ExternalControl = () => { const toast = useToast(); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const { isOpen: isOpenAddModal, @@ -57,21 +57,21 @@ export const ExternalControl = () => { SecurityRole._CONTROL_LIST_MANAGER_ROLE, ); - const { t: tList } = useTranslation("security", { - keyPrefix: "details.externalControl.list", + const { t: tList } = useTranslation('security', { + keyPrefix: 'details.externalControl.list', }); - const { t: tTable } = useTranslation("security", { - keyPrefix: "details.externalControl.table", + const { t: tTable } = useTranslation('security', { + keyPrefix: 'details.externalControl.table', }); - const { t: tRemove } = useTranslation("security", { - keyPrefix: "details.externalControl.remove", + const { t: tRemove } = useTranslation('security', { + keyPrefix: 'details.externalControl.remove', }); - const { t: tMessage } = useTranslation("externalControl", { - keyPrefix: "list.messages", + const { t: tMessage } = useTranslation('externalControl', { + keyPrefix: 'list.messages', }); const [externalControlToRemove, setExternalControlToRemove] = - useState(""); + useState(''); const [selectedRows, setSelectedRows] = useState>({}); const { data: externalControls, isLoading } = @@ -90,7 +90,7 @@ export const ExternalControl = () => { })); }; - const handleSelectAll = (e: React.ChangeEvent) => { + const handleSelectAll = (e: ChangeEvent) => { const isChecked = e.target.checked; const newSelectedRows = externalControls.reduce( (acc, item) => ({ ...acc, [item.address]: isChecked }), @@ -99,13 +99,13 @@ export const ExternalControl = () => { setSelectedRows(newSelectedRows); }; - const columnsHelper = createColumnHelper(); + const columnsHelper = createColumnHelper(); const columns = [ ...(hasControlManagerRole ? [ columnsHelper.display({ - id: "selection", + id: 'selection', header: () => { const totalRows = externalControls.length; const selectedCount = @@ -139,13 +139,13 @@ export const ExternalControl = () => { }), ] : []), - columnsHelper.accessor("address", { - header: tTable("fields.id"), + columnsHelper.accessor('address', { + header: tTable('fields.id'), enableSorting: false, }), columnsHelper.display({ - id: "remove", - header: tTable("fields.actions"), + id: 'remove', + header: tTable('fields.actions'), size: 5, enableSorting: false, cell(props) { @@ -167,7 +167,7 @@ export const ExternalControl = () => { variant="table" size="xs" > - + ); }, @@ -192,10 +192,10 @@ export const ExternalControl = () => { onCloseRemoveMultipleModal(); toast.show({ duration: 3000, - title: tMessage("removeExternalControl.success"), - description: tMessage("removeExternalControl.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tMessage('removeExternalControl.success'), + description: tMessage('removeExternalControl.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }); } @@ -208,7 +208,7 @@ export const ExternalControl = () => { externalControlListAddress: externalControlToRemove, }), ).finally(() => { - setExternalControlToRemove(""); + setExternalControlToRemove(''); onCloseRemoveModal(); }); }; @@ -224,9 +224,9 @@ export const ExternalControl = () => { pt={6} gap={4} > - + - {tList("title")} + {tList('title')} {hasControlManagerRole && ( @@ -235,10 +235,10 @@ export const ExternalControl = () => { onOpenRemoveMultipleModal(); }} size="sm" - variant={"secondary"} + variant={'secondary'} isDisabled={disabledRemoveItems} > - {tList("removeItemsSelected")} + {tList('removeItemsSelected')} { @@ -246,7 +246,7 @@ export const ExternalControl = () => { }} size="sm" > - {tList("add")} + {tList('add')} )} @@ -257,7 +257,7 @@ export const ExternalControl = () => { columns={columns} data={externalControls ?? []} isLoading={isLoading} - emptyComponent={{tTable("empty")}} + emptyComponent={{tTable('empty')}} /> { onCloseRemoveModal(); }} icon={} - title={tRemove("title")} - description={tRemove("description")} - confirmText={tRemove("confirmText")} + title={tRemove('title')} + description={tRemove('description')} + confirmText={tRemove('confirmText')} onConfirm={() => { handleRemove(); }} onCancel={() => { - setExternalControlToRemove(""); + setExternalControlToRemove(''); onCloseRemoveModal(); }} - cancelText={tRemove("cancelText")} + cancelText={tRemove('cancelText')} confirmButtonProps={{ isLoading: isLoadingRemove, }} @@ -292,14 +292,14 @@ export const ExternalControl = () => { isOpen={isOpenRemoveMultipleModal} onClose={onCloseRemoveMultipleModal} icon={} - title={tRemove("title")} - description={tRemove("description")} - confirmText={tRemove("confirmText")} + title={tRemove('title')} + description={tRemove('description')} + confirmText={tRemove('confirmText')} onConfirm={() => { handleMultipleRemove(); }} onCancel={onCloseRemoveMultipleModal} - cancelText={tRemove("cancelText")} + cancelText={tRemove('cancelText')} confirmButtonProps={{ isLoading: isLoadingUpdateExternalControls, }} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalKYC/AddExternalKYCModal.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalKYC/AddExternalKYCModal.tsx index fb8334fce..a7790fd75 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalKYC/AddExternalKYCModal.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalKYC/AddExternalKYCModal.tsx @@ -9,7 +9,7 @@ import { ModalOverlay, ModalProps, VStack, -} from "@chakra-ui/react"; +} from '@chakra-ui/react'; import { Button, PhosphorIcon, @@ -17,15 +17,15 @@ import { Tag, Text, useToast, -} from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { useParams } from "react-router-dom"; -import { useState } from "react"; -import { X } from "@phosphor-icons/react"; -import { useExternalKYCStore } from "../../../../store/externalKYCStore"; -import { useUpdateExternalKYCLists } from "../../../../hooks/mutations/useExternalKYC"; -import { UpdateExternalKycListsRequest } from "@hashgraph/asset-tokenization-sdk"; +} from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { useParams } from 'react-router-dom'; +import { useState } from 'react'; +import { X } from '@phosphor-icons/react'; +import { useExternalKYCStore } from '../../../../store/externalKYCStore'; +import { useUpdateExternalKYCLists } from '../../../../hooks/mutations/useExternalKYC'; +import { UpdateExternalKycListsRequest } from '@hashgraph/asset-tokenization-sdk'; type SelectOption = { value: string; @@ -37,7 +37,7 @@ interface FormValues { vcFile: string; } -interface AddExternalKYCModalProps extends Omit {} +type AddExternalKYCModalProps = Omit; export const AddExternalKYCModal = ({ isOpen, @@ -47,13 +47,13 @@ export const AddExternalKYCModal = ({ const [selectedKYCs, setSelectedKYCs] = useState([]); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); - const { t: tCreate } = useTranslation("security", { - keyPrefix: "details.externalKYC.create", + const { t: tCreate } = useTranslation('security', { + keyPrefix: 'details.externalKYC.create', }); - const { t: tMessage } = useTranslation("externalKYC", { - keyPrefix: "add.messages", + const { t: tMessage } = useTranslation('externalKYC', { + keyPrefix: 'add.messages', }); const { externalKYCs } = useExternalKYCStore(); @@ -69,7 +69,7 @@ export const AddExternalKYCModal = ({ })); const { control, handleSubmit, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const onSubmit = (_values: FormValues) => { @@ -83,10 +83,10 @@ export const AddExternalKYCModal = ({ onClose(); toast.show({ duration: 3000, - title: tMessage("updateExternalKYC.success"), - description: tMessage("updateExternalKYC.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tMessage('updateExternalKYC.success'), + description: tMessage('updateExternalKYC.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }); }; @@ -126,23 +126,23 @@ export const AddExternalKYCModal = ({ }} > - - {tCreate("title")} + + {tCreate('title')} handleSelectChange(option as SelectOption)} /> {selectedKYCs.length > 0 && ( - + External KYCs selected: - {tCreate("form.add")} + {tCreate('form.add')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalKYC/ExternalKYC.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalKYC/ExternalKYC.tsx index 18e09370c..1504ed2b4 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalKYC/ExternalKYC.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalKYC/ExternalKYC.tsx @@ -1,5 +1,5 @@ -import { Checkbox, HStack, Stack, useDisclosure } from "@chakra-ui/react"; -import { createColumnHelper } from "@tanstack/table-core"; +import { Checkbox, HStack, Stack, useDisclosure } from '@chakra-ui/react'; +import { createColumnHelper } from '@tanstack/table-core'; import { Button, PhosphorIcon, @@ -7,32 +7,32 @@ import { Table, Text, useToast, -} from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { Trash } from "@phosphor-icons/react"; -import { useState } from "react"; -import { useParams } from "react-router-dom"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { hasRole } from "../../../../utils/helpers"; -import { SecurityRole } from "../../../../utils/SecurityRole"; -import { AddExternalKYCModal } from "./AddExternalKYCModal"; -import { useGetExternalKyc } from "../../../../hooks/queries/useExternalKYC"; +} from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { Trash } from '@phosphor-icons/react'; +import { useState, type ChangeEvent } from 'react'; +import { useParams } from 'react-router-dom'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { hasRole } from '../../../../utils/helpers'; +import { SecurityRole } from '../../../../utils/SecurityRole'; +import { AddExternalKYCModal } from './AddExternalKYCModal'; +import { useGetExternalKyc } from '../../../../hooks/queries/useExternalKYC'; import { useRemoveExternalKYCList, useUpdateExternalKYCLists, -} from "../../../../hooks/mutations/useExternalKYC"; +} from '../../../../hooks/mutations/useExternalKYC'; import { RemoveExternalKycListRequest, UpdateExternalKycListsRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; -type ExternalKYC = { +type ExternalKYCRow = { address: string; }; export const ExternalKYC = () => { const toast = useToast(); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const { isOpen: isOpenAddModal, @@ -54,20 +54,20 @@ export const ExternalKYC = () => { const hasKYCManagerRole = hasRole(roles, SecurityRole._KYC_MANAGER_ROLE); - const { t: tList } = useTranslation("security", { - keyPrefix: "details.externalKYC.list", + const { t: tList } = useTranslation('security', { + keyPrefix: 'details.externalKYC.list', }); - const { t: tTable } = useTranslation("security", { - keyPrefix: "details.externalKYC.table", + const { t: tTable } = useTranslation('security', { + keyPrefix: 'details.externalKYC.table', }); - const { t: tRemove } = useTranslation("security", { - keyPrefix: "details.externalKYC.remove", + const { t: tRemove } = useTranslation('security', { + keyPrefix: 'details.externalKYC.remove', }); - const { t: tMessage } = useTranslation("externalKYC", { - keyPrefix: "list.messages", + const { t: tMessage } = useTranslation('externalKYC', { + keyPrefix: 'list.messages', }); - const [externalKYCToRemove, setExternalKYCToRemove] = useState(""); + const [externalKYCToRemove, setExternalKYCToRemove] = useState(''); const [selectedRows, setSelectedRows] = useState>({}); const { data: externalKYCs, isLoading } = useGetExternalKyc(securityId); @@ -85,7 +85,7 @@ export const ExternalKYC = () => { })); }; - const handleSelectAll = (e: React.ChangeEvent) => { + const handleSelectAll = (e: ChangeEvent) => { const isChecked = e.target.checked; const newSelectedRows = externalKYCs.reduce( (acc, item) => ({ ...acc, [item.address]: isChecked }), @@ -94,13 +94,13 @@ export const ExternalKYC = () => { setSelectedRows(newSelectedRows); }; - const columnsHelper = createColumnHelper(); + const columnsHelper = createColumnHelper(); const columns = [ ...(hasKYCManagerRole ? [ columnsHelper.display({ - id: "selection", + id: 'selection', header: () => { const totalRows = externalKYCs.length; const selectedCount = @@ -134,13 +134,13 @@ export const ExternalKYC = () => { }), ] : []), - columnsHelper.accessor("address", { - header: tTable("fields.id"), + columnsHelper.accessor('address', { + header: tTable('fields.id'), enableSorting: false, }), columnsHelper.display({ - id: "remove", - header: tTable("fields.actions"), + id: 'remove', + header: tTable('fields.actions'), size: 5, enableSorting: false, cell(props) { @@ -162,7 +162,7 @@ export const ExternalKYC = () => { variant="table" size="xs" > - + ); }, @@ -187,10 +187,10 @@ export const ExternalKYC = () => { onCloseRemoveMultipleModal(); toast.show({ duration: 3000, - title: tMessage("removeExternalKYC.success"), - description: tMessage("removeExternalKYC.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tMessage('removeExternalKYC.success'), + description: tMessage('removeExternalKYC.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }); } @@ -203,7 +203,7 @@ export const ExternalKYC = () => { externalKycListAddress: externalKYCToRemove, }), ).finally(() => { - setExternalKYCToRemove(""); + setExternalKYCToRemove(''); onCloseRemoveModal(); }); }; @@ -219,9 +219,9 @@ export const ExternalKYC = () => { pt={6} gap={4} > - + - {tList("title")} + {tList('title')} {hasKYCManagerRole && ( @@ -230,10 +230,10 @@ export const ExternalKYC = () => { onOpenRemoveMultipleModal(); }} size="sm" - variant={"secondary"} + variant={'secondary'} isDisabled={disabledRemoveItems} > - {tList("removeItemsSelected")} + {tList('removeItemsSelected')} { @@ -241,7 +241,7 @@ export const ExternalKYC = () => { }} size="sm" > - {tList("add")} + {tList('add')} )} @@ -252,7 +252,7 @@ export const ExternalKYC = () => { columns={columns} data={externalKYCs ?? []} isLoading={isLoading} - emptyComponent={{tTable("empty")}} + emptyComponent={{tTable('empty')}} /> @@ -260,21 +260,21 @@ export const ExternalKYC = () => { id="removeExternalKYC" isOpen={isOpenRemoveModal} onClose={() => { - setExternalKYCToRemove(""); + setExternalKYCToRemove(''); onCloseRemoveModal(); }} icon={} - title={tRemove("title")} - description={tRemove("description")} - confirmText={tRemove("confirmText")} + title={tRemove('title')} + description={tRemove('description')} + confirmText={tRemove('confirmText')} onConfirm={() => { handleRemove(); }} onCancel={() => { - setExternalKYCToRemove(""); + setExternalKYCToRemove(''); onCloseRemoveModal(); }} - cancelText={tRemove("cancelText")} + cancelText={tRemove('cancelText')} confirmButtonProps={{ isLoading: isLoadingRemove, }} @@ -284,14 +284,14 @@ export const ExternalKYC = () => { isOpen={isOpenRemoveMultipleModal} onClose={onCloseRemoveMultipleModal} icon={} - title={tRemove("title")} - description={tRemove("description")} - confirmText={tRemove("confirmText")} + title={tRemove('title')} + description={tRemove('description')} + confirmText={tRemove('confirmText')} onConfirm={() => { handleMultipleRemove(); }} onCancel={onCloseRemoveMultipleModal} - cancelText={tRemove("cancelText")} + cancelText={tRemove('cancelText')} confirmButtonProps={{ isLoading: isLoadingUpdateExternalKYCs, }} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalPause/AddExternalPauseModal.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalPause/AddExternalPauseModal.tsx index 2a110b7e4..2d30a29bc 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalPause/AddExternalPauseModal.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalPause/AddExternalPauseModal.tsx @@ -9,7 +9,7 @@ import { ModalOverlay, ModalProps, VStack, -} from "@chakra-ui/react"; +} from '@chakra-ui/react'; import { Button, PhosphorIcon, @@ -17,15 +17,15 @@ import { Tag, Text, useToast, -} from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { useParams } from "react-router-dom"; -import { useState } from "react"; -import { useExternalPauseStore } from "../../../../store/externalPauseStore"; -import { X } from "@phosphor-icons/react"; -import { useUpdateExternalPauses } from "../../../../hooks/mutations/useExternalPause"; -import { UpdateExternalPausesRequest } from "@hashgraph/asset-tokenization-sdk"; +} from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { useParams } from 'react-router-dom'; +import { useState } from 'react'; +import { useExternalPauseStore } from '../../../../store/externalPauseStore'; +import { X } from '@phosphor-icons/react'; +import { useUpdateExternalPauses } from '../../../../hooks/mutations/useExternalPause'; +import { UpdateExternalPausesRequest } from '@hashgraph/asset-tokenization-sdk'; type SelectOption = { value: string; @@ -37,7 +37,7 @@ interface FormValues { vcFile: string; } -interface AddExternalPauseModalProps extends Omit {} +type AddExternalPauseModalProps = Omit; export const AddExternalPauseModal = ({ isOpen, @@ -47,13 +47,13 @@ export const AddExternalPauseModal = ({ const [selectedPauses, setSelectedPauses] = useState([]); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); - const { t: tCreate } = useTranslation("security", { - keyPrefix: "details.externalPause.create", + const { t: tCreate } = useTranslation('security', { + keyPrefix: 'details.externalPause.create', }); - const { t: tMessage } = useTranslation("externalPause", { - keyPrefix: "messages", + const { t: tMessage } = useTranslation('externalPause', { + keyPrefix: 'messages', }); const { externalPauses } = useExternalPauseStore(); @@ -69,7 +69,7 @@ export const AddExternalPauseModal = ({ })); const { control, handleSubmit, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const onSubmit = (_values: FormValues) => { @@ -83,10 +83,10 @@ export const AddExternalPauseModal = ({ onClose(); toast.show({ duration: 3000, - title: tMessage("addExternalPause.success"), - description: tMessage("addExternalPause.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tMessage('addExternalPause.success'), + description: tMessage('addExternalPause.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }); }; @@ -126,23 +126,23 @@ export const AddExternalPauseModal = ({ }} > - - {tCreate("title")} + + {tCreate('title')} handleSelectChange(option as SelectOption)} /> {selectedPauses.length > 0 && ( - + External pauses selected: - {tCreate("form.add")} + {tCreate('form.add')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalPause/ExternalPause.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalPause/ExternalPause.tsx index 788b43749..5889574e0 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalPause/ExternalPause.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/ExternalPause/ExternalPause.tsx @@ -1,5 +1,5 @@ -import { Checkbox, HStack, Stack, useDisclosure } from "@chakra-ui/react"; -import { createColumnHelper } from "@tanstack/table-core"; +import { Checkbox, HStack, Stack, useDisclosure } from '@chakra-ui/react'; +import { createColumnHelper } from '@tanstack/table-core'; import { Button, PhosphorIcon, @@ -7,33 +7,33 @@ import { Table, Text, useToast, -} from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { AddExternalPauseModal } from "./AddExternalPauseModal"; -import { Trash } from "@phosphor-icons/react"; -import { useState } from "react"; -import { useParams } from "react-router-dom"; -import { useGetExternalPauses } from "../../../../hooks/queries/useExternalPause"; +} from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { AddExternalPauseModal } from './AddExternalPauseModal'; +import { Trash } from '@phosphor-icons/react'; +import { useState, type ChangeEvent } from 'react'; +import { useParams } from 'react-router-dom'; +import { useGetExternalPauses } from '../../../../hooks/queries/useExternalPause'; import { useRemoveExternalPause, useUpdateExternalPauses, -} from "../../../../hooks/mutations/useExternalPause"; +} from '../../../../hooks/mutations/useExternalPause'; import { RemoveExternalPauseRequest, UpdateExternalPausesRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { hasRole } from "../../../../utils/helpers"; -import { SecurityRole } from "../../../../utils/SecurityRole"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { hasRole } from '../../../../utils/helpers'; +import { SecurityRole } from '../../../../utils/SecurityRole'; -type ExternalPause = { +type ExternalPauseRow = { id: string; isPaused: boolean; }; export const ExternalPause = () => { const toast = useToast(); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const { isOpen: isOpenAddModal, @@ -55,21 +55,21 @@ export const ExternalPause = () => { const hasPauseManagerRole = hasRole(roles, SecurityRole._PAUSE_MANAGER_ROLE); - const { t: tList } = useTranslation("security", { - keyPrefix: "details.externalPause.list", + const { t: tList } = useTranslation('security', { + keyPrefix: 'details.externalPause.list', }); - const { t: tTable } = useTranslation("security", { - keyPrefix: "details.externalPause.table", + const { t: tTable } = useTranslation('security', { + keyPrefix: 'details.externalPause.table', }); - const { t: tRemove } = useTranslation("security", { - keyPrefix: "details.externalPause.remove", + const { t: tRemove } = useTranslation('security', { + keyPrefix: 'details.externalPause.remove', }); - const { t: tMessage } = useTranslation("externalPause", { - keyPrefix: "list.messages", + const { t: tMessage } = useTranslation('externalPause', { + keyPrefix: 'list.messages', }); const [externalPauseToRemove, setExternalPauseToRemove] = - useState(""); + useState(''); const [selectedRows, setSelectedRows] = useState>({}); const { data: externalPauses, isLoading } = useGetExternalPauses(securityId); @@ -86,7 +86,7 @@ export const ExternalPause = () => { })); }; - const handleSelectAll = (e: React.ChangeEvent) => { + const handleSelectAll = (e: ChangeEvent) => { const isChecked = e.target.checked; const newSelectedRows = externalPauses.reduce( (acc, item) => ({ ...acc, [item.id]: isChecked }), @@ -95,13 +95,13 @@ export const ExternalPause = () => { setSelectedRows(newSelectedRows); }; - const columnsHelper = createColumnHelper(); + const columnsHelper = createColumnHelper(); const columns = [ ...(hasPauseManagerRole ? [ columnsHelper.display({ - id: "selection", + id: 'selection', header: () => { const totalRows = externalPauses.length; const selectedCount = @@ -135,27 +135,27 @@ export const ExternalPause = () => { }), ] : []), - columnsHelper.accessor("id", { - header: tTable("fields.id"), + columnsHelper.accessor('id', { + header: tTable('fields.id'), enableSorting: false, }), - columnsHelper.accessor("isPaused", { - header: tTable("fields.state"), + columnsHelper.accessor('isPaused', { + header: tTable('fields.state'), enableSorting: false, cell({ getValue }) { const isPaused = getValue(); return ( {isPaused - ? tTable("fields.activated") - : tTable("fields.deactivated")} + ? tTable('fields.activated') + : tTable('fields.deactivated')} ); }, }), columnsHelper.display({ - id: "remove", - header: tTable("fields.actions"), + id: 'remove', + header: tTable('fields.actions'), size: 5, enableSorting: false, cell(props) { @@ -177,7 +177,7 @@ export const ExternalPause = () => { variant="table" size="xs" > - + ); }, @@ -203,10 +203,10 @@ export const ExternalPause = () => { onCloseRemoveMultipleModal(); toast.show({ duration: 3000, - title: tMessage("removeExternalPause.success"), - description: tMessage("removeExternalPause.descriptionSuccess"), - variant: "subtle", - status: "success", + title: tMessage('removeExternalPause.success'), + description: tMessage('removeExternalPause.descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }); } @@ -219,7 +219,7 @@ export const ExternalPause = () => { externalPauseAddress: externalPauseToRemove, }), ).finally(() => { - setExternalPauseToRemove(""); + setExternalPauseToRemove(''); onCloseRemoveModal(); }); }; @@ -235,9 +235,9 @@ export const ExternalPause = () => { pt={6} gap={4} > - + - {tList("title")} + {tList('title')} {hasPauseManagerRole && ( @@ -246,10 +246,10 @@ export const ExternalPause = () => { onOpenRemoveMultipleModal(); }} size="sm" - variant={"secondary"} + variant={'secondary'} isDisabled={disabledRemoveItems} > - {tList("removeItemsSelected")} + {tList('removeItemsSelected')} { @@ -257,7 +257,7 @@ export const ExternalPause = () => { }} size="sm" > - {tList("add")} + {tList('add')} )} @@ -268,7 +268,7 @@ export const ExternalPause = () => { columns={columns} data={externalPauses ?? []} isLoading={isLoading} - emptyComponent={{tTable("empty")}} + emptyComponent={{tTable('empty')}} /> { id="removeExternalPause" isOpen={isOpenRemoveModal} onClose={() => { - setExternalPauseToRemove(""); + setExternalPauseToRemove(''); onCloseRemoveModal(); }} icon={} - title={tRemove("title")} - description={tRemove("description")} - confirmText={tRemove("confirmText")} + title={tRemove('title')} + description={tRemove('description')} + confirmText={tRemove('confirmText')} onConfirm={() => { handleRemove(); }} onCancel={() => { - setExternalPauseToRemove(""); + setExternalPauseToRemove(''); onCloseRemoveModal(); }} - cancelText={tRemove("cancelText")} + cancelText={tRemove('cancelText')} confirmButtonProps={{ isLoading: isLoadingRemove, }} @@ -303,14 +303,14 @@ export const ExternalPause = () => { isOpen={isOpenRemoveMultipleModal} onClose={onCloseRemoveMultipleModal} icon={} - title={tRemove("title")} - description={tRemove("description")} - confirmText={tRemove("confirmText")} + title={tRemove('title')} + description={tRemove('description')} + confirmText={tRemove('confirmText')} onConfirm={() => { handleMultipleRemove(); }} onCancel={onCloseRemoveMultipleModal} - cancelText={tRemove("cancelText")} + cancelText={tRemove('cancelText')} confirmButtonProps={{ isLoading: isLoadingUpdateExternalPauses, }} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/Hold.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/Hold.tsx index 6e7397e70..ea292f90c 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/Hold.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/Hold.tsx @@ -1,13 +1,13 @@ -import { Stack } from "@chakra-ui/react"; -import { Tabs } from "io-bricks-ui"; -import { HoldList } from "./HoldList"; -import { HoldCreate } from "./HoldCreate"; -import { useTranslation } from "react-i18next"; -import { HoldManage } from "./HoldManage"; +import { Stack } from '@chakra-ui/react'; +import { Tabs } from 'io-bricks-ui'; +import { HoldList } from './HoldList'; +import { HoldCreate } from './HoldCreate'; +import { useTranslation } from 'react-i18next'; +import { HoldManage } from './HoldManage'; export const Hold = () => { - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.hold.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.hold.tabs', }); return ( @@ -17,10 +17,10 @@ export const Hold = () => { tabs={[ { content: , - header: tTabs("list"), + header: tTabs('list'), }, - { content: , header: tTabs("create") }, - { content: , header: tTabs("manage") }, + { content: , header: tTabs('create') }, + { content: , header: tTabs('manage') }, ]} isFitted /> diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldCreate.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldCreate.tsx index 3f0b01d8c..d90ea9c9e 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldCreate.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldCreate.tsx @@ -1,4 +1,4 @@ -import { Center, HStack, Stack, useDisclosure, VStack } from "@chakra-ui/react"; +import { Center, HStack, Stack, useDisclosure, VStack } from '@chakra-ui/react'; import { Button, CalendarInputController, @@ -8,29 +8,29 @@ import { PhosphorIcon, PopUp, Text, -} from "io-bricks-ui"; -import { isHederaValidAddress, min, required } from "../../../../utils/rules"; -import { useParams } from "react-router-dom"; -import { useTranslation } from "react-i18next"; -import { useForm } from "react-hook-form"; -import { WarningCircle } from "@phosphor-icons/react"; +} from 'io-bricks-ui'; +import { isHederaValidAddress, min, required } from '../../../../utils/rules'; +import { useParams } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { useForm } from 'react-hook-form'; +import { WarningCircle } from '@phosphor-icons/react'; import { DATE_TIME_FORMAT, DEFAULT_PARTITION, -} from "../../../../utils/constants"; -import { useWalletStore } from "../../../../store/walletStore"; -import { useState } from "react"; +} from '../../../../utils/constants'; +import { useWalletStore } from '../../../../store/walletStore'; +import { useState } from 'react'; import { useCreateHoldByPartition, useForceCreateHoldFromByPartition, -} from "../../../../hooks/mutations/useHold"; +} from '../../../../hooks/mutations/useHold'; import { CreateHoldByPartitionRequest, CreateHoldFromByPartitionRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { dateToUnixTimestamp } from "../../../../utils/format"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { SecurityRole } from "../../../../utils/SecurityRole"; +} from '@hashgraph/asset-tokenization-sdk'; +import { dateToUnixTimestamp } from '../../../../utils/format'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { SecurityRole } from '../../../../utils/SecurityRole'; interface FormValues { originalAccount: string; @@ -42,7 +42,7 @@ interface FormValues { export const HoldCreate = () => { const { isOpen, onClose, onOpen } = useDisclosure(); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const { address } = useWalletStore(); const { roles } = useRolesStore(); @@ -56,18 +56,18 @@ export const HoldCreate = () => { isLoading: isLoadingForceHoldFromByPartitionMutate, } = useForceCreateHoldFromByPartition(); - const { t: tCreate } = useTranslation("security", { - keyPrefix: "details.hold.create", + const { t: tCreate } = useTranslation('security', { + keyPrefix: 'details.hold.create', }); - const { t: tActions } = useTranslation("security", { - keyPrefix: "details.hold.actions.confirmHoldPopUp", + const { t: tActions } = useTranslation('security', { + keyPrefix: 'details.hold.actions.confirmHoldPopUp', }); - const { t: tGlobal } = useTranslation("globals"); + const { t: tGlobal } = useTranslation('globals'); const [forceHold, setForceHold] = useState(false); const { control, formState, getValues, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const onSubmit = () => { @@ -85,7 +85,7 @@ export const HoldCreate = () => { expirationDate: dateToUnixTimestamp(expirationDate), partitionId: DEFAULT_PARTITION, securityId, - targetId: destinationAccount ?? "0.0.0", + targetId: destinationAccount ?? '0.0.0', }; if (forceHold) { @@ -126,10 +126,10 @@ export const HoldCreate = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tActions("title")} - description={tActions("description")} - confirmText={tActions("confirmText")} - cancelText={tActions("cancelText")} + title={tActions('title')} + description={tActions('description')} + confirmText={tActions('confirmText')} + cancelText={tActions('cancelText')} onConfirm={() => { onSubmit(); onClose(); @@ -141,7 +141,7 @@ export const HoldCreate = () => { {roles.includes(SecurityRole._CONTROLLER_ROLE) && ( - + { )} - {tCreate("title")} - {tCreate("description")} + {tCreate('title')} + {tCreate('description')} { - {tCreate("originalAccount.label")}* + {tCreate('originalAccount.label')}* { defaultValue={address} isDisabled={!forceHold} rules={{ required, validate: { isHederaValidAddress } }} - placeholder={tCreate("originalAccount.label")} + placeholder={tCreate('originalAccount.label')} /> - {tCreate("destinationAccount.label")} + {tCreate('destinationAccount.label')} { if (!value || value === undefined) return true; @@ -204,20 +204,20 @@ export const HoldCreate = () => { - {tCreate("escrowAccount.label")}* + {tCreate('escrowAccount.label')}* - {tCreate("expirationDate.label")}* + {tCreate('expirationDate.label')}* { id="expirationDate" rules={{ required }} fromDate={new Date()} - placeholder={tCreate("expirationDate.placeholder")} + placeholder={tCreate('expirationDate.placeholder')} withTimeInput format={DATE_TIME_FORMAT} /> @@ -233,14 +233,14 @@ export const HoldCreate = () => { - {tCreate("amount.label")}* + {tCreate('amount.label')}* @@ -253,7 +253,7 @@ export const HoldCreate = () => { onOpen(); }} > - {showLoading ? tGlobal("sending") : tGlobal("send")} + {showLoading ? tGlobal('sending') : tGlobal('send')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldList.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldList.tsx index 29e5abdb3..1adbfb2a8 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldList.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldList.tsx @@ -1,4 +1,4 @@ -import { Box, Center, useDisclosure, VStack } from "@chakra-ui/react"; +import { Box, Center, useDisclosure, VStack } from '@chakra-ui/react'; import { Button, DefinitionList, @@ -6,26 +6,26 @@ import { PopUp, Text, useToast, -} from "io-bricks-ui"; -import { useState } from "react"; -import { useTranslation } from "react-i18next"; -import { useParams } from "react-router-dom"; -import { useWalletStore } from "../../../../store/walletStore"; +} from 'io-bricks-ui'; +import { useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { useParams } from 'react-router-dom'; +import { useWalletStore } from '../../../../store/walletStore'; import { DATE_TIME_FORMAT, DEFAULT_PARTITION, -} from "../../../../utils/constants"; -import { formatDate } from "../../../../utils/format"; -import { Question } from "@phosphor-icons/react"; -import { GET_HOLDS, useGetHolds } from "../../../../hooks/queries/useGetHolds"; +} from '../../../../utils/constants'; +import { formatDate } from '../../../../utils/format'; +import { Question } from '@phosphor-icons/react'; +import { GET_HOLDS, useGetHolds } from '../../../../hooks/queries/useGetHolds'; import { GetHoldsIdForByPartitionRequest, HoldViewModel, ReclaimHoldByPartitionRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useReclaimHoldByPartition } from "../../../../hooks/mutations/useHold"; -import { useQueryClient } from "@tanstack/react-query"; -import { useSecurityStore } from "../../../../store/securityStore"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useReclaimHoldByPartition } from '../../../../hooks/mutations/useHold'; +import { useQueryClient } from '@tanstack/react-query'; +import { useSecurityStore } from '../../../../store/securityStore'; export type THoldMock = { originalAccount: string; @@ -39,17 +39,17 @@ export const HoldList = () => { const queryClient = useQueryClient(); const toast = useToast(); - const { t: tList } = useTranslation("security", { - keyPrefix: "details.hold.list", + const { t: tList } = useTranslation('security', { + keyPrefix: 'details.hold.list', }); - const { t: tActionsConfirm } = useTranslation("security", { - keyPrefix: "details.hold.actions.confirmReclaimPopUp", + const { t: tActionsConfirm } = useTranslation('security', { + keyPrefix: 'details.hold.actions.confirmReclaimPopUp', }); - const { t: tMessages } = useTranslation("security", { - keyPrefix: "details.hold.messages", + const { t: tMessages } = useTranslation('security', { + keyPrefix: 'details.hold.messages', }); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const { address } = useWalletStore(); const { details } = useSecurityStore(); @@ -79,11 +79,11 @@ export const HoldList = () => { {/* List */} - + {isLoading && Loading...} {showEmpty && ( - {tList("noHolds")} + {tList('noHolds')} )} {!showEmpty && @@ -96,56 +96,56 @@ export const HoldList = () => { return ( {isReclaimable && ( { setHoldSelected(hold); onOpenReclaimConfirmationModal(); }} - alignSelf={"end"} + alignSelf={'end'} disabled={isReclaiming && holdSelected?.id === hold.id} isLoading={isReclaiming && holdSelected?.id === hold.id} > @@ -162,9 +162,9 @@ export const HoldList = () => { isOpen={isOpenReclaimConfirmationModal} onClose={onCloseReclaimConfirmationModal} icon={} - title={tActionsConfirm("title")} - description={tActionsConfirm("description")} - confirmText={tActionsConfirm("confirmText")} + title={tActionsConfirm('title')} + description={tActionsConfirm('description')} + confirmText={tActionsConfirm('confirmText')} onConfirm={() => { setIsReclaiming(true); @@ -195,17 +195,17 @@ export const HoldList = () => { toast.show({ duration: 3000, - title: tMessages("success"), - description: tMessages("descriptionSuccess"), - variant: "subtle", - status: "success", + title: tMessages('success'), + description: tMessages('descriptionSuccess'), + variant: 'subtle', + status: 'success', }); }, }); onCloseReclaimConfirmationModal(); }} onCancel={onCloseReclaimConfirmationModal} - cancelText={tActionsConfirm("cancelText")} + cancelText={tActionsConfirm('cancelText')} /> ); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldManage.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldManage.tsx index 301d9b6fb..8d5e9e252 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldManage.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Hold/HoldManage.tsx @@ -6,7 +6,7 @@ import { Stack, useDisclosure, VStack, -} from "@chakra-ui/react"; +} from '@chakra-ui/react'; import { Button, Heading, @@ -15,26 +15,26 @@ import { PhosphorIcon, PopUp, Text, -} from "io-bricks-ui"; -import { isHederaValidAddress, min, required } from "../../../../utils/rules"; -import { useParams } from "react-router-dom"; -import { useTranslation } from "react-i18next"; -import { useForm } from "react-hook-form"; -import { WarningCircle } from "@phosphor-icons/react"; -import { useState } from "react"; +} from 'io-bricks-ui'; +import { isHederaValidAddress, min, required } from '../../../../utils/rules'; +import { useParams } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { useForm } from 'react-hook-form'; +import { WarningCircle } from '@phosphor-icons/react'; +import { useState } from 'react'; import { useExecuteHoldByPartition, useReleaseHoldByPartition, -} from "../../../../hooks/mutations/useHold"; +} from '../../../../hooks/mutations/useHold'; import { ExecuteHoldByPartitionRequest, ReleaseHoldByPartitionRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { DEFAULT_PARTITION } from "../../../../utils/constants"; +} from '@hashgraph/asset-tokenization-sdk'; +import { DEFAULT_PARTITION } from '../../../../utils/constants'; enum TypeMode { - execute = "execute", - release = "release", + execute = 'execute', + release = 'release', } interface FormValues { @@ -46,32 +46,32 @@ interface FormValues { export const HoldManage = () => { const { isOpen, onClose, onOpen } = useDisclosure(); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const [isMutating, setIsMutating] = useState(false); const [manageMode, setManageMode] = useState( TypeMode.execute, ); - const { t: tType } = useTranslation("security", { + const { t: tType } = useTranslation('security', { keyPrefix: manageMode === TypeMode.execute - ? "details.hold.execute" - : "details.hold.release", + ? 'details.hold.execute' + : 'details.hold.release', }); - const { t: tManage } = useTranslation("security", { - keyPrefix: "details.hold.manage", + const { t: tManage } = useTranslation('security', { + keyPrefix: 'details.hold.manage', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.hold.form", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.hold.form', }); - const { t: tActions } = useTranslation("security", { - keyPrefix: "details.hold.actions.confirmManage", + const { t: tActions } = useTranslation('security', { + keyPrefix: 'details.hold.actions.confirmManage', }); - const { t: tGlobal } = useTranslation("globals"); + const { t: tGlobal } = useTranslation('globals'); const { control, formState, getValues, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { mutate: releaseHoldByPartitionMutate } = useReleaseHoldByPartition(); @@ -90,7 +90,7 @@ export const HoldManage = () => { targetId: destinationAccount!, }; - if (manageMode === "execute") { + if (manageMode === 'execute') { const request = new ExecuteHoldByPartitionRequest({ ...defaultRequest, sourceId: originalAccount!, @@ -107,7 +107,7 @@ export const HoldManage = () => { return; } - if (manageMode === "release") { + if (manageMode === 'release') { const request = new ReleaseHoldByPartitionRequest({ ...defaultRequest, }); @@ -130,10 +130,10 @@ export const HoldManage = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tActions("title")} - description={tActions("description")} - confirmText={tActions("confirmText")} - cancelText={tActions("cancelText")} + title={tActions('title')} + description={tActions('description')} + confirmText={tActions('confirmText')} + cancelText={tActions('cancelText')} onConfirm={() => { onSubmit(); onClose(); @@ -142,11 +142,11 @@ export const HoldManage = () => { onClose(); }} /> - + @@ -163,14 +163,14 @@ export const HoldManage = () => { position="relative" zIndex={1} {...(manageMode === mode && { - bgColor: "primary.200", + bgColor: 'primary.200', })} - _hover={{ cursor: "pointer" }} + _hover={{ cursor: 'pointer' }} > {tManage(mode)} @@ -182,8 +182,8 @@ export const HoldManage = () => { - {tType("title")} - {tType("description")} + {tType('title')} + {tType('description')} { - {tForm("holdId.label")}* + {tForm('holdId.label')}* { rules={{ required, }} - placeholder={tForm("holdId.label")} + placeholder={tForm('holdId.label')} /> - {manageMode === "execute" && ( + {manageMode === 'execute' && ( - {tForm("originalAccount.label")} + {tForm('originalAccount.label')} { - {tForm("destinationAccount.label")} + {tForm('destinationAccount.label')} { - {tForm("amount.label")}* + {tForm('amount.label')}* @@ -269,7 +269,7 @@ export const HoldManage = () => { onOpen(); }} > - {tGlobal("send")} + {tGlobal('send')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/HolderActionsButtons.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/HolderActionsButtons.tsx index d17a9023d..39fb5d654 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/HolderActionsButtons.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/HolderActionsButtons.tsx @@ -203,20 +203,20 @@ */ -import { Link as RouterLink, useParams } from "react-router-dom"; -import { useTranslation } from "react-i18next"; -import { HStack } from "@chakra-ui/react"; -import { Button } from "io-bricks-ui"; -import { RouteName } from "../../../router/RouteName"; -import { RouterManager } from "../../../router/RouterManager"; -import { useGetIsPaused } from "../../../hooks/queries/useGetSecurityDetails"; -import { PauseRequest } from "@hashgraph/asset-tokenization-sdk"; +import { Link as RouterLink, useParams } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { HStack } from '@chakra-ui/react'; +import { Button } from 'io-bricks-ui'; +import { RouteName } from '../../../router/RouteName'; +import { RouterManager } from '../../../router/RouterManager'; +import { useGetIsPaused } from '../../../hooks/queries/useGetSecurityDetails'; +import { PauseRequest } from '@hashgraph/asset-tokenization-sdk'; export const HolderActionsButtons = () => { - const { t: tButtons } = useTranslation("security", { - keyPrefix: "details.actions", + const { t: tButtons } = useTranslation('security', { + keyPrefix: 'details.actions', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { data: isPaused } = useGetIsPaused( new PauseRequest({ securityId: id }), ); @@ -238,7 +238,7 @@ export const HolderActionsButtons = () => { })} variant="secondary" > - {tButtons("transfer")} + {tButtons('transfer')} { })} variant="secondary" > - {tButtons("redeem")} + {tButtons('redeem')} ); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/KYC/KYC.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/KYC/KYC.tsx index 32e3e447a..dad756e8a 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/KYC/KYC.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/KYC/KYC.tsx @@ -1,31 +1,31 @@ -import { Box, HStack, Stack, useDisclosure } from "@chakra-ui/react"; -import { createColumnHelper } from "@tanstack/table-core"; -import { Button, PhosphorIcon, PopUp, Table, Text } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { KYCModal } from "./KYCModal"; -import { Trash } from "@phosphor-icons/react"; -import { useMemo, useState } from "react"; +import { Box, HStack, Stack, useDisclosure } from '@chakra-ui/react'; +import { createColumnHelper } from '@tanstack/table-core'; +import { Button, PhosphorIcon, PopUp, Table, Text } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { KYCModal } from './KYCModal'; +import { Trash } from '@phosphor-icons/react'; +import { useMemo, useState } from 'react'; import { KycAccountDataViewModelResponse, useGetKYCList, -} from "../../../../hooks/queries/useKYC"; +} from '../../../../hooks/queries/useKYC'; import { GetKycAccountsDataRequest, RevokeKycRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; -import { useRevokeKYC } from "../../../../hooks/mutations/useKYC"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { SecurityRole } from "../../../../utils/SecurityRole"; -import { DATE_TIME_FORMAT } from "../../../../utils/constants"; -import { formatDate } from "../../../../utils/format"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; +import { useRevokeKYC } from '../../../../hooks/mutations/useKYC'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { SecurityRole } from '../../../../utils/SecurityRole'; +import { DATE_TIME_FORMAT } from '../../../../utils/constants'; +import { formatDate } from '../../../../utils/format'; const STATUS = { - VALID: { status: "Valid", color: "green" }, - EXPIRED: { status: "Expired", color: "red" }, - PENDING: { status: "Pending", color: "orange" }, - UNTRUSTED: { status: "Untrusted", color: "red" }, - REVOKED: { status: "Revoked", color: "red" }, + VALID: { status: 'Valid', color: 'green' }, + EXPIRED: { status: 'Expired', color: 'red' }, + PENDING: { status: 'Pending', color: 'orange' }, + UNTRUSTED: { status: 'Untrusted', color: 'red' }, + REVOKED: { status: 'Revoked', color: 'red' }, }; const getStatus = ({ kyc }: { kyc: KycAccountDataViewModelResponse }) => { @@ -47,7 +47,7 @@ const getStatus = ({ kyc }: { kyc: KycAccountDataViewModelResponse }) => { }; export const KYC = () => { - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const { roles: accountRoles } = useRolesStore(); @@ -58,17 +58,17 @@ export const KYC = () => { onOpen: onOpenRevokeModal, } = useDisclosure(); - const { t: tList } = useTranslation("security", { - keyPrefix: "details.kyc.list", + const { t: tList } = useTranslation('security', { + keyPrefix: 'details.kyc.list', }); - const { t: tTable } = useTranslation("security", { - keyPrefix: "details.kyc.table", + const { t: tTable } = useTranslation('security', { + keyPrefix: 'details.kyc.table', }); - const { t: tRevoke } = useTranslation("security", { - keyPrefix: "details.kyc.revoke", + const { t: tRevoke } = useTranslation('security', { + keyPrefix: 'details.kyc.revoke', }); - const [accountToRemove, setAccountToRemove] = useState(""); + const [accountToRemove, setAccountToRemove] = useState(''); const [isRemoving, setIsRemoving] = useState(false); const { mutate: revokeKYC } = useRevokeKYC(); @@ -90,16 +90,16 @@ export const KYC = () => { ); const columns = [ - columnsHelper.accessor("issuer", { - header: tTable("fields.issuerId"), + columnsHelper.accessor('issuer', { + header: tTable('fields.issuerId'), enableSorting: false, }), - columnsHelper.accessor("account", { - header: tTable("fields.accountId"), + columnsHelper.accessor('account', { + header: tTable('fields.accountId'), enableSorting: false, }), - columnsHelper.accessor("validFrom", { - header: tTable("fields.validFrom"), + columnsHelper.accessor('validFrom', { + header: tTable('fields.validFrom'), enableSorting: false, cell({ getValue }) { const formattedDate = formatDate( @@ -110,8 +110,8 @@ export const KYC = () => { return {formattedDate}; }, }), - columnsHelper.accessor("validTo", { - header: tTable("fields.validTo"), + columnsHelper.accessor('validTo', { + header: tTable('fields.validTo'), enableSorting: false, cell({ getValue }) { const formattedDate = formatDate( @@ -122,12 +122,12 @@ export const KYC = () => { return {formattedDate}; }, }), - columnsHelper.accessor("vcId", { - header: tTable("fields.vcId"), + columnsHelper.accessor('vcId', { + header: tTable('fields.vcId'), enableSorting: false, }), - columnsHelper.accessor("status", { - header: tTable("fields.status"), + columnsHelper.accessor('status', { + header: tTable('fields.status'), enableSorting: false, cell({ row }) { const { color, status } = getStatus({ @@ -144,8 +144,8 @@ export const KYC = () => { ...(hasKYCRole ? [ columnsHelper.display({ - id: "remove", - header: tTable("fields.actions"), + id: 'remove', + header: tTable('fields.actions'), size: 5, enableSorting: false, cell(props) { @@ -165,7 +165,7 @@ export const KYC = () => { variant="table" size="xs" > - + ); }, @@ -185,9 +185,9 @@ export const KYC = () => { pt={6} gap={4} > - + - {tList("title")} + {tList('title')} {hasKYCRole && ( { }} size="sm" > - {tList("add")} + {tList('add')} )} @@ -213,9 +213,9 @@ export const KYC = () => { isOpen={isOpenRevokeModal} onClose={onCloseRevokeModal} icon={} - title={tRevoke("title")} - description={tRevoke("description")} - confirmText={tRevoke("confirmText")} + title={tRevoke('title')} + description={tRevoke('description')} + confirmText={tRevoke('confirmText')} onConfirm={() => { setIsRemoving(true); @@ -234,7 +234,7 @@ export const KYC = () => { }); }} onCancel={onCloseRevokeModal} - cancelText={tRevoke("cancelText")} + cancelText={tRevoke('cancelText')} confirmButtonProps={{ isLoading: isRemoving, }} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/KYC/KYCModal.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/KYC/KYCModal.tsx index 5ea5caa4b..a983f8bb4 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/KYC/KYCModal.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/KYC/KYCModal.tsx @@ -9,33 +9,33 @@ import { ModalOverlay, ModalProps, VStack, -} from "@chakra-ui/react"; -import { Button, InputController, PhosphorIcon, Text } from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { useGrantKYC } from "../../../../hooks/mutations/useKYC"; -import { GrantKycRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; -import { FileArchive } from "@phosphor-icons/react"; -import { useRef, useState } from "react"; -import { isHederaValidAddress, required } from "../../../../utils/rules"; +} from '@chakra-ui/react'; +import { Button, InputController, PhosphorIcon, Text } from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { useGrantKYC } from '../../../../hooks/mutations/useKYC'; +import { GrantKycRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; +import { FileArchive } from '@phosphor-icons/react'; +import { useRef, useState, type ChangeEvent } from 'react'; +import { isHederaValidAddress, required } from '../../../../utils/rules'; interface FormValues { accountId: string; vcFile: string; } -interface KYCModalProps extends Omit {} +type KYCModalProps = Omit; export const KYCModal = ({ isOpen, onClose }: KYCModalProps) => { const fileInputRef = useRef(null); - const [fileName, setFileName] = useState(""); + const [fileName, setFileName] = useState(''); const [isLoading, setIsLoading] = useState(false); - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); - const { t: tCreate } = useTranslation("security", { - keyPrefix: "details.kyc.create", + const { t: tCreate } = useTranslation('security', { + keyPrefix: 'details.kyc.create', }); const { @@ -46,22 +46,22 @@ export const KYCModal = ({ isOpen, onClose }: KYCModalProps) => { reset, watch, } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { mutate } = useGrantKYC(); - const onFileChange = (event: React.ChangeEvent) => { + const onFileChange = (event: ChangeEvent) => { const file = event.target.files?.[0]; if (file) { setFileName(file.name); const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => { - if (typeof reader.result === "string") { - const base64Data = reader.result.split(",")[1]; + if (typeof reader.result === 'string') { + const base64Data = reader.result.split(',')[1]; if (base64Data) { - setValue("vcFile", base64Data, { shouldValidate: true }); + setValue('vcFile', base64Data, { shouldValidate: true }); } } }; @@ -87,50 +87,50 @@ export const KYCModal = ({ isOpen, onClose }: KYCModalProps) => { }); }; - const isDisable = !isValid || !watch("vcFile"); + const isDisable = !isValid || !watch('vcFile'); return ( { - setFileName(""); + setFileName(''); reset(); onClose(); }} > - - {tCreate("title")} + + {tCreate('title')} - + fileInputRef.current?.click()} leftIcon={} - variant={"secondary"} + variant={'secondary'} > - {tCreate("form.vc.placeholder")} + {tCreate('form.vc.placeholder')} {fileName} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Locker/Locker.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Locker/Locker.tsx index a70a81c3c..50762a6e2 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Locker/Locker.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Locker/Locker.tsx @@ -1,4 +1,4 @@ -import { Center, HStack, Stack, useDisclosure, VStack } from "@chakra-ui/react"; +import { Center, HStack, Stack, useDisclosure, VStack } from '@chakra-ui/react'; import { Button, DefinitionList, @@ -7,47 +7,47 @@ import { PopUp, SearchInputController, Text, -} from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { isHederaValidAddress, required } from "../../../../utils/rules"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { SecurityRole } from "../../../../utils/SecurityRole"; -import { Link as RouterLink, useParams } from "react-router-dom"; -import { useTranslation } from "react-i18next"; -import { RouterManager } from "../../../../router/RouterManager"; -import { RouteName } from "../../../../router/RouteName"; +} from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { isHederaValidAddress, required } from '../../../../utils/rules'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { SecurityRole } from '../../../../utils/SecurityRole'; +import { Link as RouterLink, useParams } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { RouterManager } from '../../../../router/RouterManager'; +import { RouteName } from '../../../../router/RouteName'; import { GET_LOCKERS, useGetLockers, -} from "../../../../hooks/queries/useGetLockers"; +} from '../../../../hooks/queries/useGetLockers'; import { GetLocksIdRequest, LockViewModel, ReleaseRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useState } from "react"; -import { formatDate } from "../../../../utils/format"; -import { DATE_TIME_FORMAT } from "../../../../utils/constants"; -import { useRelease } from "../../../../hooks/mutations/useLocker"; -import { useQueryClient } from "@tanstack/react-query"; -import { WarningCircle } from "@phosphor-icons/react"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useState } from 'react'; +import { formatDate } from '../../../../utils/format'; +import { DATE_TIME_FORMAT } from '../../../../utils/constants'; +import { useRelease } from '../../../../hooks/mutations/useLocker'; +import { useQueryClient } from '@tanstack/react-query'; +import { WarningCircle } from '@phosphor-icons/react'; export const Locker = () => { const queryClient = useQueryClient(); - const { id = "" } = useParams(); + const { id = '' } = useParams(); - const { t } = useTranslation("security", { - keyPrefix: "details.locker", + const { t } = useTranslation('security', { + keyPrefix: 'details.locker', }); - const { t: tButtons } = useTranslation("security", { - keyPrefix: "details.locker.actions", + const { t: tButtons } = useTranslation('security', { + keyPrefix: 'details.locker.actions', }); - const { t: tRelease } = useTranslation("security", { - keyPrefix: "details.locker.release", + const { t: tRelease } = useTranslation('security', { + keyPrefix: 'details.locker.release', }); - const [targetId, setTargetId] = useState(""); + const [targetId, setTargetId] = useState(''); const [lockToRelease, setLockToRelease] = useState(0); const [isReleasing, setIsReleasing] = useState(false); @@ -126,9 +126,9 @@ export const Locker = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tRelease("confirmPopUp.title")} - description={tRelease("confirmPopUp.description")} - confirmText={tRelease("confirmPopUp.confirmText")} + title={tRelease('confirmPopUp.title')} + description={tRelease('confirmPopUp.description')} + confirmText={tRelease('confirmPopUp.confirmText')} onConfirm={() => { onClose(); handleRelease(); @@ -137,8 +137,8 @@ export const Locker = () => { onClose(); setLockToRelease(0); }} - cancelText={tRelease("confirmPopUp.cancelText")} - confirmButtonProps={{ status: "danger" }} + cancelText={tRelease('confirmPopUp.cancelText')} + confirmButtonProps={{ status: 'danger' }} /> {hasLockerRole && ( @@ -150,15 +150,15 @@ export const Locker = () => { })} variant="secondary" > - {tButtons("lock")} + {tButtons('lock')} )} - {t("search.title")} - {t("search.description")} + {t('search.title')} + {t('search.description')} { > {}} size="sm" @@ -186,7 +186,7 @@ export const Locker = () => { isDisabled={!formState.isValid || isInitLoading} > - {t("search.search")} + {t('search.search')} @@ -206,10 +206,10 @@ export const Locker = () => { { /> {canBeReleased && hasLockerRole && ( { @@ -227,7 +227,7 @@ export const Locker = () => { setLockToRelease(lock.id); }} > - {t("list.release")} + {t('list.release')} )} @@ -238,7 +238,7 @@ export const Locker = () => { )} {lockers && lockers.length === 0 && !isLoading && ( - {t("list.noLocks")} + {t('list.noLocks')} )} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Locker/__tests__/Locker.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Locker/__tests__/Locker.test.tsx index cd9056360..b41cefe1b 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Locker/__tests__/Locker.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Locker/__tests__/Locker.test.tsx @@ -1,31 +1,31 @@ -import { fireEvent, waitFor } from "@testing-library/react"; -import { render } from "../../../../../test-utils"; -import { Locker } from "../Locker"; +import { fireEvent, waitFor } from '@testing-library/react'; +import { render } from '../../../../../test-utils'; +import { Locker } from '../Locker'; describe(`${Locker.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should render the search button disabled if the targetId is empty", () => { + test('should render the search button disabled if the targetId is empty', () => { const component = render(); - const searchButton = component.getByTestId("search-button"); + const searchButton = component.getByTestId('search-button'); expect(searchButton).toBeDisabled(); }); - test("should render the search button enabled if the targetId is not empty", async () => { + test('should render the search button enabled if the targetId is not empty', async () => { const component = render(); - const searchButton = component.getByTestId("search-button"); + const searchButton = component.getByTestId('search-button'); expect(searchButton).toBeDisabled(); - fireEvent.change(component.getByTestId("search"), { - target: { value: "0.0.12345" }, + fireEvent.change(component.getByTestId('search'), { + target: { value: '0.0.12345' }, }); await waitFor(() => { diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/MadurityDateItem.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/MadurityDateItem.tsx index 4e90d2e26..8e6f82a12 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/MadurityDateItem.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/MadurityDateItem.tsx @@ -1,37 +1,37 @@ import { GetBondDetailsRequest, UpdateMaturityDateRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useEffect, useState } from "react"; -import { FieldValues, useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { useUpdateBondMaturityDate } from "../../../hooks/mutations/useUpdateBonMaturityDate"; -import { dateToUnixTimestamp, formatDate } from "../../../utils/format"; -import { Flex } from "@chakra-ui/react"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useEffect, useState } from 'react'; +import { FieldValues, useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { useUpdateBondMaturityDate } from '../../../hooks/mutations/useUpdateBonMaturityDate'; +import { dateToUnixTimestamp, formatDate } from '../../../utils/format'; +import { Flex } from '@chakra-ui/react'; import { CalendarInputController, IconButton, PhosphorIcon, PopUp, Text, -} from "io-bricks-ui"; -import { Pencil, X, Info, Check } from "@phosphor-icons/react"; -import { useRolesStore } from "../../../store/rolesStore"; -import { SecurityRole } from "../../../utils/SecurityRole"; -import { useGetBondDetails } from "../../../hooks/queries/useGetSecurityDetails"; -import { useParams } from "react-router-dom"; -import { DATE_TIME_FORMAT } from "../../../utils/constants"; +} from 'io-bricks-ui'; +import { Pencil, X, Info, Check } from '@phosphor-icons/react'; +import { useRolesStore } from '../../../store/rolesStore'; +import { SecurityRole } from '../../../utils/SecurityRole'; +import { useGetBondDetails } from '../../../hooks/queries/useGetSecurityDetails'; +import { useParams } from 'react-router-dom'; +import { DATE_TIME_FORMAT } from '../../../utils/constants'; export const MaturityDateItem = ({ securityId }: { securityId: string }) => { - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { roles: accountRoles } = useRolesStore(); - const { t } = useTranslation("security", { - keyPrefix: "details.bond.updateMaturityDate.toast", + const { t } = useTranslation('security', { + keyPrefix: 'details.bond.updateMaturityDate.toast', }); const { control, reset, handleSubmit } = useForm({ - mode: "onChange", + mode: 'onChange', }); const [isEditMode, setIsEditMode] = useState(false); @@ -78,12 +78,12 @@ export const MaturityDateItem = ({ securityId }: { securityId: string }) => { return ( - + {isEditMode && ( <> { withTimeInput format={DATE_TIME_FORMAT} /> - + } aria-label="save button" - size={"sm"} + size={'sm'} onClick={() => { setShowConfirmPopUp(true); }} @@ -109,7 +109,7 @@ export const MaturityDateItem = ({ securityId }: { securityId: string }) => { } aria-label="cancel button" - size={"sm"} + size={'sm'} onClick={() => setIsEditMode(false)} /> @@ -122,7 +122,7 @@ export const MaturityDateItem = ({ securityId }: { securityId: string }) => { {accountRoles.includes(SecurityRole._BOND_MANAGER_ROLE) && ( } aria-label="edit button" variant="secondary" @@ -137,14 +137,14 @@ export const MaturityDateItem = ({ securityId }: { securityId: string }) => { id="confirmMaturityDate" isOpen={showConfirmPopUp} onClose={() => { - !isLoading && setShowConfirmPopUp(false); + if (!isLoading) setShowConfirmPopUp(false); }} closeOnOverlayClick={!isLoading} icon={} - title={t("title")} - description={t("subtitle")} - cancelText={t("cancelButtonText")} - confirmText={t("confirmButtonText")} + title={t('title')} + description={t('subtitle')} + cancelText={t('cancelButtonText')} + confirmText={t('confirmButtonText')} confirmButtonProps={{ isLoading: isLoading, }} @@ -152,7 +152,7 @@ export const MaturityDateItem = ({ securityId }: { securityId: string }) => { handleSubmit(onSubmit)(); }} onCancel={() => { - !isLoading && setShowConfirmPopUp(false); + if (!isLoading) setShowConfirmPopUp(false); }} /> diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Management/Management.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Management/Management.tsx index 117e8107b..f96e6f17a 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Management/Management.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Management/Management.tsx @@ -1,26 +1,26 @@ -import { HStack, Stack, VStack } from "@chakra-ui/react"; +import { HStack, Stack, VStack } from '@chakra-ui/react'; import { Button, DefinitionList, Heading, InputController, Text, -} from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useUpdateSecurityConfigVersion } from "../../../../hooks/mutations/useUpdateSecurityConfigVersion"; -import { useUpdateSecurityConfigId } from "../../../../hooks/mutations/useUpdateSecurityConfigId"; -import { useUpdateSecurityResolverAddress } from "../../../../hooks/mutations/useUpdateSecurityResolverAddress"; +} from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useUpdateSecurityConfigVersion } from '../../../../hooks/mutations/useUpdateSecurityConfigVersion'; +import { useUpdateSecurityConfigId } from '../../../../hooks/mutations/useUpdateSecurityConfigId'; +import { useUpdateSecurityResolverAddress } from '../../../../hooks/mutations/useUpdateSecurityResolverAddress'; import { GetConfigInfoRequest, UpdateConfigRequest, UpdateConfigVersionRequest, UpdateResolverRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useState } from "react"; -import { useTranslation } from "react-i18next"; -import { useGetConfigDetails } from "../../../../hooks/queries/useGetConfigDetails"; -import { collapseText } from "../../../../utils/format"; -import { required } from "../../../../utils/rules"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { useGetConfigDetails } from '../../../../hooks/queries/useGetConfigDetails'; +import { collapseText } from '../../../../utils/format'; +import { required } from '../../../../utils/rules'; type ManagementFormSchema = { resolverId?: string; @@ -33,14 +33,14 @@ interface ManagementProps { } export const Management = ({ id }: ManagementProps) => { - const { t } = useTranslation("security", { - keyPrefix: "management", + const { t } = useTranslation('security', { + keyPrefix: 'management', }); const [isLoading, setIsLoading] = useState(false); const { control, reset, handleSubmit, watch } = useForm( { - mode: "onChange", + mode: 'onChange', }, ); @@ -120,30 +120,30 @@ export const Management = ({ id }: ManagementProps) => { }; return ( - + - - - {t("form.title")} - {t("form.subtitle")} + + + {t('form.title')} + {t('form.subtitle')} - + - watch("resolverId") - ? !!value || t("form.validations.configIdWhenResolverId") + watch('resolverId') + ? !!value || t('form.validations.configIdWhenResolverId') : true, }} isClearable @@ -151,7 +151,7 @@ export const Management = ({ id }: ManagementProps) => { { isClearable /> - - + + Clear { { - test("should render correctly", () => { - const component = render(); + test('should render correctly', () => { + const component = render(); expect(component.asFragment()).toMatchSnapshot(); }); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/EditRole.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/EditRole.tsx index db86c0880..06d3fabb3 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/EditRole.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/EditRole.tsx @@ -203,18 +203,18 @@ */ -import { Button, HStack, Stack, VStack } from "@chakra-ui/react"; -import { Text, useToast, SearchInputController } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { required, isHederaValidAddress } from "../../../../utils/rules"; -import { useForm } from "react-hook-form"; -import { SecurityDetails } from "../SecurityDetails"; -import { GetRolesForRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useGetSecurityRolesFor } from "../../../../hooks/queries/useGetSecurityDetails"; -import { useParams } from "react-router-dom"; -import { useState } from "react"; -import { rolesList } from "./rolesList"; -import { HandleRoles } from "./HandleRoles"; +import { Button, HStack, Stack, VStack } from '@chakra-ui/react'; +import { Text, useToast, SearchInputController } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { required, isHederaValidAddress } from '../../../../utils/rules'; +import { useForm } from 'react-hook-form'; +import { SecurityDetails } from '../SecurityDetails'; +import { GetRolesForRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useGetSecurityRolesFor } from '../../../../hooks/queries/useGetSecurityDetails'; +import { useParams } from 'react-router-dom'; +import { useState } from 'react'; +import { rolesList } from './rolesList'; +import { HandleRoles } from './HandleRoles'; interface FieldValue { address: string; @@ -226,14 +226,14 @@ const COLUMN_MAX_WIDTH = `${COLUMN_WIDTH}px`; const TITLE_WIDTH = `${COLUMN_WIDTH * 2 + COLUMNS_GAP}px`; export const EditRole = () => { - const { t: tInputs } = useTranslation("security", { - keyPrefix: "details.roleManagement.edit.inputs", + const { t: tInputs } = useTranslation('security', { + keyPrefix: 'details.roleManagement.edit.inputs', }); - const { t } = useTranslation("security", { - keyPrefix: "details.roleManagement.edit", + const { t } = useTranslation('security', { + keyPrefix: 'details.roleManagement.edit', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const [currentRoles, setCurrentRoles] = useState(null); const toast = useToast(); @@ -244,16 +244,16 @@ export const EditRole = () => { handleSubmit: searchHandleSubmit, watch, } = useForm({ - mode: "onSubmit", + mode: 'onSubmit', }); - const addressToSearch = watch("address"); + const addressToSearch = watch('address'); // GET ROLES const { refetch, isFetching: isSearchFetching } = useGetSecurityRolesFor( new GetRolesForRequest({ securityId: id, - targetId: addressToSearch ?? "", + targetId: addressToSearch ?? '', start: 0, end: 1000, }), @@ -262,13 +262,13 @@ export const EditRole = () => { refetchOnMount: false, onSuccess: (data) => { handleCurrentRoles(data); - toast.show({ duration: 3000, title: "Roles found", status: "success" }); + toast.show({ duration: 3000, title: 'Roles found', status: 'success' }); }, onError: () => { toast.show({ duration: 3000, - title: "Roles not found", - status: "error", + title: 'Roles not found', + status: 'error', }); }, }, @@ -300,8 +300,8 @@ export const EditRole = () => { w={TITLE_WIDTH} minW={COLUMN_WIDTH} > - {t("title")} - {t("subtitle")} + {t('title')} + {t('subtitle')} @@ -318,7 +318,7 @@ export const EditRole = () => { {}} control={searchControl} size="sm" @@ -334,7 +334,7 @@ export const EditRole = () => { isLoading={isSearchFetching} type="submit" > - {tInputs("search.button")} + {tInputs('search.button')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/HandleRoles.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/HandleRoles.tsx index e7b602857..ec422766f 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/HandleRoles.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/HandleRoles.tsx @@ -203,17 +203,17 @@ */ -import { Button, HStack, VStack } from "@chakra-ui/react"; -import { useTranslation } from "react-i18next"; -import { CheckboxGroupController, Text } from "io-bricks-ui"; -import { required } from "../../../../utils/rules"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { ApplyRolesRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; -import { useApplyRoles } from "../../../../hooks/queries/useApplyRoles"; -import { rolesList, TSecurityType } from "./rolesList"; -import { SecurityRole } from "../../../../utils/SecurityRole"; -import { useSecurityStore } from "../../../../store/securityStore"; +import { Button, HStack, VStack } from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; +import { CheckboxGroupController, Text } from 'io-bricks-ui'; +import { required } from '../../../../utils/rules'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { ApplyRolesRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; +import { useApplyRoles } from '../../../../hooks/queries/useApplyRoles'; +import { rolesList, TSecurityType } from './rolesList'; +import { SecurityRole } from '../../../../utils/SecurityRole'; +import { useSecurityStore } from '../../../../store/securityStore'; interface EditRolesFormValues { roles: string[]; @@ -229,21 +229,21 @@ export const HandleRoles = ({ currentRoles: string[]; address: string; }) => { - const { t: tRoles } = useTranslation("roles"); - const { t: tInputs } = useTranslation("security", { - keyPrefix: "details.roleManagement.edit.inputs", + const { t: tRoles } = useTranslation('roles'); + const { t: tInputs } = useTranslation('security', { + keyPrefix: 'details.roleManagement.edit.inputs', }); - const { t } = useTranslation("security", { - keyPrefix: "details.roleManagement.edit", + const { t } = useTranslation('security', { + keyPrefix: 'details.roleManagement.edit', }); const { details: securityDetails } = useSecurityStore(); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { mutate: applyRoles, isLoading: isLoadingApply } = useApplyRoles(); const { handleSubmit: onHandleSubmit, control: controlRoles } = useForm({ - mode: "onSubmit", + mode: 'onSubmit', defaultValues: { roles: currentRoles, }, @@ -277,11 +277,11 @@ export const HandleRoles = ({ onSubmit={onHandleSubmit(onSubmitRoles)} > - {t("rolesDefinitions")} + {t('rolesDefinitions')} { @@ -307,7 +307,7 @@ export const HandleRoles = ({ type="submit" isLoading={isLoadingApply} > - {tInputs("apply.button")} + {tInputs('apply.button')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/RoleManagement.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/RoleManagement.tsx index d6a0cac74..1f5278e8d 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/RoleManagement.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/RoleManagement.tsx @@ -203,15 +203,15 @@ */ -import { Stack } from "@chakra-ui/react"; -import { Tabs } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { EditRole } from "./EditRole"; -import { SearchByRole } from "./SearchByRole"; +import { Stack } from '@chakra-ui/react'; +import { Tabs } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { EditRole } from './EditRole'; +import { SearchByRole } from './SearchByRole'; export const RoleManagement = () => { - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.roleManagement.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.roleManagement.tabs', }); return ( @@ -220,9 +220,9 @@ export const RoleManagement = () => { tabs={[ { content: , - header: tTabs("edit"), + header: tTabs('edit'), }, - { content: , header: tTabs("search") }, + { content: , header: tTabs('search') }, ]} isFitted /> diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/RolesProps.ts b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/RolesProps.ts index 47d98eff1..fadc1090f 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/RolesProps.ts +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/RolesProps.ts @@ -203,7 +203,7 @@ */ -import { SecurityViewModel } from "@hashgraph/asset-tokenization-sdk"; +import { SecurityViewModel } from '@hashgraph/asset-tokenization-sdk'; export interface RolesProps { roles: string[]; diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/SearchByRole.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/SearchByRole.tsx index e829709c4..0692d62ac 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/SearchByRole.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/SearchByRole.tsx @@ -203,25 +203,25 @@ */ -import { Button, HStack, Stack, VStack } from "@chakra-ui/react"; -import { Text, DefinitionList, SelectController } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { required } from "../../../../utils/rules"; -import { useForm } from "react-hook-form"; -import { SecurityDetails } from "../SecurityDetails"; +import { Button, HStack, Stack, VStack } from '@chakra-ui/react'; +import { Text, DefinitionList, SelectController } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { required } from '../../../../utils/rules'; +import { useForm } from 'react-hook-form'; +import { SecurityDetails } from '../SecurityDetails'; import { useGetRoleMemberCount, useGetRoleMembers, -} from "../../../../hooks/queries/useGetSecurityDetails"; +} from '../../../../hooks/queries/useGetSecurityDetails'; import { GetRoleMemberCountRequest, GetRoleMembersRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; -import { rolesList, TSecurityType } from "./rolesList"; -import { useEffect, useState } from "react"; -import { SecurityRole } from "../../../../utils/SecurityRole"; -import { useSecurityStore } from "../../../../store/securityStore"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; +import { rolesList, TSecurityType } from './rolesList'; +import { useEffect, useState } from 'react'; +import { SecurityRole } from '../../../../utils/SecurityRole'; +import { useSecurityStore } from '../../../../store/securityStore'; interface SearchByRoleFieldValue { role: { label: string; value: SecurityRole }; @@ -233,15 +233,15 @@ const COLUMN_MAX_WIDTH = `${COLUMN_WIDTH}px`; const TITLE_WIDTH = `${COLUMN_WIDTH * 2 + COLUMNS_GAP}px`; export const SearchByRole = () => { - const { t: tProperties } = useTranslation("properties"); - const { t: tRoles } = useTranslation("roles"); - const { t: tInputs } = useTranslation("security", { - keyPrefix: "details.roleManagement.search.inputs", + const { t: tProperties } = useTranslation('properties'); + const { t: tRoles } = useTranslation('roles'); + const { t: tInputs } = useTranslation('security', { + keyPrefix: 'details.roleManagement.search.inputs', }); - const { t } = useTranslation("security", { - keyPrefix: "details.roleManagement.search", + const { t } = useTranslation('security', { + keyPrefix: 'details.roleManagement.search', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { details: securityDetails } = useSecurityStore(); const [roleToSearch, setRoleToSearch] = useState(); @@ -256,26 +256,26 @@ export const SearchByRole = () => { handleSubmit, watch, } = useForm({ - mode: "onSubmit", + mode: 'onSubmit', }); - const role = watch("role"); + const role = watch('role'); const roleMemberCountRequest = new GetRoleMemberCountRequest({ securityId: id, - role: roleToSearch ?? "", + role: roleToSearch ?? '', }); const { data: roleMemberCount, refetch: refetchRoleMemberCount } = useGetRoleMemberCount(roleMemberCountRequest, { enabled: false, - onSuccess: (data) => console.log("COUNT ", data), - onError: (error) => console.error("ERROR", error), + onSuccess: (data) => console.log('COUNT ', data), + onError: (error) => console.error('ERROR', error), onSettled: () => setIsRoleMemberCountLoading(false), }); const roleMembersRequest = new GetRoleMembersRequest({ securityId: id, - role: roleToSearch ?? "", + role: roleToSearch ?? '', start: 0, end: roleMemberCount ?? 0, }); @@ -315,8 +315,8 @@ export const SearchByRole = () => { w={TITLE_WIDTH} minW={COLUMN_WIDTH} > - {t("title")} - {t("subtitle")} + {t('title')} + {t('subtitle')} @@ -350,7 +350,7 @@ export const SearchByRole = () => { setIsRoleMemberCountLoading(false); setIsRoleMembersLoading(false); }} - {...tInputs("select", { returnObjects: true })} + {...tInputs('select', { returnObjects: true })} /> { type="submit" isLoading={isRoleMemberCountLoading || isRoleMembersLoading} > - {tInputs("select.button")} + {tInputs('select.button')} {roleMemberCount === 0 && !isRoleMemberCountLoading && ( - {t("noRoles")} + {t('noRoles')} )} {roleMembers && ( ({ - title: tProperties("id"), + title: tProperties('id'), description: account, canCopy: true, }))} - title={t("role", { role: role.label })} + title={t('role', { role: role.label })} layerStyle="whiteContainer" maxH="485px" overflowY="auto" diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/EditRole.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/EditRole.test.tsx index 0563232bd..a4d0ca444 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/EditRole.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/EditRole.test.tsx @@ -203,12 +203,12 @@ */ -import { EditRole } from "../EditRole"; -import { render } from "../../../../../test-utils"; +import { EditRole } from '../EditRole'; +import { render } from '../../../../../test-utils'; // TODO Improve tests when it is connected to SDK describe(`${EditRole.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/RoleManagement.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/RoleManagement.test.tsx index 79cfa4b78..3ba42f613 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/RoleManagement.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/RoleManagement.test.tsx @@ -203,12 +203,12 @@ */ -import { RoleManagement } from "../RoleManagement"; -import { render } from "../../../../../test-utils"; +import { RoleManagement } from '../RoleManagement'; +import { render } from '../../../../../test-utils'; // TODO Improve tests when it is connected to SDK describe(`${RoleManagement.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/SearchByRole.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/SearchByRole.test.tsx index 8f7a071ff..5afa3efbd 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/SearchByRole.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/__tests__/SearchByRole.test.tsx @@ -203,30 +203,30 @@ */ -import { SearchByRole } from "../SearchByRole"; -import { render } from "../../../../../test-utils"; -import { waitFor } from "@testing-library/react"; -import userEvent from "@testing-library/user-event"; +import { SearchByRole } from '../SearchByRole'; +import { render } from '../../../../../test-utils'; +import { waitFor } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; describe(`${SearchByRole.name}`, () => { const factoryComponent = () => render(); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); }); - test.only("should fill form", async () => { + test.only('should fill form', async () => { const component = factoryComponent(); - const submitButton = component.getByTestId("select-role-button"); + const submitButton = component.getByTestId('select-role-button'); expect(submitButton).toBeDisabled(); - const selector = component.container.querySelector("input#role")!; + const selector = component.container.querySelector('input#role')!; await userEvent.click(selector); - const adminRoleOption = component.getByText("Admin role"); + const adminRoleOption = component.getByText('Admin role'); expect(adminRoleOption).toBeVisible(); await userEvent.click(adminRoleOption); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/rolesList.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/rolesList.tsx index 4eb96b7bb..48826ae61 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/rolesList.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/RoleManagement/rolesList.tsx @@ -203,9 +203,9 @@ */ -import { SecurityRole } from "../../../../utils/SecurityRole"; +import { SecurityRole } from '../../../../utils/SecurityRole'; -export type TSecurityType = "BOND" | "EQUITY"; +export type TSecurityType = 'BOND' | 'EQUITY'; export type TRole = { label: string; @@ -215,108 +215,108 @@ export type TRole = { export const rolesList: TRole[] = [ { - label: "admin", + label: 'admin', value: SecurityRole._DEFAULT_ADMIN_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "minter", + label: 'minter', value: SecurityRole._ISSUER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "freezer", + label: 'freezer', value: SecurityRole._FREEZE_MANAGER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "controller", + label: 'controller', value: SecurityRole._CONTROLLER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "pause", + label: 'pause', value: SecurityRole._PAUSER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "controlList", + label: 'controlList', value: SecurityRole._CONTROLLIST_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "corporateActions", + label: 'corporateActions', value: SecurityRole._CORPORATEACTIONS_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "document", + label: 'document', value: SecurityRole._DOCUMENTER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "snapshot", + label: 'snapshot', value: SecurityRole._SNAPSHOT_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "bondManager", + label: 'bondManager', value: SecurityRole._BOND_MANAGER_ROLE, - allowedSecurities: ["BOND"], + allowedSecurities: ['BOND'], }, { - label: "adjustmentBalance", + label: 'adjustmentBalance', value: SecurityRole._ADJUSTMENT_BALANCE_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "locker", + label: 'locker', value: SecurityRole._LOCKER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "cap", + label: 'cap', value: SecurityRole._CAP_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "kyc", + label: 'kyc', value: SecurityRole._KYC_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "ssiManager", + label: 'ssiManager', value: SecurityRole._SSI_MANAGER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "clearing", + label: 'clearing', value: SecurityRole._CLEARING_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "clearingValidator", + label: 'clearingValidator', value: SecurityRole._CLEARING_VALIDATOR_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "pauseManager", + label: 'pauseManager', value: SecurityRole._PAUSE_MANAGER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "controlListManager", + label: 'controlListManager', value: SecurityRole._CONTROL_LIST_MANAGER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "kycListManager", + label: 'kycListManager', value: SecurityRole._KYC_MANAGER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, { - label: "internalKYCManager", + label: 'internalKYCManager', value: SecurityRole._INTERNAL_KYC_MANAGER_ROLE, - allowedSecurities: ["BOND", "EQUITY"], + allowedSecurities: ['BOND', 'EQUITY'], }, ]; diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManager.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManager.tsx index 23a70587a..04ee9ca95 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManager.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManager.tsx @@ -4,34 +4,34 @@ import { Stack, useDisclosure, VStack, -} from "@chakra-ui/react"; -import { createColumnHelper } from "@tanstack/table-core"; -import { Button, PhosphorIcon, PopUp, Table, Text } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { SSIManagerModal } from "./SSIManagerModal"; -import { Trash } from "@phosphor-icons/react"; -import { useMemo, useState } from "react"; -import { SSIManagerRevocationModal } from "./SSIManagerRevocationModal"; +} from '@chakra-ui/react'; +import { createColumnHelper } from '@tanstack/table-core'; +import { Button, PhosphorIcon, PopUp, Table, Text } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { SSIManagerModal } from './SSIManagerModal'; +import { Trash } from '@phosphor-icons/react'; +import { useMemo, useState } from 'react'; +import { SSIManagerRevocationModal } from './SSIManagerRevocationModal'; import { useGetIssuersList, useGetRevocationRegistryAddress, -} from "../../../../hooks/queries/useSSIManager"; +} from '../../../../hooks/queries/useSSIManager'; import { GetIssuerListMembersRequest, GetRevocationRegistryAddressRequest, RemoveIssuerRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { SecurityRole } from "../../../../utils/SecurityRole"; -import { useRemoveIssuer } from "../../../../hooks/mutations/useSSIManager"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { SecurityRole } from '../../../../utils/SecurityRole'; +import { useRemoveIssuer } from '../../../../hooks/mutations/useSSIManager'; interface AllowedListFields { accountId: string; } export const SSIManager = () => { - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); const { roles: accountRoles } = useRolesStore(); @@ -47,20 +47,20 @@ export const SSIManager = () => { onOpen: onOpenRemoveModal, } = useDisclosure(); - const { t: tRevocation } = useTranslation("security", { - keyPrefix: "details.ssiManager.revocation", + const { t: tRevocation } = useTranslation('security', { + keyPrefix: 'details.ssiManager.revocation', }); - const { t: tList } = useTranslation("security", { - keyPrefix: "details.ssiManager.list", + const { t: tList } = useTranslation('security', { + keyPrefix: 'details.ssiManager.list', }); - const { t: tTable } = useTranslation("security", { - keyPrefix: "details.ssiManager.table", + const { t: tTable } = useTranslation('security', { + keyPrefix: 'details.ssiManager.table', }); - const { t: tRemove } = useTranslation("security", { - keyPrefix: "details.ssiManager.removePopUp", + const { t: tRemove } = useTranslation('security', { + keyPrefix: 'details.ssiManager.removePopUp', }); - const [accountToRemove, setAccountToRemove] = useState(""); + const [accountToRemove, setAccountToRemove] = useState(''); const [isRemoving, setIsRemoving] = useState(false); const columnsHelper = createColumnHelper(); @@ -101,15 +101,15 @@ export const SSIManager = () => { ); const columns = [ - columnsHelper.accessor("accountId", { - header: tTable("fields.accountId"), + columnsHelper.accessor('accountId', { + header: tTable('fields.accountId'), enableSorting: false, }), ...(hasSSIManagerRole ? [ columnsHelper.display({ - id: "remove", - header: tTable("fields.actions"), + id: 'remove', + header: tTable('fields.actions'), size: 5, enableSorting: false, cell(props) { @@ -129,7 +129,7 @@ export const SSIManager = () => { variant="table" size="xs" > - + ); }, @@ -149,16 +149,16 @@ export const SSIManager = () => { gap={4} mb={4} > - - + + - {tRevocation("title")} + {tRevocation('title')} {isLoadingRevocationRegistryAddress ? ( ) : ( - {revocationRegistryAddress ?? "-"} + {revocationRegistryAddress ?? '-'} )} @@ -169,7 +169,7 @@ export const SSIManager = () => { }} size="sm" > - {tRevocation("change")} + {tRevocation('change')} )} @@ -183,9 +183,9 @@ export const SSIManager = () => { pt={6} gap={4} > - + - {tList("title")} + {tList('title')} {hasSSIManagerRole && ( { }} size="sm" > - {tList("add")} + {tList('add')} )} @@ -215,9 +215,9 @@ export const SSIManager = () => { isOpen={isOpenRemoveModal} onClose={onCloseRemoveModal} icon={} - title={tRemove("title")} - description={tRemove("description")} - confirmText={tRemove("confirmText")} + title={tRemove('title')} + description={tRemove('description')} + confirmText={tRemove('confirmText')} onConfirm={() => { setIsRemoving(true); @@ -236,7 +236,7 @@ export const SSIManager = () => { }); }} onCancel={onCloseRemoveModal} - cancelText={tRemove("cancelText")} + cancelText={tRemove('cancelText')} confirmButtonProps={{ isLoading: isRemoving, }} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManagerModal.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManagerModal.tsx index 603665c2f..e1edc4bbc 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManagerModal.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManagerModal.tsx @@ -8,27 +8,27 @@ import { ModalOverlay, ModalProps, VStack, -} from "@chakra-ui/react"; -import { Button, InputController } from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { isHederaValidAddress, required } from "../../../../utils/rules"; -import { useAddIssuer } from "../../../../hooks/mutations/useSSIManager"; -import { AddIssuerRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; -import { useState } from "react"; +} from '@chakra-ui/react'; +import { Button, InputController } from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { isHederaValidAddress, required } from '../../../../utils/rules'; +import { useAddIssuer } from '../../../../hooks/mutations/useSSIManager'; +import { AddIssuerRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; +import { useState } from 'react'; interface FormValues { accountId: string; } -interface SSIManagerModalProps extends Omit {} +type SSIManagerModalProps = Omit; export const SSIManagerModal = ({ isOpen, onClose }: SSIManagerModalProps) => { - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); - const { t: tCreate } = useTranslation("security", { - keyPrefix: "details.ssiManager.create", + const { t: tCreate } = useTranslation('security', { + keyPrefix: 'details.ssiManager.create', }); const [isLoading, setIsLoading] = useState(false); @@ -38,7 +38,7 @@ export const SSIManagerModal = ({ isOpen, onClose }: SSIManagerModalProps) => { formState: { isValid }, handleSubmit, } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { mutate } = useAddIssuer(); @@ -64,16 +64,16 @@ export const SSIManagerModal = ({ isOpen, onClose }: SSIManagerModalProps) => { return ( - - {tCreate("title")} + + {tCreate('title')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManagerRevocationModal.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManagerRevocationModal.tsx index d3c78f31b..266e98025 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManagerRevocationModal.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/SSIManager/SSIManagerRevocationModal.tsx @@ -8,30 +8,30 @@ import { ModalOverlay, ModalProps, VStack, -} from "@chakra-ui/react"; -import { Button, InputController } from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { useSetRevocationRegistryAddress } from "../../../../hooks/mutations/useSSIManager"; -import { useState } from "react"; -import { SetRevocationRegistryAddressRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; -import { isHederaValidAddress, required } from "../../../../utils/rules"; +} from '@chakra-ui/react'; +import { Button, InputController } from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { useSetRevocationRegistryAddress } from '../../../../hooks/mutations/useSSIManager'; +import { useState } from 'react'; +import { SetRevocationRegistryAddressRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; +import { isHederaValidAddress, required } from '../../../../utils/rules'; interface FormValues { accountId: string; } -interface SSIManagerRevocationModalProps extends Omit {} +type SSIManagerRevocationModalProps = Omit; export const SSIManagerRevocationModal = ({ isOpen, onClose, }: SSIManagerRevocationModalProps) => { - const { id: securityId = "" } = useParams(); + const { id: securityId = '' } = useParams(); - const { t: tRevocation } = useTranslation("security", { - keyPrefix: "details.ssiManager.revocation", + const { t: tRevocation } = useTranslation('security', { + keyPrefix: 'details.ssiManager.revocation', }); const [isLoading, setIsLoading] = useState(false); @@ -41,7 +41,7 @@ export const SSIManagerRevocationModal = ({ formState: { isValid }, handleSubmit, } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { mutate } = useSetRevocationRegistryAddress(); @@ -67,16 +67,16 @@ export const SSIManagerRevocationModal = ({ return ( - - {tRevocation("title")} + + {tRevocation('title')} @@ -88,7 +88,7 @@ export const SSIManagerRevocationModal = ({ onClick={handleSubmit(onSubmit)} isLoading={isLoading} > - {tRevocation("change")} + {tRevocation('change')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/SecurityDetails.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/SecurityDetails.tsx index 12521a3ef..aaf3e4483 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/SecurityDetails.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/SecurityDetails.tsx @@ -203,16 +203,16 @@ */ -import { DefinitionList, DefinitionListProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { useSecurityStore } from "../../../store/securityStore"; -import { useParams } from "react-router-dom"; -import { toNumber } from "../../../utils/format"; +import { DefinitionList, DefinitionListProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { useSecurityStore } from '../../../store/securityStore'; +import { useParams } from 'react-router-dom'; +import { toNumber } from '../../../utils/format'; -interface SecurityDetails extends Omit {} +type SecurityDetailsProps = Omit; -export const SecurityDetails = (props: SecurityDetails) => { - const { t: tProperties } = useTranslation("properties"); +export const SecurityDetails = (props: SecurityDetailsProps) => { + const { t: tProperties } = useTranslation('properties'); const { details } = useSecurityStore(); const { id } = useParams(); @@ -226,35 +226,35 @@ export const SecurityDetails = (props: SecurityDetails) => { description: details?.securityType ?? "", },*/ { - title: tProperties("name"), - description: details?.name ?? "", + title: tProperties('name'), + description: details?.name ?? '', }, { - title: tProperties("symbol"), - description: details?.symbol ?? "", + title: tProperties('symbol'), + description: details?.symbol ?? '', }, { - title: tProperties("decimal"), - description: details?.decimals ?? "", + title: tProperties('decimal'), + description: details?.decimals ?? '', }, { - title: tProperties("isin"), - description: details?.isin ?? "", + title: tProperties('isin'), + description: details?.isin ?? '', }, { - title: tProperties("id"), - description: id ?? "", + title: tProperties('id'), + description: id ?? '', }, { - title: tProperties("maxSupply"), + title: tProperties('maxSupply'), description: `${details?.maxSupply} ${details?.symbol}`, }, { - title: tProperties("totalSupply"), + title: tProperties('totalSupply'), description: `${details?.totalSupply} ${details?.symbol}`, }, { - title: tProperties("pendingToBeMinted"), + title: tProperties('pendingToBeMinted'), description: `${ toNumber(details?.maxSupply) - toNumber(details?.totalSupply) } ${details?.symbol}`, diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/SecurityDetailsExtended.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/SecurityDetailsExtended.tsx index 5fae10c39..6a2d26927 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/SecurityDetailsExtended.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/SecurityDetailsExtended.tsx @@ -209,21 +209,22 @@ import { ClipboardButton, Text, BasicDefinitionListItem, -} from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; +} from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; import { formatDate, formatNumberLocale, toNumber, -} from "../../../utils/format"; -import { useSecurityStore } from "../../../store/securityStore"; -import { useParams } from "react-router-dom"; -import { Flex } from "@chakra-ui/react"; -import { BondDetailsViewModel } from "@hashgraph/asset-tokenization-sdk"; -import { useEffect, useMemo } from "react"; -import { MaturityDateItem } from "./MadurityDateItem"; -import { DATE_TIME_FORMAT } from "../../../utils/constants"; -interface SecurityDetailsExtended extends Omit { +} from '../../../utils/format'; +import { useSecurityStore } from '../../../store/securityStore'; +import { useParams } from 'react-router-dom'; +import { Flex } from '@chakra-ui/react'; +import { BondDetailsViewModel } from '@hashgraph/asset-tokenization-sdk'; +import { useEffect, useMemo } from 'react'; +import { MaturityDateItem } from './MadurityDateItem'; +import { DATE_TIME_FORMAT } from '../../../utils/constants'; +interface SecurityDetailsExtendedProps + extends Omit { nominalValue?: number; bondDetailsResponse?: BondDetailsViewModel; } @@ -232,64 +233,64 @@ export const SecurityDetailsExtended = ({ nominalValue, bondDetailsResponse, ...props -}: SecurityDetailsExtended) => { - const { t: tProperties } = useTranslation("properties"); +}: SecurityDetailsExtendedProps) => { + const { t: tProperties } = useTranslation('properties'); const { details } = useSecurityStore(); const { id } = useParams(); const defaultItems: BasicDefinitionListItem[] = useMemo( () => [ { - title: tProperties("name"), - description: details?.name ?? "", + title: tProperties('name'), + description: details?.name ?? '', }, { - title: tProperties("symbol"), - description: details?.symbol ?? "", + title: tProperties('symbol'), + description: details?.symbol ?? '', }, { - title: tProperties("decimal"), - description: details?.decimals ?? "", + title: tProperties('decimal'), + description: details?.decimals ?? '', }, { - title: tProperties("isin"), - description: details?.isin ?? "", + title: tProperties('isin'), + description: details?.isin ?? '', }, { - title: tProperties("evmAddress"), - description: details?.evmDiamondAddress ?? "", + title: tProperties('evmAddress'), + description: details?.evmDiamondAddress ?? '', canCopy: true, }, { - title: tProperties("id"), + title: tProperties('id'), description: ( {id} - {tProperties("copyId")} + {tProperties('copyId')} ), }, { - title: tProperties("currency"), - description: "USD", + title: tProperties('currency'), + description: 'USD', }, // TODO: - format from ASCII when more currencies are available { - title: tProperties("nominalValue"), + title: tProperties('nominalValue'), description: formatNumberLocale(nominalValue, 2), }, { - title: tProperties("maxSupply"), + title: tProperties('maxSupply'), description: `${details?.maxSupply} ${details?.symbol}`, }, { - title: tProperties("totalSupply"), + title: tProperties('totalSupply'), description: `${details?.totalSupply} ${details?.symbol}`, }, { - title: tProperties("pendingToBeMinted"), + title: tProperties('pendingToBeMinted'), description: `${ toNumber(details?.maxSupply) - toNumber(details?.totalSupply) } ${details?.symbol}`, @@ -302,11 +303,11 @@ export const SecurityDetailsExtended = ({ useEffect(() => { if ( details && - details.type === "BOND" && - !defaultItems.find(({ title }) => title === tProperties("startingDate")) + details.type === 'BOND' && + !defaultItems.find(({ title }) => title === tProperties('startingDate')) ) { defaultItems.push({ - title: tProperties("startingDate"), + title: tProperties('startingDate'), description: formatDate( bondDetailsResponse?.startingDate, DATE_TIME_FORMAT, @@ -317,10 +318,10 @@ export const SecurityDetailsExtended = ({ bondDetailsResponse && bondDetailsResponse.maturityDate && id && - !defaultItems.find(({ title }) => title === tProperties("maturityDate")) + !defaultItems.find(({ title }) => title === tProperties('maturityDate')) ) { defaultItems.push({ - title: tProperties("maturityDate"), + title: tProperties('maturityDate'), description: , }); } diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Control.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Control.tsx index 92e27eab9..eea335157 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Control.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Control.tsx @@ -1,15 +1,15 @@ -import { Box } from "@chakra-ui/react"; -import { Tabs } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { KYC } from "../KYC/KYC"; -import { SSIManager } from "../SSIManager/SSIManager"; -import { ControlList } from "../ControlList"; -import { SecurityViewModel } from "@hashgraph/asset-tokenization-sdk"; -import { useMemo } from "react"; -import { ExternalPause } from "../ExternalPause/ExternalPause"; -import { ExternalControl } from "../ExternalControl/ExternalControl"; -import { ExternalKYC } from "../ExternalKYC/ExternalKYC"; -import { AdminControlActionsButtons } from "../AdminControlActionsButtons"; +import { Box } from '@chakra-ui/react'; +import { Tabs } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { KYC } from '../KYC/KYC'; +import { SSIManager } from '../SSIManager/SSIManager'; +import { ControlList } from '../ControlList'; +import { SecurityViewModel } from '@hashgraph/asset-tokenization-sdk'; +import { useMemo } from 'react'; +import { ExternalPause } from '../ExternalPause/ExternalPause'; +import { ExternalControl } from '../ExternalControl/ExternalControl'; +import { ExternalKYC } from '../ExternalKYC/ExternalKYC'; +import { AdminControlActionsButtons } from '../AdminControlActionsButtons'; interface ControlTabProps { details: SecurityViewModel; @@ -21,8 +21,8 @@ interface ControlTabProps { } export const ControlTab = ({ details, config }: ControlTabProps) => { - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.tabs', }); const isWhiteList = details.isWhiteList; @@ -33,31 +33,31 @@ export const ControlTab = ({ details, config }: ControlTabProps) => { if (config.showControlList) { tabs.push({ content: , - header: isWhiteList ? tTabs("allowedList") : tTabs("blockedList"), + header: isWhiteList ? tTabs('allowedList') : tTabs('blockedList'), }); } if (config.showKYC) { - tabs.push({ content: , header: tTabs("kyc") }); + tabs.push({ content: , header: tTabs('kyc') }); } if (config.showSSIManager) { - tabs.push({ content: , header: tTabs("ssiManager") }); + tabs.push({ content: , header: tTabs('ssiManager') }); } - tabs.push({ content: , header: tTabs("externalPause") }); + tabs.push({ content: , header: tTabs('externalPause') }); tabs.push({ content: , - header: tTabs("externalControlList"), + header: tTabs('externalControlList'), }); tabs.push({ content: , - header: tTabs("externalKYCList"), + header: tTabs('externalKYCList'), }); return tabs; }, [config, tTabs, isWhiteList]); return ( - + diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/CorporateActions.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/CorporateActions.tsx index 612f2ff25..b51dd380c 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/CorporateActions.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/CorporateActions.tsx @@ -1,11 +1,11 @@ -import { Box } from "@chakra-ui/react"; -import { Tabs } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { BalanceAdjustment } from "../BalanceAdjustment/BalanceAdjustment"; -import { Dividends } from "../Dividends/Dividends"; -import { VotingRights } from "../VotingRights/VotingRights"; -import { Coupons } from "../Coupons/Coupons"; -import { useMemo } from "react"; +import { Box } from '@chakra-ui/react'; +import { Tabs } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { BalanceAdjustment } from '../BalanceAdjustment/BalanceAdjustment'; +import { Dividends } from '../Dividends/Dividends'; +import { VotingRights } from '../VotingRights/VotingRights'; +import { Coupons } from '../Coupons/Coupons'; +import { useMemo } from 'react'; interface OperationsTabProps { config: { @@ -17,8 +17,8 @@ interface OperationsTabProps { } export const CorporateActionsTab = ({ config }: OperationsTabProps) => { - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.tabs', }); const tabs = useMemo(() => { @@ -27,19 +27,19 @@ export const CorporateActionsTab = ({ config }: OperationsTabProps) => { if (config.showBalanceAdjustment) { tabs.push({ content: , - header: tTabs("balanceAdjustment"), + header: tTabs('balanceAdjustment'), }); } if (config.showDividends) { - tabs.push({ content: , header: tTabs("dividends") }); + tabs.push({ content: , header: tTabs('dividends') }); } if (config.showVotingRights) { - tabs.push({ content: , header: tTabs("votingRights") }); + tabs.push({ content: , header: tTabs('votingRights') }); } if (config.showCoupons) { tabs.push({ content: , - header: tTabs("coupons"), + header: tTabs('coupons'), }); } @@ -47,7 +47,7 @@ export const CorporateActionsTab = ({ config }: OperationsTabProps) => { }, [config, tTabs]); return ( - + ); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Management.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Management.tsx index 3b7dd29ab..e7ee3406d 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Management.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Management.tsx @@ -1,11 +1,11 @@ -import { Box } from "@chakra-ui/react"; -import { Tabs } from "io-bricks-ui"; -import { RoleManagement } from "../RoleManagement/RoleManagement"; -import { useTranslation } from "react-i18next"; -import { Management } from "../Management/Management"; -import { useParams } from "react-router-dom"; -import { useMemo } from "react"; -import { DangerZone } from "../DangerZone"; +import { Box } from '@chakra-ui/react'; +import { Tabs } from 'io-bricks-ui'; +import { RoleManagement } from '../RoleManagement/RoleManagement'; +import { useTranslation } from 'react-i18next'; +import { Management } from '../Management/Management'; +import { useParams } from 'react-router-dom'; +import { useMemo } from 'react'; +import { DangerZone } from '../DangerZone'; interface ManagementTabProps { config: { @@ -16,10 +16,10 @@ interface ManagementTabProps { } export const ManagementTab = ({ config }: ManagementTabProps) => { - const { id = "" } = useParams(); + const { id = '' } = useParams(); - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.tabs', }); const tabs = useMemo(() => { @@ -28,16 +28,16 @@ export const ManagementTab = ({ config }: ManagementTabProps) => { if (config.showRoleManagement) { tabs.push({ content: , - header: tTabs("roleManagement"), + header: tTabs('roleManagement'), }); } if (config.showDangerZone) { - tabs.push({ content: , header: "Danger Zone" }); + tabs.push({ content: , header: 'Danger Zone' }); } if (config.showConfiguration) { tabs.push({ content: , - header: tTabs("configuration"), + header: tTabs('configuration'), }); } @@ -45,7 +45,7 @@ export const ManagementTab = ({ config }: ManagementTabProps) => { }, [config, tTabs, id]); return ( - + ); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Operations.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Operations.tsx index 29e9ef451..9934fa056 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Operations.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/Tabs/Operations.tsx @@ -1,12 +1,12 @@ -import { Box } from "@chakra-ui/react"; -import { Tabs } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { Locker } from "../Locker/Locker"; -import { Hold } from "../Hold/Hold"; -import { Cap } from "../Cap/Cap"; -import { ClearingOperations } from "../ClearingOperations/ClearingOperations"; -import { useMemo } from "react"; -import { AdminActionsButtons } from "../AdminActionsButtons"; +import { Box } from '@chakra-ui/react'; +import { Tabs } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { Locker } from '../Locker/Locker'; +import { Hold } from '../Hold/Hold'; +import { Cap } from '../Cap/Cap'; +import { ClearingOperations } from '../ClearingOperations/ClearingOperations'; +import { useMemo } from 'react'; +import { AdminActionsButtons } from '../AdminActionsButtons'; interface OperationsTabProps { config: { @@ -18,26 +18,26 @@ interface OperationsTabProps { } export const OperationsTab = ({ config }: OperationsTabProps) => { - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.tabs', }); const tabs = useMemo(() => { const tabs = []; if (config.showLocker) { - tabs.push({ content: , header: tTabs("locker") }); + tabs.push({ content: , header: tTabs('locker') }); } if (config.showHold) { - tabs.push({ content: , header: tTabs("hold") }); + tabs.push({ content: , header: tTabs('hold') }); } if (config.showCap) { - tabs.push({ content: , header: tTabs("cap") }); + tabs.push({ content: , header: tTabs('cap') }); } if (config.showClearingOperations) { tabs.push({ content: , - header: tTabs("clearingOperations"), + header: tTabs('clearingOperations'), }); } @@ -45,7 +45,7 @@ export const OperationsTab = ({ config }: OperationsTabProps) => { }, [config, tTabs]); return ( - + diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/ProgramVotingRights.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/ProgramVotingRights.tsx index 103a5ef85..b8546e04d 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/ProgramVotingRights.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/ProgramVotingRights.tsx @@ -203,23 +203,23 @@ */ -import { Button, Center, HStack, Stack, VStack } from "@chakra-ui/react"; +import { Button, Center, HStack, Stack, VStack } from '@chakra-ui/react'; import { CalendarInputController, InputController, PhosphorIcon, Text, Tooltip, -} from "io-bricks-ui"; -import { Info } from "@phosphor-icons/react"; -import { required } from "../../../../utils/rules"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { useParams } from "react-router-dom"; -import { SetVotingRightsRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useSetVotingRights } from "../../../../hooks/queries/VotingRights"; -import { dateToUnixTimestamp, textToHex } from "../../../../utils/format"; -import { DATE_TIME_FORMAT } from "../../../../utils/constants"; +} from 'io-bricks-ui'; +import { Info } from '@phosphor-icons/react'; +import { required } from '../../../../utils/rules'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { useParams } from 'react-router-dom'; +import { SetVotingRightsRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useSetVotingRights } from '../../../../hooks/queries/VotingRights'; +import { dateToUnixTimestamp, textToHex } from '../../../../utils/format'; +import { DATE_TIME_FORMAT } from '../../../../utils/constants'; interface ProgramVotingRightsFormValues { name: string; @@ -229,16 +229,16 @@ interface ProgramVotingRightsFormValues { export const ProgramVotingRights = () => { const { control, formState, handleSubmit, reset } = useForm({ - mode: "all", + mode: 'all', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.votingRights.program.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.votingRights.program.input', }); - const { t: t } = useTranslation("security", { - keyPrefix: "details.votingRights.program", + const { t: t } = useTranslation('security', { + keyPrefix: 'details.votingRights.program', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { mutate: setVotingRights, isLoading } = useSetVotingRights(); @@ -274,8 +274,8 @@ export const ProgramVotingRights = () => { > - {tForm("name.label")}* - + {tForm('name.label')}* + @@ -284,13 +284,13 @@ export const ProgramVotingRights = () => { control={control} id="name" rules={{ required }} - placeholder={tForm("name.placeholder")} + placeholder={tForm('name.placeholder')} /> - {tForm("date.label")}* - + {tForm('date.label')}* + @@ -299,7 +299,7 @@ export const ProgramVotingRights = () => { id="date" rules={{ required }} fromDate={new Date()} - placeholder={tForm("date.placeholder")} + placeholder={tForm('date.placeholder')} withTimeInput format={DATE_TIME_FORMAT} /> @@ -311,7 +311,7 @@ export const ProgramVotingRights = () => { isDisabled={!formState.isValid} type="submit" > - {t("button")} + {t('button')} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/SeeVotingRights.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/SeeVotingRights.tsx index 59c123721..b6b3698c3 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/SeeVotingRights.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/SeeVotingRights.tsx @@ -203,33 +203,33 @@ */ -import { Button, Center, HStack, Stack, VStack } from "@chakra-ui/react"; +import { Button, Center, HStack, Stack, VStack } from '@chakra-ui/react'; import { InputController, InputNumberController, PhosphorIcon, Text, Tooltip, -} from "io-bricks-ui"; +} from 'io-bricks-ui'; import { isHederaValidAddress, required, greaterThanZero, -} from "../../../../utils/rules"; -import { Info } from "@phosphor-icons/react"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; +} from '../../../../utils/rules'; +import { Info } from '@phosphor-icons/react'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; import { useGetVotingRights, useGetVotingRightsFor, -} from "../../../../hooks/queries/VotingRights"; +} from '../../../../hooks/queries/VotingRights'; import { GetVotingRightsForRequest, GetVotingRightsRequest, -} from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router-dom"; -import { Panel } from "../../../../components/Panel"; -import { hexToText } from "../../../../utils/format"; +} from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router-dom'; +import { Panel } from '../../../../components/Panel'; +import { hexToText } from '../../../../utils/format'; interface SeeVotingRightsFormValues { votingId: number; @@ -243,18 +243,18 @@ export const SeeVotingRights = () => { formState: { isValid }, watch, } = useForm({ - mode: "all", + mode: 'all', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.votingRights.see.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.votingRights.see.input', }); - const { t: tGlobal } = useTranslation("globals"); - const { t: tDetails } = useTranslation("security", { - keyPrefix: "details.votingRights.see.details", + const { t: tGlobal } = useTranslation('globals'); + const { t: tDetails } = useTranslation('security', { + keyPrefix: 'details.votingRights.see.details', }); - const { id = "" } = useParams(); - const accountId = watch("accountId"); - const votingId = watch("votingId"); + const { id = '' } = useParams(); + const accountId = watch('accountId'); + const votingId = watch('votingId'); const getVotingRightsForRequest = new GetVotingRightsForRequest({ securityId: id, @@ -288,7 +288,7 @@ export const SeeVotingRights = () => { refetchGetVotingRights(); }; - const votingIsPending = new Date(votingRights?.recordDate ?? "") < new Date(); + const votingIsPending = new Date(votingRights?.recordDate ?? '') < new Date(); return ( @@ -304,9 +304,9 @@ export const SeeVotingRights = () => { - {tForm("voting.label")}* + {tForm('voting.label')}* - + @@ -319,15 +319,15 @@ export const SeeVotingRights = () => { min: greaterThanZero, }, }} - placeholder={tForm("voting.placeholder")} + placeholder={tForm('voting.placeholder')} /> - {tForm("account.label")}* + {tForm('account.label')}* - + @@ -335,7 +335,7 @@ export const SeeVotingRights = () => { control={control} id="accountId" rules={{ required, isHederaValidAddress }} - placeholder={tForm("account.placeholder")} + placeholder={tForm('account.placeholder')} /> { } type="submit" > - {tGlobal("check")} + {tGlobal('check')} {votingRights && votingRightsFor && ( {votingIsPending - ? tDetails("pending") - : tDetails("number", { + ? tDetails('pending') + : tDetails('number', { number: votingRightsFor.tokenBalance, })} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/VotingRights.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/VotingRights.tsx index 0176c149e..1a23dde7e 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/VotingRights.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/VotingRights.tsx @@ -203,23 +203,23 @@ */ -import { Stack } from "@chakra-ui/react"; -import { Tabs } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { ProgramVotingRights } from "./ProgramVotingRights"; -import { SeeVotingRights } from "./SeeVotingRights"; +import { Stack } from '@chakra-ui/react'; +import { Tabs } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { ProgramVotingRights } from './ProgramVotingRights'; +import { SeeVotingRights } from './SeeVotingRights'; export const VotingRights = () => { - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.votingRights.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.votingRights.tabs', }); return ( , header: tTabs("program") }, - { content: , header: tTabs("see") }, + { content: , header: tTabs('program') }, + { content: , header: tTabs('see') }, ]} isFitted /> diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/ProgramVotingRights.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/ProgramVotingRights.test.tsx index eec29dd65..9e34fb1ab 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/ProgramVotingRights.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/ProgramVotingRights.test.tsx @@ -203,8 +203,8 @@ */ -import { ProgramVotingRights } from "../ProgramVotingRights"; -import { render } from "../../../../../test-utils"; +import { ProgramVotingRights } from '../ProgramVotingRights'; +import { render } from '../../../../../test-utils'; /* import userEvent from "@testing-library/user-event"; import { waitFor } from "@testing-library/react"; @@ -214,7 +214,7 @@ const name = "TestName"; */ describe(`${ProgramVotingRights.name}`, () => { const factoryComponent = () => render(); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/SeeVotingRights.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/SeeVotingRights.test.tsx index 295af00d1..ddaed2d23 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/SeeVotingRights.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/SeeVotingRights.test.tsx @@ -203,34 +203,34 @@ */ -import { SeeVotingRights } from "../SeeVotingRights"; -import { render } from "../../../../../test-utils"; -import userEvent from "@testing-library/user-event"; -import { waitFor } from "@testing-library/react"; +import { SeeVotingRights } from '../SeeVotingRights'; +import { render } from '../../../../../test-utils'; +import userEvent from '@testing-library/user-event'; +import { waitFor } from '@testing-library/react'; -const votingId = "123456"; -const accountId = "0.0.1234567"; +const votingId = '123456'; +const accountId = '0.0.1234567'; // TODO Improve tests when it is connected to SDK describe(`${SeeVotingRights.name}`, () => { const factoryComponent = () => render(); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should fill form", async () => { + test('should fill form', async () => { const component = factoryComponent(); - const submitButton = component.getByTestId("check-button"); + const submitButton = component.getByTestId('check-button'); expect(submitButton).toBeDisabled(); - const votingIdInput = component.getByTestId("votingId"); + const votingIdInput = component.getByTestId('votingId'); await userEvent.type(votingIdInput, votingId); - const accountIdInput = component.getByTestId("accountId"); + const accountIdInput = component.getByTestId('accountId'); await userEvent.type(accountIdInput, accountId); await waitFor(() => { diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/VotingRights.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/VotingRights.test.tsx index c92daeb6a..d4cb74524 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/VotingRights.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/VotingRights/__tests__/VotingRights.test.tsx @@ -203,11 +203,11 @@ */ -import { VotingRights } from "../VotingRights"; -import { render } from "../../../../../test-utils"; +import { VotingRights } from '../VotingRights'; +import { render } from '../../../../../test-utils'; describe(`${VotingRights.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/ActionsButtons.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/ActionsButtons.test.tsx index ff2887303..07d745733 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/ActionsButtons.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/ActionsButtons.test.tsx @@ -203,10 +203,10 @@ */ -import { ActionsButtons } from "../ActionsButtons"; -import { render } from "../../../../test-utils"; -import { useUserStore } from "../../../../store/userStore"; -import { User } from "../../../../utils/constants"; +import { ActionsButtons } from '../ActionsButtons'; +import { render } from '../../../../test-utils'; +import { useUserStore } from '../../../../store/userStore'; +import { User } from '../../../../utils/constants'; const initialStoreState = useUserStore.getState(); @@ -217,7 +217,7 @@ describe(`${ActionsButtons.name}`, () => { const factoryComponent = () => render(); - test("should render correctly admin buttons", () => { + test('should render correctly admin buttons', () => { useUserStore.setState({ ...initialStoreState, type: User.admin, @@ -225,10 +225,10 @@ describe(`${ActionsButtons.name}`, () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("admin"); + expect(component.asFragment()).toMatchSnapshot('admin'); }); - test("should render correctly holder buttons", () => { + test('should render correctly holder buttons', () => { useUserStore.setState({ ...initialStoreState, type: User.holder, @@ -236,6 +236,6 @@ describe(`${ActionsButtons.name}`, () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("holder"); + expect(component.asFragment()).toMatchSnapshot('holder'); }); }); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/AdminActionsButtons.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/AdminActionsButtons.test.tsx index cee1b1ca9..b49db997b 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/AdminActionsButtons.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/AdminActionsButtons.test.tsx @@ -203,30 +203,30 @@ */ -import { AdminActionsButtons } from "../AdminActionsButtons"; -import { render } from "../../../../test-utils"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { SecurityRole } from "../../../../utils/SecurityRole"; -import userEvent from "@testing-library/user-event"; -import { RouterManager } from "../../../../router/RouterManager"; -import { RouteName } from "../../../../router/RouteName"; - -jest.mock("../../../../router/RouterManager", () => ({ +import { AdminActionsButtons } from '../AdminActionsButtons'; +import { render } from '../../../../test-utils'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { SecurityRole } from '../../../../utils/SecurityRole'; +import userEvent from '@testing-library/user-event'; +import { RouterManager } from '../../../../router/RouterManager'; +import { RouteName } from '../../../../router/RouteName'; + +jest.mock('../../../../router/RouterManager', () => ({ RouterManager: { - ...jest.requireActual("../../../../router/RouterManager").RouterManager, + ...jest.requireActual('../../../../router/RouterManager').RouterManager, getUrl: jest.fn(), to: jest.fn(), }, })); -jest.mock("../../../../hooks/queries/usePauseSecurity", () => ({ +jest.mock('../../../../hooks/queries/usePauseSecurity', () => ({ usePauseSecurity: jest.fn(() => ({ mutate: jest.fn(), isLoading: false, })), })); -jest.mock("../../../../hooks/queries/useUnpauseSecurity", () => ({ +jest.mock('../../../../hooks/queries/useUnpauseSecurity', () => ({ useUnpauseSecurity: jest.fn(() => ({ mutate: jest.fn(), isLoading: false, @@ -244,30 +244,30 @@ describe(`${AdminActionsButtons.name}`, () => { const factoryComponent = () => render(); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("defaultAdminRole"); + expect(component.asFragment()).toMatchSnapshot('defaultAdminRole'); }); - test("by default admin has not minter role", () => { + test('by default admin has not minter role', () => { const component = factoryComponent(); - expect(component.queryByTestId("mint-button")).not.toBeInTheDocument(); + expect(component.queryByTestId('mint-button')).not.toBeInTheDocument(); }); - test("by default admin has not controller role", () => { + test('by default admin has not controller role', () => { const component = factoryComponent(); expect( - component.queryByTestId("force-transfer-button"), + component.queryByTestId('force-transfer-button'), ).not.toBeInTheDocument(); expect( - component.queryByTestId("force-redeem-button"), + component.queryByTestId('force-redeem-button'), ).not.toBeInTheDocument(); }); - describe("Admin has minter role", () => { + describe('Admin has minter role', () => { beforeEach(() => { useRolesStore.setState({ ...initialStoreState, @@ -275,22 +275,22 @@ describe(`${AdminActionsButtons.name}`, () => { }); }); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("minterRole"); + expect(component.asFragment()).toMatchSnapshot('minterRole'); }); - test("should show mint button", () => { + test('should show mint button', () => { const component = factoryComponent(); - expect(component.getByTestId("mint-button")).toBeInTheDocument(); + expect(component.getByTestId('mint-button')).toBeInTheDocument(); }); - test("if click on mint button should redirect to mint page", async () => { + test('if click on mint button should redirect to mint page', async () => { const component = factoryComponent(); - const button = component.getByTestId("mint-button"); + const button = component.getByTestId('mint-button'); expect(button).toBeInTheDocument(); await userEvent.click(button); @@ -298,12 +298,12 @@ describe(`${AdminActionsButtons.name}`, () => { expect(RouterManager.getUrl).toHaveBeenCalled(); expect(RouterManager.getUrl).toHaveBeenCalledWith( RouteName.DigitalSecurityMint, - { params: { id: "" } }, + { params: { id: '' } }, ); }); }); - describe("Admin has controller role", () => { + describe('Admin has controller role', () => { beforeEach(() => { useRolesStore.setState({ ...initialStoreState, @@ -311,25 +311,25 @@ describe(`${AdminActionsButtons.name}`, () => { }); }); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("controllerRole"); + expect(component.asFragment()).toMatchSnapshot('controllerRole'); }); - test("should show force transfer and force redeem buttons", () => { + test('should show force transfer and force redeem buttons', () => { const component = factoryComponent(); expect( - component.getByTestId("force-transfer-button"), + component.getByTestId('force-transfer-button'), ).toBeInTheDocument(); - expect(component.getByTestId("force-redeem-button")).toBeInTheDocument(); + expect(component.getByTestId('force-redeem-button')).toBeInTheDocument(); }); - test("if click on force transfer button should redirect to force transfer page", async () => { + test('if click on force transfer button should redirect to force transfer page', async () => { const component = factoryComponent(); - const button = component.getByTestId("force-transfer-button"); + const button = component.getByTestId('force-transfer-button'); expect(button).toBeInTheDocument(); await userEvent.click(button); @@ -337,14 +337,14 @@ describe(`${AdminActionsButtons.name}`, () => { expect(RouterManager.getUrl).toHaveBeenCalled(); expect(RouterManager.getUrl).toHaveBeenCalledWith( RouteName.DigitalSecurityForceTransfer, - { params: { id: "" } }, + { params: { id: '' } }, ); }); - test("if click on force redeem button should redirect to force redeem page", async () => { + test('if click on force redeem button should redirect to force redeem page', async () => { const component = factoryComponent(); - const button = component.getByTestId("force-redeem-button"); + const button = component.getByTestId('force-redeem-button'); expect(button).toBeInTheDocument(); await userEvent.click(button); @@ -352,7 +352,7 @@ describe(`${AdminActionsButtons.name}`, () => { expect(RouterManager.getUrl).toHaveBeenCalled(); expect(RouterManager.getUrl).toHaveBeenCalledWith( RouteName.DigitalSecurityForceRedeem, - { params: { id: "" } }, + { params: { id: '' } }, ); }); }); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/AdminControlActionsButtons.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/AdminControlActionsButtons.test.tsx index d5c87e7ce..465c84261 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/AdminControlActionsButtons.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/AdminControlActionsButtons.test.tsx @@ -203,27 +203,27 @@ */ -import { render } from "../../../../test-utils"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { SecurityRole } from "../../../../utils/SecurityRole"; -import { AdminControlActionsButtons } from "../AdminControlActionsButtons"; +import { render } from '../../../../test-utils'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { SecurityRole } from '../../../../utils/SecurityRole'; +import { AdminControlActionsButtons } from '../AdminControlActionsButtons'; -jest.mock("../../../../router/RouterManager", () => ({ +jest.mock('../../../../router/RouterManager', () => ({ RouterManager: { - ...jest.requireActual("../../../../router/RouterManager").RouterManager, + ...jest.requireActual('../../../../router/RouterManager').RouterManager, getUrl: jest.fn(), to: jest.fn(), }, })); -jest.mock("../../../../hooks/queries/usePauseSecurity", () => ({ +jest.mock('../../../../hooks/queries/usePauseSecurity', () => ({ usePauseSecurity: jest.fn(() => ({ mutate: jest.fn(), isLoading: false, })), })); -jest.mock("../../../../hooks/queries/useUnpauseSecurity", () => ({ +jest.mock('../../../../hooks/queries/useUnpauseSecurity', () => ({ useUnpauseSecurity: jest.fn(() => ({ mutate: jest.fn(), isLoading: false, @@ -241,19 +241,19 @@ describe(`${AdminControlActionsButtons.name}`, () => { const factoryComponent = () => render(); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("defaultAdminRole"); + expect(component.asFragment()).toMatchSnapshot('defaultAdminRole'); }); - test("by default admin has not freeze manager role", () => { + test('by default admin has not freeze manager role', () => { const component = factoryComponent(); - expect(component.queryByTestId("freeze-button")).not.toBeInTheDocument(); + expect(component.queryByTestId('freeze-button')).not.toBeInTheDocument(); }); - describe("Admin has freeze manager role", () => { + describe('Admin has freeze manager role', () => { beforeEach(() => { useRolesStore.setState({ ...initialStoreState, @@ -261,16 +261,16 @@ describe(`${AdminControlActionsButtons.name}`, () => { }); }); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("minterRole"); + expect(component.asFragment()).toMatchSnapshot('minterRole'); }); - test("should show freeze manager button", () => { + test('should show freeze manager button', () => { const component = factoryComponent(); - expect(component.getByTestId("freeze-button")).toBeInTheDocument(); + expect(component.getByTestId('freeze-button')).toBeInTheDocument(); }); }); }); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/Balance.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/Balance.test.tsx index b2905e054..9f38846e1 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/Balance.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/Balance.test.tsx @@ -203,15 +203,15 @@ */ -import { Balance } from "../Balance"; -import { render } from "../../../../test-utils"; -import { SecurityViewModel } from "@hashgraph/asset-tokenization-sdk"; +import { Balance } from '../Balance'; +import { render } from '../../../../test-utils'; +import { SecurityViewModel } from '@hashgraph/asset-tokenization-sdk'; // TODO Improve tests when it is connected to SDK describe(`${Balance.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const detailsResponse: SecurityViewModel = { - name: "test", + name: 'test', }; const component = render( diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/ControlList.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/ControlList.test.tsx index 377d89dd5..309a0fcff 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/ControlList.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/ControlList.test.tsx @@ -203,24 +203,24 @@ */ -import { ControlList } from "../ControlList"; -import { render } from "../../../../test-utils"; -import { useSecurityStore } from "../../../../store/securityStore"; +import { ControlList } from '../ControlList'; +import { render } from '../../../../test-utils'; +import { useSecurityStore } from '../../../../store/securityStore'; const initialStoreState = useSecurityStore.getState(); const testSecurity = { decimals: 18, - diamondAddress: "0.0.5863436", - evmDiamondAddress: "0x83887e04c70e0b857738f89d12bf018bc0fe0310", + diamondAddress: '0.0.5863436', + evmDiamondAddress: '0x83887e04c70e0b857738f89d12bf018bc0fe0310', isControllable: true, isWhiteList: true, - isin: "123456789102", - name: "Equity Total", + isin: '123456789102', + name: 'Equity Total', paused: false, - securityType: "EQUITY", - symbol: "ET", - totalSupply: "1150000000000000000000", + securityType: 'EQUITY', + symbol: 'ET', + totalSupply: '1150000000000000000000', }; describe(`${ControlList.name}`, () => { @@ -236,13 +236,13 @@ describe(`${ControlList.name}`, () => { const factoryComponent = () => render(); - test("should render correctly as whiteList", () => { + test('should render correctly as whiteList', () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("whiteList"); + expect(component.asFragment()).toMatchSnapshot('whiteList'); }); - test("should render correctly as blockList", () => { + test('should render correctly as blockList', () => { useSecurityStore.setState( { ...initialStoreState, @@ -252,12 +252,12 @@ describe(`${ControlList.name}`, () => { ); const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("blockList"); + expect(component.asFragment()).toMatchSnapshot('blockList'); }); - test("should render table with list", () => { + test('should render table with list', () => { const component = factoryComponent(); - expect(component.getByTestId("table-control-list")).toBeInTheDocument(); + expect(component.getByTestId('table-control-list')).toBeInTheDocument(); }); }); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/DangerZone.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/DangerZone.test.tsx index aecfe0137..e97c3c814 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/DangerZone.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/DangerZone.test.tsx @@ -1,27 +1,27 @@ -import { render } from "../../../../test-utils"; -import { useRolesStore } from "../../../../store/rolesStore"; -import { SecurityRole } from "../../../../utils/SecurityRole"; -import userEvent from "@testing-library/user-event"; -import { usePauseSecurity } from "../../../../hooks/queries/usePauseSecurity"; -import { useUnpauseSecurity } from "../../../../hooks/queries/useUnpauseSecurity"; -import { DangerZone } from "../DangerZone"; - -jest.mock("../../../../router/RouterManager", () => ({ +import { render } from '../../../../test-utils'; +import { useRolesStore } from '../../../../store/rolesStore'; +import { SecurityRole } from '../../../../utils/SecurityRole'; +import userEvent from '@testing-library/user-event'; +import { usePauseSecurity } from '../../../../hooks/queries/usePauseSecurity'; +import { useUnpauseSecurity } from '../../../../hooks/queries/useUnpauseSecurity'; +import { DangerZone } from '../DangerZone'; + +jest.mock('../../../../router/RouterManager', () => ({ RouterManager: { - ...jest.requireActual("../../../../router/RouterManager").RouterManager, + ...jest.requireActual('../../../../router/RouterManager').RouterManager, getUrl: jest.fn(), to: jest.fn(), }, })); -jest.mock("../../../../hooks/queries/usePauseSecurity", () => ({ +jest.mock('../../../../hooks/queries/usePauseSecurity', () => ({ usePauseSecurity: jest.fn(() => ({ mutate: jest.fn(), isLoading: false, })), })); -jest.mock("../../../../hooks/queries/useUnpauseSecurity", () => ({ +jest.mock('../../../../hooks/queries/useUnpauseSecurity', () => ({ useUnpauseSecurity: jest.fn(() => ({ mutate: jest.fn(), isLoading: false, @@ -39,19 +39,19 @@ describe(`${DangerZone.name}`, () => { const factoryComponent = () => render(); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("defaultAdminRole"); + expect(component.asFragment()).toMatchSnapshot('defaultAdminRole'); }); - test("by default admin has not pauser role", () => { + test('by default admin has not pauser role', () => { const component = factoryComponent(); - expect(component.queryByTestId("pauser-button")).not.toBeInTheDocument(); + expect(component.queryByTestId('pauser-button')).not.toBeInTheDocument(); }); - describe("Admin has pauser role", () => { + describe('Admin has pauser role', () => { beforeEach(() => { useRolesStore.setState({ ...initialStoreState, @@ -59,22 +59,22 @@ describe(`${DangerZone.name}`, () => { }); }); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("pauserRole"); + expect(component.asFragment()).toMatchSnapshot('pauserRole'); }); - test("should show pauser toogle", () => { + test('should show pauser toogle', () => { const component = factoryComponent(); - expect(component.getByTestId("pauser-button")).toBeInTheDocument(); + expect(component.getByTestId('pauser-button')).toBeInTheDocument(); }); - test("if click on pauser button should call to pause or unpause security function", async () => { + test('if click on pauser button should call to pause or unpause security function', async () => { const component = factoryComponent(); - const button = component.getByTestId("pauser-button"); + const button = component.getByTestId('pauser-button'); expect(button).toBeInTheDocument(); await userEvent.click(button); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/Details.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/Details.test.tsx index db4bdf5fe..e5dbb7c14 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/Details.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/Details.test.tsx @@ -203,19 +203,19 @@ */ -import { Details } from "../Details"; -import { render } from "../../../../test-utils"; +import { Details } from '../Details'; +import { render } from '../../../../test-utils'; import { BondDetailsViewModel, EquityDetailsViewModel, SecurityViewModel, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; // TODO Improve tests when it is connected to SDK describe(`${Details.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const detailsResponse: SecurityViewModel = { - name: "test", + name: 'test', }; const component = render( diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/HolderActionsButtons.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/HolderActionsButtons.test.tsx index 3ca4568f3..278a9eccf 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/HolderActionsButtons.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/HolderActionsButtons.test.tsx @@ -203,15 +203,15 @@ */ -import { HolderActionsButtons } from "../HolderActionsButtons"; -import { render } from "../../../../test-utils"; -import userEvent from "@testing-library/user-event"; -import { RouteName } from "../../../../router/RouteName"; -import { RouterManager } from "../../../../router/RouterManager"; +import { HolderActionsButtons } from '../HolderActionsButtons'; +import { render } from '../../../../test-utils'; +import userEvent from '@testing-library/user-event'; +import { RouteName } from '../../../../router/RouteName'; +import { RouterManager } from '../../../../router/RouterManager'; -jest.mock("../../../../router/RouterManager", () => ({ +jest.mock('../../../../router/RouterManager', () => ({ RouterManager: { - ...jest.requireActual("../../../../router/RouterManager").RouterManager, + ...jest.requireActual('../../../../router/RouterManager').RouterManager, getUrl: jest.fn(), }, })); @@ -223,47 +223,47 @@ describe(`${HolderActionsButtons}.name`, () => { const factoryComponent = () => render(); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should have a transfer button", () => { + test('should have a transfer button', () => { const component = factoryComponent(); - expect(component.getByTestId("transfer-button")).toBeInTheDocument(); + expect(component.getByTestId('transfer-button')).toBeInTheDocument(); }); - test("transfer button should redirect to transfer page", async () => { + test('transfer button should redirect to transfer page', async () => { const component = factoryComponent(); - const button = component.getByTestId("transfer-button"); + const button = component.getByTestId('transfer-button'); await userEvent.click(button); expect(RouterManager.getUrl).toHaveBeenCalled(); expect(RouterManager.getUrl).toHaveBeenCalledWith( RouteName.DigitalSecurityTransfer, - { params: { id: "" } }, + { params: { id: '' } }, ); }); - test("should have a redeem button", () => { + test('should have a redeem button', () => { const component = factoryComponent(); - expect(component.getByTestId("redeem-button")).toBeInTheDocument(); + expect(component.getByTestId('redeem-button')).toBeInTheDocument(); }); - test("redeem button should redirect to redeem page", async () => { + test('redeem button should redirect to redeem page', async () => { const component = factoryComponent(); - const button = component.getByTestId("redeem-button"); + const button = component.getByTestId('redeem-button'); await userEvent.click(button); expect(RouterManager.getUrl).toHaveBeenCalled(); expect(RouterManager.getUrl).toHaveBeenCalledWith( RouteName.DigitalSecurityRedeem, - { params: { id: "" } }, + { params: { id: '' } }, ); }); }); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/SecurityDetails.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/SecurityDetails.test.tsx index a1f0d7984..bb32166f8 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/SecurityDetails.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/SecurityDetails.test.tsx @@ -203,24 +203,24 @@ */ -import { SecurityDetails } from "../SecurityDetails"; -import { render } from "../../../../test-utils"; -import { useSecurityStore } from "../../../../store/securityStore"; +import { SecurityDetails } from '../SecurityDetails'; +import { render } from '../../../../test-utils'; +import { useSecurityStore } from '../../../../store/securityStore'; const initialStoreState = useSecurityStore.getState(); const testSecurity = { decimals: 18, - diamondAddress: "0.0.5863436", - evmDiamondAddress: "0x83887e04c70e0b857738f89d12bf018bc0fe0310", + diamondAddress: '0.0.5863436', + evmDiamondAddress: '0x83887e04c70e0b857738f89d12bf018bc0fe0310', isControllable: true, isWhiteList: false, - isin: "123456789102", - name: "Equity Total", + isin: '123456789102', + name: 'Equity Total', paused: false, - securityType: "EQUITY", - symbol: "ET", - totalSupply: "1150000000000000000000", + securityType: 'EQUITY', + symbol: 'ET', + totalSupply: '1150000000000000000000', }; describe(`${SecurityDetails.name}`, () => { @@ -236,13 +236,13 @@ describe(`${SecurityDetails.name}`, () => { const factoryComponent = () => render(); - test("should render correctly", () => { + test('should render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should show loading state", () => { + test('should show loading state', () => { useSecurityStore.setState( { ...initialStoreState, @@ -253,10 +253,10 @@ describe(`${SecurityDetails.name}`, () => { const component = factoryComponent(); - expect(component.asFragment()).toMatchSnapshot("loading"); + expect(component.asFragment()).toMatchSnapshot('loading'); }); - test("total supply should be formatted", () => { + test('total supply should be formatted', () => { useSecurityStore.setState( { ...initialStoreState, @@ -267,12 +267,12 @@ describe(`${SecurityDetails.name}`, () => { const component = factoryComponent(); const totalSupply = component.getByTestId( - "definition-list-item-Total Supply", + 'definition-list-item-Total Supply', ); expect(totalSupply).toHaveTextContent( - "Total Supply1150000000000000000000 ET", + 'Total Supply1150000000000000000000 ET', ); - expect(component.asFragment()).toMatchSnapshot("loading"); + expect(component.asFragment()).toMatchSnapshot('loading'); }); }); diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/__snapshots__/HolderActionsButtons.test.tsx.snap b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/__snapshots__/HolderActionsButtons.test.tsx.snap index b527cc69e..279daf007 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/__snapshots__/HolderActionsButtons.test.tsx.snap +++ b/apps/ats/web/src/views/DigitalSecurityDetails/Components/__tests__/__snapshots__/HolderActionsButtons.test.tsx.snap @@ -1,18 +1,18 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`() => { - const { t: tButtons } = (0, react_i18next_1.useTranslation)("security", { - keyPrefix: "details.actions", + const { t: tButtons } = (0, react_i18next_1.useTranslation)('security', { + keyPrefix: 'details.actions', }); - const { id = "" } = (0, react_router_dom_1.useParams)(); + const { id = '' } = (0, react_router_dom_1.useParams)(); const { data: isPaused } = (0, useGetSecurityDetails_1.useGetIsPaused)(new asset_tokenization_sdk_1.PauseRequest({ securityId: id })); if (isPaused) return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}); return ((0, jsx_runtime_1.jsxs)(react_1.HStack, { "data-testid": "holder-actions-buttons", w: "full", justifyContent: "flex-end", gap: 4, children: [(0, jsx_runtime_1.jsx)(io_bricks_ui_1.Button, { "data-testid": "transfer-button", as: react_router_dom_1.Link, to: RouterManager_1.RouterManager.getUrl(RouteName_1.RouteName.DigitalSecurityTransfer, { params: { id }, - }), variant: "secondary", children: tButtons("transfer") }), (0, jsx_runtime_1.jsx)(io_bricks_ui_1.Button, { "data-testid": "redeem-button", as: react_router_dom_1.Link, to: RouterManager_1.RouterManager.getUrl(RouteName_1.RouteName.DigitalSecurityRedeem, { + }), variant: "secondary", children: tButtons('transfer') }), (0, jsx_runtime_1.jsx)(io_bricks_ui_1.Button, { "data-testid": "redeem-button", as: react_router_dom_1.Link, to: RouterManager_1.RouterManager.getUrl(RouteName_1.RouteName.DigitalSecurityRedeem, { params: { id }, - }), variant: "secondary", children: tButtons("redeem") })] })); + }), variant: "secondary", children: tButtons('redeem') })] })); }.name should render correctly 1`] = ` { - const { t: tHeader } = useTranslation("security", { - keyPrefix: "details.header", + const { t: tHeader } = useTranslation('security', { + keyPrefix: 'details.header', }); - const { t: tTabs } = useTranslation("security", { - keyPrefix: "details.tabs", + const { t: tTabs } = useTranslation('security', { + keyPrefix: 'details.tabs', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { address: walletAddress } = useWalletStore(); const { type: userType } = useUserStore(); @@ -271,7 +271,7 @@ export const DigitalSecurityDetails = () => { }), { retry: false, - enabled: securityDetails?.type === "EQUITY", + enabled: securityDetails?.type === 'EQUITY', }, ); @@ -282,7 +282,7 @@ export const DigitalSecurityDetails = () => { }), { retry: false, - enabled: securityDetails?.type === "BOND", + enabled: securityDetails?.type === 'BOND', }, ); @@ -332,11 +332,11 @@ export const DigitalSecurityDetails = () => { bondDetailsResponse={bondDetails ?? ({} as BondDetailsViewModel)} /> ), - header: tTabs("details"), + header: tTabs('details'), }, { content: , - header: tTabs("balance"), + header: tTabs('balance'), }, ]; @@ -354,11 +354,11 @@ export const DigitalSecurityDetails = () => { bondDetailsResponse={bondDetails ?? ({} as BondDetailsViewModel)} /> ), - header: tTabs("details"), + header: tTabs('details'), }, { content: , - header: tTabs("balance"), + header: tTabs('balance'), }, ]; @@ -433,21 +433,21 @@ export const DigitalSecurityDetails = () => { if (showManagementTab) { adminTabs.push({ content: , - header: tTabs("management"), + header: tTabs('management'), }); } if (showOperationTab) { adminTabs.push({ content: , - header: tTabs("operations"), + header: tTabs('operations'), }); } if (showCorporateActionsTab) { adminTabs.push({ content: , - header: tTabs("corporateActions"), + header: tTabs('corporateActions'), }); } @@ -456,14 +456,14 @@ export const DigitalSecurityDetails = () => { content: ( ), - header: tTabs("control"), + header: tTabs('control'), }); } if (showLoadingTab) { adminTabs.push({ content: <>>, - header: "Loading...", + header: 'Loading...', }); } @@ -474,7 +474,7 @@ export const DigitalSecurityDetails = () => { return ( <> - + {isPaused && ( )} diff --git a/apps/ats/web/src/views/DigitalSecurityDetails/__tests__/DigitalSecurityDetails.test.tsx b/apps/ats/web/src/views/DigitalSecurityDetails/__tests__/DigitalSecurityDetails.test.tsx index 775459ab4..ed34182ba 100644 --- a/apps/ats/web/src/views/DigitalSecurityDetails/__tests__/DigitalSecurityDetails.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityDetails/__tests__/DigitalSecurityDetails.test.tsx @@ -203,11 +203,11 @@ */ -import { DigitalSecurityDetails } from "../DigitalSecurityDetails"; -import { render } from "../../../test-utils"; +import { DigitalSecurityDetails } from '../DigitalSecurityDetails'; +import { render } from '../../../test-utils'; describe(`${DigitalSecurityDetails.name}`, () => { - test("render correctly", () => { + test('render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); diff --git a/apps/ats/web/src/views/DigitalSecurityForceRedeem/DigitalSecurityForceRedeem.tsx b/apps/ats/web/src/views/DigitalSecurityForceRedeem/DigitalSecurityForceRedeem.tsx index a03e71dd9..d1d3de31f 100644 --- a/apps/ats/web/src/views/DigitalSecurityForceRedeem/DigitalSecurityForceRedeem.tsx +++ b/apps/ats/web/src/views/DigitalSecurityForceRedeem/DigitalSecurityForceRedeem.tsx @@ -203,25 +203,25 @@ */ -import { HStack, Stack, VStack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { useTranslation } from "react-i18next"; +import { HStack, Stack, VStack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { useTranslation } from 'react-i18next'; import { Text, InputController, InputNumberController, Button, -} from "io-bricks-ui"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { required, min } from "../../utils/rules"; -import { CancelButton } from "../../components/CancelButton"; -import { useParams } from "react-router"; -import { ForceRedeemRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useForceRedeemSecurity } from "../../hooks/queries/useForceRedeemSecurity"; -import { DetailsBalancePanel } from "../../components/DetailsBalancePanel"; -import { useWalletStore } from "../../store/walletStore"; -import { useDetailsBalancePanel } from "../../hooks/useDetailsBalancePanel"; -import { useSecurityStore } from "../../store/securityStore"; +} from 'io-bricks-ui'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { required, min } from '../../utils/rules'; +import { CancelButton } from '../../components/CancelButton'; +import { useParams } from 'react-router'; +import { ForceRedeemRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useForceRedeemSecurity } from '../../hooks/queries/useForceRedeemSecurity'; +import { DetailsBalancePanel } from '../../components/DetailsBalancePanel'; +import { useWalletStore } from '../../store/walletStore'; +import { useDetailsBalancePanel } from '../../hooks/useDetailsBalancePanel'; +import { useSecurityStore } from '../../store/securityStore'; interface ForceRedeemFormValues { source: string; @@ -229,22 +229,22 @@ interface ForceRedeemFormValues { } export const DigitalSecurityForceRedeem = () => { - const { t: tHeader } = useTranslation("security", { - keyPrefix: "forceRedeem.header", + const { t: tHeader } = useTranslation('security', { + keyPrefix: 'forceRedeem.header', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "forceRedeem.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'forceRedeem.input', }); - const { t } = useTranslation("security", { keyPrefix: "forceRedeem" }); - const { t: tGlobal } = useTranslation("globals"); + const { t } = useTranslation('security', { keyPrefix: 'forceRedeem' }); + const { t: tGlobal } = useTranslation('globals'); const { control, formState, handleSubmit, reset } = useForm({ - mode: "all", + mode: 'all', }); - const { t: TButton } = useTranslation("security", { - keyPrefix: "forceRedeem.button", + const { t: TButton } = useTranslation('security', { + keyPrefix: 'forceRedeem.button', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { details } = useSecurityStore(); const { address: walletAddress } = useWalletStore(); @@ -273,7 +273,7 @@ export const DigitalSecurityForceRedeem = () => { return ( <> - + { as="form" onSubmit={handleSubmit(submit)} > - {t("title")} + {t('title')} - {t("subtitle")} + {t('subtitle')} - {tGlobal("mandatoryFields")} + {tGlobal('mandatoryFields')} { control={control} id="source" rules={{ required }} - label={tForm("source.label")} - placeholder={tForm("source.placeholder")} + label={tForm('source.label')} + placeholder={tForm('source.placeholder')} size="md" /> @@ -321,8 +321,8 @@ export const DigitalSecurityForceRedeem = () => { }} size="md" allowNegative={false} - label={tForm("amount.label")} - placeholder={tForm("amount.placeholder")} + label={tForm('amount.label')} + placeholder={tForm('amount.placeholder')} decimalScale={details?.decimals} fixedDecimalScale={true} thousandSeparator="," @@ -334,7 +334,7 @@ export const DigitalSecurityForceRedeem = () => { w="full" mt={10} align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > { minW="unset" isLoading={isLoading} > - {TButton("accept")} + {TButton('accept')} diff --git a/apps/ats/web/src/views/DigitalSecurityForceRedeem/__tests__/DigitalSecurityForceRedeem.test.tsx b/apps/ats/web/src/views/DigitalSecurityForceRedeem/__tests__/DigitalSecurityForceRedeem.test.tsx index 953412f71..8a50bd9ba 100644 --- a/apps/ats/web/src/views/DigitalSecurityForceRedeem/__tests__/DigitalSecurityForceRedeem.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityForceRedeem/__tests__/DigitalSecurityForceRedeem.test.tsx @@ -203,38 +203,38 @@ */ -import { DigitalSecurityForceRedeem } from "../DigitalSecurityForceRedeem"; -import { render } from "../../../test-utils"; +import { DigitalSecurityForceRedeem } from '../DigitalSecurityForceRedeem'; +import { render } from '../../../test-utils'; describe(`${DigitalSecurityForceRedeem.name}`, () => { const factoryComponent = () => { return render(); }; - test("render correctly", () => { + test('render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should show Goback button", () => { + test('should show Goback button', () => { const component = factoryComponent(); - const breadcrumbs = component.getByTestId("go-back-button"); + const breadcrumbs = component.getByTestId('go-back-button'); expect(breadcrumbs).toBeInTheDocument(); }); - test("should show breadcrumbs", () => { + test('should show breadcrumbs', () => { const component = factoryComponent(); - const breadcrumbs = component.getByTestId("breadcrumb-desktop"); + const breadcrumbs = component.getByTestId('breadcrumb-desktop'); expect(breadcrumbs).toBeInTheDocument(); }); - test("should form be rendered properly", () => { + test('should form be rendered properly', () => { const component = factoryComponent(); - const form = component.getByTestId("force-redeem-form"); + const form = component.getByTestId('force-redeem-form'); expect(form).toBeInTheDocument(); }); }); diff --git a/apps/ats/web/src/views/DigitalSecurityForceTransfer/DigitalSecurityForceTransfer.tsx b/apps/ats/web/src/views/DigitalSecurityForceTransfer/DigitalSecurityForceTransfer.tsx index aad459334..e3d3a17eb 100644 --- a/apps/ats/web/src/views/DigitalSecurityForceTransfer/DigitalSecurityForceTransfer.tsx +++ b/apps/ats/web/src/views/DigitalSecurityForceTransfer/DigitalSecurityForceTransfer.tsx @@ -203,25 +203,25 @@ */ -import { HStack, Stack, VStack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { useTranslation } from "react-i18next"; +import { HStack, Stack, VStack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { useTranslation } from 'react-i18next'; import { Text, InputController, InputNumberController, Button, -} from "io-bricks-ui"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { required, min } from "../../utils/rules"; -import { CancelButton } from "../../components/CancelButton"; -import { ForceTransferRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router"; -import { useForceTransferSecurity } from "../../hooks/queries/useForceTransferSecurity"; -import { DetailsBalancePanel } from "../../components/DetailsBalancePanel"; -import { useWalletStore } from "../../store/walletStore"; -import { useDetailsBalancePanel } from "../../hooks/useDetailsBalancePanel"; -import { useSecurityStore } from "../../store/securityStore"; +} from 'io-bricks-ui'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { required, min } from '../../utils/rules'; +import { CancelButton } from '../../components/CancelButton'; +import { ForceTransferRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router'; +import { useForceTransferSecurity } from '../../hooks/queries/useForceTransferSecurity'; +import { DetailsBalancePanel } from '../../components/DetailsBalancePanel'; +import { useWalletStore } from '../../store/walletStore'; +import { useDetailsBalancePanel } from '../../hooks/useDetailsBalancePanel'; +import { useSecurityStore } from '../../store/securityStore'; interface ForceTransferFormValues { source: string; @@ -230,20 +230,20 @@ interface ForceTransferFormValues { } export const DigitalSecurityForceTransfer = () => { - const { t: tHeader } = useTranslation("security", { - keyPrefix: "forceTransfer.header", + const { t: tHeader } = useTranslation('security', { + keyPrefix: 'forceTransfer.header', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "forceTransfer.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'forceTransfer.input', }); - const { t } = useTranslation("security", { keyPrefix: "forceTransfer" }); - const { t: tGlobal } = useTranslation("globals"); + const { t } = useTranslation('security', { keyPrefix: 'forceTransfer' }); + const { t: tGlobal } = useTranslation('globals'); const { control, formState, handleSubmit, reset } = - useForm({ mode: "all" }); - const { t: tButton } = useTranslation("security", { - keyPrefix: "forceTransfer.button", + useForm({ mode: 'all' }); + const { t: tButton } = useTranslation('security', { + keyPrefix: 'forceTransfer.button', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { details } = useSecurityStore(); const { address: walletAddress } = useWalletStore(); @@ -275,7 +275,7 @@ export const DigitalSecurityForceTransfer = () => { return ( <> - + { as="form" onSubmit={handleSubmit(submit)} > - {t("title")} + {t('title')} - {t("subtitle")} + {t('subtitle')} - {tGlobal("mandatoryFields")} + {tGlobal('mandatoryFields')} { control={control} id="source" rules={{ required }} - label={tForm("source.label")} - placeholder={tForm("source.placeholder")} + label={tForm('source.label')} + placeholder={tForm('source.placeholder')} size="md" /> @@ -318,8 +318,8 @@ export const DigitalSecurityForceTransfer = () => { control={control} id="destination" rules={{ required }} - label={tForm("destination.label")} - placeholder={tForm("destination.placeholder")} + label={tForm('destination.label')} + placeholder={tForm('destination.placeholder')} size="md" /> @@ -334,8 +334,8 @@ export const DigitalSecurityForceTransfer = () => { }} size="md" allowNegative={false} - label={tForm("amount.label")} - placeholder={tForm("amount.placeholder")} + label={tForm('amount.label')} + placeholder={tForm('amount.placeholder')} decimalScale={details?.decimals} fixedDecimalScale={true} thousandSeparator="," @@ -347,7 +347,7 @@ export const DigitalSecurityForceTransfer = () => { w="full" mt={10} align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > { minW="unset" isLoading={isLoading} > - {tButton("accept")} + {tButton('accept')} diff --git a/apps/ats/web/src/views/DigitalSecurityForceTransfer/__tests__/DigitalSecurityForceTransfer.test.tsx b/apps/ats/web/src/views/DigitalSecurityForceTransfer/__tests__/DigitalSecurityForceTransfer.test.tsx index f06ce2b09..30024a333 100644 --- a/apps/ats/web/src/views/DigitalSecurityForceTransfer/__tests__/DigitalSecurityForceTransfer.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityForceTransfer/__tests__/DigitalSecurityForceTransfer.test.tsx @@ -203,38 +203,38 @@ */ -import { DigitalSecurityForceTransfer } from "../DigitalSecurityForceTransfer"; -import { render } from "../../../test-utils"; +import { DigitalSecurityForceTransfer } from '../DigitalSecurityForceTransfer'; +import { render } from '../../../test-utils'; describe(`${DigitalSecurityForceTransfer.name}`, () => { const factoryComponent = () => { return render(); }; - test("render correctly", () => { + test('render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should show Goback button", () => { + test('should show Goback button', () => { const component = factoryComponent(); - const breadcrumbs = component.getByTestId("go-back-button"); + const breadcrumbs = component.getByTestId('go-back-button'); expect(breadcrumbs).toBeInTheDocument(); }); - test("should show breadcrumbs", () => { + test('should show breadcrumbs', () => { const component = factoryComponent(); - const breadcrumbs = component.getByTestId("breadcrumb-desktop"); + const breadcrumbs = component.getByTestId('breadcrumb-desktop'); expect(breadcrumbs).toBeInTheDocument(); }); - test("should form be rendered properly", () => { + test('should form be rendered properly', () => { const component = factoryComponent(); - const form = component.getByTestId("force-transfer-form"); + const form = component.getByTestId('force-transfer-form'); expect(form).toBeInTheDocument(); }); }); diff --git a/apps/ats/web/src/views/DigitalSecurityFreeze/DigitalSecurityFreeze.tsx b/apps/ats/web/src/views/DigitalSecurityFreeze/DigitalSecurityFreeze.tsx index 0fc93afc5..6cc8c99a9 100644 --- a/apps/ats/web/src/views/DigitalSecurityFreeze/DigitalSecurityFreeze.tsx +++ b/apps/ats/web/src/views/DigitalSecurityFreeze/DigitalSecurityFreeze.tsx @@ -202,10 +202,10 @@ limitations under the License. */ -import { useWatch } from "react-hook-form"; -import { HStack, Stack, VStack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { useTranslation } from "react-i18next"; +import { useWatch } from 'react-hook-form'; +import { HStack, Stack, VStack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { useTranslation } from 'react-i18next'; import { Text, InputController, @@ -214,24 +214,24 @@ import { ToggleController, Tooltip, PhosphorIcon, -} from "io-bricks-ui"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { required, min } from "../../utils/rules"; -import { CancelButton } from "../../components/CancelButton"; -import { useParams } from "react-router"; -import { DetailsBalancePanel } from "../../components/DetailsBalancePanel"; -import { useDetailsBalancePanel } from "../../hooks/useDetailsBalancePanel"; -import { useWalletStore } from "../../store/walletStore"; -import { useSecurityStore } from "../../store/securityStore"; -import { Info } from "@phosphor-icons/react"; +} from 'io-bricks-ui'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { required, min } from '../../utils/rules'; +import { CancelButton } from '../../components/CancelButton'; +import { useParams } from 'react-router'; +import { DetailsBalancePanel } from '../../components/DetailsBalancePanel'; +import { useDetailsBalancePanel } from '../../hooks/useDetailsBalancePanel'; +import { useWalletStore } from '../../store/walletStore'; +import { useSecurityStore } from '../../store/securityStore'; +import { Info } from '@phosphor-icons/react'; import { useFreezeSecurity, useUnfreezeSecurity, -} from "../../hooks/mutations/useFreezeSecurity"; +} from '../../hooks/mutations/useFreezeSecurity'; import { UnfreezePartialTokensRequest, FreezePartialTokensRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; interface MintFormValues { amount: number; @@ -240,20 +240,20 @@ interface MintFormValues { } export const DigitalSecurityFreeze = () => { - const { t: tHeader } = useTranslation("security", { - keyPrefix: "freeze.header", + const { t: tHeader } = useTranslation('security', { + keyPrefix: 'freeze.header', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "freeze.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'freeze.input', }); - const { t } = useTranslation("security", { keyPrefix: "freeze" }); - const { t: tGlobal } = useTranslation("globals"); - const { t: tProperties } = useTranslation("properties"); + const { t } = useTranslation('security', { keyPrefix: 'freeze' }); + const { t: tGlobal } = useTranslation('globals'); + const { t: tProperties } = useTranslation('properties'); const { control, formState, handleSubmit, reset } = useForm({ - mode: "all", + mode: 'all', }); const { address: walletAddress } = useWalletStore(); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { details } = useSecurityStore(); const { isLoading: isBalancePanelLoading, update } = useDetailsBalancePanel( id, @@ -266,7 +266,7 @@ export const DigitalSecurityFreeze = () => { const isUnfreeze = useWatch({ control, - name: "isUnfreeze", + name: 'isUnfreeze', defaultValue: false, }); @@ -304,7 +304,7 @@ export const DigitalSecurityFreeze = () => { return ( <> - + { onSubmit={handleSubmit(submit)} gap={3} > - {t("title")} + {t('title')} - {t("subtitle")} + {t('subtitle')} - {tGlobal("mandatoryFields")} + {tGlobal('mandatoryFields')} - + - {tForm("isUnfreeze.label")} + {tForm('isUnfreeze.label')} @@ -352,12 +352,12 @@ export const DigitalSecurityFreeze = () => { size="md" allowNegative={false} label={tForm( - isUnfreeze ? "amountUnfreeze.label" : "amountFreeze.label", + isUnfreeze ? 'amountUnfreeze.label' : 'amountFreeze.label', )} placeholder={tForm( isUnfreeze - ? "amountUnfreeze.placeholder" - : "amountFreeze.placeholder", + ? 'amountUnfreeze.placeholder' + : 'amountFreeze.placeholder', )} decimalScale={details?.decimals} fixedDecimalScale={true} @@ -371,8 +371,8 @@ export const DigitalSecurityFreeze = () => { control={control} id="destination" rules={{ required }} - label={tForm("destination.label")} - placeholder={tForm("destination.placeholder")} + label={tForm('destination.label')} + placeholder={tForm('destination.placeholder')} size="md" /> @@ -381,7 +381,7 @@ export const DigitalSecurityFreeze = () => { w="full" mt={10} align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > { minW="unset" isLoading={isFreezeLoading || isUnfreezeLoading} > - {tGlobal("submit")} + {tGlobal('submit')} > diff --git a/apps/ats/web/src/views/DigitalSecurityLocker/DigitalSecurityLocker.tsx b/apps/ats/web/src/views/DigitalSecurityLocker/DigitalSecurityLocker.tsx index 37b3dffcc..0df4da6d6 100644 --- a/apps/ats/web/src/views/DigitalSecurityLocker/DigitalSecurityLocker.tsx +++ b/apps/ats/web/src/views/DigitalSecurityLocker/DigitalSecurityLocker.tsx @@ -203,18 +203,18 @@ */ -import { History } from "../../components/History"; -import { useTranslation } from "react-i18next"; -import { DigitalSecurityLockerForm } from "./DigitalSecurityLockerForm"; +import { History } from '../../components/History'; +import { useTranslation } from 'react-i18next'; +import { DigitalSecurityLockerForm } from './DigitalSecurityLockerForm'; export const DigitalSecurityLocker = () => { - const { t: tHeader } = useTranslation("security", { - keyPrefix: "details.locker", + const { t: tHeader } = useTranslation('security', { + keyPrefix: 'details.locker', }); return ( <> - + > ); diff --git a/apps/ats/web/src/views/DigitalSecurityLocker/DigitalSecurityLockerForm.tsx b/apps/ats/web/src/views/DigitalSecurityLocker/DigitalSecurityLockerForm.tsx index 71ee79009..c31c986c0 100644 --- a/apps/ats/web/src/views/DigitalSecurityLocker/DigitalSecurityLockerForm.tsx +++ b/apps/ats/web/src/views/DigitalSecurityLocker/DigitalSecurityLockerForm.tsx @@ -1,4 +1,4 @@ -import { Center, HStack, Stack, VStack } from "@chakra-ui/react"; +import { Center, HStack, Stack, VStack } from '@chakra-ui/react'; import { Button, CalendarInputController, @@ -6,20 +6,20 @@ import { InputController, InputNumberController, Text, -} from "io-bricks-ui"; -import { DATE_TIME_FORMAT } from "../../utils/constants"; -import { useLocker } from "../../hooks/mutations/useLocker"; -import { useForm } from "react-hook-form"; -import { useParams } from "react-router-dom"; -import { useTranslation } from "react-i18next"; -import { LockRequest } from "@hashgraph/asset-tokenization-sdk"; -import { dateToUnixTimestamp } from "../../utils/format"; +} from 'io-bricks-ui'; +import { DATE_TIME_FORMAT } from '../../utils/constants'; +import { useLocker } from '../../hooks/mutations/useLocker'; +import { useForm } from 'react-hook-form'; +import { useParams } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { LockRequest } from '@hashgraph/asset-tokenization-sdk'; +import { dateToUnixTimestamp } from '../../utils/format'; import { isAfterDate, isHederaValidAddress, min, required, -} from "../../utils/rules"; +} from '../../utils/rules'; interface DigitalSecurityLockerFormValues { expirationDate: string; @@ -30,17 +30,17 @@ interface DigitalSecurityLockerFormValues { export const DigitalSecurityLockerForm = () => { const { id: securityId } = useParams(); - const { t: tLocker } = useTranslation("security", { - keyPrefix: "details.locker", + const { t: tLocker } = useTranslation('security', { + keyPrefix: 'details.locker', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "details.locker.form", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'details.locker.form', }); - const { t: tGlobal } = useTranslation("globals"); + const { t: tGlobal } = useTranslation('globals'); const { formState, control, handleSubmit, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { mutate: lockMutation, isLoading: isLoadingLockMutation } = @@ -48,7 +48,7 @@ export const DigitalSecurityLockerForm = () => { const onSubmit = (data: DigitalSecurityLockerFormValues) => { const request = new LockRequest({ - securityId: securityId ?? "", + securityId: securityId ?? '', expirationTimestamp: dateToUnixTimestamp(data.expirationDate), amount: data.amount.toString(), targetId: data.targetId.toString(), @@ -64,8 +64,8 @@ export const DigitalSecurityLockerForm = () => { return ( - - {tLocker("title")} + + {tLocker('title')} { - {tForm("targetId.label")}* + {tForm('targetId.label')}* - {tForm("amount.label")}* + {tForm('amount.label')}* { control={control} id="amount" rules={{ required, min: min(0) }} - placeholder={tForm("amount.placeholder")} + placeholder={tForm('amount.placeholder')} /> - {tForm("expirationDate.label")}* + {tForm('expirationDate.label')}* { validate: isAfterDate(new Date(), DATE_TIME_FORMAT), }} fromDate={new Date()} - placeholder={tForm("expirationDate.placeholder")} + placeholder={tForm('expirationDate.placeholder')} withTimeInput format={DATE_TIME_FORMAT} /> @@ -128,7 +128,7 @@ export const DigitalSecurityLockerForm = () => { isDisabled={!formState.isValid} type="submit" > - {isLoadingLockMutation ? tGlobal("sending") : tGlobal("send")} + {isLoadingLockMutation ? tGlobal('sending') : tGlobal('send')} diff --git a/apps/ats/web/src/views/DigitalSecurityLocker/__tests__/DigitalSecurityLockerForm.test.tsx b/apps/ats/web/src/views/DigitalSecurityLocker/__tests__/DigitalSecurityLockerForm.test.tsx index a96968c20..b3ca70732 100644 --- a/apps/ats/web/src/views/DigitalSecurityLocker/__tests__/DigitalSecurityLockerForm.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityLocker/__tests__/DigitalSecurityLockerForm.test.tsx @@ -1,38 +1,38 @@ -import { fireEvent } from "@testing-library/react"; -import { render, selectCalendar } from "../../../test-utils"; -import { waitFor } from "@testing-library/react"; -import { DigitalSecurityLockerForm } from "../DigitalSecurityLockerForm"; +import { fireEvent } from '@testing-library/react'; +import { render, selectCalendar } from '../../../test-utils'; +import { waitFor } from '@testing-library/react'; +import { DigitalSecurityLockerForm } from '../DigitalSecurityLockerForm'; describe(`${DigitalSecurityLockerForm.name}`, () => { - test("should render correctly", () => { + test('should render correctly', () => { const component = render(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should disable the submit button if the form is invalid", () => { + test('should disable the submit button if the form is invalid', () => { const component = render(); - const submitButton = component.getByTestId("create-locker-button"); + const submitButton = component.getByTestId('create-locker-button'); expect(submitButton).toBeDisabled(); }); - test("should validate target Id field", async () => { + test('should validate target Id field', async () => { const component = render(); - fireEvent.change(component.getByTestId("targetId"), { - target: { value: "0x1234567890abcdef" }, + fireEvent.change(component.getByTestId('targetId'), { + target: { value: '0x1234567890abcdef' }, }); expect(await component.findByText(/Wrong address/i)).toBeInTheDocument(); }); - test("should validate amount field", async () => { + test('should validate amount field', async () => { const component = render(); - fireEvent.change(component.getByTestId("amount"), { - target: { value: "-1" }, + fireEvent.change(component.getByTestId('amount'), { + target: { value: '-1' }, }); expect( @@ -40,19 +40,19 @@ describe(`${DigitalSecurityLockerForm.name}`, () => { ).toBeInTheDocument(); }); - test("should enable the submit button if the form is valid", async () => { + test('should enable the submit button if the form is valid', async () => { const component = render(); - const submitButton = component.getByTestId("create-locker-button"); + const submitButton = component.getByTestId('create-locker-button'); expect(submitButton).toBeDisabled(); - fireEvent.change(component.getByTestId("targetId"), { - target: { value: "0.0.12345" }, + fireEvent.change(component.getByTestId('targetId'), { + target: { value: '0.0.12345' }, }); - fireEvent.change(component.getByTestId("amount"), { - target: { value: "10" }, + fireEvent.change(component.getByTestId('amount'), { + target: { value: '10' }, }); const tomorrow = new Date(); @@ -61,8 +61,8 @@ describe(`${DigitalSecurityLockerForm.name}`, () => { await selectCalendar( component, - "expirationDate", - tomorrow.getDate().toString().padStart(2, "0"), + 'expirationDate', + tomorrow.getDate().toString().padStart(2, '0'), ); await waitFor(() => { diff --git a/apps/ats/web/src/views/DigitalSecurityMint/DigitalSecurityMint.tsx b/apps/ats/web/src/views/DigitalSecurityMint/DigitalSecurityMint.tsx index 12ecf8ada..7442e8aef 100644 --- a/apps/ats/web/src/views/DigitalSecurityMint/DigitalSecurityMint.tsx +++ b/apps/ats/web/src/views/DigitalSecurityMint/DigitalSecurityMint.tsx @@ -203,25 +203,25 @@ */ -import { HStack, Stack, VStack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { useTranslation } from "react-i18next"; +import { HStack, Stack, VStack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { useTranslation } from 'react-i18next'; import { Text, InputController, InputNumberController, Button, -} from "io-bricks-ui"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { required, min } from "../../utils/rules"; -import { CancelButton } from "../../components/CancelButton"; -import { useParams } from "react-router"; -import { IssueRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useMintSecurity } from "../../hooks/queries/useMintSecurity"; -import { DetailsBalancePanel } from "../../components/DetailsBalancePanel"; -import { useDetailsBalancePanel } from "../../hooks/useDetailsBalancePanel"; -import { useWalletStore } from "../../store/walletStore"; -import { useSecurityStore } from "../../store/securityStore"; +} from 'io-bricks-ui'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { required, min } from '../../utils/rules'; +import { CancelButton } from '../../components/CancelButton'; +import { useParams } from 'react-router'; +import { IssueRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useMintSecurity } from '../../hooks/queries/useMintSecurity'; +import { DetailsBalancePanel } from '../../components/DetailsBalancePanel'; +import { useDetailsBalancePanel } from '../../hooks/useDetailsBalancePanel'; +import { useWalletStore } from '../../store/walletStore'; +import { useSecurityStore } from '../../store/securityStore'; interface MintFormValues { amount: number; @@ -229,18 +229,18 @@ interface MintFormValues { } export const DigitalSecurityMint = () => { - const { t: tHeader } = useTranslation("security", { - keyPrefix: "mint.header", + const { t: tHeader } = useTranslation('security', { + keyPrefix: 'mint.header', }); - const { t: tForm } = useTranslation("security", { keyPrefix: "mint.input" }); - const { t } = useTranslation("security", { keyPrefix: "mint" }); - const { t: tGlobal } = useTranslation("globals"); - const { t: tProperties } = useTranslation("properties"); + const { t: tForm } = useTranslation('security', { keyPrefix: 'mint.input' }); + const { t } = useTranslation('security', { keyPrefix: 'mint' }); + const { t: tGlobal } = useTranslation('globals'); + const { t: tProperties } = useTranslation('properties'); const { control, formState, handleSubmit, reset } = useForm({ - mode: "all", + mode: 'all', }); const { address: walletAddress } = useWalletStore(); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { details } = useSecurityStore(); const { isLoading: isBalancePanelLoading, update } = useDetailsBalancePanel( id, @@ -265,7 +265,7 @@ export const DigitalSecurityMint = () => { return ( <> - + { as="form" onSubmit={handleSubmit(submit)} > - {t("title")} + {t('title')} - {t("subtitle")} + {t('subtitle')} - {tGlobal("mandatoryFields")} + {tGlobal('mandatoryFields')} { }} size="md" allowNegative={false} - label={tForm("amount.label")} - placeholder={tForm("amount.placeholder")} + label={tForm('amount.label')} + placeholder={tForm('amount.placeholder')} decimalScale={details?.decimals} fixedDecimalScale={true} thousandSeparator="," @@ -316,8 +316,8 @@ export const DigitalSecurityMint = () => { control={control} id="destination" rules={{ required }} - label={tForm("destination.label")} - placeholder={tForm("destination.placeholder")} + label={tForm('destination.label')} + placeholder={tForm('destination.placeholder')} size="md" /> @@ -326,7 +326,7 @@ export const DigitalSecurityMint = () => { w="full" mt={10} align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > { minW="unset" isLoading={isLoading} > - {tGlobal("submit")} + {tGlobal('submit')} > diff --git a/apps/ats/web/src/views/DigitalSecurityMint/__tests__/DigitalSecurityIssue.test.tsx b/apps/ats/web/src/views/DigitalSecurityMint/__tests__/DigitalSecurityIssue.test.tsx index 928772710..0a92bb7d4 100644 --- a/apps/ats/web/src/views/DigitalSecurityMint/__tests__/DigitalSecurityIssue.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityMint/__tests__/DigitalSecurityIssue.test.tsx @@ -203,38 +203,38 @@ */ -import { DigitalSecurityMint } from "../DigitalSecurityMint"; -import { render } from "../../../test-utils"; +import { DigitalSecurityMint } from '../DigitalSecurityMint'; +import { render } from '../../../test-utils'; describe(`${DigitalSecurityMint.name}`, () => { const factoryComponent = () => { return render(); }; - test("render correctly", () => { + test('render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should show Goback button", () => { + test('should show Goback button', () => { const component = factoryComponent(); - const breadcrumbs = component.getByTestId("go-back-button"); + const breadcrumbs = component.getByTestId('go-back-button'); expect(breadcrumbs).toBeInTheDocument(); }); - test("should show breadcrumbs", () => { + test('should show breadcrumbs', () => { const component = factoryComponent(); - const breadcrumbs = component.getByTestId("breadcrumb-desktop"); + const breadcrumbs = component.getByTestId('breadcrumb-desktop'); expect(breadcrumbs).toBeInTheDocument(); }); - test("should form be rendered properly", () => { + test('should form be rendered properly', () => { const component = factoryComponent(); - const form = component.getByTestId("mint-form"); + const form = component.getByTestId('mint-form'); expect(form).toBeInTheDocument(); }); }); diff --git a/apps/ats/web/src/views/DigitalSecurityRedeem/DigitalSecurityRedeem.tsx b/apps/ats/web/src/views/DigitalSecurityRedeem/DigitalSecurityRedeem.tsx index cf179adfd..46fbefac1 100644 --- a/apps/ats/web/src/views/DigitalSecurityRedeem/DigitalSecurityRedeem.tsx +++ b/apps/ats/web/src/views/DigitalSecurityRedeem/DigitalSecurityRedeem.tsx @@ -203,43 +203,43 @@ */ -import { HStack, Stack, VStack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { useTranslation } from "react-i18next"; -import { Text, InputNumberController, Button } from "io-bricks-ui"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { required, min } from "../../utils/rules"; -import { CancelButton } from "../../components/CancelButton"; -import { useParams } from "react-router"; -import { useRedeemSecurity } from "../../hooks/queries/useRedeemSecurity"; -import { RedeemRequest } from "@hashgraph/asset-tokenization-sdk"; -import { DetailsBalancePanel } from "../../components/DetailsBalancePanel"; -import { useDetailsBalancePanel } from "../../hooks/useDetailsBalancePanel"; -import { useWalletStore } from "../../store/walletStore"; -import { useSecurityStore } from "../../store/securityStore"; +import { HStack, Stack, VStack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { useTranslation } from 'react-i18next'; +import { Text, InputNumberController, Button } from 'io-bricks-ui'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { required, min } from '../../utils/rules'; +import { CancelButton } from '../../components/CancelButton'; +import { useParams } from 'react-router'; +import { useRedeemSecurity } from '../../hooks/queries/useRedeemSecurity'; +import { RedeemRequest } from '@hashgraph/asset-tokenization-sdk'; +import { DetailsBalancePanel } from '../../components/DetailsBalancePanel'; +import { useDetailsBalancePanel } from '../../hooks/useDetailsBalancePanel'; +import { useWalletStore } from '../../store/walletStore'; +import { useSecurityStore } from '../../store/securityStore'; interface RedeemFormValues { amount: number; } export const DigitalSecurityRedeem = () => { - const { t: tHeader } = useTranslation("security", { - keyPrefix: "redeem.header", + const { t: tHeader } = useTranslation('security', { + keyPrefix: 'redeem.header', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "redeem.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'redeem.input', }); - const { t } = useTranslation("security", { keyPrefix: "redeem" }); - const { t: tGlobal } = useTranslation("globals"); + const { t } = useTranslation('security', { keyPrefix: 'redeem' }); + const { t: tGlobal } = useTranslation('globals'); const { control, formState, handleSubmit, reset } = useForm( { - mode: "all", + mode: 'all', }, ); - const { t: TButton } = useTranslation("security", { - keyPrefix: "redeem.button", + const { t: TButton } = useTranslation('security', { + keyPrefix: 'redeem.button', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { details } = useSecurityStore(); const { address: walletAddress } = useWalletStore(); @@ -264,7 +264,7 @@ export const DigitalSecurityRedeem = () => { return ( <> - + { as="form" onSubmit={handleSubmit(submit)} > - {t("title")} + {t('title')} - {t("subtitle")} + {t('subtitle')} - {tGlobal("mandatoryFields")} + {tGlobal('mandatoryFields')} { }} size="md" allowNegative={false} - label={tForm("amount.label")} - placeholder={tForm("amount.placeholder")} + label={tForm('amount.label')} + placeholder={tForm('amount.placeholder')} decimalScale={details?.decimals} fixedDecimalScale={true} thousandSeparator="," @@ -314,7 +314,7 @@ export const DigitalSecurityRedeem = () => { w="full" mt={10} align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > { minW="unset" isLoading={isLoading} > - {TButton("accept")} + {TButton('accept')} diff --git a/apps/ats/web/src/views/DigitalSecurityRedeem/__tests__/DigitalSecurityRedeem.test.tsx b/apps/ats/web/src/views/DigitalSecurityRedeem/__tests__/DigitalSecurityRedeem.test.tsx index 44c9d52a0..f25196393 100644 --- a/apps/ats/web/src/views/DigitalSecurityRedeem/__tests__/DigitalSecurityRedeem.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityRedeem/__tests__/DigitalSecurityRedeem.test.tsx @@ -203,38 +203,38 @@ */ -import { DigitalSecurityRedeem } from "../DigitalSecurityRedeem"; -import { render } from "../../../test-utils"; +import { DigitalSecurityRedeem } from '../DigitalSecurityRedeem'; +import { render } from '../../../test-utils'; describe(`${DigitalSecurityRedeem.name}`, () => { const factoryComponent = () => { return render(); }; - test("render correctly", () => { + test('render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should show Goback button", () => { + test('should show Goback button', () => { const component = factoryComponent(); - const breadcrumbs = component.getByTestId("go-back-button"); + const breadcrumbs = component.getByTestId('go-back-button'); expect(breadcrumbs).toBeInTheDocument(); }); - test("should show breadcrumbs", () => { + test('should show breadcrumbs', () => { const component = factoryComponent(); - const breadcrumbs = component.getByTestId("breadcrumb-desktop"); + const breadcrumbs = component.getByTestId('breadcrumb-desktop'); expect(breadcrumbs).toBeInTheDocument(); }); - test("should form be rendered properly", () => { + test('should form be rendered properly', () => { const component = factoryComponent(); - const form = component.getByTestId("redeem-form"); + const form = component.getByTestId('redeem-form'); expect(form).toBeInTheDocument(); }); }); diff --git a/apps/ats/web/src/views/DigitalSecurityTransfer/DigitalSecurityTransfer.tsx b/apps/ats/web/src/views/DigitalSecurityTransfer/DigitalSecurityTransfer.tsx index ace5f886d..84c7118b2 100644 --- a/apps/ats/web/src/views/DigitalSecurityTransfer/DigitalSecurityTransfer.tsx +++ b/apps/ats/web/src/views/DigitalSecurityTransfer/DigitalSecurityTransfer.tsx @@ -203,25 +203,25 @@ */ -import { HStack, Stack, VStack } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { useTranslation } from "react-i18next"; +import { HStack, Stack, VStack } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { useTranslation } from 'react-i18next'; import { Text, InputController, InputNumberController, Button, -} from "io-bricks-ui"; -import { SubmitHandler, useForm } from "react-hook-form"; -import { required, min } from "../../utils/rules"; -import { CancelButton } from "../../components/CancelButton"; -import { useTransferSecurity } from "../../hooks/queries/useTransferSecurity"; -import { TransferRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useParams } from "react-router"; -import { DetailsBalancePanel } from "../../components/DetailsBalancePanel"; -import { useWalletStore } from "../../store/walletStore"; -import { useDetailsBalancePanel } from "../../hooks/useDetailsBalancePanel"; -import { useSecurityStore } from "../../store/securityStore"; +} from 'io-bricks-ui'; +import { SubmitHandler, useForm } from 'react-hook-form'; +import { required, min } from '../../utils/rules'; +import { CancelButton } from '../../components/CancelButton'; +import { useTransferSecurity } from '../../hooks/queries/useTransferSecurity'; +import { TransferRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useParams } from 'react-router'; +import { DetailsBalancePanel } from '../../components/DetailsBalancePanel'; +import { useWalletStore } from '../../store/walletStore'; +import { useDetailsBalancePanel } from '../../hooks/useDetailsBalancePanel'; +import { useSecurityStore } from '../../store/securityStore'; interface TransferFormValues { amount: number; @@ -229,22 +229,22 @@ interface TransferFormValues { } export const DigitalSecurityTransfer = () => { - const { t: tHeader } = useTranslation("security", { - keyPrefix: "transfer.header", + const { t: tHeader } = useTranslation('security', { + keyPrefix: 'transfer.header', }); - const { t: tForm } = useTranslation("security", { - keyPrefix: "transfer.input", + const { t: tForm } = useTranslation('security', { + keyPrefix: 'transfer.input', }); - const { t } = useTranslation("security", { keyPrefix: "transfer" }); - const { t: tGlobal } = useTranslation("globals"); + const { t } = useTranslation('security', { keyPrefix: 'transfer' }); + const { t: tGlobal } = useTranslation('globals'); const { control, formState, handleSubmit, reset } = useForm({ - mode: "all", + mode: 'all', }); - const { t: TButton } = useTranslation("security", { - keyPrefix: "transfer.button", + const { t: TButton } = useTranslation('security', { + keyPrefix: 'transfer.button', }); - const { id = "" } = useParams(); + const { id = '' } = useParams(); const { details } = useSecurityStore(); const { address: walletAddress } = useWalletStore(); @@ -270,7 +270,7 @@ export const DigitalSecurityTransfer = () => { return ( <> - + { as="form" onSubmit={handleSubmit(submit)} > - {t("title")} + {t('title')} - {t("subtitle")} + {t('subtitle')} - {tGlobal("mandatoryFields")} + {tGlobal('mandatoryFields')} { control={control} id="destination" rules={{ required }} - label={tForm("destination.label")} - placeholder={tForm("destination.placeholder")} + label={tForm('destination.label')} + placeholder={tForm('destination.placeholder')} size="md" /> @@ -318,8 +318,8 @@ export const DigitalSecurityTransfer = () => { }} size="md" allowNegative={false} - label={tForm("amount.label")} - placeholder={tForm("amount.placeholder")} + label={tForm('amount.label')} + placeholder={tForm('amount.placeholder')} decimalScale={details?.decimals} fixedDecimalScale={true} thousandSeparator="," @@ -331,7 +331,7 @@ export const DigitalSecurityTransfer = () => { w="full" mt={10} align="end" - justifyContent={"flex-end"} + justifyContent={'flex-end'} > { minW="unset" isLoading={isLoading} > - {TButton("accept")} + {TButton('accept')} diff --git a/apps/ats/web/src/views/DigitalSecurityTransfer/__tests__/DigitalSecurityTransfer.test.tsx b/apps/ats/web/src/views/DigitalSecurityTransfer/__tests__/DigitalSecurityTransfer.test.tsx index 71de7ce99..502d4a400 100644 --- a/apps/ats/web/src/views/DigitalSecurityTransfer/__tests__/DigitalSecurityTransfer.test.tsx +++ b/apps/ats/web/src/views/DigitalSecurityTransfer/__tests__/DigitalSecurityTransfer.test.tsx @@ -203,38 +203,38 @@ */ -import { DigitalSecurityTransfer } from "../DigitalSecurityTransfer"; -import { render } from "../../../test-utils"; +import { DigitalSecurityTransfer } from '../DigitalSecurityTransfer'; +import { render } from '../../../test-utils'; describe(`${DigitalSecurityTransfer.name}`, () => { const factoryComponent = () => { return render(); }; - test("render correctly", () => { + test('render correctly', () => { const component = factoryComponent(); expect(component.asFragment()).toMatchSnapshot(); }); - test("should show Goback button", () => { + test('should show Goback button', () => { const component = factoryComponent(); - const breadcrumbs = component.getByTestId("go-back-button"); + const breadcrumbs = component.getByTestId('go-back-button'); expect(breadcrumbs).toBeInTheDocument(); }); - test("should show breadcrumbs", () => { + test('should show breadcrumbs', () => { const component = factoryComponent(); - const breadcrumbs = component.getByTestId("breadcrumb-desktop"); + const breadcrumbs = component.getByTestId('breadcrumb-desktop'); expect(breadcrumbs).toBeInTheDocument(); }); - test("should form be rendered properly", () => { + test('should form be rendered properly', () => { const component = factoryComponent(); - const form = component.getByTestId("transfer-form"); + const form = component.getByTestId('transfer-form'); expect(form).toBeInTheDocument(); }); }); diff --git a/apps/ats/web/src/views/ExternalControlDetails/ExternalControlDetails.tsx b/apps/ats/web/src/views/ExternalControlDetails/ExternalControlDetails.tsx index 6d6afd7c0..4c682e3e7 100644 --- a/apps/ats/web/src/views/ExternalControlDetails/ExternalControlDetails.tsx +++ b/apps/ats/web/src/views/ExternalControlDetails/ExternalControlDetails.tsx @@ -1,7 +1,7 @@ -import { Box, HStack, Stack, useDisclosure } from "@chakra-ui/react"; -import { History } from "../../components/History"; -import { RouteName } from "../../router/RouteName"; -import { RoutePath } from "../../router/RoutePath"; +import { Box, HStack, Stack, useDisclosure } from '@chakra-ui/react'; +import { History } from '../../components/History'; +import { RouteName } from '../../router/RouteName'; +import { RoutePath } from '../../router/RoutePath'; import { Button, ClipboardButton, @@ -10,38 +10,38 @@ import { SearchInputController, Table, Text, -} from "io-bricks-ui"; -import { isHederaValidAddress, required } from "../../utils/rules"; -import { useTranslation } from "react-i18next"; -import { useForm } from "react-hook-form"; -import { CellContext, createColumnHelper } from "@tanstack/table-core"; -import { Trash } from "@phosphor-icons/react"; -import { useState } from "react"; +} from 'io-bricks-ui'; +import { isHederaValidAddress, required } from '../../utils/rules'; +import { useTranslation } from 'react-i18next'; +import { useForm } from 'react-hook-form'; +import { CellContext, createColumnHelper } from '@tanstack/table-core'; +import { Trash } from '@phosphor-icons/react'; +import { useState } from 'react'; interface FieldsTable { address: string; } export const ExternalControlDetails = () => { - const { t: tRoutes } = useTranslation("routes"); - const { t } = useTranslation("externalControlDetails"); + const { t: tRoutes } = useTranslation('routes'); + const { t } = useTranslation('externalControlDetails'); const { isOpen, onClose, onOpen } = useDisclosure(); - const [_accountToRemove, setAccountToRemove] = useState(""); + const [_accountToRemove, setAccountToRemove] = useState(''); const { control, formState: { isValid }, handleSubmit, } = useForm({ - mode: "onChange", + mode: 'onChange', }); const columnsHelper = createColumnHelper(); const columns = [ - columnsHelper.accessor("address", { - header: t("table.address"), + columnsHelper.accessor('address', { + header: t('table.address'), enableSorting: false, size: 995, cell: ({ getValue }) => { @@ -50,14 +50,14 @@ export const ExternalControlDetails = () => { return ( {address} - + ); }, }), columnsHelper.display({ - id: "remove", - header: t("table.actions"), + id: 'remove', + header: t('table.actions'), size: 5, enableSorting: false, cell: (props) => renderRemove(props), @@ -83,7 +83,7 @@ export const ExternalControlDetails = () => { }} size="xs" > - + ); }; @@ -97,11 +97,11 @@ export const ExternalControlDetails = () => { excludePaths={[RoutePath.DASHBOARD]} /> { console.log("SEARCHING: ", search)} + placeholder={t('search.placeholder')} + onSearch={(search) => console.log('SEARCHING: ', search)} control={control} size="sm" rules={{ @@ -124,7 +124,7 @@ export const ExternalControlDetails = () => { /> - {t("search.add")} + {t('search.add')} @@ -132,7 +132,7 @@ export const ExternalControlDetails = () => { name="external-control-address" columns={columns} data={[]} - emptyComponent={{t("table.empty")}} + emptyComponent={{t('table.empty')}} /> { isOpen={isOpen} onClose={onClose} icon={} - title={t("modal.removeAddress.title")} - description={t("modal.removeAddress.description")} - confirmText={t("modal.removeAddress.confirmText")} + title={t('modal.removeAddress.title')} + description={t('modal.removeAddress.description')} + confirmText={t('modal.removeAddress.confirmText')} onConfirm={() => { onClose(); }} onCancel={onClose} - cancelText={t("modal.removeAddress.cancelText")} + cancelText={t('modal.removeAddress.cancelText')} /> ); diff --git a/apps/ats/web/src/views/ExternalControlList/Components/AddAddressModal.tsx b/apps/ats/web/src/views/ExternalControlList/Components/AddAddressModal.tsx index 05f12c9b6..e29eaae9d 100644 --- a/apps/ats/web/src/views/ExternalControlList/Components/AddAddressModal.tsx +++ b/apps/ats/web/src/views/ExternalControlList/Components/AddAddressModal.tsx @@ -8,25 +8,25 @@ import { ModalOverlay, ModalProps, VStack, -} from "@chakra-ui/react"; -import { Button, InputController } from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { ExternalControl } from "../ExternalControlList"; +} from '@chakra-ui/react'; +import { Button, InputController } from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { ExternalControl } from '../ExternalControlList'; import { useAddToBlackListMock, useAddToWhiteListMock, -} from "../../../hooks/mutations/useExternalControl"; +} from '../../../hooks/mutations/useExternalControl'; import { AddToBlackListMockRequest, AddToWhiteListMockRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; interface FormValues { accountId: string; } -interface AddAddressModalProps extends Omit { +interface AddAddressModalProps extends Omit { externalControlSelected?: ExternalControl; } @@ -35,12 +35,12 @@ export const AddAddressModal = ({ isOpen, onClose, }: AddAddressModalProps) => { - const { t: tAddAddress } = useTranslation("externalControl", { - keyPrefix: "addAddress", + const { t: tAddAddress } = useTranslation('externalControl', { + keyPrefix: 'addAddress', }); const { control, handleSubmit, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { @@ -53,7 +53,7 @@ export const AddAddressModal = ({ } = useAddToWhiteListMock(); const onSubmit = (values: FormValues) => { - if (externalControlSelected?.type === "blacklist") { + if (externalControlSelected?.type === 'blacklist') { return addToBlackListMutate( new AddToBlackListMockRequest({ contractId: externalControlSelected.address, @@ -62,7 +62,7 @@ export const AddAddressModal = ({ ).finally(onClose); } - if (externalControlSelected?.type === "whitelist") { + if (externalControlSelected?.type === 'whitelist') { return addToWhiteListMutate( new AddToWhiteListMockRequest({ contractId: externalControlSelected.address, @@ -85,16 +85,16 @@ export const AddAddressModal = ({ }} > - - {tAddAddress("title")} + + {tAddAddress('title')} @@ -105,7 +105,7 @@ export const AddAddressModal = ({ type="submit" onClick={handleSubmit(onSubmit)} > - {tAddAddress("add")} + {tAddAddress('add')} diff --git a/apps/ats/web/src/views/ExternalControlList/Components/AddExternalControlButton.tsx b/apps/ats/web/src/views/ExternalControlList/Components/AddExternalControlButton.tsx index 4e1ffa9b8..a3fc9fed7 100644 --- a/apps/ats/web/src/views/ExternalControlList/Components/AddExternalControlButton.tsx +++ b/apps/ats/web/src/views/ExternalControlList/Components/AddExternalControlButton.tsx @@ -203,16 +203,16 @@ */ -import { PhosphorIcon, Button } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { RouterManager } from "../../../router/RouterManager"; -import { RouteName } from "../../../router/RouteName"; -import { Link as RouterLink } from "react-router-dom"; -import { Plus } from "@phosphor-icons/react"; +import { PhosphorIcon, Button } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RouterManager } from '../../../router/RouterManager'; +import { RouteName } from '../../../router/RouteName'; +import { Link as RouterLink } from 'react-router-dom'; +import { Plus } from '@phosphor-icons/react'; export const AddExternalControlButton = (props: ButtonProps) => { - const { t } = useTranslation("routes"); + const { t } = useTranslation('routes'); return ( { +interface CheckAddressModalProps extends Omit { externalControlSelected?: ExternalControl; } @@ -35,12 +35,12 @@ export const CheckAddressModal = ({ isOpen, onClose, }: CheckAddressModalProps) => { - const { t: tRemoveAddress } = useTranslation("externalControl", { - keyPrefix: "checkAddress", + const { t: tRemoveAddress } = useTranslation('externalControl', { + keyPrefix: 'checkAddress', }); const { control, handleSubmit, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { @@ -53,7 +53,7 @@ export const CheckAddressModal = ({ } = useIsAuthorizedWhiteListMock(); const onSubmit = (values: FormValues) => { - if (externalControlSelected?.type === "blacklist") { + if (externalControlSelected?.type === 'blacklist') { isAuthorizedBlackListMockMutate( new IsAuthorizedBlackListMockRequest({ contractId: externalControlSelected.address, @@ -63,7 +63,7 @@ export const CheckAddressModal = ({ return; } - if (externalControlSelected?.type === "whitelist") { + if (externalControlSelected?.type === 'whitelist') { isAuthorizedWhiteListMockMutate( new IsAuthorizedWhiteListMockRequest({ contractId: externalControlSelected.address, @@ -88,16 +88,16 @@ export const CheckAddressModal = ({ }} > - - {tRemoveAddress("title")} + + {tRemoveAddress('title')} @@ -108,7 +108,7 @@ export const CheckAddressModal = ({ type="submit" onClick={handleSubmit(onSubmit)} > - {tRemoveAddress("check")} + {tRemoveAddress('check')} diff --git a/apps/ats/web/src/views/ExternalControlList/Components/CreateNewExternalControlButton.tsx b/apps/ats/web/src/views/ExternalControlList/Components/CreateNewExternalControlButton.tsx index 7322394b0..09b8d5fd9 100644 --- a/apps/ats/web/src/views/ExternalControlList/Components/CreateNewExternalControlButton.tsx +++ b/apps/ats/web/src/views/ExternalControlList/Components/CreateNewExternalControlButton.tsx @@ -203,16 +203,16 @@ */ -import { Button } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { RouterManager } from "../../../router/RouterManager"; -import { RouteName } from "../../../router/RouteName"; -import { Link as RouterLink } from "react-router-dom"; +import { Button } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RouterManager } from '../../../router/RouterManager'; +import { RouteName } from '../../../router/RouteName'; +import { Link as RouterLink } from 'react-router-dom'; export const CreateNewExternalControlButton = (props: ButtonProps) => { - const { t: tHeader } = useTranslation("externalControl", { - keyPrefix: "list.header", + const { t: tHeader } = useTranslation('externalControl', { + keyPrefix: 'list.header', }); return ( @@ -223,7 +223,7 @@ export const CreateNewExternalControlButton = (props: ButtonProps) => { size="md" {...props} > - {tHeader("createNewExternalControl")} + {tHeader('createNewExternalControl')} ); }; diff --git a/apps/ats/web/src/views/ExternalControlList/Components/Header.tsx b/apps/ats/web/src/views/ExternalControlList/Components/Header.tsx index 96ea8c644..2944948e2 100644 --- a/apps/ats/web/src/views/ExternalControlList/Components/Header.tsx +++ b/apps/ats/web/src/views/ExternalControlList/Components/Header.tsx @@ -203,18 +203,18 @@ */ -import { HStack } from "@chakra-ui/react"; -import { Text } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { AddExternalControlButton } from "./AddExternalControlButton"; -import { CreateNewExternalControlButton } from "./CreateNewExternalControlButton"; +import { HStack } from '@chakra-ui/react'; +import { Text } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { AddExternalControlButton } from './AddExternalControlButton'; +import { CreateNewExternalControlButton } from './CreateNewExternalControlButton'; export const Header = () => { - const { t } = useTranslation("externalControl", { keyPrefix: "list.header" }); + const { t } = useTranslation('externalControl', { keyPrefix: 'list.header' }); return ( - - {t("title")} + + {t('title')} diff --git a/apps/ats/web/src/views/ExternalControlList/Components/RemoveAddressModal.tsx b/apps/ats/web/src/views/ExternalControlList/Components/RemoveAddressModal.tsx index 7a085c5df..891deb801 100644 --- a/apps/ats/web/src/views/ExternalControlList/Components/RemoveAddressModal.tsx +++ b/apps/ats/web/src/views/ExternalControlList/Components/RemoveAddressModal.tsx @@ -8,25 +8,25 @@ import { ModalOverlay, ModalProps, VStack, -} from "@chakra-ui/react"; -import { Button, InputController } from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { ExternalControl } from "../ExternalControlList"; +} from '@chakra-ui/react'; +import { Button, InputController } from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { ExternalControl } from '../ExternalControlList'; import { useRemoveFromBlackListMock, useRemoveFromWhiteListMock, -} from "../../../hooks/mutations/useExternalControl"; +} from '../../../hooks/mutations/useExternalControl'; import { RemoveFromBlackListMockRequest, RemoveFromWhiteListMockRequest, -} from "@hashgraph/asset-tokenization-sdk"; +} from '@hashgraph/asset-tokenization-sdk'; interface FormValues { accountId: string; } -interface RemoveAddressModalProps extends Omit { +interface RemoveAddressModalProps extends Omit { externalControlSelected?: ExternalControl; } @@ -35,12 +35,12 @@ export const RemoveAddressModal = ({ isOpen, onClose, }: RemoveAddressModalProps) => { - const { t: tRemoveAddress } = useTranslation("externalControl", { - keyPrefix: "removeAddress", + const { t: tRemoveAddress } = useTranslation('externalControl', { + keyPrefix: 'removeAddress', }); const { control, handleSubmit, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { @@ -53,7 +53,7 @@ export const RemoveAddressModal = ({ } = useRemoveFromWhiteListMock(); const onSubmit = (values: FormValues) => { - if (externalControlSelected?.type === "blacklist") { + if (externalControlSelected?.type === 'blacklist') { return removeFromBlackListMockMutate( new RemoveFromBlackListMockRequest({ contractId: externalControlSelected.address, @@ -62,7 +62,7 @@ export const RemoveAddressModal = ({ ).finally(onClose); } - if (externalControlSelected?.type === "whitelist") { + if (externalControlSelected?.type === 'whitelist') { return removeFromWhiteListMockMutate( new RemoveFromWhiteListMockRequest({ contractId: externalControlSelected.address, @@ -86,16 +86,16 @@ export const RemoveAddressModal = ({ }} > - - {tRemoveAddress("title")} + + {tRemoveAddress('title')} @@ -106,7 +106,7 @@ export const RemoveAddressModal = ({ type="submit" onClick={handleSubmit(onSubmit)} > - {tRemoveAddress("remove")} + {tRemoveAddress('remove')} diff --git a/apps/ats/web/src/views/ExternalControlList/ExternalControlList.tsx b/apps/ats/web/src/views/ExternalControlList/ExternalControlList.tsx index b29b1f335..5cf3b72c5 100644 --- a/apps/ats/web/src/views/ExternalControlList/ExternalControlList.tsx +++ b/apps/ats/web/src/views/ExternalControlList/ExternalControlList.tsx @@ -1,4 +1,4 @@ -import { Box, HStack, Stack, useDisclosure } from "@chakra-ui/react"; +import { Box, HStack, Stack, useDisclosure } from '@chakra-ui/react'; import { Button, PhosphorIcon, @@ -6,29 +6,29 @@ import { Table, Text, useToast, -} from "io-bricks-ui"; -import { createColumnHelper } from "@tanstack/table-core"; +} from 'io-bricks-ui'; +import { createColumnHelper } from '@tanstack/table-core'; import { Question, Trash, UserCirclePlus, UserCircleMinus, MagnifyingGlass, -} from "@phosphor-icons/react"; -import { useTranslation } from "react-i18next"; -import { useEffect, useState } from "react"; -import { useExternalControlStore } from "../../store/externalControlStore"; -import { useUserStore } from "../../store/userStore"; -import { useRolesStore } from "../../store/rolesStore"; -import { User } from "../../utils/constants"; -import { Header } from "./Components/Header"; -import { AddAddressModal } from "./Components/AddAddressModal"; -import { RemoveAddressModal } from "./Components/RemoveAddressModal"; -import { CheckAddressModal } from "./Components/CheckAddressModal"; +} from '@phosphor-icons/react'; +import { useTranslation } from 'react-i18next'; +import { useEffect, useState } from 'react'; +import { useExternalControlStore } from '../../store/externalControlStore'; +import { useUserStore } from '../../store/userStore'; +import { useRolesStore } from '../../store/rolesStore'; +import { User } from '../../utils/constants'; +import { Header } from './Components/Header'; +import { AddAddressModal } from './Components/AddAddressModal'; +import { RemoveAddressModal } from './Components/RemoveAddressModal'; +import { CheckAddressModal } from './Components/CheckAddressModal'; export type ExternalControl = { address: string; - type: "whitelist" | "blacklist"; + type: 'whitelist' | 'blacklist'; }; export const ExternalControlList = () => { @@ -50,14 +50,14 @@ export const ExternalControlList = () => { onOpen: onOpenCheckModal, } = useDisclosure(); - const { t: tTable } = useTranslation("externalControl", { - keyPrefix: "list.table", + const { t: tTable } = useTranslation('externalControl', { + keyPrefix: 'list.table', }); - const { t: tModal } = useTranslation("externalControl", { - keyPrefix: "list.modal", + const { t: tModal } = useTranslation('externalControl', { + keyPrefix: 'list.modal', }); - const { t: tMessages } = useTranslation("externalControl", { - keyPrefix: "list.messages", + const { t: tMessages } = useTranslation('externalControl', { + keyPrefix: 'list.messages', }); const [externalControlSelected, setExternalControlSelected] = useState< @@ -76,26 +76,26 @@ export const ExternalControlList = () => { const columnHelper = createColumnHelper(); const columns = [ - columnHelper.accessor("address", { - header: tTable("address"), + columnHelper.accessor('address', { + header: tTable('address'), enableSorting: false, size: 100, }), - columnHelper.accessor("type", { - header: tTable("state"), + columnHelper.accessor('type', { + header: tTable('state'), enableSorting: false, size: 600, cell({ getValue }) { const value = getValue(); return ( - - {value === "blacklist" ? tTable("blacklist") : tTable("whitelist")} + + {value === 'blacklist' ? tTable('blacklist') : tTable('whitelist')} ); }, }), columnHelper.display({ - header: tTable("actions"), + header: tTable('actions'), enableSorting: false, cell(props) { const { @@ -114,7 +114,7 @@ export const ExternalControlList = () => { > { > { > { setExternalControlSelected(original); onOpen(); @@ -166,15 +166,15 @@ export const ExternalControlList = () => { removeExternalControl(externalControlSelected.address); toast.show({ - status: "success", - title: tMessages("removeExternalControl.success"), - description: tMessages("removeExternalControl.descriptionSuccess"), + status: 'success', + title: tMessages('removeExternalControl.success'), + description: tMessages('removeExternalControl.descriptionSuccess'), }); - } catch (error) { + } catch (_error) { toast.show({ - status: "error", - title: tMessages("removeExternalControl.error"), - description: tMessages("removeExternalControl.descriptionFailed"), + status: 'error', + title: tMessages('removeExternalControl.error'), + description: tMessages('removeExternalControl.descriptionFailed'), }); } }; @@ -207,24 +207,24 @@ export const ExternalControlList = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tModal("removeExternalControlPopUp.title")} - description={tModal("removeExternalControlPopUp.description")} - confirmText={tModal("removeExternalControlPopUp.confirmText")} + title={tModal('removeExternalControlPopUp.title')} + description={tModal('removeExternalControlPopUp.description')} + confirmText={tModal('removeExternalControlPopUp.confirmText')} onConfirm={() => { handleDelete(); onClose(); }} onCancel={onClose} - cancelText={tModal("removeExternalControlPopUp.cancelText")} + cancelText={tModal('removeExternalControlPopUp.cancelText')} /> - + {tTable("empty")}} + emptyComponent={{tTable('empty')}} /> diff --git a/apps/ats/web/src/views/ExternalKYCList/Components/AddAddressModal.tsx b/apps/ats/web/src/views/ExternalKYCList/Components/AddAddressModal.tsx index 340eb75f0..0ab6135f1 100644 --- a/apps/ats/web/src/views/ExternalKYCList/Components/AddAddressModal.tsx +++ b/apps/ats/web/src/views/ExternalKYCList/Components/AddAddressModal.tsx @@ -8,19 +8,19 @@ import { ModalOverlay, ModalProps, VStack, -} from "@chakra-ui/react"; -import { Button, InputController } from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { ExternalKYC } from "../ExternalKYCList"; -import { AddToBlackListMockRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useGrantKycMock } from "../../../hooks/mutations/useExternalKYC"; +} from '@chakra-ui/react'; +import { Button, InputController } from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { ExternalKYC } from '../ExternalKYCList'; +import { AddToBlackListMockRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useGrantKycMock } from '../../../hooks/mutations/useExternalKYC'; interface FormValues { accountId: string; } -interface AddAddressModalProps extends Omit { +interface AddAddressModalProps extends Omit { externalKYCSelected?: ExternalKYC; } @@ -29,12 +29,12 @@ export const AddAddressModal = ({ isOpen, onClose, }: AddAddressModalProps) => { - const { t: tAddAddress } = useTranslation("externalKYC", { - keyPrefix: "addAddress", + const { t: tAddAddress } = useTranslation('externalKYC', { + keyPrefix: 'addAddress', }); const { control, handleSubmit, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { @@ -45,7 +45,7 @@ export const AddAddressModal = ({ const onSubmit = (values: FormValues) => { addToKYCListMutate( new AddToBlackListMockRequest({ - contractId: externalKYCSelected?.address ?? "", + contractId: externalKYCSelected?.address ?? '', targetId: values.accountId, }), ).finally(onClose); @@ -63,16 +63,16 @@ export const AddAddressModal = ({ }} > - - {tAddAddress("title")} + + {tAddAddress('title')} @@ -83,7 +83,7 @@ export const AddAddressModal = ({ type="submit" onClick={handleSubmit(onSubmit)} > - {tAddAddress("add")} + {tAddAddress('add')} diff --git a/apps/ats/web/src/views/ExternalKYCList/Components/AddExternalKYCButton.tsx b/apps/ats/web/src/views/ExternalKYCList/Components/AddExternalKYCButton.tsx index d0c8c12d5..321b29d44 100644 --- a/apps/ats/web/src/views/ExternalKYCList/Components/AddExternalKYCButton.tsx +++ b/apps/ats/web/src/views/ExternalKYCList/Components/AddExternalKYCButton.tsx @@ -203,16 +203,16 @@ */ -import { PhosphorIcon, Button } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { RouterManager } from "../../../router/RouterManager"; -import { RouteName } from "../../../router/RouteName"; -import { Link as RouterLink } from "react-router-dom"; -import { Plus } from "@phosphor-icons/react"; +import { PhosphorIcon, Button } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RouterManager } from '../../../router/RouterManager'; +import { RouteName } from '../../../router/RouteName'; +import { Link as RouterLink } from 'react-router-dom'; +import { Plus } from '@phosphor-icons/react'; export const AddExternalKYCButton = (props: ButtonProps) => { - const { t } = useTranslation("routes"); + const { t } = useTranslation('routes'); return ( { +interface CheckAddressModalProps extends Omit { externalKYCSelected?: ExternalKYC; } @@ -29,12 +29,12 @@ export const CheckAddressModal = ({ isOpen, onClose, }: CheckAddressModalProps) => { - const { t: tRemoveAddress } = useTranslation("externalKYC", { - keyPrefix: "checkAddress", + const { t: tRemoveAddress } = useTranslation('externalKYC', { + keyPrefix: 'checkAddress', }); const { control, handleSubmit, reset, watch } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { @@ -65,27 +65,27 @@ export const CheckAddressModal = ({ }} > - - {tRemoveAddress("title")} + + {tRemoveAddress('title')} - {tRemoveAddress("check")} + {tRemoveAddress('check')} diff --git a/apps/ats/web/src/views/ExternalKYCList/Components/CreateNewExternalKYCButton.tsx b/apps/ats/web/src/views/ExternalKYCList/Components/CreateNewExternalKYCButton.tsx index 1a5b8bb51..c005b5eb2 100644 --- a/apps/ats/web/src/views/ExternalKYCList/Components/CreateNewExternalKYCButton.tsx +++ b/apps/ats/web/src/views/ExternalKYCList/Components/CreateNewExternalKYCButton.tsx @@ -203,15 +203,15 @@ */ -import { Button } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { useCreateExternalKYCMock } from "../../../hooks/mutations/useExternalKYC"; -import { useExternalKYCStore } from "../../../store/externalKYCStore"; +import { Button } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { useCreateExternalKYCMock } from '../../../hooks/mutations/useExternalKYC'; +import { useExternalKYCStore } from '../../../store/externalKYCStore'; export const CreateNewExternalKYCButton = (props: ButtonProps) => { - const { t: tHeader } = useTranslation("externalKYC", { - keyPrefix: "list.header", + const { t: tHeader } = useTranslation('externalKYC', { + keyPrefix: 'list.header', }); const { addExternalKYC } = useExternalKYCStore(); @@ -239,7 +239,7 @@ export const CreateNewExternalKYCButton = (props: ButtonProps) => { isLoading={isLoadingCreatingExternalKYCMock} {...props} > - {tHeader("createNewExternalKYC")} + {tHeader('createNewExternalKYC')} ); }; diff --git a/apps/ats/web/src/views/ExternalKYCList/Components/Header.tsx b/apps/ats/web/src/views/ExternalKYCList/Components/Header.tsx index 72ce1636b..00587aec3 100644 --- a/apps/ats/web/src/views/ExternalKYCList/Components/Header.tsx +++ b/apps/ats/web/src/views/ExternalKYCList/Components/Header.tsx @@ -203,18 +203,18 @@ */ -import { HStack } from "@chakra-ui/react"; -import { Text } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { AddExternalKYCButton } from "./AddExternalKYCButton"; -import { CreateNewExternalKYCButton } from "./CreateNewExternalKYCButton"; +import { HStack } from '@chakra-ui/react'; +import { Text } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { AddExternalKYCButton } from './AddExternalKYCButton'; +import { CreateNewExternalKYCButton } from './CreateNewExternalKYCButton'; export const Header = () => { - const { t } = useTranslation("externalKYC", { keyPrefix: "list.header" }); + const { t } = useTranslation('externalKYC', { keyPrefix: 'list.header' }); return ( - - {t("title")} + + {t('title')} diff --git a/apps/ats/web/src/views/ExternalKYCList/Components/RemoveAddressModal.tsx b/apps/ats/web/src/views/ExternalKYCList/Components/RemoveAddressModal.tsx index 60fee2bb7..0a20311e1 100644 --- a/apps/ats/web/src/views/ExternalKYCList/Components/RemoveAddressModal.tsx +++ b/apps/ats/web/src/views/ExternalKYCList/Components/RemoveAddressModal.tsx @@ -8,19 +8,19 @@ import { ModalOverlay, ModalProps, VStack, -} from "@chakra-ui/react"; -import { Button, InputController } from "io-bricks-ui"; -import { useForm } from "react-hook-form"; -import { useTranslation } from "react-i18next"; -import { ExternalKYC } from "../ExternalKYCList"; -import { RemoveFromBlackListMockRequest } from "@hashgraph/asset-tokenization-sdk"; -import { useRevokeKycMock } from "../../../hooks/mutations/useExternalKYC"; +} from '@chakra-ui/react'; +import { Button, InputController } from 'io-bricks-ui'; +import { useForm } from 'react-hook-form'; +import { useTranslation } from 'react-i18next'; +import { ExternalKYC } from '../ExternalKYCList'; +import { RemoveFromBlackListMockRequest } from '@hashgraph/asset-tokenization-sdk'; +import { useRevokeKycMock } from '../../../hooks/mutations/useExternalKYC'; interface FormValues { accountId: string; } -interface RemoveAddressModalProps extends Omit { +interface RemoveAddressModalProps extends Omit { externalKYCSelected?: ExternalKYC; } @@ -29,12 +29,12 @@ export const RemoveAddressModal = ({ isOpen, onClose, }: RemoveAddressModalProps) => { - const { t: tRemoveAddress } = useTranslation("externalKYC", { - keyPrefix: "removeAddress", + const { t: tRemoveAddress } = useTranslation('externalKYC', { + keyPrefix: 'removeAddress', }); const { control, handleSubmit, reset } = useForm({ - mode: "onChange", + mode: 'onChange', }); const { @@ -45,7 +45,7 @@ export const RemoveAddressModal = ({ const onSubmit = (values: FormValues) => { removeFromKYCMockMutate( new RemoveFromBlackListMockRequest({ - contractId: externalKYCSelected?.address ?? "", + contractId: externalKYCSelected?.address ?? '', targetId: values.accountId, }), ).finally(onClose); @@ -63,16 +63,16 @@ export const RemoveAddressModal = ({ }} > - - {tRemoveAddress("title")} + + {tRemoveAddress('title')} @@ -83,7 +83,7 @@ export const RemoveAddressModal = ({ type="submit" onClick={handleSubmit(onSubmit)} > - {tRemoveAddress("remove")} + {tRemoveAddress('remove')} diff --git a/apps/ats/web/src/views/ExternalKYCList/ExternalKYCList.tsx b/apps/ats/web/src/views/ExternalKYCList/ExternalKYCList.tsx index 8d6925e4d..d9ddea433 100644 --- a/apps/ats/web/src/views/ExternalKYCList/ExternalKYCList.tsx +++ b/apps/ats/web/src/views/ExternalKYCList/ExternalKYCList.tsx @@ -1,5 +1,5 @@ -import { Box, HStack, Stack, useDisclosure } from "@chakra-ui/react"; -import { Header } from "./Components/Header"; +import { Box, HStack, Stack, useDisclosure } from '@chakra-ui/react'; +import { Header } from './Components/Header'; import { Button, PhosphorIcon, @@ -7,24 +7,24 @@ import { Table, Text, useToast, -} from "io-bricks-ui"; -import { createColumnHelper } from "@tanstack/table-core"; +} from 'io-bricks-ui'; +import { createColumnHelper } from '@tanstack/table-core'; import { MagnifyingGlass, Question, Trash, UserCircleMinus, UserCirclePlus, -} from "@phosphor-icons/react"; -import { useTranslation } from "react-i18next"; -import { useEffect, useState } from "react"; -import { useUserStore } from "../../store/userStore"; -import { useRolesStore } from "../../store/rolesStore"; -import { User } from "../../utils/constants"; -import { AddAddressModal } from "./Components/AddAddressModal"; -import { RemoveAddressModal } from "./Components/RemoveAddressModal"; -import { CheckAddressModal } from "./Components/CheckAddressModal"; -import { useExternalKYCStore } from "../../store/externalKYCStore"; +} from '@phosphor-icons/react'; +import { useTranslation } from 'react-i18next'; +import { useEffect, useState } from 'react'; +import { useUserStore } from '../../store/userStore'; +import { useRolesStore } from '../../store/rolesStore'; +import { User } from '../../utils/constants'; +import { AddAddressModal } from './Components/AddAddressModal'; +import { RemoveAddressModal } from './Components/RemoveAddressModal'; +import { CheckAddressModal } from './Components/CheckAddressModal'; +import { useExternalKYCStore } from '../../store/externalKYCStore'; export type ExternalKYC = { address: string; @@ -49,14 +49,14 @@ export const ExternalKYCList = () => { onOpen: onOpenCheckModal, } = useDisclosure(); - const { t: tTable } = useTranslation("externalKYC", { - keyPrefix: "list.table", + const { t: tTable } = useTranslation('externalKYC', { + keyPrefix: 'list.table', }); - const { t: tModal } = useTranslation("externalKYC", { - keyPrefix: "list.modal", + const { t: tModal } = useTranslation('externalKYC', { + keyPrefix: 'list.modal', }); - const { t: tMessages } = useTranslation("externalKYC", { - keyPrefix: "list.messages", + const { t: tMessages } = useTranslation('externalKYC', { + keyPrefix: 'list.messages', }); const [externalKYCSelected, setExternalKYCSelected] = useState< @@ -75,13 +75,13 @@ export const ExternalKYCList = () => { const columnHelper = createColumnHelper(); const columns = [ - columnHelper.accessor("address", { - header: tTable("address"), + columnHelper.accessor('address', { + header: tTable('address'), enableSorting: false, size: 700, }), columnHelper.display({ - header: tTable("actions"), + header: tTable('actions'), enableSorting: false, cell(props) { const { @@ -100,7 +100,7 @@ export const ExternalKYCList = () => { > { > { > { setExternalKYCSelected(original); onOpen(); @@ -152,15 +152,15 @@ export const ExternalKYCList = () => { removeExternalKYC(externalKYCSelected.address); toast.show({ - status: "success", - title: tMessages("removeExternalKYC.success"), - description: tMessages("removeExternalKYC.descriptionSuccess"), + status: 'success', + title: tMessages('removeExternalKYC.success'), + description: tMessages('removeExternalKYC.descriptionSuccess'), }); - } catch (error) { + } catch (_error) { toast.show({ - status: "error", - title: tMessages("removeExternalKYC.error"), - description: tMessages("removeExternalKYC.descriptionFailed"), + status: 'error', + title: tMessages('removeExternalKYC.error'), + description: tMessages('removeExternalKYC.descriptionFailed'), }); } }; @@ -193,24 +193,24 @@ export const ExternalKYCList = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tModal("removeExternalKYCPopUp.title")} - description={tModal("removeExternalKYCPopUp.description")} - confirmText={tModal("removeExternalKYCPopUp.confirmText")} + title={tModal('removeExternalKYCPopUp.title')} + description={tModal('removeExternalKYCPopUp.description')} + confirmText={tModal('removeExternalKYCPopUp.confirmText')} onConfirm={() => { handleDelete(); onClose(); }} onCancel={onClose} - cancelText={tModal("removeExternalKYCPopUp.cancelText")} + cancelText={tModal('removeExternalKYCPopUp.cancelText')} /> - + {tTable("empty")}} + emptyComponent={{tTable('empty')}} /> diff --git a/apps/ats/web/src/views/ExternalPauseList/Components/AddExternalPauseButton.tsx b/apps/ats/web/src/views/ExternalPauseList/Components/AddExternalPauseButton.tsx index acdbf2ee5..a706986b9 100644 --- a/apps/ats/web/src/views/ExternalPauseList/Components/AddExternalPauseButton.tsx +++ b/apps/ats/web/src/views/ExternalPauseList/Components/AddExternalPauseButton.tsx @@ -203,16 +203,16 @@ */ -import { PhosphorIcon, Button } from "io-bricks-ui"; -import type { ButtonProps } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { RouterManager } from "../../../router/RouterManager"; -import { RouteName } from "../../../router/RouteName"; -import { Link as RouterLink } from "react-router-dom"; -import { Plus } from "@phosphor-icons/react"; +import { PhosphorIcon, Button } from 'io-bricks-ui'; +import type { ButtonProps } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { RouterManager } from '../../../router/RouterManager'; +import { RouteName } from '../../../router/RouteName'; +import { Link as RouterLink } from 'react-router-dom'; +import { Plus } from '@phosphor-icons/react'; export const AddExternalPauseButton = (props: ButtonProps) => { - const { t } = useTranslation("routes"); + const { t } = useTranslation('routes'); return ( { - const { t: tHeader } = useTranslation("externalPause", { - keyPrefix: "list.header", + const { t: tHeader } = useTranslation('externalPause', { + keyPrefix: 'list.header', }); return ( @@ -223,7 +223,7 @@ export const CreateNewExternalPauseButton = (props: ButtonProps) => { size="md" {...props} > - {tHeader("createNewExternalPause")} + {tHeader('createNewExternalPause')} ); }; diff --git a/apps/ats/web/src/views/ExternalPauseList/Components/Header.tsx b/apps/ats/web/src/views/ExternalPauseList/Components/Header.tsx index f60522bea..9f728ee0c 100644 --- a/apps/ats/web/src/views/ExternalPauseList/Components/Header.tsx +++ b/apps/ats/web/src/views/ExternalPauseList/Components/Header.tsx @@ -203,20 +203,20 @@ */ -import { HStack } from "@chakra-ui/react"; -import { Text } from "io-bricks-ui"; -import { useTranslation } from "react-i18next"; -import { CreateNewExternalPauseButton } from "./CreateNewExternalPauseButton"; -import { AddExternalPauseButton } from "./AddExternalPauseButton"; +import { HStack } from '@chakra-ui/react'; +import { Text } from 'io-bricks-ui'; +import { useTranslation } from 'react-i18next'; +import { CreateNewExternalPauseButton } from './CreateNewExternalPauseButton'; +import { AddExternalPauseButton } from './AddExternalPauseButton'; export const Header = () => { - const { t: tHeader } = useTranslation("externalPause", { - keyPrefix: "list.header", + const { t: tHeader } = useTranslation('externalPause', { + keyPrefix: 'list.header', }); return ( - - {tHeader("title")} + + {tHeader('title')} diff --git a/apps/ats/web/src/views/ExternalPauseList/ExternalPauseList.tsx b/apps/ats/web/src/views/ExternalPauseList/ExternalPauseList.tsx index ed2aa3ae0..46bebf888 100644 --- a/apps/ats/web/src/views/ExternalPauseList/ExternalPauseList.tsx +++ b/apps/ats/web/src/views/ExternalPauseList/ExternalPauseList.tsx @@ -5,8 +5,8 @@ import { MenuButton, Stack, useDisclosure, -} from "@chakra-ui/react"; -import { Header } from "./Components/Header"; +} from '@chakra-ui/react'; +import { Header } from './Components/Header'; import { Button, Dropdown, @@ -17,17 +17,17 @@ import { Table, Text, useToast, -} from "io-bricks-ui"; -import { createColumnHelper } from "@tanstack/table-core"; -import { DotsThreeVertical, Question, Trash } from "@phosphor-icons/react"; -import { useTranslation } from "react-i18next"; -import { useEffect, useState } from "react"; -import { useExternalPauseStore } from "../../store/externalPauseStore"; -import { useUserStore } from "../../store/userStore"; -import { useRolesStore } from "../../store/rolesStore"; -import { User } from "../../utils/constants"; -import { useSetPausedMock } from "../../hooks/mutations/useExternalPause"; -import { SetPausedMockRequest } from "@hashgraph/asset-tokenization-sdk"; +} from 'io-bricks-ui'; +import { createColumnHelper } from '@tanstack/table-core'; +import { DotsThreeVertical, Question, Trash } from '@phosphor-icons/react'; +import { useTranslation } from 'react-i18next'; +import { useEffect, useState } from 'react'; +import { useExternalPauseStore } from '../../store/externalPauseStore'; +import { useUserStore } from '../../store/userStore'; +import { useRolesStore } from '../../store/rolesStore'; +import { User } from '../../utils/constants'; +import { useSetPausedMock } from '../../hooks/mutations/useExternalPause'; +import { SetPausedMockRequest } from '@hashgraph/asset-tokenization-sdk'; type ExternalPause = { address: string; @@ -37,14 +37,14 @@ type ExternalPause = { export const ExternalPauseList = () => { const toast = useToast(); const { isOpen, onOpen, onClose } = useDisclosure(); - const { t: tTable } = useTranslation("externalPause", { - keyPrefix: "list.table", + const { t: tTable } = useTranslation('externalPause', { + keyPrefix: 'list.table', }); - const { t: tModal } = useTranslation("externalPause", { - keyPrefix: "list.modal", + const { t: tModal } = useTranslation('externalPause', { + keyPrefix: 'list.modal', }); - const { t: tMessages } = useTranslation("externalPause", { - keyPrefix: "list.messages", + const { t: tMessages } = useTranslation('externalPause', { + keyPrefix: 'list.messages', }); const [loadingRow, setLoadingRow] = useState(null); @@ -67,24 +67,24 @@ export const ExternalPauseList = () => { const columnHelper = createColumnHelper(); const columns = [ - columnHelper.accessor("address", { - header: tTable("address"), + columnHelper.accessor('address', { + header: tTable('address'), enableSorting: false, }), - columnHelper.accessor("isPaused", { - header: tTable("state"), + columnHelper.accessor('isPaused', { + header: tTable('state'), enableSorting: false, cell({ getValue }) { const value = getValue(); return ( - - {value ? tTable("activated") : tTable("deactivated")} + + {value ? tTable('activated') : tTable('deactivated')} ); }, }), columnHelper.display({ - header: tTable("actions"), + header: tTable('actions'), maxSize: 1, minSize: 1, enableSorting: false, @@ -98,7 +98,7 @@ export const ExternalPauseList = () => { return ( - + {isLoading && loadingRow === address ? ( ) : ( @@ -107,7 +107,7 @@ export const ExternalPauseList = () => { { handleState(address, !isPaused); }} @@ -117,7 +117,7 @@ export const ExternalPauseList = () => { { setExternalPauseSelected(address); onOpen(); @@ -154,15 +154,15 @@ export const ExternalPauseList = () => { removeExternalPause(externalPauseSelected); toast.show({ - status: "success", - title: tMessages("removeExternalPause.success"), - description: tMessages("removeExternalPause.descriptionSuccess"), + status: 'success', + title: tMessages('removeExternalPause.success'), + description: tMessages('removeExternalPause.descriptionSuccess'), }); - } catch (error) { + } catch (_error) { toast.show({ - status: "error", - title: tMessages("removeExternalPause.error"), - description: tMessages("removeExternalPause.descriptionFailed"), + status: 'error', + title: tMessages('removeExternalPause.error'), + description: tMessages('removeExternalPause.descriptionFailed'), }); } }; @@ -174,24 +174,24 @@ export const ExternalPauseList = () => { isOpen={isOpen} onClose={onClose} icon={} - title={tModal("removeExternalPausePopUp.title")} - description={tModal("removeExternalPausePopUp.description")} - confirmText={tModal("removeExternalPausePopUp.confirmText")} + title={tModal('removeExternalPausePopUp.title')} + description={tModal('removeExternalPausePopUp.description')} + confirmText={tModal('removeExternalPausePopUp.confirmText')} onConfirm={() => { handleDelete(); onClose(); }} onCancel={onClose} - cancelText={tModal("removeExternalPausePopUp.cancelText")} + cancelText={tModal('removeExternalPausePopUp.cancelText')} /> - + {tTable("empty")}} + emptyComponent={{tTable('empty')}} /> diff --git a/apps/ats/web/src/views/Initialization/CookieDisclaimer.tsx b/apps/ats/web/src/views/Initialization/CookieDisclaimer.tsx index 87f7457d2..0ce0684e4 100644 --- a/apps/ats/web/src/views/Initialization/CookieDisclaimer.tsx +++ b/apps/ats/web/src/views/Initialization/CookieDisclaimer.tsx @@ -203,12 +203,12 @@ */ -import { ChakraProvider, Flex, useDisclosure } from "@chakra-ui/react"; -import { useEffect } from "react"; -import { PhosphorIcon, PopUp } from "io-bricks-ui"; -import { Info } from "@phosphor-icons/react"; -import theme from "../../theme"; -import { useTranslation } from "react-i18next"; +import { ChakraProvider, Flex, useDisclosure } from '@chakra-ui/react'; +import { useEffect } from 'react'; +import { PhosphorIcon, PopUp } from 'io-bricks-ui'; +import { Info } from '@phosphor-icons/react'; +import theme from '../../theme'; +import { useTranslation } from 'react-i18next'; interface DisclaimerProps { setAccepted: (accepted: boolean) => void; @@ -216,7 +216,7 @@ interface DisclaimerProps { const Disclaimer = ({ setAccepted }: DisclaimerProps) => { const { isOpen, onOpen, onClose } = useDisclosure(); - const { t } = useTranslation("initialization"); + const { t } = useTranslation('initialization'); useEffect(() => { onOpen(); @@ -228,9 +228,9 @@ const Disclaimer = ({ setAccepted }: DisclaimerProps) => { { isOpen={isOpen} onClose={onClose} icon={} - title={t("cookieDisclaimer.Title")} - description={t("cookieDisclaimer.Description")} - cancelText={t("cookieDisclaimer.CancelButton")} - confirmText={t("cookieDisclaimer.ConfirmButton")} + title={t('cookieDisclaimer.Title')} + description={t('cookieDisclaimer.Description')} + cancelText={t('cookieDisclaimer.CancelButton')} + confirmText={t('cookieDisclaimer.ConfirmButton')} onConfirm={() => { setAccepted(true); }} diff --git a/apps/ats/web/src/views/Landing/Landing.tsx b/apps/ats/web/src/views/Landing/Landing.tsx index c9628e3b6..2ea2ea892 100644 --- a/apps/ats/web/src/views/Landing/Landing.tsx +++ b/apps/ats/web/src/views/Landing/Landing.tsx @@ -203,7 +203,7 @@ */ -import { useEffect, useState } from "react"; +import { useEffect, useState } from 'react'; import { Box, Center, @@ -218,27 +218,27 @@ import { OrderedList, Stack, VStack, -} from "@chakra-ui/react"; -import { PhosphorIcon, Text, Weight, Button, PopUp } from "io-bricks-ui"; -import landingBackground from "../../assets/layer.png"; -import { useWalletStore } from "../../store/walletStore"; -import { Trans, useTranslation } from "react-i18next"; -import { RouterManager } from "../../router/RouterManager"; -import { RouteName } from "../../router/RouteName"; -import { Wallet } from "@phosphor-icons/react"; -import { METAMASK_URL, WalletStatus, User } from "../../utils/constants"; -import { useWalletConnection } from "../../hooks/useWalletConnection"; -import { useUserStore } from "../../store/userStore"; -import { SupportedWallets } from "@hashgraph/asset-tokenization-sdk"; +} from '@chakra-ui/react'; +import { PhosphorIcon, Text, Weight, Button, PopUp } from 'io-bricks-ui'; +import landingBackground from '../../assets/layer.png'; +import { useWalletStore } from '../../store/walletStore'; +import { Trans, useTranslation } from 'react-i18next'; +import { RouterManager } from '../../router/RouterManager'; +import { RouteName } from '../../router/RouteName'; +import { Wallet } from '@phosphor-icons/react'; +import { METAMASK_URL, WalletStatus, User } from '../../utils/constants'; +import { useWalletConnection } from '../../hooks/useWalletConnection'; +import { useUserStore } from '../../store/userStore'; +import { SupportedWallets } from '@hashgraph/asset-tokenization-sdk'; export const Landing = () => { - const { t } = useTranslation("landing"); - const { t: tGlobals } = useTranslation("globals"); - const { t: tConnecting } = useTranslation("landing", { - keyPrefix: "metamaskPopup.connecting", + const { t } = useTranslation('landing'); + const { t: tGlobals } = useTranslation('globals'); + const { t: tConnecting } = useTranslation('landing', { + keyPrefix: 'metamaskPopup.connecting', }); - const { t: tUninstalled } = useTranslation("landing", { - keyPrefix: "metamaskPopup.uninstalled", + const { t: tUninstalled } = useTranslation('landing', { + keyPrefix: 'metamaskPopup.uninstalled', }); const { connectionStatus, reset } = useWalletStore(); const { handleConnectWallet: connectWallet } = useWalletConnection(); @@ -253,7 +253,7 @@ export const Landing = () => { }; const handleInstallButton = () => { - window.open(METAMASK_URL, "_blank"); + window.open(METAMASK_URL, '_blank'); reset(); }; @@ -281,14 +281,14 @@ export const Landing = () => { - {tConnecting("title")} + {tConnecting('title')} - {tConnecting("description")} + {tConnecting('description')} @@ -303,14 +303,14 @@ export const Landing = () => { - {tUninstalled("title")} + {tUninstalled('title')} - {tUninstalled("description")} + {tUninstalled('description')} { color="primary.500" mt={6} > - {tUninstalled("button")} + {tUninstalled('button')} @@ -346,9 +346,9 @@ export const Landing = () => { color="neutral.900" maxW="470px" > - {`${t("connectYour")} `} + {`${t('connectYour')} `} - {t("Wallet")} + {t('Wallet')} { width="329px" my={3} > - {t("welcomeMessage")} + {t('welcomeMessage')} - {t("showMetamaskInstructions")} + {t('showMetamaskInstructions')} @@ -376,7 +376,7 @@ export const Landing = () => { p: , ol: , li: , - a: , + a: , }} /> @@ -390,7 +390,7 @@ export const Landing = () => { onClick={() => handleConnectWallet(SupportedWallets.METAMASK)} > - {tGlobals("connectMetamask")} + {tGlobals('connectMetamask')} { onClick={() => handleConnectWallet(SupportedWallets.HWALLETCONNECT)} > - {tGlobals("connectWalletConnect")} + {tGlobals('connectWalletConnect')} diff --git a/apps/ats/web/src/views/Landing/__tests__/Landing.test.tsx b/apps/ats/web/src/views/Landing/__tests__/Landing.test.tsx index d1ae66b76..b3154bc00 100644 --- a/apps/ats/web/src/views/Landing/__tests__/Landing.test.tsx +++ b/apps/ats/web/src/views/Landing/__tests__/Landing.test.tsx @@ -203,18 +203,18 @@ */ -import { waitFor } from "@testing-library/react"; -import userEvent from "@testing-library/user-event"; -import { Landing } from "../Landing"; -import { render } from "../../../test-utils"; -import { RouterManager } from "../../../router/RouterManager"; -import { RouteName } from "../../../router/RouteName"; -import { useWalletStore } from "../../../store/walletStore"; -import { METAMASK_URL, WalletStatus } from "../../../utils/constants"; - -jest.mock("../../../router/RouterManager", () => ({ +import { waitFor } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { Landing } from '../Landing'; +import { render } from '../../../test-utils'; +import { RouterManager } from '../../../router/RouterManager'; +import { RouteName } from '../../../router/RouteName'; +import { useWalletStore } from '../../../store/walletStore'; +import { METAMASK_URL, WalletStatus } from '../../../utils/constants'; + +jest.mock('../../../router/RouterManager', () => ({ RouterManager: { - ...jest.requireActual("../../../router/RouterManager").RouterManager, + ...jest.requireActual('../../../router/RouterManager').RouterManager, to: jest.fn(), }, })); @@ -222,24 +222,24 @@ jest.mock("../../../router/RouterManager", () => ({ const initialStoreState = useWalletStore.getState(); describe(`${Landing.name}`, () => { - const accounts = ["0xd8da6bf26964af9d7eed9e03e53415d37aa96045"]; + const accounts = ['0xd8da6bf26964af9d7eed9e03e53415d37aa96045']; afterEach(() => { jest.clearAllMocks(); useWalletStore.setState(initialStoreState, true); }); - test("should render correctly", async () => { + test('should render correctly', async () => { const component = render(); await waitFor(() => { - expect(component.getByTestId("landing-page")); + expect(component.getByTestId('landing-page')); }); - expect(component.asFragment()).toMatchSnapshot("disconnected"); + expect(component.asFragment()).toMatchSnapshot('disconnected'); }); - test("if user connect to metamask then should redirect to dashboard", async () => { + test('if user connect to metamask then should redirect to dashboard', async () => { useWalletStore.setState( { ...initialStoreState, @@ -252,17 +252,17 @@ describe(`${Landing.name}`, () => { const component = render(); await waitFor(() => { - expect(component.getByTestId("landing-page")); + expect(component.getByTestId('landing-page')); }); - const button = component.getByTestId("connect-to-metamask-landing-button"); + const button = component.getByTestId('connect-to-metamask-landing-button'); userEvent.click(button); await waitFor(() => { - expect(component.queryByTestId("landing-page")).not.toBeInTheDocument(); + expect(component.queryByTestId('landing-page')).not.toBeInTheDocument(); }); - expect(component.asFragment()).toMatchSnapshot("connecting"); + expect(component.asFragment()).toMatchSnapshot('connecting'); expect(RouterManager.to).toHaveBeenCalledTimes(1); expect(RouterManager.to).toHaveBeenCalledWith(RouteName.Dashboard); }); @@ -271,10 +271,10 @@ describe(`${Landing.name}`, () => { const component = render(); await waitFor(() => { - expect(component.getByTestId("landing-page")); + expect(component.getByTestId('landing-page')); }); - const button = component.getByTestId("connect-to-metamask-landing-button"); + const button = component.getByTestId('connect-to-metamask-landing-button'); userEvent.click(button); useWalletStore.setState( @@ -283,9 +283,9 @@ describe(`${Landing.name}`, () => { ); await waitFor(() => { - expect(component.queryByTestId("landing-page")).not.toBeInTheDocument(); + expect(component.queryByTestId('landing-page')).not.toBeInTheDocument(); expect( - component.getByTestId("connecting-to-metamask"), + component.getByTestId('connecting-to-metamask'), ).toBeInTheDocument(); }); @@ -294,11 +294,11 @@ describe(`${Landing.name}`, () => { expect(RouterManager.to).toHaveBeenCalledTimes(0); await waitFor(() => { - expect(component.getByTestId("landing-page")).toBeInTheDocument(); + expect(component.getByTestId('landing-page')).toBeInTheDocument(); }); }); - test("if metamask is not installed then should open popup with button to install", async () => { + test('if metamask is not installed then should open popup with button to install', async () => { const component = render(); const uninstalled = { ...initialStoreState, @@ -307,13 +307,13 @@ describe(`${Landing.name}`, () => { useWalletStore.setState(uninstalled, true); await waitFor(() => { - expect(component.getByTestId("install-metamask")).toBeInTheDocument(); + expect(component.getByTestId('install-metamask')).toBeInTheDocument(); }); - expect(component.asFragment()).toMatchSnapshot("uninstalled"); + expect(component.asFragment()).toMatchSnapshot('uninstalled'); }); - test("if click on install metamask button should open metamask page and go back to landing page", async () => { + test('if click on install metamask button should open metamask page and go back to landing page', async () => { const oldWindowOpen = window.open; window.open = jest.fn(); const component = render(); @@ -325,17 +325,17 @@ describe(`${Landing.name}`, () => { useWalletStore.setState(uninstalled, true); await waitFor(() => { - expect(component.getByTestId("install-metamask")).toBeInTheDocument(); + expect(component.getByTestId('install-metamask')).toBeInTheDocument(); }); const installButton = component.getByTestId( - "install-metamask-extension-button", + 'install-metamask-extension-button', ); userEvent.click(installButton); await waitFor(() => { - expect(global.window.open).toHaveBeenCalledWith(METAMASK_URL, "_blank"); - expect(component.getByTestId("landing-page")); + expect(global.window.open).toHaveBeenCalledWith(METAMASK_URL, '_blank'); + expect(component.getByTestId('landing-page')); }); window.open = oldWindowOpen; diff --git a/apps/ats/web/src/winston-mock.js b/apps/ats/web/src/winston-mock.js index 9915c3e24..99b0c80d5 100644 --- a/apps/ats/web/src/winston-mock.js +++ b/apps/ats/web/src/winston-mock.js @@ -3,7 +3,7 @@ export const createLogger = () => ({ log: (level, message, meta) => { // Mock logger should delegate to console for debugging const consoleMethod = - level === "ERROR" ? "error" : level === "TRACE" ? "debug" : "info"; + level === 'ERROR' ? 'error' : level === 'TRACE' ? 'debug' : 'info'; console[consoleMethod](`[${level}] ${message}`, meta); }, error: () => {}, diff --git a/apps/ats/web/style-transformer.js b/apps/ats/web/style-transformer.js index af8c23479..cd5bc665c 100644 --- a/apps/ats/web/style-transformer.js +++ b/apps/ats/web/style-transformer.js @@ -1,3 +1,3 @@ module.exports = { - process: () => "module.exports = {}", + process: () => 'module.exports = {}', }; diff --git a/apps/ats/web/svgTransform.js b/apps/ats/web/svgTransform.js index fb55062c1..14f39e293 100644 --- a/apps/ats/web/svgTransform.js +++ b/apps/ats/web/svgTransform.js @@ -1,9 +1,9 @@ module.exports = { process() { - return { code: "module.exports = {};" }; + return { code: 'module.exports = {};' }; }, getCacheKey() { // The output is always the same. - return "svgTransform"; + return 'svgTransform'; }, }; diff --git a/apps/ats/web/vite.config.ts b/apps/ats/web/vite.config.ts index fbfa2fafe..bbf1917d3 100644 --- a/apps/ats/web/vite.config.ts +++ b/apps/ats/web/vite.config.ts @@ -203,24 +203,24 @@ */ -import { NodeGlobalsPolyfillPlugin } from "@esbuild-plugins/node-globals-polyfill"; +import { NodeGlobalsPolyfillPlugin } from '@esbuild-plugins/node-globals-polyfill'; // yarn add --dev @esbuild-plugins/node-modules-polyfill -import { NodeModulesPolyfillPlugin } from "@esbuild-plugins/node-modules-polyfill"; +import { NodeModulesPolyfillPlugin } from '@esbuild-plugins/node-modules-polyfill'; // You don't need to add this to deps, it's included by @esbuild-plugins/node-modules-polyfill -import rollupNodePolyFill from "rollup-plugin-node-polyfills"; -import commonjs from "@rollup/plugin-commonjs"; -import react from "@vitejs/plugin-react"; -import tsconfigPaths from "vite-tsconfig-paths"; -import EnvironmentPlugin from "vite-plugin-environment"; -import pluginRewriteAll from "vite-plugin-rewrite-all"; +import rollupNodePolyFill from 'rollup-plugin-node-polyfills'; +import commonjs from '@rollup/plugin-commonjs'; +import react from '@vitejs/plugin-react'; +import tsconfigPaths from 'vite-tsconfig-paths'; +import EnvironmentPlugin from 'vite-plugin-environment'; +import pluginRewriteAll from 'vite-plugin-rewrite-all'; export default { plugins: [ react(), - EnvironmentPlugin("all"), + EnvironmentPlugin('all'), pluginRewriteAll(), { - name: "singleHMR", + name: 'singleHMR', handleHotUpdate({ modules }) { modules.map((m) => { m.importedModules = new Set(); @@ -231,7 +231,7 @@ export default { }, tsconfigPaths(), { - name: "fix-node-globals-polyfill", + name: 'fix-node-globals-polyfill', setup(build) { build.onResolve({ filter: /util\.js/ }, ({ path }) => ({ path })); }, @@ -243,59 +243,59 @@ export default { // see https://github.com/remorses/esbuild-plugins/blob/master/node-modules-polyfill/src/polyfills.ts // process and buffer are excluded because already managed // by node-globals-polyfill - util: "util", - sys: "util", - events: "rollup-plugin-node-polyfills/polyfills/events", - stream: "rollup-plugin-node-polyfills/polyfills/stream", - path: "rollup-plugin-node-polyfills/polyfills/path", - querystring: "rollup-plugin-node-polyfills/polyfills/qs", - punycode: "rollup-plugin-node-polyfills/polyfills/punycode", - url: "rollup-plugin-node-polyfills/polyfills/url", + util: 'util', + sys: 'util', + events: 'rollup-plugin-node-polyfills/polyfills/events', + stream: 'rollup-plugin-node-polyfills/polyfills/stream', + path: 'rollup-plugin-node-polyfills/polyfills/path', + querystring: 'rollup-plugin-node-polyfills/polyfills/qs', + punycode: 'rollup-plugin-node-polyfills/polyfills/punycode', + url: 'rollup-plugin-node-polyfills/polyfills/url', string_decoder: - "rollup-plugin-node-polyfills/polyfills/string-decoder.js", - http: "rollup-plugin-node-polyfills/polyfills/http", - https: "rollup-plugin-node-polyfills/polyfills/http", - os: "rollup-plugin-node-polyfills/polyfills/os", - assert: "rollup-plugin-node-polyfills/polyfills/assert", - constants: "rollup-plugin-node-polyfills/polyfills/constants", + 'rollup-plugin-node-polyfills/polyfills/string-decoder.js', + http: 'rollup-plugin-node-polyfills/polyfills/http', + https: 'rollup-plugin-node-polyfills/polyfills/http', + os: 'rollup-plugin-node-polyfills/polyfills/os', + assert: 'rollup-plugin-node-polyfills/polyfills/assert', + constants: 'rollup-plugin-node-polyfills/polyfills/constants', _stream_duplex: - "rollup-plugin-node-polyfills/polyfills/readable-stream/duplex", + 'rollup-plugin-node-polyfills/polyfills/readable-stream/duplex', _stream_passthrough: - "rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough", + 'rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough', _stream_readable: - "rollup-plugin-node-polyfills/polyfills/readable-stream/readable", + 'rollup-plugin-node-polyfills/polyfills/readable-stream/readable', _stream_writable: - "rollup-plugin-node-polyfills/polyfills/readable-stream/writable", + 'rollup-plugin-node-polyfills/polyfills/readable-stream/writable', _stream_transform: - "rollup-plugin-node-polyfills/polyfills/readable-stream/transform", - timers: "rollup-plugin-node-polyfills/polyfills/timers", - console: "rollup-plugin-node-polyfills/polyfills/console", - vm: "rollup-plugin-node-polyfills/polyfills/vm", - zlib: "rollup-plugin-node-polyfills/polyfills/zlib", - tty: "rollup-plugin-node-polyfills/polyfills/tty", - domain: "rollup-plugin-node-polyfills/polyfills/domain", - buffer: "rollup-plugin-node-polyfills/polyfills/buffer-es6", - process: "rollup-plugin-node-polyfills/polyfills/process-es6", + 'rollup-plugin-node-polyfills/polyfills/readable-stream/transform', + timers: 'rollup-plugin-node-polyfills/polyfills/timers', + console: 'rollup-plugin-node-polyfills/polyfills/console', + vm: 'rollup-plugin-node-polyfills/polyfills/vm', + zlib: 'rollup-plugin-node-polyfills/polyfills/zlib', + tty: 'rollup-plugin-node-polyfills/polyfills/tty', + domain: 'rollup-plugin-node-polyfills/polyfills/domain', + buffer: 'rollup-plugin-node-polyfills/polyfills/buffer-es6', + process: 'rollup-plugin-node-polyfills/polyfills/process-es6', // Winston and logging related modules - provide mock implementations for browser - winston: "/src/winston-mock.js", - "winston-daily-rotate-file": - "rollup-plugin-node-polyfills/polyfills/empty.js", - "winston-transport": "rollup-plugin-node-polyfills/polyfills/empty.js", + winston: '/src/winston-mock.js', + 'winston-daily-rotate-file': + 'rollup-plugin-node-polyfills/polyfills/empty.js', + 'winston-transport': 'rollup-plugin-node-polyfills/polyfills/empty.js', }, - dedupe: ["@emotion/react"], + dedupe: ['@emotion/react'], }, optimizeDeps: { include: [ - "@hashgraph/asset-tokenization-contracts", - "@hashgraph/asset-tokenization-sdk", + '@hashgraph/asset-tokenization-contracts', + '@hashgraph/asset-tokenization-sdk', ], - exclude: ["winston", "winston-daily-rotate-file", "winston-transport"], + exclude: ['winston', 'winston-daily-rotate-file', 'winston-transport'], esbuildOptions: { /********* New line inserted ***********/ // inject: ['./vite-polyfills/setImmediate.js'], // Node.js global to browser globalThis define: { - global: "globalThis", + global: 'globalThis', }, // Enable esbuild polyfill plugins plugins: [ @@ -309,14 +309,14 @@ export default { }, build: { rollupOptions: { - external: ["winston", "winston-daily-rotate-file", "winston-transport"], + external: ['winston', 'winston-daily-rotate-file', 'winston-transport'], plugins: [ // Enable rollup polyfills plugin // used during production bundling rollupNodePolyFill(), // Handle CommonJS modules commonjs({ - include: ["**/node_modules/**", "**/packages/ats/contracts/**"], + include: ['**/node_modules/**', '**/packages/ats/contracts/**'], }), ], }, diff --git a/apps/mass-payout/README.md b/apps/mass-payout/README.md index f9edea094..782c855ae 100644 --- a/apps/mass-payout/README.md +++ b/apps/mass-payout/README.md @@ -1,5 +1,7 @@ ## Mass Payouts + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. ### Features + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. diff --git a/codecov.yml b/codecov.yml index a00a60c60..3b4aae490 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,6 +1,6 @@ # Always comment on PRs comment: - layout: "diff, flags, files" + layout: 'diff, flags, files' behavior: new # deletes old comment and posts a new one require_changes: false @@ -16,4 +16,4 @@ coverage: threshold: 1% ignore: - - "packages/*/dist" + - 'packages/*/dist' diff --git a/commitlint.config.ts b/commitlint.config.ts index c8f8f596f..2ab278aa0 100644 --- a/commitlint.config.ts +++ b/commitlint.config.ts @@ -203,4 +203,4 @@ */ -export default { extends: ["@commitlint/config-conventional"] }; +export default { extends: ['@commitlint/config-conventional'] }; diff --git a/docs/LINTING_MIGRATION.MD b/docs/LINTING_MIGRATION.MD new file mode 100644 index 000000000..0786b0bdf --- /dev/null +++ b/docs/LINTING_MIGRATION.MD @@ -0,0 +1,144 @@ +# Prettier Flat Config Clarification and Migration Notes + +## Root Prettier Config (ES Module) + +Example configuration placed at `prettier.config.mjs`: + +```js +/** + * @see https://prettier.io/docs/configuration + * @type {import('prettier').Config} + */ +const config = { + printWidth: 80, + tabWidth: 2, + useTabs: false, + semi: true, + singleQuote: true, + quoteProps: 'as-needed', + jsxSingleQuote: false, + trailingComma: 'all', + bracketSpacing: true, + jsxBracketSameLine: false, + arrowParens: 'always', + endOfLine: 'auto', + overrides: [ + { + files: '*.sol', + options: { + tabWidth: 4, + printWidth: 120, + singleQuote: true, + semi: false, + compiler: '0.8.18', + }, + }, + { + files: ['*.ts', '*.tsx', '*.mts'], + options: { parser: 'typescript' }, + }, + { + files: ['*.js', '*.jsx', '*.mjs', '*.cjs'], + options: { parser: 'babel' }, + }, + { files: ['*.json'], options: { parser: 'json' } }, + { files: ['*.md'], options: { parser: 'markdown' } }, + { files: ['*.yml', '*.yaml'], options: { parser: 'yaml' } }, + ], + plugins: ['prettier-plugin-solidity'], +}; +export default config; +``` + +--- + +## .prettierignore (Root) + +Typical ignore patterns: + +``` +node_modules +package-lock.json +yarn.lock +pnpm-lock.yaml +build +dist +out +coverage +.turbo +typechain-types +artifacts +cache +*.sol-coverage +gas-report.txt +.vscode +.idea +.env* +Smart Contracts Audit Report.pdf +``` + +--- + +## Centralized Script Approach (package.json excerpt) + +Key scripts (example): + +``` +"lint": "npm run lint:js && npm run lint:sol", +"lint:js": "eslint . --cache", +"lint:sol": "solhint 'packages/ats/contracts/contracts/**/*.sol'", +"lint:fix": "eslint . --fix && npm run format", +"format": "prettier --write . --cache", +"format:check": "prettier --check . --cache" +``` + +Optional workspace convenience scripts can call the root scripts per package if desired. + +--- + +## Lint-Staged (Simplified Example) + +``` +{ + "*.sol": ["prettier --write", "solhint"], + "*.{js,mjs,cjs,ts,tsx,mts}": ["eslint --fix", "prettier --write"], + "*.{json,md,yml,yaml}": ["prettier --write"] +} +``` + +--- + +## Removal of Per-Package Config + +Old ESLint / Prettier configuration files in individual packages were removed in favor of the root configuration. Solidity-specific `.solhint.json` and `.solhintignore` remain in the contracts package. + +--- + +## Benefits + +- Single source of truth +- Reduced maintenance +- Consistent formatting and linting standards +- Fewer duplicate devDependencies +- Better performance via shared cache and ignore files +- Modern ESLint flat config usage + +--- + +## Developer Notes + +- Run linting from root: `npm run lint` +- Format code: `npm run format` +- Pre-commit hooks (if using husky + lint-staged) rely on the centralized config +- Ensure IDE uses the workspace versions of ESLint and Prettier + +--- + +## Recommended Verification Steps + +``` +npm install +npm run lint +npm run format +npm run ats:build +``` diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000..5888a29d5 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,222 @@ +import js from '@eslint/js'; +import typescript from '@typescript-eslint/eslint-plugin'; +import typescriptParser from '@typescript-eslint/parser'; +import prettier from 'eslint-plugin-prettier'; +import unusedImports from 'eslint-plugin-unused-imports'; +import jest from 'eslint-plugin-jest'; +import reactHooks from 'eslint-plugin-react-hooks'; +import reactRefresh from 'eslint-plugin-react-refresh'; +import globals from 'globals'; + +export default [ + // Base configuration - ignores + { + ignores: [ + '**/node_modules/**', + '**/build/**', + '**/dist/**', + '**/out/**', + '**/coverage/**', + '**/.turbo/**', + '**/typechain-types/**', + '**/artifacts/**', + '**/cache/**', + '**/Smart Contracts Audit Report.pdf', + '**/*.sol-coverage', + '**/gas-report.txt', + '**/.env*', + '**/*.pdf', + '**/docs/**', + '**/.vscode/**', + '**/.idea/**', + '**/fixtures/**', + '**/__mocks__/**', + '**/*.config.js', + '**/*.config.cjs', + '**/*.config.mjs', + '**/commitlint.config.ts', + '**/jest.config.js', + '**/hardhat.config.ts', + '**/*.js', + '**/*d.ts', + '**/tmp/**', + '**/example/**', + '**/src_old/**', + '**/package.json', + ], + }, + + // Default configuration for all JS/TS files + { + files: ['**/*.{js,mjs,cjs,ts,tsx,mts}'], + languageOptions: { + ecmaVersion: 2020, + sourceType: 'module', + parser: typescriptParser, + parserOptions: { + ecmaVersion: 2020, + sourceType: 'module', + }, + globals: { + ...globals.node, + ...globals.es2020, + }, + }, + plugins: { + '@typescript-eslint': typescript, + prettier, + 'unused-imports': unusedImports, + }, + rules: { + ...js.configs.recommended.rules, + ...typescript.configs.recommended.rules, + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + 'unused-imports/no-unused-imports': 'error', + '@typescript-eslint/no-var-requires': 'off', + 'prettier/prettier': [ + 'error', + { + endOfLine: 'auto', + }, + ], + }, + }, + + // Contract-specific TypeScript files (non-test) + { + files: ['packages/ats/contracts/**/*.ts'], + ignores: [ + '**/*.test.ts', + '**/*.spec.ts', + 'packages/ats/contracts/test/**/*', + ], + rules: { + '@typescript-eslint/no-unused-expressions': 'error', + }, + }, + + // Contract test files + { + files: [ + 'packages/ats/contracts/**/*.test.ts', + 'packages/ats/contracts/**/*.spec.ts', + 'packages/ats/contracts/test/**/*.ts', + 'packages/ats/contracts/**/*.test.js', + 'packages/ats/contracts/**/*.spec.js', + 'packages/ats/contracts/test/**/*.js', + ], + languageOptions: { + // Include mocha globals used by Hardhat tests (describe, it, before, after, etc.) + globals: { + ...globals.node, + ...globals.es2020, + ...globals.mocha, + }, + }, + rules: { + '@typescript-eslint/no-unused-expressions': 'off', + }, + }, + + // SDK files + { + files: ['packages/ats/sdk/**/*.ts', 'packages/ats/sdk/**/*.mts'], + plugins: { + jest, + }, + rules: { + ...jest.configs.recommended.rules, + '@typescript-eslint/explicit-function-return-type': 'warn', + '@typescript-eslint/no-var-requires': 'off', + }, + }, + + // SDK test files - additional test-specific overrides + { + files: [ + 'packages/ats/sdk/**/*.test.ts', + 'packages/ats/sdk/**/*.spec.ts', + 'packages/ats/sdk/__tests__/**/*.ts', + 'packages/ats/sdk/**/__tests__/**/*.ts', + 'packages/ats/sdk/**/jest-setup-file.ts', + ], + languageOptions: { + // Extend existing globals with Jest testing globals so describe/it/expect are defined + globals: { + ...globals.node, + ...globals.es2020, + ...globals.jest, + }, + }, + rules: { + '@typescript-eslint/explicit-function-return-type': 'off', + }, + }, + + // SDK jest mock files (__mocks__ folders) + { + files: ['packages/ats/sdk/**/__mocks__/**/*.{js,ts,tsx}'], + languageOptions: { + globals: { + ...globals.node, + ...globals.es2020, + ...globals.jest, + }, + }, + }, + + // React/Web app files + { + files: ['apps/ats/web/**/*.{ts,tsx,js,jsx}'], + languageOptions: { + globals: { + ...globals.browser, + ...globals.node, + ...globals.jest, + }, + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + ecmaFeatures: { + jsx: true, + }, + }, + }, + plugins: { + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + settings: { + react: { + version: 'detect', + }, + }, + rules: { + ...reactHooks.configs.recommended.rules, + 'react-refresh/only-export-components': 'off', + '@typescript-eslint/ban-ts-comment': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-non-null-asserted-optional-chain': 'off', + '@typescript-eslint/no-empty-function': 'off', + }, + }, + + // Mass payout packages (if they exist) + { + files: [ + 'packages/mass-payout/**/*.{ts,tsx}', + 'apps/mass-payout/**/*.{ts,tsx}', + ], + rules: { + // Add any mass-payout specific rules here if needed + }, + }, +]; diff --git a/package-lock.json b/package-lock.json index 6b1f3fd5f..82fe65dd2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,9 +17,27 @@ "devDependencies": { "@commitlint/cli": "^19.7.1", "@commitlint/config-conventional": "^19.7.1", + "@eslint/js": "^9.24.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jest": "^27.2.3", + "eslint-plugin-license-header": "^0.6.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "eslint-plugin-unused-imports": "^4.1.4", + "globals": "^15.0.0", "husky": "^9.1.7", "lint-staged": "^15.2.11", - "rimraf": "^5.0.0" + "prettier": "^3.5.3", + "prettier-plugin-solidity": "^1.4.2", + "rimraf": "^5.0.0", + "solhint": "^3.3.7", + "solhint-plugin-prettier": "^0.1.0", + "typescript": "^5.8.2" } }, "apps/ats/web": { @@ -61,25 +79,16 @@ "@types/jest": "^29.5.1", "@types/react": "^18.2.15", "@types/react-dom": "^18.2.7", - "@typescript-eslint/eslint-plugin": "6.21.0", - "@typescript-eslint/parser": "^6.21.0", "@vitejs/plugin-react": "^4.0.3", "babel-jest": "^29.5.0", "babel-plugin-transform-vite-meta-env": "^1.0.3", "date-fns-tz": "^2.0.0", "dotenv": "^16.0.3", - "eslint": "^8.38.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-import": "^2.28.1", - "eslint-plugin-prettier": "^5.0.0", - "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.3.4", "format-util": "^1.0.5", "history": "^5.3.0", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "npm-run-all": "^4.1.5", - "prettier": "^3.0.3", "react-select-event": "^5.5.1", "rimraf": "^6.0.1", "ts-jest": "^29.1.0", @@ -95,577 +104,170 @@ "yarn": "1.22.22" } }, - "apps/ats/web/node_modules/@tanstack/react-query": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.40.1.tgz", - "integrity": "sha512-mgD07S5N8e5v81CArKDWrHE4LM7HxZ9k/KLeD3+NUD9WimGZgKIqojUZf/rXkfAMYZU9p0Chzj2jOXm7xpgHHQ==", - "license": "MIT", + "apps/ats/web/node_modules/rimraf": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "dev": true, + "license": "ISC", "dependencies": { - "@tanstack/query-core": "4.40.0", - "use-sync-external-store": "^1.2.0" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "bin": { + "rimraf": "dist/esm/bin.mjs" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-native": "*" + "engines": { + "node": "20 || >=22" }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "apps/ats/web/node_modules/@testing-library/dom": { - "version": "9.3.4", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz", - "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==", + "apps/ats/web/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14" + "node": ">=4.2.0" } }, - "apps/ats/web/node_modules/@testing-library/react": { - "version": "14.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.3.1.tgz", - "integrity": "sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==", + "node_modules/@adobe/css-tools": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.3.tgz", + "integrity": "sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.0.tgz", + "integrity": "sha512-/3DDPKHqqIqxUULp8yP4zODUY1i+2xvVWsv8A79xGWdCAG+8sb0hRh0Rk2QyOJUnnbyPUAZYcpBuRe3nS2OIUg==", + "license": "MIT" + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "node": ">=6.0.0" } }, - "apps/ats/web/node_modules/@types/react": { - "version": "18.3.23", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", - "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "license": "Apache-2.0", "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "apps/ats/web/node_modules/@types/react-dom": { - "version": "18.3.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", - "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^18.0.0" + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "apps/ats/web/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", "dependencies": { - "color-convert": "^2.0.1" + "tslib": "^2.6.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=14.0.0" } }, - "apps/ats/web/node_modules/chakra-react-select": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chakra-react-select/-/chakra-react-select-4.5.0.tgz", - "integrity": "sha512-5oxVH9tmn3kVVLt9m/zT28Efv44mk30BZETubE2MhkGMIeM9oJsiL2+dhgKLNUMLRxglmacY00oGQTSI0JrRTA==", - "license": "MIT", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", "dependencies": { - "react-select": "5.7.0" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@chakra-ui/form-control": "^2.0.0", - "@chakra-ui/icon": "^3.0.0", - "@chakra-ui/layout": "^2.0.0", - "@chakra-ui/media-query": "^3.0.0", - "@chakra-ui/menu": "^2.0.0", - "@chakra-ui/spinner": "^2.0.0", - "@chakra-ui/system": "^2.0.0", - "@emotion/react": "^11.8.1", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "engines": { + "node": ">=14.0.0" } }, - "apps/ats/web/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=14.0.0" } }, - "apps/ats/web/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "license": "Apache-2.0", "dependencies": { - "color-name": "~1.1.4" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=16.0.0" } }, - "apps/ats/web/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + } }, - "apps/ats/web/node_modules/eslint-config-prettier": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.2.tgz", - "integrity": "sha512-/IGJ6+Dka158JnP5n5YFMOszjDWrXggGz1LaK/guZq9vZTmniaKlHcsscvkAhn9y4U+BU3JuUdYvtAMcv30y4A==", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "apps/ats/web/node_modules/framer-motion": { - "version": "10.18.0", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.18.0.tgz", - "integrity": "sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w==", - "license": "MIT", + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.4.0" - }, - "optionalDependencies": { - "@emotion/is-prop-valid": "^0.8.2" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "tslib": "^2.6.2" }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "engines": { + "node": ">=14.0.0" } }, - "apps/ats/web/node_modules/glob": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz", - "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.3.1", - "jackspeak": "^4.1.1", - "minimatch": "^10.0.3", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "apps/ats/web/node_modules/io-bricks-ui": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/io-bricks-ui/-/io-bricks-ui-2.7.4.tgz", - "integrity": "sha512-OAw7WRzklHHq6ArC82pleA+miFeJkLj8e6YNK6m/AxTIF4U2qqC4pdBQMlNyGiS/wjErjdaxH7hgV/qfs6LWhQ==", - "license": "MIT", - "dependencies": { - "@chakra-ui/anatomy": "2.1.1", - "@emotion/react": "^11.0.0", - "@phosphor-icons/react": "2.0.9", - "@tanstack/react-table": "^8.9.1", - "chakra-react-select": "4.5.0", - "date-fns": "^2.29.3", - "echarts": "^5.3.3", - "echarts-for-react": "^3.0.2", - "lodash": "^4.17.21", - "react-day-picker": "^8.6.0", - "react-hook-form": "^7.41.5", - "react-markdown": "^6.0.3", - "react-number-format": "5.1.4" - }, - "peerDependencies": { - "@chakra-ui/react": "2.6.1", - "@emotion/styled": "^11.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - } - }, - "apps/ats/web/node_modules/jackspeak": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", - "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "apps/ats/web/node_modules/lru-cache": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", - "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", - "dev": true, - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, - "apps/ats/web/node_modules/memoize-one": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", - "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", - "license": "MIT" - }, - "apps/ats/web/node_modules/minimatch": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", - "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", - "dev": true, - "license": "ISC", - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "apps/ats/web/node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "apps/ats/web/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "apps/ats/web/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "apps/ats/web/node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "apps/ats/web/node_modules/react-day-picker": { - "version": "8.10.1", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.1.tgz", - "integrity": "sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==", - "license": "MIT", - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/gpbl" - }, - "peerDependencies": { - "date-fns": "^2.28.0 || ^3.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "apps/ats/web/node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "apps/ats/web/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "license": "MIT" - }, - "apps/ats/web/node_modules/react-number-format": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-5.1.4.tgz", - "integrity": "sha512-QV7QHzHrk9ZS9V0bWkIwu6ywiXJt0www4/cXWEVEgwaNqthmOZl/Cf5O0ukEPlGZJJr06Jh3+CM4rZsvXn8cOg==", - "license": "MIT", - "dependencies": { - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "apps/ats/web/node_modules/react-select": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.0.tgz", - "integrity": "sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.0", - "@emotion/cache": "^11.4.0", - "@emotion/react": "^11.8.1", - "@floating-ui/dom": "^1.0.1", - "@types/react-transition-group": "^4.4.0", - "memoize-one": "^6.0.0", - "prop-types": "^15.6.0", - "react-transition-group": "^4.3.0", - "use-isomorphic-layout-effect": "^1.1.2" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "apps/ats/web/node_modules/rimraf": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", - "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^11.0.0", - "package-json-from-dist": "^1.0.0" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "apps/ats/web/node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "apps/ats/web/node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/@adobe/css-tools": { - "version": "4.4.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@adraffy/ens-normalize": { - "version": "1.11.0", - "license": "MIT" - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "5.2.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-js": "^5.2.0", - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-js": { - "version": "5.2.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "5.2.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/util": { - "version": "5.2.0", - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "license": "Apache-2.0", + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" @@ -676,6 +278,8 @@ }, "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^2.2.0", @@ -686,46 +290,48 @@ } }, "node_modules/@aws-sdk/client-kms": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-kms/-/client-kms-3.864.0.tgz", + "integrity": "sha512-qEnSPGSB+LKWmetlxQ5qt3mmEcktp9dhPCmB7vdLiOPoRFyPAVIIqLG1jhrwspUgxVYil7Lq+ygHhW72D+7zOg==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.846.0", - "@aws-sdk/credential-provider-node": "3.846.0", - "@aws-sdk/middleware-host-header": "3.840.0", - "@aws-sdk/middleware-logger": "3.840.0", - "@aws-sdk/middleware-recursion-detection": "3.840.0", - "@aws-sdk/middleware-user-agent": "3.846.0", - "@aws-sdk/region-config-resolver": "3.840.0", - "@aws-sdk/types": "3.840.0", - "@aws-sdk/util-endpoints": "3.845.0", - "@aws-sdk/util-user-agent-browser": "3.840.0", - "@aws-sdk/util-user-agent-node": "3.846.0", - "@smithy/config-resolver": "^4.1.4", - "@smithy/core": "^3.7.0", - "@smithy/fetch-http-handler": "^5.1.0", - "@smithy/hash-node": "^4.0.4", - "@smithy/invalid-dependency": "^4.0.4", - "@smithy/middleware-content-length": "^4.0.4", - "@smithy/middleware-endpoint": "^4.1.15", - "@smithy/middleware-retry": "^4.1.16", - "@smithy/middleware-serde": "^4.0.8", - "@smithy/middleware-stack": "^4.0.4", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/node-http-handler": "^4.1.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/smithy-client": "^4.4.7", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/credential-provider-node": "3.864.0", + "@aws-sdk/middleware-host-header": "3.862.0", + "@aws-sdk/middleware-logger": "3.862.0", + "@aws-sdk/middleware-recursion-detection": "3.862.0", + "@aws-sdk/middleware-user-agent": "3.864.0", + "@aws-sdk/region-config-resolver": "3.862.0", + "@aws-sdk/types": "3.862.0", + "@aws-sdk/util-endpoints": "3.862.0", + "@aws-sdk/util-user-agent-browser": "3.862.0", + "@aws-sdk/util-user-agent-node": "3.864.0", + "@smithy/config-resolver": "^4.1.5", + "@smithy/core": "^3.8.0", + "@smithy/fetch-http-handler": "^5.1.1", + "@smithy/hash-node": "^4.0.5", + "@smithy/invalid-dependency": "^4.0.5", + "@smithy/middleware-content-length": "^4.0.5", + "@smithy/middleware-endpoint": "^4.1.18", + "@smithy/middleware-retry": "^4.1.19", + "@smithy/middleware-serde": "^4.0.9", + "@smithy/middleware-stack": "^4.0.5", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/node-http-handler": "^4.1.1", + "@smithy/protocol-http": "^5.1.3", + "@smithy/smithy-client": "^4.4.10", + "@smithy/types": "^4.3.2", + "@smithy/url-parser": "^4.0.5", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.23", - "@smithy/util-defaults-mode-node": "^4.0.23", - "@smithy/util-endpoints": "^3.0.6", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-retry": "^4.0.6", + "@smithy/util-defaults-mode-browser": "^4.0.26", + "@smithy/util-defaults-mode-node": "^4.0.26", + "@smithy/util-endpoints": "^3.0.7", + "@smithy/util-middleware": "^4.0.5", + "@smithy/util-retry": "^4.0.7", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" }, @@ -734,45 +340,47 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.864.0.tgz", + "integrity": "sha512-THiOp0OpQROEKZ6IdDCDNNh3qnNn/kFFaTSOiugDpgcE5QdsOxh1/RXq7LmHpTJum3cmnFf8jG59PHcz9Tjnlw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.846.0", - "@aws-sdk/middleware-host-header": "3.840.0", - "@aws-sdk/middleware-logger": "3.840.0", - "@aws-sdk/middleware-recursion-detection": "3.840.0", - "@aws-sdk/middleware-user-agent": "3.846.0", - "@aws-sdk/region-config-resolver": "3.840.0", - "@aws-sdk/types": "3.840.0", - "@aws-sdk/util-endpoints": "3.845.0", - "@aws-sdk/util-user-agent-browser": "3.840.0", - "@aws-sdk/util-user-agent-node": "3.846.0", - "@smithy/config-resolver": "^4.1.4", - "@smithy/core": "^3.7.0", - "@smithy/fetch-http-handler": "^5.1.0", - "@smithy/hash-node": "^4.0.4", - "@smithy/invalid-dependency": "^4.0.4", - "@smithy/middleware-content-length": "^4.0.4", - "@smithy/middleware-endpoint": "^4.1.15", - "@smithy/middleware-retry": "^4.1.16", - "@smithy/middleware-serde": "^4.0.8", - "@smithy/middleware-stack": "^4.0.4", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/node-http-handler": "^4.1.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/smithy-client": "^4.4.7", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/middleware-host-header": "3.862.0", + "@aws-sdk/middleware-logger": "3.862.0", + "@aws-sdk/middleware-recursion-detection": "3.862.0", + "@aws-sdk/middleware-user-agent": "3.864.0", + "@aws-sdk/region-config-resolver": "3.862.0", + "@aws-sdk/types": "3.862.0", + "@aws-sdk/util-endpoints": "3.862.0", + "@aws-sdk/util-user-agent-browser": "3.862.0", + "@aws-sdk/util-user-agent-node": "3.864.0", + "@smithy/config-resolver": "^4.1.5", + "@smithy/core": "^3.8.0", + "@smithy/fetch-http-handler": "^5.1.1", + "@smithy/hash-node": "^4.0.5", + "@smithy/invalid-dependency": "^4.0.5", + "@smithy/middleware-content-length": "^4.0.5", + "@smithy/middleware-endpoint": "^4.1.18", + "@smithy/middleware-retry": "^4.1.19", + "@smithy/middleware-serde": "^4.0.9", + "@smithy/middleware-stack": "^4.0.5", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/node-http-handler": "^4.1.1", + "@smithy/protocol-http": "^5.1.3", + "@smithy/smithy-client": "^4.4.10", + "@smithy/types": "^4.3.2", + "@smithy/url-parser": "^4.0.5", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.23", - "@smithy/util-defaults-mode-node": "^4.0.23", - "@smithy/util-endpoints": "^3.0.6", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-retry": "^4.0.6", + "@smithy/util-defaults-mode-browser": "^4.0.26", + "@smithy/util-defaults-mode-node": "^4.0.26", + "@smithy/util-endpoints": "^3.0.7", + "@smithy/util-middleware": "^4.0.5", + "@smithy/util-retry": "^4.0.7", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" }, @@ -781,21 +389,23 @@ } }, "node_modules/@aws-sdk/core": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.864.0.tgz", + "integrity": "sha512-LFUREbobleHEln+Zf7IG83lAZwvHZG0stI7UU0CtwyuhQy5Yx0rKksHNOCmlM7MpTEbSCfntEhYi3jUaY5e5lg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.840.0", - "@aws-sdk/xml-builder": "3.821.0", - "@smithy/core": "^3.7.0", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/property-provider": "^4.0.4", - "@smithy/protocol-http": "^5.1.2", - "@smithy/signature-v4": "^5.1.2", - "@smithy/smithy-client": "^4.4.7", - "@smithy/types": "^4.3.1", + "@aws-sdk/types": "3.862.0", + "@aws-sdk/xml-builder": "3.862.0", + "@smithy/core": "^3.8.0", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/property-provider": "^4.0.5", + "@smithy/protocol-http": "^5.1.3", + "@smithy/signature-v4": "^5.1.3", + "@smithy/smithy-client": "^4.4.10", + "@smithy/types": "^4.3.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", - "@smithy/util-middleware": "^4.0.4", + "@smithy/util-middleware": "^4.0.5", "@smithy/util-utf8": "^4.0.0", "fast-xml-parser": "5.2.5", "tslib": "^2.6.2" @@ -805,13 +415,15 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.864.0.tgz", + "integrity": "sha512-StJPOI2Rt8UE6lYjXUpg6tqSZaM72xg46ljPg8kIevtBAAfdtq9K20qT/kSliWGIBocMFAv0g2mC0hAa+ECyvg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "3.846.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/types": "^4.3.1", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/types": "3.862.0", + "@smithy/property-provider": "^4.0.5", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -819,18 +431,20 @@ } }, "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.864.0.tgz", + "integrity": "sha512-E/RFVxGTuGnuD+9pFPH2j4l6HvrXzPhmpL8H8nOoJUosjx7d4v93GJMbbl1v/fkDLqW9qN4Jx2cI6PAjohA6OA==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "3.846.0", - "@aws-sdk/types": "3.840.0", - "@smithy/fetch-http-handler": "^5.1.0", - "@smithy/node-http-handler": "^4.1.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/protocol-http": "^5.1.2", - "@smithy/smithy-client": "^4.4.7", - "@smithy/types": "^4.3.1", - "@smithy/util-stream": "^4.2.3", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/types": "3.862.0", + "@smithy/fetch-http-handler": "^5.1.1", + "@smithy/node-http-handler": "^4.1.1", + "@smithy/property-provider": "^4.0.5", + "@smithy/protocol-http": "^5.1.3", + "@smithy/smithy-client": "^4.4.10", + "@smithy/types": "^4.3.2", + "@smithy/util-stream": "^4.2.4", "tslib": "^2.6.2" }, "engines": { @@ -838,21 +452,23 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.864.0.tgz", + "integrity": "sha512-PlxrijguR1gxyPd5EYam6OfWLarj2MJGf07DvCx9MAuQkw77HBnsu6+XbV8fQriFuoJVTBLn9ROhMr/ROAYfUg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "3.846.0", - "@aws-sdk/credential-provider-env": "3.846.0", - "@aws-sdk/credential-provider-http": "3.846.0", - "@aws-sdk/credential-provider-process": "3.846.0", - "@aws-sdk/credential-provider-sso": "3.846.0", - "@aws-sdk/credential-provider-web-identity": "3.846.0", - "@aws-sdk/nested-clients": "3.846.0", - "@aws-sdk/types": "3.840.0", - "@smithy/credential-provider-imds": "^4.0.6", - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/credential-provider-env": "3.864.0", + "@aws-sdk/credential-provider-http": "3.864.0", + "@aws-sdk/credential-provider-process": "3.864.0", + "@aws-sdk/credential-provider-sso": "3.864.0", + "@aws-sdk/credential-provider-web-identity": "3.864.0", + "@aws-sdk/nested-clients": "3.864.0", + "@aws-sdk/types": "3.862.0", + "@smithy/credential-provider-imds": "^4.0.7", + "@smithy/property-provider": "^4.0.5", + "@smithy/shared-ini-file-loader": "^4.0.5", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -860,20 +476,22 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.864.0.tgz", + "integrity": "sha512-2BEymFeXURS+4jE9tP3vahPwbYRl0/1MVaFZcijj6pq+nf5EPGvkFillbdBRdc98ZI2NedZgSKu3gfZXgYdUhQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/credential-provider-env": "3.846.0", - "@aws-sdk/credential-provider-http": "3.846.0", - "@aws-sdk/credential-provider-ini": "3.846.0", - "@aws-sdk/credential-provider-process": "3.846.0", - "@aws-sdk/credential-provider-sso": "3.846.0", - "@aws-sdk/credential-provider-web-identity": "3.846.0", - "@aws-sdk/types": "3.840.0", - "@smithy/credential-provider-imds": "^4.0.6", - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", + "@aws-sdk/credential-provider-env": "3.864.0", + "@aws-sdk/credential-provider-http": "3.864.0", + "@aws-sdk/credential-provider-ini": "3.864.0", + "@aws-sdk/credential-provider-process": "3.864.0", + "@aws-sdk/credential-provider-sso": "3.864.0", + "@aws-sdk/credential-provider-web-identity": "3.864.0", + "@aws-sdk/types": "3.862.0", + "@smithy/credential-provider-imds": "^4.0.7", + "@smithy/property-provider": "^4.0.5", + "@smithy/shared-ini-file-loader": "^4.0.5", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -881,14 +499,16 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.864.0.tgz", + "integrity": "sha512-Zxnn1hxhq7EOqXhVYgkF4rI9MnaO3+6bSg/tErnBQ3F8kDpA7CFU24G1YxwaJXp2X4aX3LwthefmSJHwcVP/2g==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "3.846.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/types": "3.862.0", + "@smithy/property-provider": "^4.0.5", + "@smithy/shared-ini-file-loader": "^4.0.5", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -896,16 +516,18 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.864.0.tgz", + "integrity": "sha512-UPyPNQbxDwHVGmgWdGg9/9yvzuedRQVF5jtMkmP565YX9pKZ8wYAcXhcYdNPWFvH0GYdB0crKOmvib+bmCuwkw==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-sso": "3.846.0", - "@aws-sdk/core": "3.846.0", - "@aws-sdk/token-providers": "3.846.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", + "@aws-sdk/client-sso": "3.864.0", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/token-providers": "3.864.0", + "@aws-sdk/types": "3.862.0", + "@smithy/property-provider": "^4.0.5", + "@smithy/shared-ini-file-loader": "^4.0.5", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -913,14 +535,16 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.864.0.tgz", + "integrity": "sha512-nNcjPN4SYg8drLwqK0vgVeSvxeGQiD0FxOaT38mV2H8cu0C5NzpvA+14Xy+W6vT84dxgmJYKk71Cr5QL2Oz+rA==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "3.846.0", - "@aws-sdk/nested-clients": "3.846.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/types": "^4.3.1", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/nested-clients": "3.864.0", + "@aws-sdk/types": "3.862.0", + "@smithy/property-provider": "^4.0.5", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -928,12 +552,14 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.840.0", + "version": "3.862.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.862.0.tgz", + "integrity": "sha512-jDje8dCFeFHfuCAxMDXBs8hy8q9NCTlyK4ThyyfAj3U4Pixly2mmzY2u7b7AyGhWsjJNx8uhTjlYq5zkQPQCYw==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", + "@aws-sdk/types": "3.862.0", + "@smithy/protocol-http": "^5.1.3", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -941,11 +567,13 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.840.0", + "version": "3.862.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.862.0.tgz", + "integrity": "sha512-N/bXSJznNBR/i7Ofmf9+gM6dx/SPBK09ZWLKsW5iQjqKxAKn/2DozlnE54uiEs1saHZWoNDRg69Ww4XYYSlG1Q==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/types": "^4.3.1", + "@aws-sdk/types": "3.862.0", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -953,12 +581,14 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.840.0", + "version": "3.862.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.862.0.tgz", + "integrity": "sha512-KVoo3IOzEkTq97YKM4uxZcYFSNnMkhW/qj22csofLegZi5fk90ztUnnaeKfaEJHfHp/tm1Y3uSoOXH45s++kKQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", + "@aws-sdk/types": "3.862.0", + "@smithy/protocol-http": "^5.1.3", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -966,15 +596,17 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.864.0.tgz", + "integrity": "sha512-wrddonw4EyLNSNBrApzEhpSrDwJiNfjxDm5E+bn8n32BbAojXASH8W8jNpxz/jMgNkkJNxCfyqybGKzBX0OhbQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "3.846.0", - "@aws-sdk/types": "3.840.0", - "@aws-sdk/util-endpoints": "3.845.0", - "@smithy/core": "^3.7.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/types": "3.862.0", + "@aws-sdk/util-endpoints": "3.862.0", + "@smithy/core": "^3.8.0", + "@smithy/protocol-http": "^5.1.3", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -982,45 +614,47 @@ } }, "node_modules/@aws-sdk/nested-clients": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.864.0.tgz", + "integrity": "sha512-H1C+NjSmz2y8Tbgh7Yy89J20yD/hVyk15hNoZDbCYkXg0M358KS7KVIEYs8E2aPOCr1sK3HBE819D/yvdMgokA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.846.0", - "@aws-sdk/middleware-host-header": "3.840.0", - "@aws-sdk/middleware-logger": "3.840.0", - "@aws-sdk/middleware-recursion-detection": "3.840.0", - "@aws-sdk/middleware-user-agent": "3.846.0", - "@aws-sdk/region-config-resolver": "3.840.0", - "@aws-sdk/types": "3.840.0", - "@aws-sdk/util-endpoints": "3.845.0", - "@aws-sdk/util-user-agent-browser": "3.840.0", - "@aws-sdk/util-user-agent-node": "3.846.0", - "@smithy/config-resolver": "^4.1.4", - "@smithy/core": "^3.7.0", - "@smithy/fetch-http-handler": "^5.1.0", - "@smithy/hash-node": "^4.0.4", - "@smithy/invalid-dependency": "^4.0.4", - "@smithy/middleware-content-length": "^4.0.4", - "@smithy/middleware-endpoint": "^4.1.15", - "@smithy/middleware-retry": "^4.1.16", - "@smithy/middleware-serde": "^4.0.8", - "@smithy/middleware-stack": "^4.0.4", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/node-http-handler": "^4.1.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/smithy-client": "^4.4.7", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/middleware-host-header": "3.862.0", + "@aws-sdk/middleware-logger": "3.862.0", + "@aws-sdk/middleware-recursion-detection": "3.862.0", + "@aws-sdk/middleware-user-agent": "3.864.0", + "@aws-sdk/region-config-resolver": "3.862.0", + "@aws-sdk/types": "3.862.0", + "@aws-sdk/util-endpoints": "3.862.0", + "@aws-sdk/util-user-agent-browser": "3.862.0", + "@aws-sdk/util-user-agent-node": "3.864.0", + "@smithy/config-resolver": "^4.1.5", + "@smithy/core": "^3.8.0", + "@smithy/fetch-http-handler": "^5.1.1", + "@smithy/hash-node": "^4.0.5", + "@smithy/invalid-dependency": "^4.0.5", + "@smithy/middleware-content-length": "^4.0.5", + "@smithy/middleware-endpoint": "^4.1.18", + "@smithy/middleware-retry": "^4.1.19", + "@smithy/middleware-serde": "^4.0.9", + "@smithy/middleware-stack": "^4.0.5", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/node-http-handler": "^4.1.1", + "@smithy/protocol-http": "^5.1.3", + "@smithy/smithy-client": "^4.4.10", + "@smithy/types": "^4.3.2", + "@smithy/url-parser": "^4.0.5", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", "@smithy/util-body-length-node": "^4.0.0", - "@smithy/util-defaults-mode-browser": "^4.0.23", - "@smithy/util-defaults-mode-node": "^4.0.23", - "@smithy/util-endpoints": "^3.0.6", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-retry": "^4.0.6", + "@smithy/util-defaults-mode-browser": "^4.0.26", + "@smithy/util-defaults-mode-node": "^4.0.26", + "@smithy/util-endpoints": "^3.0.7", + "@smithy/util-middleware": "^4.0.5", + "@smithy/util-retry": "^4.0.7", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" }, @@ -1029,14 +663,16 @@ } }, "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.840.0", + "version": "3.862.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.862.0.tgz", + "integrity": "sha512-VisR+/HuVFICrBPY+q9novEiE4b3mvDofWqyvmxHcWM7HumTz9ZQSuEtnlB/92GVM3KDUrR9EmBHNRrfXYZkcQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/types": "^4.3.1", + "@aws-sdk/types": "3.862.0", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/types": "^4.3.2", "@smithy/util-config-provider": "^4.0.0", - "@smithy/util-middleware": "^4.0.4", + "@smithy/util-middleware": "^4.0.5", "tslib": "^2.6.2" }, "engines": { @@ -1044,15 +680,17 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.864.0.tgz", + "integrity": "sha512-gTc2QHOBo05SCwVA65dUtnJC6QERvFaPiuppGDSxoF7O5AQNK0UR/kMSenwLqN8b5E1oLYvQTv3C1idJLRX0cg==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "3.846.0", - "@aws-sdk/nested-clients": "3.846.0", - "@aws-sdk/types": "3.840.0", - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", + "@aws-sdk/core": "3.864.0", + "@aws-sdk/nested-clients": "3.864.0", + "@aws-sdk/types": "3.862.0", + "@smithy/property-provider": "^4.0.5", + "@smithy/shared-ini-file-loader": "^4.0.5", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -1060,10 +698,12 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.840.0", + "version": "3.862.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.862.0.tgz", + "integrity": "sha512-Bei+RL0cDxxV+lW2UezLbCYYNeJm6Nzee0TpW0FfyTRBhH9C1XQh4+x+IClriXvgBnRquTMMYsmJfvx8iyLKrg==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -1071,13 +711,15 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.845.0", + "version": "3.862.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.862.0.tgz", + "integrity": "sha512-eCZuScdE9MWWkHGM2BJxm726MCmWk/dlHjOKvkM0sN1zxBellBMw5JohNss1Z8/TUmnW2gb9XHTOiHuGjOdksA==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", - "@smithy/util-endpoints": "^3.0.6", + "@aws-sdk/types": "3.862.0", + "@smithy/types": "^4.3.2", + "@smithy/url-parser": "^4.0.5", + "@smithy/util-endpoints": "^3.0.7", "tslib": "^2.6.2" }, "engines": { @@ -1086,6 +728,8 @@ }, "node_modules/@aws-sdk/util-locate-window": { "version": "3.804.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz", + "integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -1095,23 +739,27 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.840.0", + "version": "3.862.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.862.0.tgz", + "integrity": "sha512-BmPTlm0r9/10MMr5ND9E92r8KMZbq5ltYXYpVcUbAsnB1RJ8ASJuRoLne5F7mB3YMx0FJoOTuSq7LdQM3LgW3Q==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/types": "3.840.0", - "@smithy/types": "^4.3.1", + "@aws-sdk/types": "3.862.0", + "@smithy/types": "^4.3.2", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.846.0", + "version": "3.864.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.864.0.tgz", + "integrity": "sha512-d+FjUm2eJEpP+FRpVR3z6KzMdx1qwxEYDz8jzNKwxYLBBquaBaP/wfoMtMQKAcbrR7aT9FZVZF7zDgzNxUvQlQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/middleware-user-agent": "3.846.0", - "@aws-sdk/types": "3.840.0", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/types": "^4.3.1", + "@aws-sdk/middleware-user-agent": "3.864.0", + "@aws-sdk/types": "3.862.0", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -1128,6 +776,8 @@ }, "node_modules/@aws-sdk/util-utf8-browser": { "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1135,10 +785,12 @@ } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.821.0", + "version": "3.862.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.862.0.tgz", + "integrity": "sha512-6Ed0kmC1NMbuFTEgNmamAUU1h5gShgxL1hBVLbEzUa3trX5aJBz1vU4bXaBTvOYUAnOHtiy1Ml4AMStd6hJnFA==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -1147,6 +799,8 @@ }, "node_modules/@babel/code-frame": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", @@ -1159,6 +813,8 @@ }, "node_modules/@babel/compat-data": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -1166,6 +822,8 @@ }, "node_modules/@babel/core": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz", + "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==", "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", @@ -1192,15 +850,10 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz", + "integrity": "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==", "license": "MIT", "dependencies": { "@babel/parser": "^7.28.0", @@ -1215,6 +868,8 @@ }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, "license": "MIT", "dependencies": { @@ -1226,6 +881,8 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "license": "MIT", "dependencies": { "@babel/compat-data": "^7.27.2", @@ -1238,15 +895,10 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", + "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", "dev": true, "license": "MIT", "dependencies": { @@ -1265,16 +917,10 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-regexp-features-plugin": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1289,16 +935,10 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", "dev": true, "license": "MIT", "dependencies": { @@ -1312,27 +952,10 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/resolve": { - "version": "1.22.10", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/@babel/helper-globals": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -1340,6 +963,8 @@ }, "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", "dev": true, "license": "MIT", "dependencies": { @@ -1352,6 +977,8 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "license": "MIT", "dependencies": { "@babel/traverse": "^7.27.1", @@ -1363,6 +990,8 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.27.1", @@ -1378,6 +1007,8 @@ }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", "dev": true, "license": "MIT", "dependencies": { @@ -1389,6 +1020,8 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -1396,6 +1029,8 @@ }, "node_modules/@babel/helper-remap-async-to-generator": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "dev": true, "license": "MIT", "dependencies": { @@ -1412,6 +1047,8 @@ }, "node_modules/@babel/helper-replace-supers": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", "dev": true, "license": "MIT", "dependencies": { @@ -1428,6 +1065,8 @@ }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", "dev": true, "license": "MIT", "dependencies": { @@ -1440,6 +1079,8 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -1447,6 +1088,8 @@ }, "node_modules/@babel/helper-validator-identifier": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -1454,6 +1097,8 @@ }, "node_modules/@babel/helper-validator-option": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -1461,6 +1106,8 @@ }, "node_modules/@babel/helper-wrap-function": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", + "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1473,11 +1120,13 @@ } }, "node_modules/@babel/helpers": { - "version": "7.27.6", + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.2.tgz", + "integrity": "sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==", "license": "MIT", "dependencies": { "@babel/template": "^7.27.2", - "@babel/types": "^7.27.6" + "@babel/types": "^7.28.2" }, "engines": { "node": ">=6.9.0" @@ -1485,6 +1134,8 @@ }, "node_modules/@babel/parser": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz", + "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", "license": "MIT", "dependencies": { "@babel/types": "^7.28.0" @@ -1498,6 +1149,8 @@ }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", "dev": true, "license": "MIT", "dependencies": { @@ -1513,6 +1166,8 @@ }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", "dev": true, "license": "MIT", "dependencies": { @@ -1527,6 +1182,8 @@ }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", "dev": true, "license": "MIT", "dependencies": { @@ -1541,6 +1198,8 @@ }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", "dev": true, "license": "MIT", "dependencies": { @@ -1557,6 +1216,8 @@ }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", + "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", "dev": true, "license": "MIT", "dependencies": { @@ -1572,6 +1233,8 @@ }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, "license": "MIT", "engines": { @@ -1583,6 +1246,8 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1593,6 +1258,8 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1603,6 +1270,8 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" @@ -1613,6 +1282,8 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -1626,6 +1297,8 @@ }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", "dev": true, "license": "MIT", "dependencies": { @@ -1640,6 +1313,8 @@ }, "node_modules/@babel/plugin-syntax-import-attributes": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" @@ -1653,6 +1328,8 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -1663,6 +1340,8 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1673,6 +1352,8 @@ }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", "dev": true, "license": "MIT", "dependencies": { @@ -1687,6 +1368,8 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -1697,6 +1380,8 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1707,6 +1392,8 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -1717,6 +1404,8 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1727,6 +1416,8 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1737,6 +1428,8 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1747,6 +1440,8 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -1760,6 +1455,8 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -1773,6 +1470,8 @@ }, "node_modules/@babel/plugin-syntax-typescript": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1787,6 +1486,8 @@ }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, "license": "MIT", "dependencies": { @@ -1802,6 +1503,8 @@ }, "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "dev": true, "license": "MIT", "dependencies": { @@ -1816,6 +1519,8 @@ }, "node_modules/@babel/plugin-transform-async-generator-functions": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1832,6 +1537,8 @@ }, "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", "dev": true, "license": "MIT", "dependencies": { @@ -1848,6 +1555,8 @@ }, "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", "dev": true, "license": "MIT", "dependencies": { @@ -1862,6 +1571,8 @@ }, "node_modules/@babel/plugin-transform-block-scoping": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz", + "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1876,6 +1587,8 @@ }, "node_modules/@babel/plugin-transform-class-properties": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", "dev": true, "license": "MIT", "dependencies": { @@ -1891,6 +1604,8 @@ }, "node_modules/@babel/plugin-transform-class-static-block": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", + "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", "dev": true, "license": "MIT", "dependencies": { @@ -1906,6 +1621,8 @@ }, "node_modules/@babel/plugin-transform-classes": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.0.tgz", + "integrity": "sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==", "dev": true, "license": "MIT", "dependencies": { @@ -1925,6 +1642,8 @@ }, "node_modules/@babel/plugin-transform-computed-properties": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", "dev": true, "license": "MIT", "dependencies": { @@ -1940,6 +1659,8 @@ }, "node_modules/@babel/plugin-transform-destructuring": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", "dev": true, "license": "MIT", "dependencies": { @@ -1955,6 +1676,8 @@ }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", "dev": true, "license": "MIT", "dependencies": { @@ -1970,6 +1693,8 @@ }, "node_modules/@babel/plugin-transform-duplicate-keys": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1984,6 +1709,8 @@ }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1999,6 +1726,8 @@ }, "node_modules/@babel/plugin-transform-dynamic-import": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", "dev": true, "license": "MIT", "dependencies": { @@ -2013,6 +1742,8 @@ }, "node_modules/@babel/plugin-transform-explicit-resource-management": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2028,6 +1759,8 @@ }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2042,6 +1775,8 @@ }, "node_modules/@babel/plugin-transform-export-namespace-from": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2056,6 +1791,8 @@ }, "node_modules/@babel/plugin-transform-for-of": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", "dev": true, "license": "MIT", "dependencies": { @@ -2071,6 +1808,8 @@ }, "node_modules/@babel/plugin-transform-function-name": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2087,6 +1826,8 @@ }, "node_modules/@babel/plugin-transform-json-strings": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2101,6 +1842,8 @@ }, "node_modules/@babel/plugin-transform-literals": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "dev": true, "license": "MIT", "dependencies": { @@ -2115,6 +1858,8 @@ }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", "dev": true, "license": "MIT", "dependencies": { @@ -2129,6 +1874,8 @@ }, "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2143,6 +1890,8 @@ }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", "dev": true, "license": "MIT", "dependencies": { @@ -2158,6 +1907,8 @@ }, "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", "dev": true, "license": "MIT", "dependencies": { @@ -2173,6 +1924,8 @@ }, "node_modules/@babel/plugin-transform-modules-systemjs": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", "dev": true, "license": "MIT", "dependencies": { @@ -2190,6 +1943,8 @@ }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", "dev": true, "license": "MIT", "dependencies": { @@ -2205,6 +1960,8 @@ }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", "dev": true, "license": "MIT", "dependencies": { @@ -2220,6 +1977,8 @@ }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2234,6 +1993,8 @@ }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", "dev": true, "license": "MIT", "dependencies": { @@ -2248,6 +2009,8 @@ }, "node_modules/@babel/plugin-transform-numeric-separator": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", "dev": true, "license": "MIT", "dependencies": { @@ -2262,6 +2025,8 @@ }, "node_modules/@babel/plugin-transform-object-rest-spread": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz", + "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==", "dev": true, "license": "MIT", "dependencies": { @@ -2280,6 +2045,8 @@ }, "node_modules/@babel/plugin-transform-object-super": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", "dev": true, "license": "MIT", "dependencies": { @@ -2295,6 +2062,8 @@ }, "node_modules/@babel/plugin-transform-optional-catch-binding": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2309,6 +2078,8 @@ }, "node_modules/@babel/plugin-transform-optional-chaining": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", "dev": true, "license": "MIT", "dependencies": { @@ -2324,6 +2095,8 @@ }, "node_modules/@babel/plugin-transform-parameters": { "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "dev": true, "license": "MIT", "dependencies": { @@ -2338,6 +2111,8 @@ }, "node_modules/@babel/plugin-transform-private-methods": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", "dev": true, "license": "MIT", "dependencies": { @@ -2353,6 +2128,8 @@ }, "node_modules/@babel/plugin-transform-private-property-in-object": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2369,6 +2146,8 @@ }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2383,6 +2162,8 @@ }, "node_modules/@babel/plugin-transform-react-display-name": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", "dev": true, "license": "MIT", "dependencies": { @@ -2397,6 +2178,8 @@ }, "node_modules/@babel/plugin-transform-react-jsx": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", "dev": true, "license": "MIT", "dependencies": { @@ -2415,6 +2198,8 @@ }, "node_modules/@babel/plugin-transform-react-jsx-development": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2429,6 +2214,8 @@ }, "node_modules/@babel/plugin-transform-react-jsx-self": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", "dev": true, "license": "MIT", "dependencies": { @@ -2443,6 +2230,8 @@ }, "node_modules/@babel/plugin-transform-react-jsx-source": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", "dev": true, "license": "MIT", "dependencies": { @@ -2457,6 +2246,8 @@ }, "node_modules/@babel/plugin-transform-react-pure-annotations": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", "dev": true, "license": "MIT", "dependencies": { @@ -2472,6 +2263,8 @@ }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.28.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.1.tgz", + "integrity": "sha512-P0QiV/taaa3kXpLY+sXla5zec4E+4t4Aqc9ggHlfZ7a2cp8/x/Gv08jfwEtn9gnnYIMvHx6aoOZ8XJL8eU71Dg==", "dev": true, "license": "MIT", "dependencies": { @@ -2486,6 +2279,8 @@ }, "node_modules/@babel/plugin-transform-regexp-modifiers": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", "dev": true, "license": "MIT", "dependencies": { @@ -2501,6 +2296,8 @@ }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", "dev": true, "license": "MIT", "dependencies": { @@ -2515,6 +2312,8 @@ }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2529,6 +2328,8 @@ }, "node_modules/@babel/plugin-transform-spread": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2544,6 +2345,8 @@ }, "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", "dev": true, "license": "MIT", "dependencies": { @@ -2558,6 +2361,8 @@ }, "node_modules/@babel/plugin-transform-template-literals": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", "dev": true, "license": "MIT", "dependencies": { @@ -2572,6 +2377,8 @@ }, "node_modules/@babel/plugin-transform-typeof-symbol": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", "dev": true, "license": "MIT", "dependencies": { @@ -2586,6 +2393,8 @@ }, "node_modules/@babel/plugin-transform-typescript": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", + "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", "dev": true, "license": "MIT", "dependencies": { @@ -2604,6 +2413,8 @@ }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", "dev": true, "license": "MIT", "dependencies": { @@ -2618,6 +2429,8 @@ }, "node_modules/@babel/plugin-transform-unicode-property-regex": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", "dev": true, "license": "MIT", "dependencies": { @@ -2633,6 +2446,8 @@ }, "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", "dev": true, "license": "MIT", "dependencies": { @@ -2648,6 +2463,8 @@ }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", "dev": true, "license": "MIT", "dependencies": { @@ -2663,6 +2480,8 @@ }, "node_modules/@babel/preset-env": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.0.tgz", + "integrity": "sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg==", "dev": true, "license": "MIT", "dependencies": { @@ -2744,16 +2563,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, "license": "MIT", "dependencies": { @@ -2767,6 +2580,8 @@ }, "node_modules/@babel/preset-react": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz", + "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==", "dev": true, "license": "MIT", "dependencies": { @@ -2786,6 +2601,8 @@ }, "node_modules/@babel/preset-typescript": { "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", + "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2803,7 +2620,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.27.6", + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.2.tgz", + "integrity": "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -2811,6 +2630,8 @@ }, "node_modules/@babel/template": { "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", @@ -2823,6 +2644,8 @@ }, "node_modules/@babel/traverse": { "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz", + "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", @@ -2840,6 +2663,8 @@ "node_modules/@babel/traverse--for-generate-function-map": { "name": "@babel/traverse", "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz", + "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", "license": "MIT", "peer": true, "dependencies": { @@ -2856,7 +2681,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.1", + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -2868,16 +2695,22 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true, "license": "MIT" }, "node_modules/@bytecodealliance/preview2-shim": { "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@bytecodealliance/preview2-shim/-/preview2-shim-0.17.0.tgz", + "integrity": "sha512-JorcEwe4ud0x5BS/Ar2aQWOQoFzjq/7jcnxYXCvSMh0oRm0dQXzOA+hqLDBnOMks1LLBA7dmiLLsEBl09Yd6iQ==", "dev": true, "license": "(Apache-2.0 WITH LLVM-exception)" }, "node_modules/@chakra-ui/accordion": { "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-2.1.11.tgz", + "integrity": "sha512-mfVPmqETp9pyRDHJ33AdF19oHv/LyxVzQJtlxUByuvs8Cj9QQZ2LQLg5kejm+b3mj03A7A6yfbuo3RNaI4Bhsg==", "license": "MIT", "dependencies": { "@chakra-ui/descendant": "3.0.14", @@ -2896,6 +2729,8 @@ }, "node_modules/@chakra-ui/alert": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.1.0.tgz", + "integrity": "sha512-OcfHwoXI5VrmM+tHJTHT62Bx6TfyfCxSa0PWUOueJzSyhlUOKBND5we6UtrOB7D0jwX45qKKEDJOLG5yCG21jQ==", "license": "MIT", "dependencies": { "@chakra-ui/icon": "3.0.16", @@ -2909,11 +2744,15 @@ } }, "node_modules/@chakra-ui/anatomy": { - "version": "2.1.1", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.1.2.tgz", + "integrity": "sha512-pKfOS/mztc4sUXHNc8ypJ1gPWSolWT770jrgVRfolVbYlki8y5Y+As996zMF6k5lewTu6j9DQequ7Cc9a69IVQ==", "license": "MIT" }, "node_modules/@chakra-ui/avatar": { "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-2.2.10.tgz", + "integrity": "sha512-Scc0qJtJcxoGOaSS4TkoC2PhVLMacrBcfaNfLqV6wES56BcsjegHvpxREFunZkgVNph/XRHW6J1xOclnsZiPBQ==", "license": "MIT", "dependencies": { "@chakra-ui/image": "2.0.16", @@ -2928,281 +2767,103 @@ }, "node_modules/@chakra-ui/breadcrumb": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-2.1.5.tgz", + "integrity": "sha512-p3eQQrHQBkRB69xOmNyBJqEdfCrMt+e0eOH+Pm/DjFWfIVIbnIaFbmDCeWClqlLa21Ypc6h1hR9jEmvg8kmOog==", "license": "MIT", "dependencies": { - "@chakra-ui/react-children-utils": "2.0.6", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/shared-utils": "2.0.5" - }, - "peerDependencies": { - "@chakra-ui/system": ">=2.0.0", - "react": ">=18" - } - }, - "node_modules/@chakra-ui/breakpoint-utils": { - "version": "2.0.8", - "license": "MIT", - "dependencies": { - "@chakra-ui/shared-utils": "2.0.5" - } - }, - "node_modules/@chakra-ui/button": { - "version": "2.0.18", - "license": "MIT", - "dependencies": { - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/spinner": "2.0.13" - }, - "peerDependencies": { - "@chakra-ui/system": ">=2.0.0", - "react": ">=18" - } - }, - "node_modules/@chakra-ui/card": { - "version": "2.1.6", - "license": "MIT", - "dependencies": { - "@chakra-ui/shared-utils": "2.0.5" - }, - "peerDependencies": { - "@chakra-ui/system": ">=2.0.0", - "react": ">=18" - } - }, - "node_modules/@chakra-ui/checkbox": { - "version": "2.2.15", - "license": "MIT", - "dependencies": { - "@chakra-ui/form-control": "2.0.18", - "@chakra-ui/react-context": "2.0.8", - "@chakra-ui/react-types": "2.0.7", - "@chakra-ui/react-use-callback-ref": "2.0.7", - "@chakra-ui/react-use-controllable-state": "2.0.8", - "@chakra-ui/react-use-merge-refs": "2.0.7", - "@chakra-ui/react-use-safe-layout-effect": "2.0.5", - "@chakra-ui/react-use-update-effect": "2.0.7", - "@chakra-ui/shared-utils": "2.0.5", - "@chakra-ui/visually-hidden": "2.0.15", - "@zag-js/focus-visible": "0.2.2" - }, - "peerDependencies": { - "@chakra-ui/system": ">=2.0.0", - "react": ">=18" - } - }, - "node_modules/@chakra-ui/cli": { - "version": "2.5.8", - "dev": true, - "license": "MIT", - "dependencies": { - "bundle-n-require": "^1.1.1", - "chokidar": "^3.5.3", - "cli-welcome": "^2.2.2", - "commander": "^11.0.0", - "ora": "^7.0.1", - "prettier": "^3.0.2", - "update-notifier": "^6.0.2" - }, - "bin": { - "chakra-cli": "bin/index.js" - } - }, - "node_modules/@chakra-ui/cli/node_modules/ansi-regex": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@chakra-ui/cli/node_modules/chokidar": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/@chakra-ui/cli/node_modules/cli-cursor": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@chakra-ui/cli/node_modules/commander": { - "version": "11.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - } - }, - "node_modules/@chakra-ui/cli/node_modules/emoji-regex": { - "version": "10.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@chakra-ui/cli/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@chakra-ui/cli/node_modules/is-interactive": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@chakra-ui/cli/node_modules/is-unicode-supported": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@chakra-ui/cli/node_modules/log-symbols": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - }, - "engines": { - "node": ">=12" + "@chakra-ui/react-children-utils": "2.0.6", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/shared-utils": "2.0.5" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" } }, - "node_modules/@chakra-ui/cli/node_modules/ora": { - "version": "7.0.1", - "dev": true, + "node_modules/@chakra-ui/breakpoint-utils": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/breakpoint-utils/-/breakpoint-utils-2.0.8.tgz", + "integrity": "sha512-Pq32MlEX9fwb5j5xx8s18zJMARNHlQZH2VH1RZgfgRDpp7DcEgtRW5AInfN5CfqdHLO1dGxA7I3MqEuL5JnIsA==", "license": "MIT", "dependencies": { - "chalk": "^5.3.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.9.0", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.3.0", - "log-symbols": "^5.1.0", - "stdin-discarder": "^0.1.0", - "string-width": "^6.1.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@chakra-ui/shared-utils": "2.0.5" } }, - "node_modules/@chakra-ui/cli/node_modules/readdirp": { - "version": "3.6.0", - "dev": true, + "node_modules/@chakra-ui/button": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-2.0.18.tgz", + "integrity": "sha512-E3c99+lOm6ou4nQVOTLkG+IdOPMjsQK+Qe7VyP8A/xeAMFONuibrWPRPpprr4ZkB4kEoLMfNuyH2+aEza3ScUA==", "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/spinner": "2.0.13" }, - "engines": { - "node": ">=8.10.0" + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" } }, - "node_modules/@chakra-ui/cli/node_modules/restore-cursor": { - "version": "4.0.0", - "dev": true, + "node_modules/@chakra-ui/card": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/card/-/card-2.1.6.tgz", + "integrity": "sha512-fFd/WAdRNVY/WOSQv4skpy0WeVhhI0f7dTY1Sm0jVl0KLmuP/GnpsWtKtqWjNcV00K963EXDyhlk6+9oxbP4gw==", "license": "MIT", "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "@chakra-ui/shared-utils": "2.0.5" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" } }, - "node_modules/@chakra-ui/cli/node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, - "node_modules/@chakra-ui/cli/node_modules/string-width": { - "version": "6.1.0", - "dev": true, + "node_modules/@chakra-ui/checkbox": { + "version": "2.2.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-2.2.15.tgz", + "integrity": "sha512-Ju2yQjX8azgFa5f6VLPuwdGYobZ+rdbcYqjiks848JvPc75UsPhpS05cb4XlrKT7M16I8txDA5rPJdqqFicHCA==", "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^10.2.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=16" + "@chakra-ui/form-control": "2.0.18", + "@chakra-ui/react-context": "2.0.8", + "@chakra-ui/react-types": "2.0.7", + "@chakra-ui/react-use-callback-ref": "2.0.7", + "@chakra-ui/react-use-controllable-state": "2.0.8", + "@chakra-ui/react-use-merge-refs": "2.0.7", + "@chakra-ui/react-use-safe-layout-effect": "2.0.5", + "@chakra-ui/react-use-update-effect": "2.0.7", + "@chakra-ui/shared-utils": "2.0.5", + "@chakra-ui/visually-hidden": "2.0.15", + "@zag-js/focus-visible": "0.2.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@chakra-ui/system": ">=2.0.0", + "react": ">=18" } }, - "node_modules/@chakra-ui/cli/node_modules/strip-ansi": { - "version": "7.1.0", + "node_modules/@chakra-ui/cli": { + "version": "2.5.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/cli/-/cli-2.5.8.tgz", + "integrity": "sha512-7OiUsSW8A+iIw8juhXWzLimEZg1TicabvIwd8ZsoGq4CtpXeQLB7qn+DSKq7Ez6jNR2Rz3X5iTuIHA22Ep4QFg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" + "bundle-n-require": "^1.1.1", + "chokidar": "^3.5.3", + "cli-welcome": "^2.2.2", + "commander": "^11.0.0", + "ora": "^7.0.1", + "prettier": "^3.0.2", + "update-notifier": "^6.0.2" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "bin": { + "chakra-cli": "bin/index.js" } }, "node_modules/@chakra-ui/clickable": { "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-2.0.14.tgz", + "integrity": "sha512-jfsM1qaD74ZykLHmvmsKRhDyokLUxEfL8Il1VoZMNX5RBI0xW/56vKpLTFF/v/+vLPLS+Te2cZdD4+2O+G6ulA==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-merge-refs": "2.0.7", @@ -3214,6 +2875,8 @@ }, "node_modules/@chakra-ui/close-button": { "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.0.17.tgz", + "integrity": "sha512-05YPXk456t1Xa3KpqTrvm+7smx+95dmaPiwjiBN3p7LHUQVHJd8ZXSDB0V+WKi419k3cVQeJUdU/azDO2f40sw==", "license": "MIT", "dependencies": { "@chakra-ui/icon": "3.0.16" @@ -3225,6 +2888,8 @@ }, "node_modules/@chakra-ui/color-mode": { "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.1.12.tgz", + "integrity": "sha512-sYyfJGDoJSLYO+V2hxV9r033qhte5Nw/wAn5yRGGZnEEN1dKPEdWQ3XZvglWSDTNd0w9zkoH2w6vP4FBBYb/iw==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-safe-layout-effect": "2.0.5" @@ -3235,6 +2900,8 @@ }, "node_modules/@chakra-ui/control-box": { "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-2.0.13.tgz", + "integrity": "sha512-FEyrU4crxati80KUF/+1Z1CU3eZK6Sa0Yv7Z/ydtz9/tvGblXW9NFanoomXAOvcIFLbaLQPPATm9Gmpr7VG05A==", "license": "MIT", "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -3243,6 +2910,8 @@ }, "node_modules/@chakra-ui/counter": { "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-2.0.14.tgz", + "integrity": "sha512-KxcSRfUbb94dP77xTip2myoE7P2HQQN4V5fRJmNAGbzcyLciJ+aDylUU/UxgNcEjawUp6Q242NbWb1TSbKoqog==", "license": "MIT", "dependencies": { "@chakra-ui/number-utils": "2.0.7", @@ -3255,6 +2924,8 @@ }, "node_modules/@chakra-ui/css-reset": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-2.1.1.tgz", + "integrity": "sha512-jwEOfIAWmQsnChHQTW/eRE+dfE4MjmhvSvoUug5nkV1pI7veC/20noFlIZxzi82EbiQI8Fs0+Jnusgxr2yaOHA==", "license": "MIT", "peerDependencies": { "@emotion/react": ">=10.0.35", @@ -3263,6 +2934,8 @@ }, "node_modules/@chakra-ui/descendant": { "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-3.0.14.tgz", + "integrity": "sha512-+Ahvp9H4HMpfScIv9w1vaecGz7qWAaK1YFHHolz/SIsGLaLGlbdp+5UNabQC7L6TUnzzJDQDxzwif78rTD7ang==", "license": "MIT", "dependencies": { "@chakra-ui/react-context": "2.0.8", @@ -3274,10 +2947,14 @@ }, "node_modules/@chakra-ui/dom-utils": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/dom-utils/-/dom-utils-2.0.6.tgz", + "integrity": "sha512-PVtDkPrDD5b8aoL6Atg7SLjkwhWb7BwMcLOF1L449L3nZN+DAO3nyAh6iUhZVJyunELj9d0r65CDlnMREyJZmA==", "license": "MIT" }, "node_modules/@chakra-ui/editable": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-3.0.0.tgz", + "integrity": "sha512-q/7C/TM3iLaoQKlEiM8AY565i9NoaXtS6N6N4HWIEL5mZJPbMeHKxrCHUZlHxYuQJqFOGc09ZPD9fAFx1GkYwQ==", "license": "MIT", "dependencies": { "@chakra-ui/react-context": "2.0.8", @@ -3297,10 +2974,14 @@ }, "node_modules/@chakra-ui/event-utils": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/event-utils/-/event-utils-2.0.8.tgz", + "integrity": "sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==", "license": "MIT" }, "node_modules/@chakra-ui/focus-lock": { "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-2.0.16.tgz", + "integrity": "sha512-UuAdGCPVrCa1lecoAvpOQD7JFT7a9RdmhKWhFt5ioIcekSLJcerdLHuuL3w0qz//8kd1/SOt7oP0aJqdAJQrCw==", "license": "MIT", "dependencies": { "@chakra-ui/dom-utils": "2.0.6", @@ -3312,6 +2993,8 @@ }, "node_modules/@chakra-ui/form-control": { "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.0.18.tgz", + "integrity": "sha512-I0a0jG01IAtRPccOXSNugyRdUAe8Dy40ctqedZvznMweOXzbMCF1m+sHPLdWeWC/VI13VoAispdPY0/zHOdjsQ==", "license": "MIT", "dependencies": { "@chakra-ui/icon": "3.0.16", @@ -3327,6 +3010,8 @@ }, "node_modules/@chakra-ui/hooks": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-2.2.0.tgz", + "integrity": "sha512-GZE64mcr20w+3KbCUPqQJHHmiFnX5Rcp8jS3YntGA4D5X2qU85jka7QkjfBwv/iduZ5Ei0YpCMYGCpi91dhD1Q==", "license": "MIT", "dependencies": { "@chakra-ui/react-utils": "2.0.12", @@ -3340,6 +3025,8 @@ }, "node_modules/@chakra-ui/icon": { "version": "3.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.0.16.tgz", + "integrity": "sha512-RpA1X5Ptz8Mt39HSyEIW1wxAz2AXyf9H0JJ5HVx/dBdMZaGMDJ0HyyPBVci0m4RCoJuyG1HHG/DXJaVfUTVAeg==", "license": "MIT", "dependencies": { "@chakra-ui/shared-utils": "2.0.5" @@ -3351,6 +3038,8 @@ }, "node_modules/@chakra-ui/image": { "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-2.0.16.tgz", + "integrity": "sha512-iFypk1slgP3OK7VIPOtkB0UuiqVxNalgA59yoRM43xLIeZAEZpKngUVno4A2kFS61yKN0eIY4hXD3Xjm+25EJA==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-safe-layout-effect": "2.0.5", @@ -3363,6 +3052,8 @@ }, "node_modules/@chakra-ui/input": { "version": "2.0.22", + "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-2.0.22.tgz", + "integrity": "sha512-dCIC0/Q7mjZf17YqgoQsnXn0bus6vgriTRn8VmxOc+WcVl+KBSTBWujGrS5yu85WIFQ0aeqQvziDnDQybPqAbA==", "license": "MIT", "dependencies": { "@chakra-ui/form-control": "2.0.18", @@ -3378,6 +3069,8 @@ }, "node_modules/@chakra-ui/layout": { "version": "2.1.19", + "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-2.1.19.tgz", + "integrity": "sha512-g7xMVKbQFCODwKCkEF4/OmdPsr/fAavWUV+DGc1ZWVPdroUlg1FGTpK9bOTwkC/gnko7cMClILA+BIPR3Ylu9Q==", "license": "MIT", "dependencies": { "@chakra-ui/breakpoint-utils": "2.0.8", @@ -3394,10 +3087,14 @@ }, "node_modules/@chakra-ui/lazy-utils": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/lazy-utils/-/lazy-utils-2.0.5.tgz", + "integrity": "sha512-UULqw7FBvcckQk2n3iPO56TMJvDsNv0FKZI6PlUNJVaGsPbsYxK/8IQ60vZgaTVPtVcjY6BE+y6zg8u9HOqpyg==", "license": "MIT" }, "node_modules/@chakra-ui/live-region": { "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-2.0.13.tgz", + "integrity": "sha512-Ja+Slk6ZkxSA5oJzU2VuGU7TpZpbMb/4P4OUhIf2D30ctmIeXkxTWw1Bs1nGJAVtAPcGS5sKA+zb89i8g+0cTQ==", "license": "MIT", "peerDependencies": { "react": ">=18" @@ -3405,6 +3102,8 @@ }, "node_modules/@chakra-ui/media-query": { "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-3.2.12.tgz", + "integrity": "sha512-8pSLDf3oxxhFrhd40rs7vSeIBfvOmIKHA7DJlGUC/y+9irD24ZwgmCtFnn+y3gI47hTJsopbSX+wb8nr7XPswA==", "license": "MIT", "dependencies": { "@chakra-ui/breakpoint-utils": "2.0.8", @@ -3418,6 +3117,8 @@ }, "node_modules/@chakra-ui/menu": { "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-2.1.14.tgz", + "integrity": "sha512-z4YzlY/ub1hr4Ee2zCnZDs4t43048yLTf5GhEVYDO+SI92WlOfHlP9gYEzR+uj/CiRZglVFwUDKb3UmFtmKPyg==", "license": "MIT", "dependencies": { "@chakra-ui/clickable": "2.0.14", @@ -3444,6 +3145,8 @@ }, "node_modules/@chakra-ui/modal": { "version": "2.2.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-2.2.11.tgz", + "integrity": "sha512-2J0ZUV5tEzkPiawdkgPz6bmex7NXAde1VXooMwdvK+vuT8PV3U61yorTJOZVLdw7TjjI1Yo94mzsp6UwBud43Q==", "license": "MIT", "dependencies": { "@chakra-ui/close-button": "2.0.17", @@ -3466,6 +3169,8 @@ }, "node_modules/@chakra-ui/number-input": { "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-2.0.19.tgz", + "integrity": "sha512-HDaITvtMEqOauOrCPsARDxKD9PSHmhWywpcyCSOX0lMe4xx2aaGhU0QQFhsJsykj8Er6pytMv6t0KZksdDv3YA==", "license": "MIT", "dependencies": { "@chakra-ui/counter": "2.0.14", @@ -3488,14 +3193,20 @@ }, "node_modules/@chakra-ui/number-utils": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/number-utils/-/number-utils-2.0.7.tgz", + "integrity": "sha512-yOGxBjXNvLTBvQyhMDqGU0Oj26s91mbAlqKHiuw737AXHt0aPllOthVUqQMeaYLwLCjGMg0jtI7JReRzyi94Dg==", "license": "MIT" }, "node_modules/@chakra-ui/object-utils": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz", + "integrity": "sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==", "license": "MIT" }, "node_modules/@chakra-ui/pin-input": { "version": "2.0.20", + "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-2.0.20.tgz", + "integrity": "sha512-IHVmerrtHN8F+jRB3W1HnMir1S1TUCWhI7qDInxqPtoRffHt6mzZgLZ0izx8p1fD4HkW4c1d4/ZLEz9uH9bBRg==", "license": "MIT", "dependencies": { "@chakra-ui/descendant": "3.0.14", @@ -3512,6 +3223,8 @@ }, "node_modules/@chakra-ui/popover": { "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-2.1.11.tgz", + "integrity": "sha512-ntFMKojU+ZIofwSw5IJ+Ur8pN5o+5kf/Fx5r5tCjFZd0DSkrEeJw9i00/UWJ6kYZb+zlpswxriv0FmxBlAF66w==", "license": "MIT", "dependencies": { "@chakra-ui/close-button": "2.0.17", @@ -3534,6 +3247,8 @@ }, "node_modules/@chakra-ui/popper": { "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-3.0.14.tgz", + "integrity": "sha512-RDMmmSfjsmHJbVn2agDyoJpTbQK33fxx//njwJdeyM0zTG/3/4xjI/Cxru3acJ2Y+1jFGmPqhO81stFjnbtfIw==", "license": "MIT", "dependencies": { "@chakra-ui/react-types": "2.0.7", @@ -3546,6 +3261,8 @@ }, "node_modules/@chakra-ui/portal": { "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.0.16.tgz", + "integrity": "sha512-bVID0qbQ0l4xq38LdqAN4EKD4/uFkDnXzFwOlviC9sl0dNhzICDb1ltuH/Adl1d2HTMqyN60O3GO58eHy7plnQ==", "license": "MIT", "dependencies": { "@chakra-ui/react-context": "2.0.8", @@ -3558,6 +3275,8 @@ }, "node_modules/@chakra-ui/progress": { "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-2.1.6.tgz", + "integrity": "sha512-hHh5Ysv4z6bK+j2GJbi/FT9CVyto2PtNUNwBmr3oNMVsoOUMoRjczfXvvYqp0EHr9PCpxqrq7sRwgQXUzhbDSw==", "license": "MIT", "dependencies": { "@chakra-ui/react-context": "2.0.8" @@ -3569,6 +3288,8 @@ }, "node_modules/@chakra-ui/provider": { "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-2.2.4.tgz", + "integrity": "sha512-vz/WMEWhwoITCAkennRNYCeQHsJ6YwB/UjVaAK+61jWY42J7uCsRZ+3nB5rDjQ4m+aqPfTUPof8KLJBrtYrJbw==", "license": "MIT", "dependencies": { "@chakra-ui/css-reset": "2.1.1", @@ -3586,6 +3307,8 @@ }, "node_modules/@chakra-ui/radio": { "version": "2.0.22", + "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-2.0.22.tgz", + "integrity": "sha512-GsQ5WAnLwivWl6gPk8P1x+tCcpVakCt5R5T0HumF7DGPXKdJbjS+RaFySrbETmyTJsKY4QrfXn+g8CWVrMjPjw==", "license": "MIT", "dependencies": { "@chakra-ui/form-control": "2.0.18", @@ -3669,6 +3392,8 @@ }, "node_modules/@chakra-ui/react-children-utils": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-children-utils/-/react-children-utils-2.0.6.tgz", + "integrity": "sha512-QVR2RC7QsOsbWwEnq9YduhpqSFnZGvjjGREV8ygKi8ADhXh93C8azLECCUVgRJF2Wc+So1fgxmjLcbZfY2VmBA==", "license": "MIT", "peerDependencies": { "react": ">=18" @@ -3676,6 +3401,8 @@ }, "node_modules/@chakra-ui/react-context": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.0.8.tgz", + "integrity": "sha512-tRTKdn6lCTXM6WPjSokAAKCw2ioih7Eg8cNgaYRSwKBck8nkz9YqxgIIEj3dJD7MGtpl24S/SNI98iRWkRwR/A==", "license": "MIT", "peerDependencies": { "react": ">=18" @@ -3683,6 +3410,8 @@ }, "node_modules/@chakra-ui/react-env": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-3.0.0.tgz", + "integrity": "sha512-tfMRO2v508HQWAqSADFrwZgR9oU10qC97oV6zGbjHh9ALP0/IcFR+Bi71KRTveDTm85fMeAzZYGj57P3Dsipkw==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-safe-layout-effect": "2.0.5" @@ -3693,6 +3422,8 @@ }, "node_modules/@chakra-ui/react-types": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.7.tgz", + "integrity": "sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ==", "license": "MIT", "peerDependencies": { "react": ">=18" @@ -3700,6 +3431,8 @@ }, "node_modules/@chakra-ui/react-use-animation-state": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-animation-state/-/react-use-animation-state-2.0.8.tgz", + "integrity": "sha512-xv9zSF2Rd1mHWQ+m5DLBWeh4atF8qrNvsOs3MNrvxKYBS3f79N3pqcQGrWAEvirXWXfiCeje2VAkEggqFRIo+Q==", "license": "MIT", "dependencies": { "@chakra-ui/dom-utils": "2.0.6", @@ -3711,6 +3444,8 @@ }, "node_modules/@chakra-ui/react-use-callback-ref": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.0.7.tgz", + "integrity": "sha512-YjT76nTpfHAK5NxplAlZsQwNju5KmQExnqsWNPFeOR6vvbC34+iPSTr+r91i1Hdy7gBSbevsOsd5Wm6RN3GuMw==", "license": "MIT", "peerDependencies": { "react": ">=18" @@ -3718,6 +3453,8 @@ }, "node_modules/@chakra-ui/react-use-controllable-state": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-controllable-state/-/react-use-controllable-state-2.0.8.tgz", + "integrity": "sha512-F7rdCbLEmRjwwODqWZ3y+mKgSSHPcLQxeUygwk1BkZPXbKkJJKymOIjIynil2cbH7ku3hcSIWRvuhpCcfQWJ7Q==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-callback-ref": "2.0.7" @@ -3728,6 +3465,8 @@ }, "node_modules/@chakra-ui/react-use-disclosure": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-disclosure/-/react-use-disclosure-2.0.8.tgz", + "integrity": "sha512-2ir/mHe1YND40e+FyLHnDsnDsBQPwzKDLzfe9GZri7y31oU83JSbHdlAXAhp3bpjohslwavtRCp+S/zRxfO9aQ==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-callback-ref": "2.0.7" @@ -3738,6 +3477,8 @@ }, "node_modules/@chakra-ui/react-use-event-listener": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-event-listener/-/react-use-event-listener-2.0.7.tgz", + "integrity": "sha512-4wvpx4yudIO3B31pOrXuTHDErawmwiXnvAN7gLEOVREi16+YGNcFnRJ5X5nRrmB7j2MDUtsEDpRBFfw5Z9xQ5g==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-callback-ref": "2.0.7" @@ -3748,6 +3489,8 @@ }, "node_modules/@chakra-ui/react-use-focus-effect": { "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-effect/-/react-use-focus-effect-2.0.10.tgz", + "integrity": "sha512-HswfpzjP8gCQM3/fbeR+8wrYqt0B3ChnVTqssnYXqp9Fa/5Y1Kx1ZADUWW93zMs5SF7hIEuNt8uKeh1/3HTcqQ==", "license": "MIT", "dependencies": { "@chakra-ui/dom-utils": "2.0.6", @@ -3761,6 +3504,8 @@ }, "node_modules/@chakra-ui/react-use-focus-on-pointer-down": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-focus-on-pointer-down/-/react-use-focus-on-pointer-down-2.0.6.tgz", + "integrity": "sha512-OigXiLRVySn3tyVqJ/rn57WGuukW8TQe8fJYiLwXbcNyAMuYYounvRxvCy2b53sQ7QIZamza0N0jhirbH5FNoQ==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-event-listener": "2.0.7" @@ -3771,6 +3516,8 @@ }, "node_modules/@chakra-ui/react-use-interval": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-interval/-/react-use-interval-2.0.5.tgz", + "integrity": "sha512-1nbdwMi2K87V6p5f5AseOKif2CkldLaJlq1TOqaPRwb7v3aU9rltBtYdf+fIyuHSToNJUV6wd9budCFdLCl3Fg==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-callback-ref": "2.0.7" @@ -3781,6 +3528,8 @@ }, "node_modules/@chakra-ui/react-use-latest-ref": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-latest-ref/-/react-use-latest-ref-2.0.5.tgz", + "integrity": "sha512-3mIuFzMyIo3Ok/D8uhV9voVg7KkrYVO/pwVvNPJOHsDQqCA6DpYE4WDsrIx+fVcwad3Ta7SupexR5PoI+kq6QQ==", "license": "MIT", "peerDependencies": { "react": ">=18" @@ -3788,6 +3537,8 @@ }, "node_modules/@chakra-ui/react-use-merge-refs": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.0.7.tgz", + "integrity": "sha512-zds4Uhsc+AMzdH8JDDkLVet9baUBgtOjPbhC5r3A0ZXjZvGhCztFAVE3aExYiVoMPoHLKbLcqvCWE6ioFKz1lw==", "license": "MIT", "peerDependencies": { "react": ">=18" @@ -3795,6 +3546,8 @@ }, "node_modules/@chakra-ui/react-use-outside-click": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-outside-click/-/react-use-outside-click-2.1.0.tgz", + "integrity": "sha512-JanCo4QtWvMl9ZZUpKJKV62RlMWDFdPCE0Q64a7eWTOQgWWcpyBW7TOYRunQTqrK30FqkYFJCOlAWOtn+6Rw7A==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-callback-ref": "2.0.7" @@ -3805,6 +3558,8 @@ }, "node_modules/@chakra-ui/react-use-pan-event": { "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-pan-event/-/react-use-pan-event-2.0.9.tgz", + "integrity": "sha512-xu35QXkiyrgsHUOnctl+SwNcwf9Rl62uYE5y8soKOZdBm8E+FvZIt2hxUzK1EoekbJCMzEZ0Yv1ZQCssVkSLaQ==", "license": "MIT", "dependencies": { "@chakra-ui/event-utils": "2.0.8", @@ -3817,6 +3572,8 @@ }, "node_modules/@chakra-ui/react-use-previous": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-previous/-/react-use-previous-2.0.5.tgz", + "integrity": "sha512-BIZgjycPE4Xr+MkhKe0h67uHXzQQkBX/u5rYPd65iMGdX1bCkbE0oorZNfOHLKdTmnEb4oVsNvfN6Rfr+Mnbxw==", "license": "MIT", "peerDependencies": { "react": ">=18" @@ -3824,6 +3581,8 @@ }, "node_modules/@chakra-ui/react-use-safe-layout-effect": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.0.5.tgz", + "integrity": "sha512-MwAQBz3VxoeFLaesaSEN87reVNVbjcQBDex2WGexAg6hUB6n4gc1OWYH/iXp4tzp4kuggBNhEHkk9BMYXWfhJQ==", "license": "MIT", "peerDependencies": { "react": ">=18" @@ -3831,6 +3590,8 @@ }, "node_modules/@chakra-ui/react-use-size": { "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-size/-/react-use-size-2.0.10.tgz", + "integrity": "sha512-fdIkH14GDnKQrtQfxX8N3gxbXRPXEl67Y3zeD9z4bKKcQUAYIMqs0MsPZY+FMpGQw8QqafM44nXfL038aIrC5w==", "license": "MIT", "dependencies": { "@zag-js/element-size": "0.3.2" @@ -3841,6 +3602,8 @@ }, "node_modules/@chakra-ui/react-use-timeout": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.0.5.tgz", + "integrity": "sha512-QqmB+jVphh3h/CS60PieorpY7UqSPkrQCB7f7F+i9vwwIjtP8fxVHMmkb64K7VlzQiMPzv12nlID5dqkzlv0mw==", "license": "MIT", "dependencies": { "@chakra-ui/react-use-callback-ref": "2.0.7" @@ -3851,6 +3614,8 @@ }, "node_modules/@chakra-ui/react-use-update-effect": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.0.7.tgz", + "integrity": "sha512-vBM2bmmM83ZdDtasWv3PXPznpTUd+FvqBC8J8rxoRmvdMEfrxTiQRBJhiGHLpS9BPLLPQlosN6KdFU97csB6zg==", "license": "MIT", "peerDependencies": { "react": ">=18" @@ -3858,6 +3623,8 @@ }, "node_modules/@chakra-ui/react-utils": { "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.12.tgz", + "integrity": "sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw==", "license": "MIT", "dependencies": { "@chakra-ui/utils": "2.0.15" @@ -3868,6 +3635,8 @@ }, "node_modules/@chakra-ui/select": { "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-2.0.19.tgz", + "integrity": "sha512-eAlFh+JhwtJ17OrB6fO6gEAGOMH18ERNrXLqWbYLrs674Le7xuREgtuAYDoxUzvYXYYTTdOJtVbcHGriI3o6rA==", "license": "MIT", "dependencies": { "@chakra-ui/form-control": "2.0.18", @@ -3880,10 +3649,14 @@ }, "node_modules/@chakra-ui/shared-utils": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.5.tgz", + "integrity": "sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==", "license": "MIT" }, "node_modules/@chakra-ui/skeleton": { "version": "2.0.24", + "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-2.0.24.tgz", + "integrity": "sha512-1jXtVKcl/jpbrJlc/TyMsFyI651GTXY5ma30kWyTXoby2E+cxbV6OR8GB/NMZdGxbQBax8/VdtYVjI0n+OBqWA==", "license": "MIT", "dependencies": { "@chakra-ui/media-query": "3.2.12", @@ -3897,6 +3670,8 @@ }, "node_modules/@chakra-ui/slider": { "version": "2.0.24", + "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-2.0.24.tgz", + "integrity": "sha512-o3hOaIiTzPMG8yf+HYWbrTmhxABicDViVOvOajRSXDodbZSCk1rZy1nmUeahjVtfVUB1IyJoNcXdn76IqJmhdg==", "license": "MIT", "dependencies": { "@chakra-ui/number-utils": "2.0.7", @@ -3917,6 +3692,8 @@ }, "node_modules/@chakra-ui/spinner": { "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.0.13.tgz", + "integrity": "sha512-T1/aSkVpUIuiYyrjfn1+LsQEG7Onbi1UE9ccS/evgf61Dzy4GgTXQUnDuWFSgpV58owqirqOu6jn/9eCwDlzlg==", "license": "MIT", "dependencies": { "@chakra-ui/shared-utils": "2.0.5" @@ -3928,6 +3705,8 @@ }, "node_modules/@chakra-ui/stat": { "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-2.0.18.tgz", + "integrity": "sha512-wKyfBqhVlIs9bkSerUc6F9KJMw0yTIEKArW7dejWwzToCLPr47u+CtYO6jlJHV6lRvkhi4K4Qc6pyvtJxZ3VpA==", "license": "MIT", "dependencies": { "@chakra-ui/icon": "3.0.16", @@ -3941,6 +3720,8 @@ }, "node_modules/@chakra-ui/stepper": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/stepper/-/stepper-2.2.0.tgz", + "integrity": "sha512-8ZLxV39oghSVtOUGK8dX8Z6sWVSQiKVmsK4c3OQDa8y2TvxP0VtFD0Z5U1xJlOjQMryZRWhGj9JBc3iQLukuGg==", "license": "MIT", "dependencies": { "@chakra-ui/icon": "3.0.16", @@ -3954,6 +3735,8 @@ }, "node_modules/@chakra-ui/styled-system": { "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.9.0.tgz", + "integrity": "sha512-rToN30eOezrTZ5qBHmWqEwsYPenHtc3WU6ODAfMUwNnmCJQiu2erRGv8JwIjmRJnKSOEnNKccI2UXe2EwI6+JA==", "license": "MIT", "dependencies": { "@chakra-ui/shared-utils": "2.0.5", @@ -3963,6 +3746,8 @@ }, "node_modules/@chakra-ui/switch": { "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-2.0.27.tgz", + "integrity": "sha512-z76y2fxwMlvRBrC5W8xsZvo3gP+zAEbT3Nqy5P8uh/IPd5OvDsGeac90t5cgnQTyxMOpznUNNK+1eUZqtLxWnQ==", "license": "MIT", "dependencies": { "@chakra-ui/checkbox": "2.2.15", @@ -3976,6 +3761,8 @@ }, "node_modules/@chakra-ui/system": { "version": "2.5.7", + "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.5.7.tgz", + "integrity": "sha512-yB6en7YdJPxKvKY2jJROVwkBE2CLFmHS4ZDx27VdYs0Fa4kGiyDFhJAfnMtLBNDVsTy1NhUHL9aqR63u56QqFg==", "license": "MIT", "dependencies": { "@chakra-ui/color-mode": "2.1.12", @@ -3994,6 +3781,8 @@ }, "node_modules/@chakra-ui/table": { "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-2.0.17.tgz", + "integrity": "sha512-OScheTEp1LOYvTki2NFwnAYvac8siAhW9BI5RKm5f5ORL2gVJo4I72RUqE0aKe1oboxgm7CYt5afT5PS5cG61A==", "license": "MIT", "dependencies": { "@chakra-ui/react-context": "2.0.8", @@ -4006,6 +3795,8 @@ }, "node_modules/@chakra-ui/tabs": { "version": "2.1.9", + "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-2.1.9.tgz", + "integrity": "sha512-Yf8e0kRvaGM6jfkJum0aInQ0U3ZlCafmrYYni2lqjcTtThqu+Yosmo3iYlnullXxCw5MVznfrkb9ySvgQowuYg==", "license": "MIT", "dependencies": { "@chakra-ui/clickable": "2.0.14", @@ -4025,6 +3816,8 @@ }, "node_modules/@chakra-ui/tag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-3.0.0.tgz", + "integrity": "sha512-YWdMmw/1OWRwNkG9pX+wVtZio+B89odaPj6XeMn5nfNN8+jyhIEpouWv34+CO9G0m1lupJTxPSfgLAd7cqXZMA==", "license": "MIT", "dependencies": { "@chakra-ui/icon": "3.0.16", @@ -4037,6 +3830,8 @@ }, "node_modules/@chakra-ui/textarea": { "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-2.0.19.tgz", + "integrity": "sha512-adJk+qVGsFeJDvfn56CcJKKse8k7oMGlODrmpnpTdF+xvlsiTM+1GfaJvgNSpHHuQFdz/A0z1uJtfGefk0G2ZA==", "license": "MIT", "dependencies": { "@chakra-ui/form-control": "2.0.18", @@ -4049,6 +3844,8 @@ }, "node_modules/@chakra-ui/theme": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.1.1.tgz", + "integrity": "sha512-VHcG0CPLd9tgvWnajpAGqrAYhx4HwgfK0E9VOrdwa/3bN+AgY/0EAAXzfe0Q0W2MBWzSgaYqZcQ5cDRpYbiYPA==", "license": "MIT", "dependencies": { "@chakra-ui/anatomy": "2.1.2", @@ -4061,6 +3858,8 @@ }, "node_modules/@chakra-ui/theme-tools": { "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.0.17.tgz", + "integrity": "sha512-Auu38hnihlJZQcPok6itRDBbwof3TpXGYtDPnOvrq4Xp7jnab36HLt7KEXSDPXbtOk3ZqU99pvI1en5LbDrdjg==", "license": "MIT", "dependencies": { "@chakra-ui/anatomy": "2.1.2", @@ -4071,12 +3870,10 @@ "@chakra-ui/styled-system": ">=2.0.0" } }, - "node_modules/@chakra-ui/theme-tools/node_modules/@chakra-ui/anatomy": { - "version": "2.1.2", - "license": "MIT" - }, "node_modules/@chakra-ui/theme-utils": { "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.17.tgz", + "integrity": "sha512-aUaVLFIU1Rs8m+5WVOUvqHKapOX8nSgUVGaeRWS4odxBM95dG4j15f4L88LEMw4D4+WWd0CSAS139OnRgj1rCw==", "license": "MIT", "dependencies": { "@chakra-ui/shared-utils": "2.0.5", @@ -4085,12 +3882,10 @@ "lodash.mergewith": "4.6.2" } }, - "node_modules/@chakra-ui/theme/node_modules/@chakra-ui/anatomy": { - "version": "2.1.2", - "license": "MIT" - }, "node_modules/@chakra-ui/toast": { "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-6.1.3.tgz", + "integrity": "sha512-dsg/Sdkuq+SCwdOeyzrnBO1ecDA7VKfLFjUtj9QBc/SFEN8r+FQrygy79TNo+QWr7zdjI8icbl8nsp59lpb8ag==", "license": "MIT", "dependencies": { "@chakra-ui/alert": "2.1.0", @@ -4112,6 +3907,8 @@ }, "node_modules/@chakra-ui/tooltip": { "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-2.2.8.tgz", + "integrity": "sha512-AqtrCkalADrqqd1SgII4n8F0dDABxqxL3e8uj3yC3HDzT3BU/0NSwSQRA2bp9eoJHk07ZMs9kyzvkkBLc0pr2A==", "license": "MIT", "dependencies": { "@chakra-ui/popper": "3.0.14", @@ -4131,6 +3928,8 @@ }, "node_modules/@chakra-ui/transition": { "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-2.0.16.tgz", + "integrity": "sha512-E+RkwlPc3H7P1crEXmXwDXMB2lqY2LLia2P5siQ4IEnRWIgZXlIw+8Em+NtHNgusel2N+9yuB0wT9SeZZeZ3CQ==", "license": "MIT", "dependencies": { "@chakra-ui/shared-utils": "2.0.5" @@ -4142,6 +3941,8 @@ }, "node_modules/@chakra-ui/utils": { "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.15.tgz", + "integrity": "sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA==", "license": "MIT", "dependencies": { "@types/lodash.mergewith": "4.6.7", @@ -4152,6 +3953,8 @@ }, "node_modules/@chakra-ui/visually-hidden": { "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-2.0.15.tgz", + "integrity": "sha512-WWULIiucYRBIewHKFA7BssQ2ABLHLVd9lrUo3N3SZgR0u4ZRDDVEUNOy+r+9ruDze8+36dGbN9wsN1IdELtdOw==", "license": "MIT", "peerDependencies": { "@chakra-ui/system": ">=2.0.0", @@ -4160,6 +3963,8 @@ }, "node_modules/@colors/colors": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, "license": "MIT", "optional": true, @@ -4169,6 +3974,8 @@ }, "node_modules/@commitlint/cli": { "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-19.8.1.tgz", + "integrity": "sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==", "dev": true, "license": "MIT", "dependencies": { @@ -4189,6 +3996,8 @@ }, "node_modules/@commitlint/config-conventional": { "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-19.8.1.tgz", + "integrity": "sha512-/AZHJL6F6B/G959CsMAzrPKKZjeEiAVifRyEwXxcT6qtqbPwGw+iQxmNS+Bu+i09OCtdNRW6pNpBvgPrtMr9EQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4199,457 +4008,943 @@ "node": ">=v18" } }, - "node_modules/@commitlint/config-validator": { + "node_modules/@commitlint/config-validator": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-19.8.1.tgz", + "integrity": "sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "ajv": "^8.11.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/ensure": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-19.8.1.tgz", + "integrity": "sha512-mXDnlJdvDzSObafjYrOSvZBwkD01cqB4gbnnFuVyNpGUM5ijwU/r/6uqUmBXAAOKRfyEjpkGVZxaDsCVnHAgyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "lodash.camelcase": "^4.3.0", + "lodash.kebabcase": "^4.1.1", + "lodash.snakecase": "^4.1.1", + "lodash.startcase": "^4.4.0", + "lodash.upperfirst": "^4.3.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/execute-rule": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-19.8.1.tgz", + "integrity": "sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/format": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-19.8.1.tgz", + "integrity": "sha512-kSJj34Rp10ItP+Eh9oCItiuN/HwGQMXBnIRk69jdOwEW9llW9FlyqcWYbHPSGofmjsqeoxa38UaEA5tsbm2JWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "chalk": "^5.3.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/is-ignored": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-19.8.1.tgz", + "integrity": "sha512-AceOhEhekBUQ5dzrVhDDsbMaY5LqtN8s1mqSnT2Kz1ERvVZkNihrs3Sfk1Je/rxRNbXYFzKZSHaPsEJJDJV8dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/is-ignored/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@commitlint/lint": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-19.8.1.tgz", + "integrity": "sha512-52PFbsl+1EvMuokZXLRlOsdcLHf10isTPlWwoY1FQIidTsTvjKXVXYb7AvtpWkDzRO2ZsqIgPK7bI98x8LRUEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/is-ignored": "^19.8.1", + "@commitlint/parse": "^19.8.1", + "@commitlint/rules": "^19.8.1", + "@commitlint/types": "^19.8.1" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/load": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-19.8.1.tgz", + "integrity": "sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/config-validator": "^19.8.1", + "@commitlint/execute-rule": "^19.8.1", + "@commitlint/resolve-extends": "^19.8.1", + "@commitlint/types": "^19.8.1", + "chalk": "^5.3.0", + "cosmiconfig": "^9.0.0", + "cosmiconfig-typescript-loader": "^6.1.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/message": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-19.8.1.tgz", + "integrity": "sha512-+PMLQvjRXiU+Ae0Wc+p99EoGEutzSXFVwQfa3jRNUZLNW5odZAyseb92OSBTKCu+9gGZiJASt76Cj3dLTtcTdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/parse": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-19.8.1.tgz", + "integrity": "sha512-mmAHYcMBmAgJDKWdkjIGq50X4yB0pSGpxyOODwYmoexxxiUCy5JJT99t1+PEMK7KtsCtzuWYIAXYAiKR+k+/Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/types": "^19.8.1", + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-parser": "^5.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/read": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-19.8.1.tgz", + "integrity": "sha512-03Jbjb1MqluaVXKHKRuGhcKWtSgh3Jizqy2lJCRbRrnWpcM06MYm8th59Xcns8EqBYvo0Xqb+2DoZFlga97uXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@commitlint/top-level": "^19.8.1", + "@commitlint/types": "^19.8.1", + "git-raw-commits": "^4.0.0", + "minimist": "^1.2.8", + "tinyexec": "^1.0.0" + }, + "engines": { + "node": ">=v18" + } + }, + "node_modules/@commitlint/resolve-extends": { "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-19.8.1.tgz", + "integrity": "sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg==", "dev": true, "license": "MIT", "dependencies": { + "@commitlint/config-validator": "^19.8.1", "@commitlint/types": "^19.8.1", - "ajv": "^8.11.0" + "global-directory": "^4.0.1", + "import-meta-resolve": "^4.0.0", + "lodash.mergewith": "^4.6.2", + "resolve-from": "^5.0.0" }, "engines": { "node": ">=v18" } }, - "node_modules/@commitlint/ensure": { + "node_modules/@commitlint/rules": { "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-19.8.1.tgz", + "integrity": "sha512-Hnlhd9DyvGiGwjfjfToMi1dsnw1EXKGJNLTcsuGORHz6SS9swRgkBsou33MQ2n51/boIDrbsg4tIBbRpEWK2kw==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^19.8.1", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.upperfirst": "^4.3.1" + "@commitlint/ensure": "^19.8.1", + "@commitlint/message": "^19.8.1", + "@commitlint/to-lines": "^19.8.1", + "@commitlint/types": "^19.8.1" }, "engines": { "node": ">=v18" } }, - "node_modules/@commitlint/execute-rule": { + "node_modules/@commitlint/to-lines": { "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-19.8.1.tgz", + "integrity": "sha512-98Mm5inzbWTKuZQr2aW4SReY6WUukdWXuZhrqf1QdKPZBCCsXuG87c+iP0bwtD6DBnmVVQjgp4whoHRVixyPBg==", "dev": true, "license": "MIT", "engines": { "node": ">=v18" } }, - "node_modules/@commitlint/format": { + "node_modules/@commitlint/top-level": { "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-19.8.1.tgz", + "integrity": "sha512-Ph8IN1IOHPSDhURCSXBz44+CIu+60duFwRsg6HqaISFHQHbmBtxVw4ZrFNIYUzEP7WwrNPxa2/5qJ//NK1FGcw==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^19.8.1", - "chalk": "^5.3.0" + "find-up": "^7.0.0" }, "engines": { "node": ">=v18" } }, - "node_modules/@commitlint/is-ignored": { + "node_modules/@commitlint/types": { "version": "19.8.1", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-19.8.1.tgz", + "integrity": "sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^19.8.1", - "semver": "^7.6.0" + "@types/conventional-commits-parser": "^5.0.0", + "chalk": "^5.3.0" }, "engines": { "node": ">=v18" } }, - "node_modules/@commitlint/lint": { - "version": "19.8.1", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/is-ignored": "^19.8.1", - "@commitlint/parse": "^19.8.1", - "@commitlint/rules": "^19.8.1", - "@commitlint/types": "^19.8.1" + "@jridgewell/trace-mapping": "0.3.9" }, "engines": { - "node": ">=v18" + "node": ">=12" } }, - "node_modules/@commitlint/load": { - "version": "19.8.1", + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/config-validator": "^19.8.1", - "@commitlint/execute-rule": "^19.8.1", - "@commitlint/resolve-extends": "^19.8.1", - "@commitlint/types": "^19.8.1", - "chalk": "^5.3.0", - "cosmiconfig": "^9.0.0", - "cosmiconfig-typescript-loader": "^6.1.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "lodash.uniq": "^4.5.0" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "license": "MIT", + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "node_modules/@dfns/sdk": { + "version": "0.1.0-beta.5", + "resolved": "https://registry.npmjs.org/@dfns/sdk/-/sdk-0.1.0-beta.5.tgz", + "integrity": "sha512-NiV6BhoOckLLBJW4W3QyipvgMlVt5YNIc6F9RcRaB2cA3T9orL/wCP2itu5JPBhj6Q9p2pudpUtNEqJrScJNUA==", + "dependencies": { + "buffer": "6.0.3", + "cross-fetch": "3.1.6", + "uuid": "9.0.0" + } + }, + "node_modules/@dfns/sdk-keysigner": { + "version": "0.1.0-beta.5", + "resolved": "https://registry.npmjs.org/@dfns/sdk-keysigner/-/sdk-keysigner-0.1.0-beta.5.tgz", + "integrity": "sha512-S0HLn+twNT+PMsps1/Nm653tSDgC9nrNAJTJfgwX2IY1VgaumQiC90pbBLd5413fkmnpeTzfi2p7CpG+7WQcmw==", + "dependencies": { + "buffer": "6.0.3", + "cross-fetch": "3.1.6", + "uuid": "9.0.0" + }, + "peerDependencies": { + "@dfns/sdk": "0.1.0-beta.5" + } + }, + "node_modules/@dfns/sdk-keysigner/node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@dfns/sdk/node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@digitalbazaar/http-client": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz", + "integrity": "sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g==", + "license": "BSD-3-Clause", + "dependencies": { + "ky": "^0.33.3", + "ky-universal": "^0.11.0", + "undici": "^5.21.2" }, "engines": { - "node": ">=v18" + "node": ">=14.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/@emotion/cache": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz", + "integrity": "sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" + }, + "node_modules/@emotion/react": { + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", + "license": "MIT", + "dependencies": { + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "license": "MIT" + }, + "node_modules/@emotion/styled": { + "version": "11.14.1", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz", + "integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", + "license": "MIT" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "license": "MIT" + }, + "node_modules/@esbuild-plugins/node-globals-polyfill": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz", + "integrity": "sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "esbuild": "*" + } + }, + "node_modules/@esbuild-plugins/node-modules-polyfill": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.2.2.tgz", + "integrity": "sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==", + "dev": true, + "license": "ISC", + "dependencies": { + "escape-string-regexp": "^4.0.0", + "rollup-plugin-node-polyfills": "^0.2.1" + }, + "peerDependencies": { + "esbuild": "*" } }, - "node_modules/@commitlint/message": { - "version": "19.8.1", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz", + "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=v18" + "node": ">=18" } }, - "node_modules/@commitlint/parse": { - "version": "19.8.1", + "node_modules/@esbuild/android-arm": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz", + "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@commitlint/types": "^19.8.1", - "conventional-changelog-angular": "^7.0.0", - "conventional-commits-parser": "^5.0.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=v18" + "node": ">=18" } }, - "node_modules/@commitlint/read": { - "version": "19.8.1", + "node_modules/@esbuild/android-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz", + "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@commitlint/top-level": "^19.8.1", - "@commitlint/types": "^19.8.1", - "git-raw-commits": "^4.0.0", - "minimist": "^1.2.8", - "tinyexec": "^1.0.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=v18" + "node": ">=18" } }, - "node_modules/@commitlint/resolve-extends": { - "version": "19.8.1", + "node_modules/@esbuild/android-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz", + "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@commitlint/config-validator": "^19.8.1", - "@commitlint/types": "^19.8.1", - "global-directory": "^4.0.1", - "import-meta-resolve": "^4.0.0", - "lodash.mergewith": "^4.6.2", - "resolve-from": "^5.0.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=v18" + "node": ">=18" } }, - "node_modules/@commitlint/rules": { - "version": "19.8.1", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz", + "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@commitlint/ensure": "^19.8.1", - "@commitlint/message": "^19.8.1", - "@commitlint/to-lines": "^19.8.1", - "@commitlint/types": "^19.8.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=v18" + "node": ">=18" } }, - "node_modules/@commitlint/to-lines": { - "version": "19.8.1", + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz", + "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=v18" + "node": ">=18" } }, - "node_modules/@commitlint/top-level": { - "version": "19.8.1", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz", + "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "find-up": "^7.0.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=v18" + "node": ">=18" } }, - "node_modules/@commitlint/types": { - "version": "19.8.1", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz", + "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/conventional-commits-parser": "^5.0.0", - "chalk": "^5.3.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=v18" + "node": ">=18" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", + "node_modules/@esbuild/linux-arm": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz", + "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz", + "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@dabh/diagnostics": { - "version": "2.0.3", + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz", + "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==", + "cpu": [ + "ia32" + ], + "dev": true, "license": "MIT", - "dependencies": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" - } - }, - "node_modules/@dfns/sdk": { - "version": "0.1.0-beta.5", - "dependencies": { - "buffer": "6.0.3", - "cross-fetch": "3.1.6", - "uuid": "9.0.0" - } - }, - "node_modules/@dfns/sdk-keysigner": { - "version": "0.1.0-beta.5", - "dependencies": { - "buffer": "6.0.3", - "cross-fetch": "3.1.6", - "uuid": "9.0.0" - }, - "peerDependencies": { - "@dfns/sdk": "0.1.0-beta.5" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@dfns/sdk-keysigner/node_modules/uuid": { - "version": "9.0.0", + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz", + "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==", + "cpu": [ + "loong64" + ], + "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@dfns/sdk/node_modules/uuid": { - "version": "9.0.0", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz", + "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==", + "cpu": [ + "mips64el" + ], + "dev": true, "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/@digitalbazaar/http-client": { - "version": "3.4.1", - "license": "BSD-3-Clause", - "dependencies": { - "ky": "^0.33.3", - "ky-universal": "^0.11.0", - "undici": "^5.21.2" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14.0" + "node": ">=18" } }, - "node_modules/@emotion/babel-plugin": { - "version": "11.13.5", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz", + "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==", + "cpu": [ + "ppc64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.2", - "@emotion/memoize": "^0.9.0", - "@emotion/serialize": "^1.3.3", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@emotion/babel-plugin/node_modules/@emotion/memoize": { - "version": "0.9.0", - "license": "MIT" - }, - "node_modules/@emotion/babel-plugin/node_modules/convert-source-map": { - "version": "1.9.0", - "license": "MIT" - }, - "node_modules/@emotion/babel-plugin/node_modules/source-map": { - "version": "0.5.7", - "license": "BSD-3-Clause", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz", + "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "node_modules/@emotion/cache": { - "version": "11.14.0", + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz", + "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==", + "cpu": [ + "s390x" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@emotion/memoize": "^0.9.0", - "@emotion/sheet": "^1.4.0", - "@emotion/utils": "^1.4.2", - "@emotion/weak-memoize": "^0.4.0", - "stylis": "4.2.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@emotion/cache/node_modules/@emotion/memoize": { - "version": "0.9.0", - "license": "MIT" - }, - "node_modules/@emotion/hash": { - "version": "0.9.2", - "license": "MIT" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "0.8.8", + "node_modules/@esbuild/linux-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz", + "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", "optional": true, - "dependencies": { - "@emotion/memoize": "0.7.4" + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@emotion/memoize": { - "version": "0.7.4", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz", + "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "optional": true + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@emotion/react": { - "version": "11.14.0", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz", + "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.13.5", - "@emotion/cache": "^11.14.0", - "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", - "@emotion/utils": "^1.4.2", - "@emotion/weak-memoize": "^0.4.0", - "hoist-non-react-statics": "^3.3.1" - }, - "peerDependencies": { - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@emotion/serialize": { - "version": "1.3.3", + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz", + "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@emotion/hash": "^0.9.2", - "@emotion/memoize": "^0.9.0", - "@emotion/unitless": "^0.10.0", - "@emotion/utils": "^1.4.2", - "csstype": "^3.0.2" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@emotion/serialize/node_modules/@emotion/memoize": { - "version": "0.9.0", - "license": "MIT" - }, - "node_modules/@emotion/sheet": { - "version": "1.4.0", - "license": "MIT" - }, - "node_modules/@emotion/styled": { - "version": "11.14.1", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz", + "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.13.5", - "@emotion/is-prop-valid": "^1.3.0", - "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", - "@emotion/utils": "^1.4.2" - }, - "peerDependencies": { - "@emotion/react": "^11.0.0-rc.0", - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@emotion/styled/node_modules/@emotion/is-prop-valid": { - "version": "1.3.1", + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz", + "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@emotion/memoize": "^0.9.0" + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@emotion/styled/node_modules/@emotion/memoize": { - "version": "0.9.0", - "license": "MIT" - }, - "node_modules/@emotion/unitless": { - "version": "0.10.0", - "license": "MIT" - }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.2.0", + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz", + "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "peerDependencies": { - "react": ">=16.8.0" + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@emotion/utils": { - "version": "1.4.2", - "license": "MIT" - }, - "node_modules/@emotion/weak-memoize": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/@esbuild-plugins/node-globals-polyfill": { - "version": "0.2.3", + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz", + "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "peerDependencies": { - "esbuild": "*" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@esbuild-plugins/node-modules-polyfill": { - "version": "0.2.2", + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz", + "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "ISC", - "dependencies": { - "escape-string-regexp": "^4.0.0", - "rollup-plugin-node-polyfills": "^0.2.1" - }, - "peerDependencies": { - "esbuild": "*" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@esbuild/darwin-arm64": { + "node_modules/@esbuild/win32-x64": { "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz", + "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==", "cpu": [ - "arm64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "darwin" + "win32" ], "engines": { "node": ">=18" @@ -4657,6 +4952,8 @@ }, "node_modules/@eslint-community/eslint-utils": { "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, "license": "MIT", "dependencies": { @@ -4674,66 +4971,18 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.3.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.15.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, + "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4756,6 +5005,8 @@ }, "node_modules/@eslint/eslintrc/node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -4769,8 +5020,17 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -4778,13 +5038,46 @@ "concat-map": "0.0.1" } }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -4794,39 +5087,36 @@ "node": "*" } }, - "node_modules/@eslint/js": { - "version": "9.31.0", + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "MIT", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=10" }, "funding": { - "url": "https://eslint.org/donate" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", + "node_modules/@eslint/js": { + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.33.0.tgz", + "integrity": "sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.3.3", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.15.1", - "levn": "^0.4.1" }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "funding": { + "url": "https://eslint.org/donate" } }, "node_modules/@ethereumjs/common": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-3.2.0.tgz", + "integrity": "sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA==", "license": "MIT", "dependencies": { "@ethereumjs/util": "^8.1.0", @@ -4835,6 +5125,8 @@ }, "node_modules/@ethereumjs/rlp": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", + "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", "license": "MPL-2.0", "bin": { "rlp": "bin/rlp" @@ -4845,6 +5137,8 @@ }, "node_modules/@ethereumjs/tx": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-4.2.0.tgz", + "integrity": "sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw==", "license": "MPL-2.0", "dependencies": { "@ethereumjs/common": "^3.2.0", @@ -4858,6 +5152,8 @@ }, "node_modules/@ethereumjs/util": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", + "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", "license": "MPL-2.0", "dependencies": { "@ethereumjs/rlp": "^4.0.1", @@ -4870,6 +5166,8 @@ }, "node_modules/@ethersproject/abi": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.8.0.tgz", + "integrity": "sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==", "funding": [ { "type": "individual", @@ -4895,6 +5193,8 @@ }, "node_modules/@ethersproject/abstract-provider": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz", + "integrity": "sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==", "funding": [ { "type": "individual", @@ -4918,6 +5218,8 @@ }, "node_modules/@ethersproject/abstract-signer": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz", + "integrity": "sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==", "funding": [ { "type": "individual", @@ -4939,6 +5241,8 @@ }, "node_modules/@ethersproject/address": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.8.0.tgz", + "integrity": "sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==", "funding": [ { "type": "individual", @@ -4960,6 +5264,8 @@ }, "node_modules/@ethersproject/base64": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.8.0.tgz", + "integrity": "sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==", "funding": [ { "type": "individual", @@ -4977,6 +5283,8 @@ }, "node_modules/@ethersproject/basex": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.8.0.tgz", + "integrity": "sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==", "funding": [ { "type": "individual", @@ -4995,6 +5303,8 @@ }, "node_modules/@ethersproject/bignumber": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.8.0.tgz", + "integrity": "sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==", "funding": [ { "type": "individual", @@ -5014,6 +5324,8 @@ }, "node_modules/@ethersproject/bytes": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.8.0.tgz", + "integrity": "sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==", "funding": [ { "type": "individual", @@ -5031,6 +5343,8 @@ }, "node_modules/@ethersproject/constants": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.8.0.tgz", + "integrity": "sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==", "funding": [ { "type": "individual", @@ -5048,6 +5362,8 @@ }, "node_modules/@ethersproject/contracts": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.8.0.tgz", + "integrity": "sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ==", "funding": [ { "type": "individual", @@ -5074,6 +5390,8 @@ }, "node_modules/@ethersproject/hash": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.8.0.tgz", + "integrity": "sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==", "funding": [ { "type": "individual", @@ -5099,6 +5417,8 @@ }, "node_modules/@ethersproject/hdnode": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.8.0.tgz", + "integrity": "sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==", "funding": [ { "type": "individual", @@ -5127,6 +5447,8 @@ }, "node_modules/@ethersproject/json-wallets": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz", + "integrity": "sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==", "funding": [ { "type": "individual", @@ -5156,6 +5478,8 @@ }, "node_modules/@ethersproject/keccak256": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.8.0.tgz", + "integrity": "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==", "funding": [ { "type": "individual", @@ -5174,6 +5498,8 @@ }, "node_modules/@ethersproject/logger": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.8.0.tgz", + "integrity": "sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==", "funding": [ { "type": "individual", @@ -5188,6 +5514,8 @@ }, "node_modules/@ethersproject/networks": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.8.0.tgz", + "integrity": "sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==", "funding": [ { "type": "individual", @@ -5205,6 +5533,8 @@ }, "node_modules/@ethersproject/pbkdf2": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz", + "integrity": "sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==", "funding": [ { "type": "individual", @@ -5223,6 +5553,8 @@ }, "node_modules/@ethersproject/properties": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.8.0.tgz", + "integrity": "sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==", "funding": [ { "type": "individual", @@ -5240,6 +5572,8 @@ }, "node_modules/@ethersproject/providers": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.8.0.tgz", + "integrity": "sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==", "funding": [ { "type": "individual", @@ -5276,6 +5610,8 @@ }, "node_modules/@ethersproject/random": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.8.0.tgz", + "integrity": "sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==", "funding": [ { "type": "individual", @@ -5294,6 +5630,8 @@ }, "node_modules/@ethersproject/rlp": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.8.0.tgz", + "integrity": "sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==", "funding": [ { "type": "individual", @@ -5312,6 +5650,8 @@ }, "node_modules/@ethersproject/sha2": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.8.0.tgz", + "integrity": "sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==", "funding": [ { "type": "individual", @@ -5331,6 +5671,8 @@ }, "node_modules/@ethersproject/signing-key": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.8.0.tgz", + "integrity": "sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==", "funding": [ { "type": "individual", @@ -5353,6 +5695,8 @@ }, "node_modules/@ethersproject/solidity": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.8.0.tgz", + "integrity": "sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==", "funding": [ { "type": "individual", @@ -5375,6 +5719,8 @@ }, "node_modules/@ethersproject/strings": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.8.0.tgz", + "integrity": "sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==", "funding": [ { "type": "individual", @@ -5394,6 +5740,8 @@ }, "node_modules/@ethersproject/transactions": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.8.0.tgz", + "integrity": "sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==", "funding": [ { "type": "individual", @@ -5419,6 +5767,8 @@ }, "node_modules/@ethersproject/units": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.8.0.tgz", + "integrity": "sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==", "funding": [ { "type": "individual", @@ -5438,6 +5788,8 @@ }, "node_modules/@ethersproject/wallet": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.8.0.tgz", + "integrity": "sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==", "funding": [ { "type": "individual", @@ -5469,6 +5821,8 @@ }, "node_modules/@ethersproject/web": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.8.0.tgz", + "integrity": "sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==", "funding": [ { "type": "individual", @@ -5490,6 +5844,8 @@ }, "node_modules/@ethersproject/wordlists": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.8.0.tgz", + "integrity": "sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==", "funding": [ { "type": "individual", @@ -5511,6 +5867,8 @@ }, "node_modules/@faker-js/faker": { "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-9.9.0.tgz", + "integrity": "sha512-OEl393iCOoo/z8bMezRlJu+GlRGlsKbUAN7jKB6LhnKoqKve5DXRpalbItIIcwnCjs1k/FOPjFzcA6Qn+H+YbA==", "dev": true, "funding": [ { @@ -5526,6 +5884,8 @@ }, "node_modules/@fastify/busboy": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", + "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", "license": "MIT", "engines": { "node": ">=14" @@ -5533,6 +5893,8 @@ }, "node_modules/@fireblocks/fireblocks-web3-provider": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@fireblocks/fireblocks-web3-provider/-/fireblocks-web3-provider-1.2.5.tgz", + "integrity": "sha512-d/Uk+IxFXRGhR8V9FinBTuY99P5F2t9kvB5EsSJ7UVJf4W0uRrtX4sAbf4KuTKGhFFvpJNx8xhUEOhBO8adJfQ==", "license": "MIT", "dependencies": { "@ethersproject/units": "^5.7.0", @@ -5544,6 +5906,8 @@ }, "node_modules/@fireblocks/fireblocks-web3-provider/node_modules/axios": { "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "license": "MIT", "dependencies": { "follow-redirects": "^1.14.9", @@ -5552,6 +5916,8 @@ }, "node_modules/@fireblocks/fireblocks-web3-provider/node_modules/fireblocks-sdk": { "version": "3.1.4", + "resolved": "https://registry.npmjs.org/fireblocks-sdk/-/fireblocks-sdk-3.1.4.tgz", + "integrity": "sha512-R0Mg4ZkGAhNSRq7evjteeEYjdpH6KuJo4t/TCKebP/EH2YLwXr24BlGKoRslJpWVepKNI0XWE3cX41VKgPiZ5A==", "license": "MIT", "dependencies": { "axios": "^0.27.2", @@ -5564,37 +5930,49 @@ }, "node_modules/@fireblocks/fireblocks-web3-provider/node_modules/uuid": { "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/@floating-ui/core": { - "version": "1.7.2", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", "license": "MIT", "dependencies": { "@floating-ui/utils": "^0.2.10" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.2", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.3.tgz", + "integrity": "sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.2", + "@floating-ui/core": "^1.7.3", "@floating-ui/utils": "^0.2.10" } }, "node_modules/@floating-ui/utils": { "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", "license": "MIT" }, "node_modules/@golevelup/ts-jest": { "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@golevelup/ts-jest/-/ts-jest-0.6.2.tgz", + "integrity": "sha512-ks82vcWbnRuwHSKlrZTGCPPWXZEKlsn1VA2OiYfJ+tVMcMsI4y9ExWkf7FnmYypYJIRWKS9b9N5QVVrCOmaVlg==", "dev": true, "license": "MIT" }, "node_modules/@grpc/grpc-js": { "version": "1.13.4", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.13.4.tgz", + "integrity": "sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg==", "license": "Apache-2.0", "dependencies": { "@grpc/proto-loader": "^0.7.13", @@ -5606,6 +5984,8 @@ }, "node_modules/@grpc/proto-loader": { "version": "0.7.15", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz", + "integrity": "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==", "license": "Apache-2.0", "dependencies": { "lodash.camelcase": "^4.3.0", @@ -5622,6 +6002,8 @@ }, "node_modules/@grpc/proto-loader/node_modules/long": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", "license": "Apache-2.0" }, "node_modules/@hashgraph/asset-tokenization-contracts": { @@ -5637,7 +6019,9 @@ "link": true }, "node_modules/@hashgraph/cryptography": { - "version": "1.7.2", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@hashgraph/cryptography/-/cryptography-1.9.0.tgz", + "integrity": "sha512-0UItolO1W/f8YIsGBrIxvjY+cSdvs4sEdzXOL49ThYEfPskJUprG3vhMhosRFoA4d0hxdJ7/glB7f7He8RW9xg==", "license": "Apache-2.0", "dependencies": { "@noble/curves": "^1.8.1", @@ -5654,16 +6038,325 @@ "utf8": "^3.0.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=12.0.0" + }, + "peerDependenciesMeta": { + "expo-crypto": { + "optional": true + } + } + }, + "node_modules/@hashgraph/cryptography/node_modules/@react-native/virtualized-lists": { + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.80.2.tgz", + "integrity": "sha512-kXsIV2eB73QClbbH/z/lRhZkyj3Dke4tarM5w2yXSNwJthMPMfj4KqLZ6Lnf0nmPPjz7qo/voKtlrGqlM822Rg==", + "license": "MIT", + "peer": true, + "dependencies": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/react": "^19.0.0", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@hashgraph/cryptography/node_modules/@types/react": { + "version": "19.1.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.10.tgz", + "integrity": "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "peer": true + }, + "node_modules/@hashgraph/cryptography/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", + "license": "MIT", + "peer": true + }, + "node_modules/@hashgraph/cryptography/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/react": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", + "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT", + "peer": true + }, + "node_modules/@hashgraph/cryptography/node_modules/react-native": { + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.80.2.tgz", + "integrity": "sha512-6ySV4qTJo/To3lgpG/9Mcg/ZtvExqOVZuT7JVGcO5rS2Bjvl/yUAkQF0hTnbRb2Ch6T5MlKghrM4OeHX+KA9Pg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/create-cache-key-function": "^29.7.0", + "@react-native/assets-registry": "0.80.2", + "@react-native/codegen": "0.80.2", + "@react-native/community-cli-plugin": "0.80.2", + "@react-native/gradle-plugin": "0.80.2", + "@react-native/js-polyfills": "0.80.2", + "@react-native/normalize-colors": "0.80.2", + "@react-native/virtualized-lists": "0.80.2", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "ansi-regex": "^5.0.0", + "babel-jest": "^29.7.0", + "babel-plugin-syntax-hermes-parser": "0.28.1", + "base64-js": "^1.5.1", + "chalk": "^4.0.0", + "commander": "^12.0.0", + "flow-enums-runtime": "^0.0.6", + "glob": "^7.1.1", + "invariant": "^2.2.4", + "jest-environment-node": "^29.7.0", + "memoize-one": "^5.0.0", + "metro-runtime": "^0.82.2", + "metro-source-map": "^0.82.2", + "nullthrows": "^1.1.1", + "pretty-format": "^29.7.0", + "promise": "^8.3.0", + "react-devtools-core": "^6.1.1", + "react-refresh": "^0.14.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.26.0", + "semver": "^7.1.3", + "stacktrace-parser": "^0.1.10", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.3", + "yargs": "^17.6.2" + }, + "bin": { + "react-native": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/react": "^19.1.0", + "react": "^19.1.0" }, "peerDependenciesMeta": { - "expo-crypto": { + "@types/react": { "optional": true } } }, + "node_modules/@hashgraph/cryptography/node_modules/react-native-get-random-values": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.11.0.tgz", + "integrity": "sha512-4BTbDbRmS7iPdhYLRcz3PGFIpFJBwNZg9g42iwa2P6FOv9vZj/xJc678RZXnLNZzd0qd7Q3CCF6Yd+CU2eoXKQ==", + "license": "MIT", + "dependencies": { + "fast-base64-decode": "^1.0.0" + }, + "peerDependencies": { + "react-native": ">=0.56" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT", + "peer": true + }, + "node_modules/@hashgraph/cryptography/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@hashgraph/cryptography/node_modules/ws": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "license": "MIT", + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, "node_modules/@hashgraph/hedera-custodians-integration": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@hashgraph/hedera-custodians-integration/-/hedera-custodians-integration-1.4.1.tgz", + "integrity": "sha512-YNNn22EZi9qzgePO9NGkF8mBh7FmFS/oMWhJHKQ88fvxBBTtiU/Kahb5DU+ABd3pr35/MDTzHD6hqhM/55VQpg==", "cpu": [ "x86_64", "x64", @@ -5695,6 +6388,8 @@ }, "node_modules/@hashgraph/hedera-custodians-integration/node_modules/dotenv": { "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", "license": "BSD-2-Clause", "engines": { "node": ">=12" @@ -5702,14 +6397,20 @@ }, "node_modules/@hashgraph/hedera-custodians-integration/node_modules/reflect-metadata": { "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "license": "Apache-2.0" }, "node_modules/@hashgraph/hedera-custodians-integration/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@hashgraph/hedera-custodians-integration/node_modules/tsyringe": { "version": "4.7.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.7.0.tgz", + "integrity": "sha512-ncFDM1jTLsok4ejMvSW5jN1VGPQD48y2tfAR0pdptWRKYX4bkbqPt92k7KJ5RFJ1KV36JEs/+TMh7I6OUgj74g==", "license": "MIT", "dependencies": { "tslib": "^1.9.3" @@ -5720,6 +6421,8 @@ }, "node_modules/@hashgraph/hedera-wallet-connect": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@hashgraph/hedera-wallet-connect/-/hedera-wallet-connect-1.3.1.tgz", + "integrity": "sha512-0NrMJ1Wn9JQuOUiTRrZqv9qEcTzbYKF26Xaq/1IexJM2bRqfMPy1Z6tAZXQEfHy9tw6k5wnzXXo/j65BXkapJg==", "license": "Apache-2.0", "dependencies": { "@hashgraph/sdk": "^2.40.0", @@ -5730,7 +6433,9 @@ } }, "node_modules/@hashgraph/proto": { - "version": "2.18.5", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/@hashgraph/proto/-/proto-2.20.0.tgz", + "integrity": "sha512-XGIHRE9jr4wnnmCG8JeUD/nyeCiiYoUt35oRJz0QdCUwJYtbEsR6tPQxO90PxJJVDI5smT1c5i0f9wRRtFDhIA==", "license": "Apache-2.0", "dependencies": { "long": "^5.2.3", @@ -5742,10 +6447,14 @@ }, "node_modules/@hashgraph/proto/node_modules/long": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", "license": "Apache-2.0" }, "node_modules/@hashgraph/sdk": { - "version": "2.64.5", + "version": "2.70.0", + "resolved": "https://registry.npmjs.org/@hashgraph/sdk/-/sdk-2.70.0.tgz", + "integrity": "sha512-naml5lWgewD3Dh8z0K7NRuKpbOpDaxpxwcLjtB9RFVmATMDU3IShSzxy24k5tUgY/0ZE7XXfCKgIpdT7TxGKqQ==", "license": "Apache-2.0", "dependencies": { "@ethersproject/abi": "^5.8.0", @@ -5753,8 +6462,8 @@ "@ethersproject/bytes": "^5.8.0", "@ethersproject/rlp": "^5.8.0", "@grpc/grpc-js": "^1.12.6", - "@hashgraph/cryptography": "1.7.2", - "@hashgraph/proto": "2.18.5", + "@hashgraph/cryptography": "1.9.0", + "@hashgraph/proto": "2.20.0", "bignumber.js": "^9.1.1", "bn.js": "^5.1.1", "crypto-js": "^4.2.0", @@ -5775,42 +6484,15 @@ }, "node_modules/@hashgraph/sdk/node_modules/long": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", "license": "Apache-2.0" }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -5824,6 +6506,8 @@ }, "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -5833,6 +6517,8 @@ }, "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -5844,6 +6530,8 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -5856,23 +6544,16 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true, "license": "BSD-3-Clause" }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@isaacs/balanced-match": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", "dev": true, "license": "MIT", "engines": { @@ -5881,6 +6562,8 @@ }, "node_modules/@isaacs/brace-expansion": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", "dev": true, "license": "MIT", "dependencies": { @@ -5892,6 +6575,8 @@ }, "node_modules/@isaacs/cliui": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "license": "ISC", "dependencies": { "string-width": "^5.1.2", @@ -5907,6 +6592,8 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "license": "MIT", "engines": { "node": ">=12" @@ -5917,6 +6604,8 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "license": "MIT", "engines": { "node": ">=12" @@ -5927,10 +6616,14 @@ }, "node_modules/@isaacs/cliui/node_modules/emoji-regex": { "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "license": "MIT" }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", @@ -5946,6 +6639,8 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" @@ -5959,6 +6654,8 @@ }, "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", @@ -5974,6 +6671,8 @@ }, "node_modules/@isaacs/ttlcache": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", + "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", "license": "ISC", "peer": true, "engines": { @@ -5982,6 +6681,8 @@ }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "license": "ISC", "dependencies": { "camelcase": "^5.3.1", @@ -5994,33 +6695,10 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { - "version": "5.3.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "license": "MIT", "dependencies": { "locate-path": "^5.0.0", @@ -6030,19 +6708,10 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "license": "MIT", "dependencies": { "p-locate": "^4.1.0" @@ -6053,6 +6722,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "license": "MIT", "dependencies": { "p-try": "^2.0.0" @@ -6066,6 +6737,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "license": "MIT", "dependencies": { "p-limit": "^2.2.0" @@ -6076,6 +6749,8 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "license": "MIT", "engines": { "node": ">=8" @@ -6083,6 +6758,8 @@ }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "license": "MIT", "engines": { "node": ">=8" @@ -6090,6 +6767,8 @@ }, "node_modules/@jest/console": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, "license": "MIT", "dependencies": { @@ -6106,6 +6785,8 @@ }, "node_modules/@jest/console/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -6120,6 +6801,8 @@ }, "node_modules/@jest/console/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -6135,6 +6818,8 @@ }, "node_modules/@jest/console/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6146,11 +6831,15 @@ }, "node_modules/@jest/console/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/@jest/core": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, "license": "MIT", "dependencies": { @@ -6197,6 +6886,8 @@ }, "node_modules/@jest/core/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -6211,6 +6902,8 @@ }, "node_modules/@jest/core/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -6226,6 +6919,8 @@ }, "node_modules/@jest/core/node_modules/ci-info": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -6240,6 +6935,8 @@ }, "node_modules/@jest/core/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6251,11 +6948,50 @@ }, "node_modules/@jest/core/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, "node_modules/@jest/create-cache-key-function": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", "license": "MIT", "peer": true, "dependencies": { @@ -6267,6 +7003,8 @@ }, "node_modules/@jest/environment": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", @@ -6280,6 +7018,8 @@ }, "node_modules/@jest/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6292,6 +7032,8 @@ }, "node_modules/@jest/expect-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, "license": "MIT", "dependencies": { @@ -6303,6 +7045,8 @@ }, "node_modules/@jest/fake-timers": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -6318,6 +7062,8 @@ }, "node_modules/@jest/globals": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6332,6 +7078,8 @@ }, "node_modules/@jest/reporters": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, "license": "MIT", "dependencies": { @@ -6374,6 +7122,8 @@ }, "node_modules/@jest/reporters/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -6388,6 +7138,8 @@ }, "node_modules/@jest/reporters/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -6397,6 +7149,8 @@ }, "node_modules/@jest/reporters/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -6412,6 +7166,8 @@ }, "node_modules/@jest/reporters/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6423,11 +7179,16 @@ }, "node_modules/@jest/reporters/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/@jest/reporters/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -6445,8 +7206,27 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@jest/reporters/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -6456,8 +7236,23 @@ "node": "*" } }, + "node_modules/@jest/reporters/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@jest/schemas": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" @@ -6468,6 +7263,8 @@ }, "node_modules/@jest/source-map": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, "license": "MIT", "dependencies": { @@ -6481,6 +7278,8 @@ }, "node_modules/@jest/test-result": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, "license": "MIT", "dependencies": { @@ -6495,6 +7294,8 @@ }, "node_modules/@jest/test-sequencer": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, "license": "MIT", "dependencies": { @@ -6509,6 +7310,8 @@ }, "node_modules/@jest/transform": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", @@ -6533,6 +7336,8 @@ }, "node_modules/@jest/transform/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -6546,6 +7351,8 @@ }, "node_modules/@jest/transform/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -6560,6 +7367,8 @@ }, "node_modules/@jest/transform/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -6570,10 +7379,14 @@ }, "node_modules/@jest/transform/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, "node_modules/@jest/types": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -6589,6 +7402,8 @@ }, "node_modules/@jest/types/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -6602,6 +7417,8 @@ }, "node_modules/@jest/types/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -6616,6 +7433,8 @@ }, "node_modules/@jest/types/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -6626,10 +7445,14 @@ }, "node_modules/@jest/types/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.12", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", @@ -6638,13 +7461,17 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.10", + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", "license": "MIT", "peer": true, "dependencies": { @@ -6653,11 +7480,15 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.4", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.29", + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -6666,6 +7497,8 @@ }, "node_modules/@js-sdsl/ordered-map": { "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", + "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", "license": "MIT", "funding": { "type": "opencollective", @@ -6674,10 +7507,14 @@ }, "node_modules/@lit-labs/ssr-dom-shim": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.4.0.tgz", + "integrity": "sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==", "license": "BSD-3-Clause" }, "node_modules/@lit/reactive-element": { "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", "license": "BSD-3-Clause", "dependencies": { "@lit-labs/ssr-dom-shim": "^1.0.0" @@ -6685,6 +7522,8 @@ }, "node_modules/@mapbox/node-pre-gyp": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", "license": "BSD-3-Clause", "optional": true, "dependencies": { @@ -6704,6 +7543,8 @@ }, "node_modules/@mapbox/node-pre-gyp/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "license": "MIT", "optional": true, "dependencies": { @@ -6713,6 +7554,9 @@ }, "node_modules/@mapbox/node-pre-gyp/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "license": "ISC", "optional": true, "dependencies": { @@ -6732,6 +7576,8 @@ }, "node_modules/@mapbox/node-pre-gyp/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "license": "ISC", "optional": true, "dependencies": { @@ -6743,6 +7589,9 @@ }, "node_modules/@mapbox/node-pre-gyp/node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "license": "ISC", "optional": true, "dependencies": { @@ -6755,8 +7604,23 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@mapbox/node-pre-gyp/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@mattrglobal/bbs-signatures": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@mattrglobal/bbs-signatures/-/bbs-signatures-1.4.0.tgz", + "integrity": "sha512-uBK1IWw48fqloO9W/yoDncTs9rfwfbG/53cOrrCQL7XkyZe4DtB40HcLbi3i+yxTYs5wytf1Qr4Z5RpzpW10jw==", "license": "Apache-2.0", "dependencies": { "@stablelib/random": "1.0.0" @@ -6770,7 +7634,10 @@ }, "node_modules/@mattrglobal/node-bbs-signatures": { "version": "0.18.1", + "resolved": "https://registry.npmjs.org/@mattrglobal/node-bbs-signatures/-/node-bbs-signatures-0.18.1.tgz", + "integrity": "sha512-s9ccL/1TTvCP1N//4QR84j/d5D/stx/AI1kPcRgiE4O3KrxyF7ZdL9ca8fmFuN6yh9LAbn/OiGRnOXgvn38Dgg==", "hasInstallScript": true, + "license": "Apache-2.0", "optional": true, "dependencies": { "@mapbox/node-pre-gyp": "1.0.11", @@ -6783,6 +7650,8 @@ }, "node_modules/@metamask/detect-provider": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@metamask/detect-provider/-/detect-provider-2.0.0.tgz", + "integrity": "sha512-sFpN+TX13E9fdBDh9lvQeZdJn4qYoRb/6QF2oZZK/Pn559IhCFacPMU1rMuqyXoFQF3JSJfii2l98B87QDPeCQ==", "license": "ISC", "engines": { "node": ">=14.0.0" @@ -6790,6 +7659,8 @@ }, "node_modules/@metamask/json-rpc-engine": { "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@metamask/json-rpc-engine/-/json-rpc-engine-7.3.3.tgz", + "integrity": "sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==", "license": "ISC", "dependencies": { "@metamask/rpc-errors": "^6.2.1", @@ -6802,6 +7673,8 @@ }, "node_modules/@metamask/object-multiplex": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@metamask/object-multiplex/-/object-multiplex-1.3.0.tgz", + "integrity": "sha512-czcQeVYdSNtabd+NcYQnrM69MciiJyd1qvKH8WM2Id3C0ZiUUX5Xa/MK+/VUk633DBhVOwdNzAKIQ33lGyA+eQ==", "license": "ISC", "dependencies": { "end-of-stream": "^1.4.4", @@ -6814,6 +7687,8 @@ }, "node_modules/@metamask/providers": { "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@metamask/providers/-/providers-12.0.0.tgz", + "integrity": "sha512-NkrSvOF8v8kDz9f2TY1AYK19hJdpYbYhbXWhjmmmXrSMYotn+o7ZV1b1Yd0fqD/HKVL0Vd2BWBUT9U0ggIDTEA==", "license": "MIT", "dependencies": { "@metamask/json-rpc-engine": "^7.1.1", @@ -6835,6 +7710,8 @@ }, "node_modules/@metamask/rpc-errors": { "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-6.4.0.tgz", + "integrity": "sha512-1ugFO1UoirU2esS3juZanS/Fo8C8XYocCuBpfZI5N7ECtoG+zu0wF+uWZASik6CkO6w9n/Iebt4iI4pT0vptpg==", "license": "MIT", "dependencies": { "@metamask/utils": "^9.0.0", @@ -6846,6 +7723,8 @@ }, "node_modules/@metamask/rpc-errors/node_modules/@metamask/utils": { "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-9.3.0.tgz", + "integrity": "sha512-w8CVbdkDrVXFJbfBSlDfafDR6BAkpDmv1bC1UJVCoVny5tW2RKAdn9i68Xf7asYT4TnUhl/hN4zfUiKQq9II4g==", "license": "ISC", "dependencies": { "@ethereumjs/tx": "^4.2.0", @@ -6862,8 +7741,22 @@ "node": ">=16.0.0" } }, + "node_modules/@metamask/rpc-errors/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@metamask/safe-event-emitter": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.2.tgz", + "integrity": "sha512-5yb2gMI1BDm0JybZezeoX/3XhPDOtTbcFvpTXM9kxsoZjPZFh4XciqRbpD6N86HYZqWDhEaKUDuOyR0sQHEjMA==", "license": "ISC", "engines": { "node": ">=12.0.0" @@ -6871,6 +7764,8 @@ }, "node_modules/@metamask/superstruct": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@metamask/superstruct/-/superstruct-3.2.1.tgz", + "integrity": "sha512-fLgJnDOXFmuVlB38rUN5SmU7hAFQcCjrg3Vrxz67KTY7YHFnSNEKvX4avmEBdOI0yTCxZjwMCFEqsC8k2+Wd3g==", "license": "MIT", "engines": { "node": ">=16.0.0" @@ -6878,6 +7773,8 @@ }, "node_modules/@metamask/utils": { "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.5.0.tgz", + "integrity": "sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==", "license": "ISC", "dependencies": { "@ethereumjs/tx": "^4.2.0", @@ -6894,8 +7791,22 @@ "node": ">=16.0.0" } }, + "node_modules/@metamask/utils/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@motionone/animation": { "version": "10.18.0", + "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.18.0.tgz", + "integrity": "sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==", "license": "MIT", "dependencies": { "@motionone/easing": "^10.18.0", @@ -6906,6 +7817,8 @@ }, "node_modules/@motionone/dom": { "version": "10.18.0", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.18.0.tgz", + "integrity": "sha512-bKLP7E0eyO4B2UaHBBN55tnppwRnaE3KFfh3Ps9HhnAkar3Cb69kUCJY9as8LrccVYKgHA+JY5dOQqJLOPhF5A==", "license": "MIT", "dependencies": { "@motionone/animation": "^10.18.0", @@ -6918,6 +7831,8 @@ }, "node_modules/@motionone/easing": { "version": "10.18.0", + "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.18.0.tgz", + "integrity": "sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==", "license": "MIT", "dependencies": { "@motionone/utils": "^10.18.0", @@ -6926,6 +7841,8 @@ }, "node_modules/@motionone/generators": { "version": "10.18.0", + "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.18.0.tgz", + "integrity": "sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==", "license": "MIT", "dependencies": { "@motionone/types": "^10.17.1", @@ -6935,6 +7852,8 @@ }, "node_modules/@motionone/svelte": { "version": "10.16.4", + "resolved": "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.16.4.tgz", + "integrity": "sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==", "license": "MIT", "dependencies": { "@motionone/dom": "^10.16.4", @@ -6943,10 +7862,14 @@ }, "node_modules/@motionone/types": { "version": "10.17.1", + "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.17.1.tgz", + "integrity": "sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A==", "license": "MIT" }, "node_modules/@motionone/utils": { "version": "10.18.0", + "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.18.0.tgz", + "integrity": "sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==", "license": "MIT", "dependencies": { "@motionone/types": "^10.17.1", @@ -6956,6 +7879,9 @@ }, "node_modules/@motionone/vue": { "version": "10.16.4", + "resolved": "https://registry.npmjs.org/@motionone/vue/-/vue-10.16.4.tgz", + "integrity": "sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==", + "deprecated": "Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion", "license": "MIT", "dependencies": { "@motionone/dom": "^10.16.4", @@ -6964,6 +7890,8 @@ }, "node_modules/@msgpack/msgpack": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.2.tgz", + "integrity": "sha512-JEW4DEtBzfe8HvUYecLU9e6+XJnKDlUAIve8FvPzF3Kzs6Xo/KuZkZJsDH0wJXl/qEZbeeE7edxDNY3kMs39hQ==", "license": "ISC", "engines": { "node": ">= 18" @@ -6971,10 +7899,14 @@ }, "node_modules/@multiformats/base-x": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz", + "integrity": "sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==", "license": "MIT" }, "node_modules/@noble/ciphers": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", + "integrity": "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==", "license": "MIT", "engines": { "node": "^14.21.3 || >=16" @@ -6984,7 +7916,9 @@ } }, "node_modules/@noble/curves": { - "version": "1.9.4", + "version": "1.9.6", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.6.tgz", + "integrity": "sha512-GIKz/j99FRthB8icyJQA51E8Uk5hXmdyThjgQXRKiv9h0zeRlzSCLIzFw6K1LotZ3XuB7yzlf76qk7uBmTdFqA==", "license": "MIT", "dependencies": { "@noble/hashes": "1.8.0" @@ -6998,6 +7932,8 @@ }, "node_modules/@noble/hashes": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", "license": "MIT", "engines": { "node": "^14.21.3 || >=16" @@ -7008,6 +7944,8 @@ }, "node_modules/@noble/secp256k1": { "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", + "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", "dev": true, "funding": [ { @@ -7019,6 +7957,8 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "license": "MIT", "dependencies": { @@ -7031,6 +7971,8 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, "license": "MIT", "engines": { @@ -7039,6 +7981,8 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "license": "MIT", "dependencies": { @@ -7051,6 +7995,8 @@ }, "node_modules/@nomicfoundation/edr": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.11.3.tgz", + "integrity": "sha512-kqILRkAd455Sd6v8mfP3C1/0tCOynJWY+Ir+k/9Boocu2kObCrsFgG+ZWB7fSBVdd9cPVSNrnhWS+V+PEo637g==", "dev": true, "license": "MIT", "dependencies": { @@ -7068,6 +8014,8 @@ }, "node_modules/@nomicfoundation/edr-darwin-arm64": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.11.3.tgz", + "integrity": "sha512-w0tksbdtSxz9nuzHKsfx4c2mwaD0+l5qKL2R290QdnN9gi9AV62p9DHkOgfBdyg6/a6ZlnQqnISi7C9avk/6VA==", "dev": true, "license": "MIT", "engines": { @@ -7076,6 +8024,8 @@ }, "node_modules/@nomicfoundation/edr-darwin-x64": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.11.3.tgz", + "integrity": "sha512-QR4jAFrPbOcrO7O2z2ESg+eUeIZPe2bPIlQYgiJ04ltbSGW27FblOzdd5+S3RoOD/dsZGKAvvy6dadBEl0NgoA==", "dev": true, "license": "MIT", "engines": { @@ -7084,6 +8034,8 @@ }, "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.11.3.tgz", + "integrity": "sha512-Ktjv89RZZiUmOFPspuSBVJ61mBZQ2+HuLmV67InNlh9TSUec/iDjGIwAn59dx0bF/LOSrM7qg5od3KKac4LJDQ==", "dev": true, "license": "MIT", "engines": { @@ -7092,6 +8044,8 @@ }, "node_modules/@nomicfoundation/edr-linux-arm64-musl": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.11.3.tgz", + "integrity": "sha512-B3sLJx1rL2E9pfdD4mApiwOZSrX0a/KQSBWdlq1uAhFKqkl00yZaY4LejgZndsJAa4iKGQJlGnw4HCGeVt0+jA==", "dev": true, "license": "MIT", "engines": { @@ -7100,6 +8054,8 @@ }, "node_modules/@nomicfoundation/edr-linux-x64-gnu": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.11.3.tgz", + "integrity": "sha512-D/4cFKDXH6UYyKPu6J3Y8TzW11UzeQI0+wS9QcJzjlrrfKj0ENW7g9VihD1O2FvXkdkTjcCZYb6ai8MMTCsaVw==", "dev": true, "license": "MIT", "engines": { @@ -7108,6 +8064,8 @@ }, "node_modules/@nomicfoundation/edr-linux-x64-musl": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.11.3.tgz", + "integrity": "sha512-ergXuIb4nIvmf+TqyiDX5tsE49311DrBky6+jNLgsGDTBaN1GS3OFwFS8I6Ri/GGn6xOaT8sKu3q7/m+WdlFzg==", "dev": true, "license": "MIT", "engines": { @@ -7116,6 +8074,8 @@ }, "node_modules/@nomicfoundation/edr-win32-x64-msvc": { "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.11.3.tgz", + "integrity": "sha512-snvEf+WB3OV0wj2A7kQ+ZQqBquMcrozSLXcdnMdEl7Tmn+KDCbmFKBt3Tk0X3qOU4RKQpLPnTxdM07TJNVtung==", "dev": true, "license": "MIT", "engines": { @@ -7124,6 +8084,8 @@ }, "node_modules/@nomicfoundation/hardhat-chai-matchers": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-1.0.6.tgz", + "integrity": "sha512-f5ZMNmabZeZegEfuxn/0kW+mm7+yV7VNDxLpMOMGXWFJ2l/Ct3QShujzDRF9cOkK9Ui/hbDeOWGZqyQALDXVCQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7142,6 +8104,8 @@ }, "node_modules/@nomicfoundation/hardhat-network-helpers": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.1.0.tgz", + "integrity": "sha512-ZS+NulZuR99NUHt2VwcgZvgeD6Y63qrbORNRuKO+lTowJxNVsrJ0zbRx1j5De6G3dOno5pVGvuYSq2QVG0qCYg==", "dev": true, "license": "MIT", "peer": true, @@ -7154,6 +8118,8 @@ }, "node_modules/@nomicfoundation/hardhat-toolbox": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-2.0.2.tgz", + "integrity": "sha512-vnN1AzxbvpSx9pfdRHbUzTRIXpMLPXnUlkW855VaDk6N1pwRaQ2gNzEmFAABk4lWf11E00PKwFd/q27HuwYrYg==", "dev": true, "license": "MIT", "peerDependencies": { @@ -7180,6 +8146,8 @@ }, "node_modules/@nomicfoundation/slang": { "version": "0.18.3", + "resolved": "https://registry.npmjs.org/@nomicfoundation/slang/-/slang-0.18.3.tgz", + "integrity": "sha512-YqAWgckqbHM0/CZxi9Nlf4hjk9wUNLC9ngWCWBiqMxPIZmzsVKYuChdlrfeBPQyvQQBoOhbx+7C1005kLVQDZQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7188,6 +8156,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz", + "integrity": "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==", "dev": true, "license": "MIT", "engines": { @@ -7205,6 +8175,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz", + "integrity": "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==", "dev": true, "license": "MIT", "optional": true, @@ -7214,6 +8186,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz", + "integrity": "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==", "dev": true, "license": "MIT", "optional": true, @@ -7223,6 +8197,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz", + "integrity": "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==", "dev": true, "license": "MIT", "optional": true, @@ -7232,6 +8208,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz", + "integrity": "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==", "dev": true, "license": "MIT", "optional": true, @@ -7241,6 +8219,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz", + "integrity": "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==", "dev": true, "license": "MIT", "optional": true, @@ -7250,6 +8230,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz", + "integrity": "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==", "dev": true, "license": "MIT", "optional": true, @@ -7259,6 +8241,8 @@ }, "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz", + "integrity": "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==", "dev": true, "license": "MIT", "optional": true, @@ -7268,6 +8252,8 @@ }, "node_modules/@nomiclabs/hardhat-ethers": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.3.tgz", + "integrity": "sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg==", "dev": true, "license": "MIT", "peer": true, @@ -7278,6 +8264,9 @@ }, "node_modules/@nomiclabs/hardhat-etherscan": { "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.8.tgz", + "integrity": "sha512-v5F6IzQhrsjHh6kQz4uNrym49brK9K5bYCq2zQZ729RYRaifI9hHbtmK+KkIVevfhut7huQFEQ77JLRMAzWYjQ==", + "deprecated": "The @nomiclabs/hardhat-etherscan package is deprecated, please use @nomicfoundation/hardhat-verify instead", "dev": true, "license": "MIT", "peer": true, @@ -7299,6 +8288,8 @@ }, "node_modules/@nomiclabs/hardhat-etherscan/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "license": "MIT", "peer": true, @@ -7313,6 +8304,8 @@ }, "node_modules/@nomiclabs/hardhat-etherscan/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "license": "MIT", "peer": true, @@ -7322,6 +8315,8 @@ }, "node_modules/@nomiclabs/hardhat-etherscan/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "license": "MIT", "peer": true, @@ -7329,17 +8324,10 @@ "node": ">=4" } }, - "node_modules/@nomiclabs/hardhat-etherscan/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@nomiclabs/hardhat-etherscan/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "license": "MIT", "peer": true, @@ -7352,6 +8340,8 @@ }, "node_modules/@notabene/pii-sdk": { "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@notabene/pii-sdk/-/pii-sdk-1.17.1.tgz", + "integrity": "sha512-lCDPl58SQBAEihDIHtkghVH7fNOtdngDM9DJrDW+odEKAnB0+o6r5V+AeiNYIfRwkn8nXiCW7i3SsNMmLlj5Zw==", "license": "MIT", "dependencies": { "@ethersproject/bytes": "5.7.0", @@ -7378,6 +8368,8 @@ }, "node_modules/@notabene/pii-sdk/node_modules/@ethersproject/bytes": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", "funding": [ { "type": "individual", @@ -7395,6 +8387,8 @@ }, "node_modules/@notabene/pii-sdk/node_modules/@noble/ciphers": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.4.1.tgz", + "integrity": "sha512-QCOA9cgf3Rc33owG0AYBB9wszz+Ul2kramWN8tXG44Gyciud/tbkEqvxRF/IpqQaBpRBNi9f4jdNxqB2CQCIXg==", "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" @@ -7402,10 +8396,14 @@ }, "node_modules/@notabene/pii-sdk/node_modules/base-x": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-4.0.1.tgz", + "integrity": "sha512-uAZ8x6r6S3aUM9rbHGVOIsR15U/ZSc82b3ymnCPsT45Gk1DDvhDPdIgB5MrhirZWt+5K0EEPQH985kNqZgNPFw==", "license": "MIT" }, "node_modules/@notabene/pii-sdk/node_modules/bs58": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-5.0.0.tgz", + "integrity": "sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==", "license": "MIT", "dependencies": { "base-x": "^4.0.0" @@ -7413,6 +8411,8 @@ }, "node_modules/@notabene/pii-sdk/node_modules/did-jwt": { "version": "7.4.7", + "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-7.4.7.tgz", + "integrity": "sha512-Apz7nIfIHSKWIMaEP5L/K8xkwByvjezjTG0xiqwKdnNj1x8M0+Yasury5Dm/KPltxi2PlGfRPf3IejRKZrT8mQ==", "license": "Apache-2.0", "dependencies": { "@noble/ciphers": "^0.4.0", @@ -7428,10 +8428,14 @@ }, "node_modules/@notabene/pii-sdk/node_modules/multiformats": { "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", "license": "(Apache-2.0 AND MIT)" }, "node_modules/@notabene/pii-sdk/node_modules/node-fetch": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "license": "MIT", "dependencies": { "data-uri-to-buffer": "^4.0.0", @@ -7448,16 +8452,23 @@ }, "node_modules/@openzeppelin/contracts": { "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.9.6.tgz", + "integrity": "sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA==", "dev": true, "license": "MIT" }, "node_modules/@openzeppelin/contracts-upgradeable": { "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.9.6.tgz", + "integrity": "sha512-m4iHazOsOCv1DgM7eD7GupTJ+NFVujRZt1wzddDPSVGpWdKq1SKkla5htKG7+IS4d2XOCtzkUNwRZ7Vq5aEUMA==", "dev": true, "license": "MIT" }, "node_modules/@openzeppelin/defender-base-client": { "version": "1.54.6", + "resolved": "https://registry.npmjs.org/@openzeppelin/defender-base-client/-/defender-base-client-1.54.6.tgz", + "integrity": "sha512-PTef+rMxkM5VQ7sLwLKSjp2DBakYQd661ZJiSRywx+q/nIpm3B/HYGcz5wPZCA5O/QcEP6TatXXDoeMwimbcnw==", + "deprecated": "This package has been deprecated and will no longer be maintained, please use @openzeppelin/defender-sdk package instead.", "dev": true, "license": "MIT", "dependencies": { @@ -7470,6 +8481,8 @@ }, "node_modules/@openzeppelin/hardhat-upgrades": { "version": "1.28.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-1.28.0.tgz", + "integrity": "sha512-7sb/Jf+X+uIufOBnmHR0FJVWuxEs2lpxjJnLNN6eCJCP8nD0v+Ot5lTOW2Qb/GFnh+fLvJtEkhkowz4ZQ57+zQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7497,6 +8510,8 @@ }, "node_modules/@openzeppelin/hardhat-upgrades/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -7511,6 +8526,8 @@ }, "node_modules/@openzeppelin/hardhat-upgrades/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -7526,6 +8543,8 @@ }, "node_modules/@openzeppelin/hardhat-upgrades/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7537,11 +8556,16 @@ }, "node_modules/@openzeppelin/hardhat-upgrades/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/@openzeppelin/platform-deploy-client": { "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@openzeppelin/platform-deploy-client/-/platform-deploy-client-0.8.0.tgz", + "integrity": "sha512-POx3AsnKwKSV/ZLOU/gheksj0Lq7Is1q2F3pKmcFjGZiibf+4kjGxr4eSMrT+2qgKYZQH1ZLQZ+SkbguD8fTvA==", + "deprecated": "@openzeppelin/platform-deploy-client is deprecated. Please use @openzeppelin/defender-sdk-deploy-client", "dev": true, "license": "MIT", "dependencies": { @@ -7554,6 +8578,8 @@ }, "node_modules/@openzeppelin/platform-deploy-client/node_modules/axios": { "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "dev": true, "license": "MIT", "dependencies": { @@ -7562,6 +8588,8 @@ }, "node_modules/@openzeppelin/upgrades-core": { "version": "1.44.1", + "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades-core/-/upgrades-core-1.44.1.tgz", + "integrity": "sha512-yqvDj7eC7m5kCDgqCxVFgk9sVo9SXP/fQFaExPousNfAJJbX+20l4fKZp17aXbNTpo1g+2205s6cR9VhFFOCaQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7583,6 +8611,8 @@ }, "node_modules/@openzeppelin/upgrades-core/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -7596,7 +8626,9 @@ } }, "node_modules/@openzeppelin/upgrades-core/node_modules/cbor": { - "version": "10.0.9", + "version": "10.0.10", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-10.0.10.tgz", + "integrity": "sha512-EirvzAg0G4okCsdTfTjLWHU+tToQ2V2ptO3577Vyy2GOTeVJad99uCIuDqdK7ppFRRcEuigyJY6TJ59wv5JpSg==", "dev": true, "license": "MIT", "dependencies": { @@ -7608,6 +8640,8 @@ }, "node_modules/@openzeppelin/upgrades-core/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -7623,6 +8657,8 @@ }, "node_modules/@openzeppelin/upgrades-core/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7634,11 +8670,15 @@ }, "node_modules/@openzeppelin/upgrades-core/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/@phosphor-icons/react": { "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@phosphor-icons/react/-/react-2.0.9.tgz", + "integrity": "sha512-/dtQ0M9MXAr35wy8zPlwF684EvYRvGWZPAv+Bd0BR4vzIhjzfLBdHSovFxSP1rj3UOHvVR08qgRL04Kv90oqHA==", "license": "MIT", "engines": { "node": ">=10" @@ -7650,6 +8690,8 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "license": "MIT", "optional": true, "engines": { @@ -7658,6 +8700,8 @@ }, "node_modules/@pkgr/core": { "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", + "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", "dev": true, "license": "MIT", "engines": { @@ -7669,6 +8713,8 @@ }, "node_modules/@pnpm/config.env-replace": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", "dev": true, "license": "MIT", "engines": { @@ -7677,6 +8723,8 @@ }, "node_modules/@pnpm/network.ca-file": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", "dev": true, "license": "MIT", "dependencies": { @@ -7688,11 +8736,15 @@ }, "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true, "license": "ISC" }, "node_modules/@pnpm/npm-conf": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz", + "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==", "dev": true, "license": "MIT", "dependencies": { @@ -7706,6 +8758,8 @@ }, "node_modules/@popperjs/core": { "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "license": "MIT", "funding": { "type": "opencollective", @@ -7714,6 +8768,8 @@ }, "node_modules/@prettier/sync": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@prettier/sync/-/sync-0.3.0.tgz", + "integrity": "sha512-3dcmCyAxIcxy036h1I7MQU/uEEBq8oLwf1CE3xeze+MPlgkdlb/+w6rGR/1dhp6Hqi17fRS6nvwnOzkESxEkOw==", "dev": true, "license": "MIT", "funding": { @@ -7725,22 +8781,32 @@ }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/base64": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/codegen": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/eventemitter": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/fetch": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "license": "BSD-3-Clause", "dependencies": { "@protobufjs/aspromise": "^1.1.1", @@ -7749,26 +8815,38 @@ }, "node_modules/@protobufjs/float": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/inquire": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/path": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/pool": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", "license": "BSD-3-Clause" }, "node_modules/@protobufjs/utf8": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", "license": "BSD-3-Clause" }, "node_modules/@react-native/assets-registry": { - "version": "0.80.1", + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.80.2.tgz", + "integrity": "sha512-+sI2zIM22amhkZqW+RpD3qDoopeRiezrTtZMP+Y3HI+6/2JbEq7DdyV/2YS1lrSSdyy3STW2V37Lt4dKqP0lEQ==", "license": "MIT", "peer": true, "engines": { @@ -7776,7 +8854,9 @@ } }, "node_modules/@react-native/codegen": { - "version": "0.80.1", + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.80.2.tgz", + "integrity": "sha512-eYad9ex9/RS6oFbbpu6LxsczktbhfJbJlTvtRlcWLJjJbFTeNr5Q7CgBT2/m5VtpxnJ/0YdmZ9vdazsJ2yp9kw==", "license": "MIT", "peer": true, "dependencies": { @@ -7795,6 +8875,8 @@ }, "node_modules/@react-native/codegen/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "license": "MIT", "peer": true, "dependencies": { @@ -7804,6 +8886,9 @@ }, "node_modules/@react-native/codegen/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "license": "ISC", "peer": true, "dependencies": { @@ -7823,6 +8908,8 @@ }, "node_modules/@react-native/codegen/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "license": "ISC", "peer": true, "dependencies": { @@ -7833,11 +8920,13 @@ } }, "node_modules/@react-native/community-cli-plugin": { - "version": "0.80.1", + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.80.2.tgz", + "integrity": "sha512-UBjsE+lv1YtThs56mgFaUdWv0jNE1oO58Lkbf3dn47F0e7YiTubIcvP6AnlaMhZF2Pmt9ky8J1jTpgItO9tGeg==", "license": "MIT", "peer": true, "dependencies": { - "@react-native/dev-middleware": "0.80.1", + "@react-native/dev-middleware": "0.80.2", "chalk": "^4.0.0", "debug": "^4.4.0", "invariant": "^2.2.4", @@ -7860,6 +8949,8 @@ }, "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "peer": true, "dependencies": { @@ -7874,6 +8965,8 @@ }, "node_modules/@react-native/community-cli-plugin/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "peer": true, "dependencies": { @@ -7889,6 +8982,8 @@ }, "node_modules/@react-native/community-cli-plugin/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "peer": true, "dependencies": { @@ -7900,11 +8995,28 @@ }, "node_modules/@react-native/community-cli-plugin/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT", "peer": true }, + "node_modules/@react-native/community-cli-plugin/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@react-native/debugger-frontend": { - "version": "0.80.1", + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.80.2.tgz", + "integrity": "sha512-n3D88bqNk0bY+YjNxbM6giqva06xj+rgEfu91Pg+nJ0szSL2eLl7ULERJqI3hxFt0XGuTpTOxZgw/Po5maXa4g==", "license": "BSD-3-Clause", "peer": true, "engines": { @@ -7912,12 +9024,14 @@ } }, "node_modules/@react-native/dev-middleware": { - "version": "0.80.1", + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.80.2.tgz", + "integrity": "sha512-8OeBEZNiApdbZaqTrrzeyFwXn/JwgJox7jdtjVAH56DggTVJXdbnyUjQ4ts6XAacEQgpFOAskoO730eyafOkAA==", "license": "MIT", "peer": true, "dependencies": { "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.80.1", + "@react-native/debugger-frontend": "0.80.2", "chrome-launcher": "^0.15.2", "chromium-edge-launcher": "^0.2.0", "connect": "^3.6.5", @@ -7934,6 +9048,8 @@ }, "node_modules/@react-native/dev-middleware/node_modules/ws": { "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", "license": "MIT", "peer": true, "dependencies": { @@ -7941,7 +9057,9 @@ } }, "node_modules/@react-native/gradle-plugin": { - "version": "0.80.1", + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.80.2.tgz", + "integrity": "sha512-C5/FYbIfCXPFjF/hIcWFKC9rEadDDhPMbxE7tarGR9tmYKyb9o7fYvfNe8fFgbCRKelMHP0ShATz3T73pHHDfA==", "license": "MIT", "peer": true, "engines": { @@ -7949,7 +9067,9 @@ } }, "node_modules/@react-native/js-polyfills": { - "version": "0.80.1", + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.80.2.tgz", + "integrity": "sha512-f63M3paxHK92p6L9o+AY7hV/YojCZAhb+fdDpSfOtDtCngWbBhd6foJrO6IybzDFERxlwErupUg3pqr5w3KJWw==", "license": "MIT", "peer": true, "engines": { @@ -7957,34 +9077,16 @@ } }, "node_modules/@react-native/normalize-colors": { - "version": "0.80.1", + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.80.2.tgz", + "integrity": "sha512-08Ax7554Z31NXi5SQ6h1GsiSrlZEOYHQNSC7u+x91Tdiq87IXldW8Ib1N3ThXoDcD8bjr+I+MdlabEJw36/fFg==", "license": "MIT", "peer": true }, - "node_modules/@react-native/virtualized-lists": { - "version": "0.80.1", - "license": "MIT", - "peer": true, - "dependencies": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/react": "^19.0.0", - "react": "*", - "react-native": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@remix-run/router": { "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", + "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", "license": "MIT", "engines": { "node": ">=14.0.0" @@ -7992,11 +9094,15 @@ }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", "dev": true, "license": "MIT" }, "node_modules/@rollup/plugin-commonjs": { "version": "28.0.6", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-28.0.6.tgz", + "integrity": "sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==", "dev": true, "license": "MIT", "dependencies": { @@ -8020,45 +9126,10 @@ } } }, - "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/plugin-commonjs/node_modules/fdir": { - "version": "6.4.6", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { - "version": "0.30.17", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/picomatch": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@rollup/pluginutils": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", + "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==", "dev": true, "license": "MIT", "dependencies": { @@ -8078,29 +9149,17 @@ } } }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@rtsao/scc": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", "dev": true, "license": "MIT" }, "node_modules/@scure/base": { "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz", + "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==", "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" @@ -8108,6 +9167,8 @@ }, "node_modules/@scure/bip32": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", + "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", "license": "MIT", "dependencies": { "@noble/curves": "~1.4.0", @@ -8120,6 +9181,8 @@ }, "node_modules/@scure/bip32/node_modules/@noble/curves": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", "license": "MIT", "dependencies": { "@noble/hashes": "1.4.0" @@ -8130,6 +9193,8 @@ }, "node_modules/@scure/bip32/node_modules/@noble/hashes": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "license": "MIT", "engines": { "node": ">= 16" @@ -8140,6 +9205,8 @@ }, "node_modules/@scure/bip32/node_modules/@scure/base": { "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" @@ -8147,6 +9214,8 @@ }, "node_modules/@scure/bip39": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", + "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", "license": "MIT", "dependencies": { "@noble/hashes": "~1.4.0", @@ -8158,6 +9227,8 @@ }, "node_modules/@scure/bip39/node_modules/@noble/hashes": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "license": "MIT", "engines": { "node": ">= 16" @@ -8168,6 +9239,8 @@ }, "node_modules/@scure/bip39/node_modules/@scure/base": { "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" @@ -8175,6 +9248,8 @@ }, "node_modules/@sentry/core": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", + "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -8190,11 +9265,15 @@ }, "node_modules/@sentry/core/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true, "license": "0BSD" }, "node_modules/@sentry/hub": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", + "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -8208,11 +9287,15 @@ }, "node_modules/@sentry/hub/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true, "license": "0BSD" }, "node_modules/@sentry/minimal": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", + "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -8226,11 +9309,15 @@ }, "node_modules/@sentry/minimal/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true, "license": "0BSD" }, "node_modules/@sentry/node": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", + "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -8250,11 +9337,15 @@ }, "node_modules/@sentry/node/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true, "license": "0BSD" }, "node_modules/@sentry/tracing": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", + "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", "dev": true, "license": "MIT", "dependencies": { @@ -8270,11 +9361,15 @@ }, "node_modules/@sentry/tracing/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true, "license": "0BSD" }, "node_modules/@sentry/types": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", + "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -8283,6 +9378,8 @@ }, "node_modules/@sentry/utils": { "version": "5.30.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", + "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -8295,15 +9392,21 @@ }, "node_modules/@sentry/utils/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true, "license": "0BSD" }, "node_modules/@sinclair/typebox": { "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "license": "MIT" }, "node_modules/@sindresorhus/is": { "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", "dev": true, "license": "MIT", "engines": { @@ -8315,6 +9418,8 @@ }, "node_modules/@sinonjs/commons": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" @@ -8322,6 +9427,8 @@ }, "node_modules/@sinonjs/commons/node_modules/type-detect": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "license": "MIT", "engines": { "node": ">=4" @@ -8329,16 +9436,20 @@ }, "node_modules/@sinonjs/fake-timers": { "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } }, "node_modules/@smithy/abort-controller": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.5.tgz", + "integrity": "sha512-jcrqdTQurIrBbUm4W2YdLVMQDoL0sA9DTxYd2s+R/y+2U9NLOP7Xf/YqfSg1FZhlZIYEnvk2mwbyvIfdLEPo8g==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8346,13 +9457,15 @@ } }, "node_modules/@smithy/config-resolver": { - "version": "4.1.4", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.5.tgz", + "integrity": "sha512-viuHMxBAqydkB0AfWwHIdwf/PRH2z5KHGUzqyRtS/Wv+n3IHI993Sk76VCA7dD/+GzgGOmlJDITfPcJC1nIVIw==", "license": "Apache-2.0", "dependencies": { - "@smithy/node-config-provider": "^4.1.3", - "@smithy/types": "^4.3.1", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/types": "^4.3.2", "@smithy/util-config-provider": "^4.0.0", - "@smithy/util-middleware": "^4.0.4", + "@smithy/util-middleware": "^4.0.5", "tslib": "^2.6.2" }, "engines": { @@ -8360,31 +9473,37 @@ } }, "node_modules/@smithy/core": { - "version": "3.7.0", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.8.0.tgz", + "integrity": "sha512-EYqsIYJmkR1VhVE9pccnk353xhs+lB6btdutJEtsp7R055haMJp2yE16eSxw8fv+G0WUY6vqxyYOP8kOqawxYQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/middleware-serde": "^4.0.8", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", + "@smithy/middleware-serde": "^4.0.9", + "@smithy/protocol-http": "^5.1.3", + "@smithy/types": "^4.3.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-body-length-browser": "^4.0.0", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-stream": "^4.2.3", + "@smithy/util-middleware": "^4.0.5", + "@smithy/util-stream": "^4.2.4", "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" + "@types/uuid": "^9.0.1", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "engines": { "node": ">=18.0.0" } }, "node_modules/@smithy/credential-provider-imds": { - "version": "4.0.6", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.7.tgz", + "integrity": "sha512-dDzrMXA8d8riFNiPvytxn0mNwR4B3h8lgrQ5UjAGu6T9z/kRg/Xncf4tEQHE/+t25sY8IH3CowcmWi+1U5B1Gw==", "license": "Apache-2.0", "dependencies": { - "@smithy/node-config-provider": "^4.1.3", - "@smithy/property-provider": "^4.0.4", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/property-provider": "^4.0.5", + "@smithy/types": "^4.3.2", + "@smithy/url-parser": "^4.0.5", "tslib": "^2.6.2" }, "engines": { @@ -8392,12 +9511,14 @@ } }, "node_modules/@smithy/fetch-http-handler": { - "version": "5.1.0", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.1.1.tgz", + "integrity": "sha512-61WjM0PWmZJR+SnmzaKI7t7G0UkkNFboDpzIdzSoy7TByUzlxo18Qlh9s71qug4AY4hlH/CwXdubMtkcNEb/sQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/protocol-http": "^5.1.2", - "@smithy/querystring-builder": "^4.0.4", - "@smithy/types": "^4.3.1", + "@smithy/protocol-http": "^5.1.3", + "@smithy/querystring-builder": "^4.0.5", + "@smithy/types": "^4.3.2", "@smithy/util-base64": "^4.0.0", "tslib": "^2.6.2" }, @@ -8406,10 +9527,12 @@ } }, "node_modules/@smithy/hash-node": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.5.tgz", + "integrity": "sha512-cv1HHkKhpyRb6ahD8Vcfb2Hgz67vNIXEp2vnhzfxLFGRukLCNEA5QdsorbUEzXma1Rco0u3rx5VTqbM06GcZqQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "@smithy/util-buffer-from": "^4.0.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" @@ -8419,10 +9542,12 @@ } }, "node_modules/@smithy/invalid-dependency": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.5.tgz", + "integrity": "sha512-IVnb78Qtf7EJpoEVo7qJ8BEXQwgC4n3igeJNNKEj/MLYtapnx8A67Zt/J3RXAj2xSO1910zk0LdFiygSemuLow==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8431,6 +9556,8 @@ }, "node_modules/@smithy/is-array-buffer": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz", + "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -8440,11 +9567,13 @@ } }, "node_modules/@smithy/middleware-content-length": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.5.tgz", + "integrity": "sha512-l1jlNZoYzoCC7p0zCtBDE5OBXZ95yMKlRlftooE5jPWQn4YBPLgsp+oeHp7iMHaTGoUdFqmHOPa8c9G3gBsRpQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", + "@smithy/protocol-http": "^5.1.3", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8452,16 +9581,18 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "4.1.15", + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.18.tgz", + "integrity": "sha512-ZhvqcVRPZxnZlokcPaTwb+r+h4yOIOCJmx0v2d1bpVlmP465g3qpVSf7wxcq5zZdu4jb0H4yIMxuPwDJSQc3MQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/core": "^3.7.0", - "@smithy/middleware-serde": "^4.0.8", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", - "@smithy/url-parser": "^4.0.4", - "@smithy/util-middleware": "^4.0.4", + "@smithy/core": "^3.8.0", + "@smithy/middleware-serde": "^4.0.9", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/shared-ini-file-loader": "^4.0.5", + "@smithy/types": "^4.3.2", + "@smithy/url-parser": "^4.0.5", + "@smithy/util-middleware": "^4.0.5", "tslib": "^2.6.2" }, "engines": { @@ -8469,16 +9600,19 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "4.1.16", + "version": "4.1.19", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.19.tgz", + "integrity": "sha512-X58zx/NVECjeuUB6A8HBu4bhx72EoUz+T5jTMIyeNKx2lf+Gs9TmWPNNkH+5QF0COjpInP/xSpJGJ7xEnAklQQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/node-config-provider": "^4.1.3", - "@smithy/protocol-http": "^5.1.2", - "@smithy/service-error-classification": "^4.0.6", - "@smithy/smithy-client": "^4.4.7", - "@smithy/types": "^4.3.1", - "@smithy/util-middleware": "^4.0.4", - "@smithy/util-retry": "^4.0.6", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/protocol-http": "^5.1.3", + "@smithy/service-error-classification": "^4.0.7", + "@smithy/smithy-client": "^4.4.10", + "@smithy/types": "^4.3.2", + "@smithy/util-middleware": "^4.0.5", + "@smithy/util-retry": "^4.0.7", + "@types/uuid": "^9.0.1", "tslib": "^2.6.2", "uuid": "^9.0.1" }, @@ -8487,11 +9621,13 @@ } }, "node_modules/@smithy/middleware-serde": { - "version": "4.0.8", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.9.tgz", + "integrity": "sha512-uAFFR4dpeoJPGz8x9mhxp+RPjo5wW0QEEIPPPbLXiRRWeCATf/Km3gKIVR5vaP8bN1kgsPhcEeh+IZvUlBv6Xg==", "license": "Apache-2.0", "dependencies": { - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", + "@smithy/protocol-http": "^5.1.3", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8499,10 +9635,12 @@ } }, "node_modules/@smithy/middleware-stack": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.5.tgz", + "integrity": "sha512-/yoHDXZPh3ocRVyeWQFvC44u8seu3eYzZRveCMfgMOBcNKnAmOvjbL9+Cp5XKSIi9iYA9PECUuW2teDAk8T+OQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8510,12 +9648,14 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "4.1.3", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.4.tgz", + "integrity": "sha512-+UDQV/k42jLEPPHSn39l0Bmc4sB1xtdI9Gd47fzo/0PbXzJ7ylgaOByVjF5EeQIumkepnrJyfx86dPa9p47Y+w==", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^4.0.4", - "@smithy/shared-ini-file-loader": "^4.0.4", - "@smithy/types": "^4.3.1", + "@smithy/property-provider": "^4.0.5", + "@smithy/shared-ini-file-loader": "^4.0.5", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8523,13 +9663,15 @@ } }, "node_modules/@smithy/node-http-handler": { - "version": "4.1.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.1.1.tgz", + "integrity": "sha512-RHnlHqFpoVdjSPPiYy/t40Zovf3BBHc2oemgD7VsVTFFZrU5erFFe0n52OANZZ/5sbshgD93sOh5r6I35Xmpaw==", "license": "Apache-2.0", "dependencies": { - "@smithy/abort-controller": "^4.0.4", - "@smithy/protocol-http": "^5.1.2", - "@smithy/querystring-builder": "^4.0.4", - "@smithy/types": "^4.3.1", + "@smithy/abort-controller": "^4.0.5", + "@smithy/protocol-http": "^5.1.3", + "@smithy/querystring-builder": "^4.0.5", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8537,10 +9679,12 @@ } }, "node_modules/@smithy/property-provider": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.5.tgz", + "integrity": "sha512-R/bswf59T/n9ZgfgUICAZoWYKBHcsVDurAGX88zsiUtOTA/xUAPyiT+qkNCPwFn43pZqN84M4MiUsbSGQmgFIQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8548,10 +9692,12 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "5.1.2", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.3.tgz", + "integrity": "sha512-fCJd2ZR7D22XhDY0l+92pUag/7je2BztPRQ01gU5bMChcyI0rlly7QFibnYHzcxDvccMjlpM/Q1ev8ceRIb48w==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8559,10 +9705,12 @@ } }, "node_modules/@smithy/querystring-builder": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.5.tgz", + "integrity": "sha512-NJeSCU57piZ56c+/wY+AbAw6rxCCAOZLCIniRE7wqvndqxcKKDOXzwWjrY7wGKEISfhL9gBbAaWWgHsUGedk+A==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "@smithy/util-uri-escape": "^4.0.0", "tslib": "^2.6.2" }, @@ -8571,10 +9719,12 @@ } }, "node_modules/@smithy/querystring-parser": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.5.tgz", + "integrity": "sha512-6SV7md2CzNG/WUeTjVe6Dj8noH32r4MnUeFKZrnVYsQxpGSIcphAanQMayi8jJLZAWm6pdM9ZXvKCpWOsIGg0w==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8582,20 +9732,24 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "4.0.6", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.7.tgz", + "integrity": "sha512-XvRHOipqpwNhEjDf2L5gJowZEm5nsxC16pAZOeEcsygdjv9A2jdOh3YoDQvOXBGTsaJk6mNWtzWalOB9976Wlg==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1" + "@smithy/types": "^4.3.2" }, "engines": { "node": ">=18.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.5.tgz", + "integrity": "sha512-YVVwehRDuehgoXdEL4r1tAAzdaDgaC9EQvhK0lEbfnbrd0bd5+CTQumbdPryX3J2shT7ZqQE+jPW4lmNBAB8JQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8603,14 +9757,16 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "5.1.2", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.3.tgz", + "integrity": "sha512-mARDSXSEgllNzMw6N+mC+r1AQlEBO3meEAkR/UlfAgnMzJUB3goRBWgip1EAMG99wh36MDqzo86SfIX5Y+VEaw==", "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^4.0.0", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", + "@smithy/protocol-http": "^5.1.3", + "@smithy/types": "^4.3.2", "@smithy/util-hex-encoding": "^4.0.0", - "@smithy/util-middleware": "^4.0.4", + "@smithy/util-middleware": "^4.0.5", "@smithy/util-uri-escape": "^4.0.0", "@smithy/util-utf8": "^4.0.0", "tslib": "^2.6.2" @@ -8620,15 +9776,17 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "4.4.7", + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.10.tgz", + "integrity": "sha512-iW6HjXqN0oPtRS0NK/zzZ4zZeGESIFcxj2FkWed3mcK8jdSdHzvnCKXSjvewESKAgGKAbJRA+OsaqKhkdYRbQQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/core": "^3.7.0", - "@smithy/middleware-endpoint": "^4.1.15", - "@smithy/middleware-stack": "^4.0.4", - "@smithy/protocol-http": "^5.1.2", - "@smithy/types": "^4.3.1", - "@smithy/util-stream": "^4.2.3", + "@smithy/core": "^3.8.0", + "@smithy/middleware-endpoint": "^4.1.18", + "@smithy/middleware-stack": "^4.0.5", + "@smithy/protocol-http": "^5.1.3", + "@smithy/types": "^4.3.2", + "@smithy/util-stream": "^4.2.4", "tslib": "^2.6.2" }, "engines": { @@ -8636,7 +9794,9 @@ } }, "node_modules/@smithy/types": { - "version": "4.3.1", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.2.tgz", + "integrity": "sha512-QO4zghLxiQ5W9UZmX2Lo0nta2PuE1sSrXUYDoaB6HMR762C0P7v/HEPHf6ZdglTVssJG1bsrSBxdc3quvDSihw==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -8646,11 +9806,13 @@ } }, "node_modules/@smithy/url-parser": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.5.tgz", + "integrity": "sha512-j+733Um7f1/DXjYhCbvNXABV53NyCRRA54C7bNEIxNPs0YjfRxeMKjjgm2jvTYrciZyCjsicHwQ6Q0ylo+NAUw==", "license": "Apache-2.0", "dependencies": { - "@smithy/querystring-parser": "^4.0.4", - "@smithy/types": "^4.3.1", + "@smithy/querystring-parser": "^4.0.5", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8659,6 +9821,8 @@ }, "node_modules/@smithy/util-base64": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz", + "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==", "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^4.0.0", @@ -8671,6 +9835,8 @@ }, "node_modules/@smithy/util-body-length-browser": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz", + "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -8681,6 +9847,8 @@ }, "node_modules/@smithy/util-body-length-node": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz", + "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -8691,6 +9859,8 @@ }, "node_modules/@smithy/util-buffer-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz", + "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==", "license": "Apache-2.0", "dependencies": { "@smithy/is-array-buffer": "^4.0.0", @@ -8702,6 +9872,8 @@ }, "node_modules/@smithy/util-config-provider": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz", + "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -8711,12 +9883,14 @@ } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "4.0.23", + "version": "4.0.26", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.26.tgz", + "integrity": "sha512-xgl75aHIS/3rrGp7iTxQAOELYeyiwBu+eEgAk4xfKwJJ0L8VUjhO2shsDpeil54BOFsqmk5xfdesiewbUY5tKQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/property-provider": "^4.0.4", - "@smithy/smithy-client": "^4.4.7", - "@smithy/types": "^4.3.1", + "@smithy/property-provider": "^4.0.5", + "@smithy/smithy-client": "^4.4.10", + "@smithy/types": "^4.3.2", "bowser": "^2.11.0", "tslib": "^2.6.2" }, @@ -8725,15 +9899,17 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "4.0.23", + "version": "4.0.26", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.26.tgz", + "integrity": "sha512-z81yyIkGiLLYVDetKTUeCZQ8x20EEzvQjrqJtb/mXnevLq2+w3XCEWTJ2pMp401b6BkEkHVfXb/cROBpVauLMQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/config-resolver": "^4.1.4", - "@smithy/credential-provider-imds": "^4.0.6", - "@smithy/node-config-provider": "^4.1.3", - "@smithy/property-provider": "^4.0.4", - "@smithy/smithy-client": "^4.4.7", - "@smithy/types": "^4.3.1", + "@smithy/config-resolver": "^4.1.5", + "@smithy/credential-provider-imds": "^4.0.7", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/property-provider": "^4.0.5", + "@smithy/smithy-client": "^4.4.10", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8741,11 +9917,13 @@ } }, "node_modules/@smithy/util-endpoints": { - "version": "3.0.6", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.7.tgz", + "integrity": "sha512-klGBP+RpBp6V5JbrY2C/VKnHXn3d5V2YrifZbmMY8os7M6m8wdYFoO6w/fe5VkP+YVwrEktW3IWYaSQVNZJ8oQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/node-config-provider": "^4.1.3", - "@smithy/types": "^4.3.1", + "@smithy/node-config-provider": "^4.1.4", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8754,6 +9932,8 @@ }, "node_modules/@smithy/util-hex-encoding": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz", + "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -8763,10 +9943,12 @@ } }, "node_modules/@smithy/util-middleware": { - "version": "4.0.4", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.5.tgz", + "integrity": "sha512-N40PfqsZHRSsByGB81HhSo+uvMxEHT+9e255S53pfBw/wI6WKDI7Jw9oyu5tJTLwZzV5DsMha3ji8jk9dsHmQQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/types": "^4.3.1", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8774,11 +9956,13 @@ } }, "node_modules/@smithy/util-retry": { - "version": "4.0.6", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.7.tgz", + "integrity": "sha512-TTO6rt0ppK70alZpkjwy+3nQlTiqNfoXja+qwuAchIEAIoSZW8Qyd76dvBv3I5bCpE38APafG23Y/u270NspiQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/service-error-classification": "^4.0.6", - "@smithy/types": "^4.3.1", + "@smithy/service-error-classification": "^4.0.7", + "@smithy/types": "^4.3.2", "tslib": "^2.6.2" }, "engines": { @@ -8786,12 +9970,14 @@ } }, "node_modules/@smithy/util-stream": { - "version": "4.2.3", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.4.tgz", + "integrity": "sha512-vSKnvNZX2BXzl0U2RgCLOwWaAP9x/ddd/XobPK02pCbzRm5s55M53uwb1rl/Ts7RXZvdJZerPkA+en2FDghLuQ==", "license": "Apache-2.0", "dependencies": { - "@smithy/fetch-http-handler": "^5.1.0", - "@smithy/node-http-handler": "^4.1.0", - "@smithy/types": "^4.3.1", + "@smithy/fetch-http-handler": "^5.1.1", + "@smithy/node-http-handler": "^4.1.1", + "@smithy/types": "^4.3.2", "@smithy/util-base64": "^4.0.0", "@smithy/util-buffer-from": "^4.0.0", "@smithy/util-hex-encoding": "^4.0.0", @@ -8804,6 +9990,8 @@ }, "node_modules/@smithy/util-uri-escape": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz", + "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.6.2" @@ -8814,6 +10002,8 @@ }, "node_modules/@smithy/util-utf8": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz", + "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==", "license": "Apache-2.0", "dependencies": { "@smithy/util-buffer-from": "^4.0.0", @@ -8825,6 +10015,8 @@ }, "node_modules/@solidity-parser/parser": { "version": "0.14.5", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.5.tgz", + "integrity": "sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==", "dev": true, "license": "MIT", "dependencies": { @@ -8833,10 +10025,14 @@ }, "node_modules/@stablelib/aead": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", + "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==", "license": "MIT" }, "node_modules/@stablelib/binary": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", "license": "MIT", "dependencies": { "@stablelib/int": "^1.0.1" @@ -8844,10 +10040,14 @@ }, "node_modules/@stablelib/bytes": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", + "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==", "license": "MIT" }, "node_modules/@stablelib/chacha": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", + "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", @@ -8856,6 +10056,8 @@ }, "node_modules/@stablelib/chacha20poly1305": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", + "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", "license": "MIT", "dependencies": { "@stablelib/aead": "^1.0.1", @@ -8868,10 +10070,14 @@ }, "node_modules/@stablelib/constant-time": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", + "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==", "license": "MIT" }, "node_modules/@stablelib/ed25519": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", + "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", "license": "MIT", "dependencies": { "@stablelib/random": "^1.0.2", @@ -8881,6 +10087,8 @@ }, "node_modules/@stablelib/ed25519/node_modules/@stablelib/random": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", @@ -8889,10 +10097,14 @@ }, "node_modules/@stablelib/hash": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", + "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==", "license": "MIT" }, "node_modules/@stablelib/hkdf": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", + "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", "license": "MIT", "dependencies": { "@stablelib/hash": "^1.0.1", @@ -8902,6 +10114,8 @@ }, "node_modules/@stablelib/hmac": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", + "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", "license": "MIT", "dependencies": { "@stablelib/constant-time": "^1.0.1", @@ -8911,10 +10125,14 @@ }, "node_modules/@stablelib/int": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==", "license": "MIT" }, "node_modules/@stablelib/keyagreement": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", + "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", "license": "MIT", "dependencies": { "@stablelib/bytes": "^1.0.1" @@ -8922,6 +10140,8 @@ }, "node_modules/@stablelib/poly1305": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", + "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", "license": "MIT", "dependencies": { "@stablelib/constant-time": "^1.0.1", @@ -8930,6 +10150,8 @@ }, "node_modules/@stablelib/random": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.0.tgz", + "integrity": "sha512-G9vwwKrNCGMI/uHL6XeWe2Nk4BuxkYyWZagGaDU9wrsuV+9hUwNI1lok2WVo8uJDa2zx7ahNwN7Ij983hOUFEw==", "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.0", @@ -8938,6 +10160,8 @@ }, "node_modules/@stablelib/sha256": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", + "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", @@ -8947,6 +10171,8 @@ }, "node_modules/@stablelib/sha512": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", + "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", @@ -8956,10 +10182,14 @@ }, "node_modules/@stablelib/wipe": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==", "license": "MIT" }, "node_modules/@stablelib/x25519": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", + "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", "license": "MIT", "dependencies": { "@stablelib/keyagreement": "^1.0.1", @@ -8969,6 +10199,8 @@ }, "node_modules/@stablelib/x25519/node_modules/@stablelib/random": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", @@ -8977,6 +10209,8 @@ }, "node_modules/@szmarczak/http-timer": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", "dev": true, "license": "MIT", "dependencies": { @@ -8988,14 +10222,45 @@ }, "node_modules/@tanstack/query-core": { "version": "4.40.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.40.0.tgz", + "integrity": "sha512-7MJTtZkCSuehMC7IxMOCGsLvHS3jHx4WjveSrGsG1Nc1UQLjaFwwkpLA2LmPfvOAxnH4mszMOBFD6LlZE+aB+Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "4.40.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.40.1.tgz", + "integrity": "sha512-mgD07S5N8e5v81CArKDWrHE4LM7HxZ9k/KLeD3+NUD9WimGZgKIqojUZf/rXkfAMYZU9p0Chzj2jOXm7xpgHHQ==", "license": "MIT", + "dependencies": { + "@tanstack/query-core": "4.40.0", + "use-sync-external-store": "^1.2.0" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } } }, "node_modules/@tanstack/react-table": { "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.21.3.tgz", + "integrity": "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww==", "license": "MIT", "dependencies": { "@tanstack/table-core": "8.21.3" @@ -9014,6 +10279,8 @@ }, "node_modules/@tanstack/table-core": { "version": "8.21.3", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz", + "integrity": "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==", "license": "MIT", "engines": { "node": ">=12" @@ -9025,6 +10292,8 @@ }, "node_modules/@terminal3/bbs_vc": { "version": "0.2.18", + "resolved": "https://registry.npmjs.org/@terminal3/bbs_vc/-/bbs_vc-0.2.18.tgz", + "integrity": "sha512-Jnm2EuWZYAcSnfqXuIRo3wEQp+mktT7CJACapJJHiQ9cewY1S5MoYv0R8vLk1x6M+wAs2JDXbCGQ9psCfkVBog==", "license": "MIT", "dependencies": { "@mattrglobal/bbs-signatures": "^1.3.1", @@ -9046,10 +10315,14 @@ }, "node_modules/@terminal3/bbs_vc/node_modules/@adraffy/ens-normalize": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", "license": "MIT" }, "node_modules/@terminal3/bbs_vc/node_modules/@terminal3/revoke_vc": { "version": "0.1.15", + "resolved": "https://registry.npmjs.org/@terminal3/revoke_vc/-/revoke_vc-0.1.15.tgz", + "integrity": "sha512-/Y4svhJcsRe/mMlZtPRtInpuctMxcSVsaLcpVnbC1KDksD4FiVWby/Cknb8LItFN+NgqjgJ5JFutFmEjrqA2Yg==", "license": "MIT", "dependencies": { "@noble/curves": "^1.4.2", @@ -9060,6 +10333,8 @@ }, "node_modules/@terminal3/bbs_vc/node_modules/@terminal3/vc_core": { "version": "0.0.19", + "resolved": "https://registry.npmjs.org/@terminal3/vc_core/-/vc_core-0.0.19.tgz", + "integrity": "sha512-65JJePRqftFq5nIsBU9/bsUUlMBKzTQU14Ml037g0QUnsrcHgSWLM/lma3YNv0qx03yWVSirEicLC9ZD4Bj+MQ==", "license": "MIT", "dependencies": { "did-jwt": "^8.0.4", @@ -9069,6 +10344,8 @@ }, "node_modules/@terminal3/bbs_vc/node_modules/@terminal3/verify_vc_core": { "version": "0.0.19", + "resolved": "https://registry.npmjs.org/@terminal3/verify_vc_core/-/verify_vc_core-0.0.19.tgz", + "integrity": "sha512-esUoQKSAzjOwL4Qyea0a7zYt8piuHRLmZd+3CjXlpbSDylpjWJBW6pxFvkR/UVUiXc9cXrdbrJwL0JbCGwMPWw==", "license": "MIT", "dependencies": { "@noble/curves": "^1.4.2", @@ -9080,6 +10357,8 @@ }, "node_modules/@terminal3/bbs_vc/node_modules/@types/node": { "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -9087,14 +10366,20 @@ }, "node_modules/@terminal3/bbs_vc/node_modules/@types/uuid": { "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", "license": "MIT" }, "node_modules/@terminal3/bbs_vc/node_modules/aes-js": { "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", "license": "MIT" }, "node_modules/@terminal3/bbs_vc/node_modules/cbor": { "version": "9.0.2", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-9.0.2.tgz", + "integrity": "sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ==", "license": "MIT", "dependencies": { "nofilter": "^3.1.0" @@ -9105,6 +10390,8 @@ }, "node_modules/@terminal3/bbs_vc/node_modules/ethers": { "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz", + "integrity": "sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==", "funding": [ { "type": "individual", @@ -9131,6 +10418,8 @@ }, "node_modules/@terminal3/bbs_vc/node_modules/ethers/node_modules/@noble/curves": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", "license": "MIT", "dependencies": { "@noble/hashes": "1.3.2" @@ -9141,6 +10430,8 @@ }, "node_modules/@terminal3/bbs_vc/node_modules/ethers/node_modules/@noble/hashes": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", "license": "MIT", "engines": { "node": ">= 16" @@ -9151,14 +10442,20 @@ }, "node_modules/@terminal3/bbs_vc/node_modules/tslib": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "license": "0BSD" }, "node_modules/@terminal3/bbs_vc/node_modules/undici-types": { "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "license": "MIT" }, "node_modules/@terminal3/bbs_vc/node_modules/uuid": { "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -9170,6 +10467,8 @@ }, "node_modules/@terminal3/bbs_vc/node_modules/ws": { "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -9189,6 +10488,8 @@ }, "node_modules/@terminal3/ecdsa_vc": { "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@terminal3/ecdsa_vc/-/ecdsa_vc-0.1.22.tgz", + "integrity": "sha512-fY0V3qPjYstmT1wwiQr/BjobDQ2jWWgny6PP354zxWlhGyZk32Ae5sI1dMUq8jALqyOMhqhNzcQ5KMWGRzuK0g==", "dev": true, "license": "MIT", "dependencies": { @@ -9201,11 +10502,15 @@ }, "node_modules/@terminal3/ecdsa_vc/node_modules/@adraffy/ens-normalize": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/ecdsa_vc/node_modules/@noble/curves": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", "dev": true, "license": "MIT", "dependencies": { @@ -9217,6 +10522,8 @@ }, "node_modules/@terminal3/ecdsa_vc/node_modules/@noble/hashes": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", "dev": true, "license": "MIT", "engines": { @@ -9228,6 +10535,8 @@ }, "node_modules/@terminal3/ecdsa_vc/node_modules/@types/node": { "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9236,11 +10545,15 @@ }, "node_modules/@terminal3/ecdsa_vc/node_modules/aes-js": { "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/ecdsa_vc/node_modules/ethers": { "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz", + "integrity": "sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==", "dev": true, "funding": [ { @@ -9268,16 +10581,22 @@ }, "node_modules/@terminal3/ecdsa_vc/node_modules/tslib": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "dev": true, "license": "0BSD" }, "node_modules/@terminal3/ecdsa_vc/node_modules/undici-types": { "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/ecdsa_vc/node_modules/ws": { "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "license": "MIT", "engines": { @@ -9298,6 +10617,8 @@ }, "node_modules/@terminal3/revoke_vc": { "version": "0.1.21", + "resolved": "https://registry.npmjs.org/@terminal3/revoke_vc/-/revoke_vc-0.1.21.tgz", + "integrity": "sha512-SU5UcS1WsD/D8scwwECoE0G8ULqpMP3gkyiFZhPb0TQm0VjsBG7kPzDq4/fR+Vk09iPllKHxCHLScPGLpbh3Rw==", "dev": true, "license": "MIT", "dependencies": { @@ -9309,11 +10630,15 @@ }, "node_modules/@terminal3/revoke_vc/node_modules/@adraffy/ens-normalize": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/revoke_vc/node_modules/@noble/hashes": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", "dev": true, "license": "MIT", "engines": { @@ -9325,6 +10650,8 @@ }, "node_modules/@terminal3/revoke_vc/node_modules/@types/node": { "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9333,11 +10660,15 @@ }, "node_modules/@terminal3/revoke_vc/node_modules/aes-js": { "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/revoke_vc/node_modules/ethers": { "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz", + "integrity": "sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==", "dev": true, "funding": [ { @@ -9365,6 +10696,8 @@ }, "node_modules/@terminal3/revoke_vc/node_modules/ethers/node_modules/@noble/curves": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", "dev": true, "license": "MIT", "dependencies": { @@ -9376,16 +10709,22 @@ }, "node_modules/@terminal3/revoke_vc/node_modules/tslib": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "dev": true, "license": "0BSD" }, "node_modules/@terminal3/revoke_vc/node_modules/undici-types": { "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/revoke_vc/node_modules/ws": { "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "license": "MIT", "engines": { @@ -9406,6 +10745,8 @@ }, "node_modules/@terminal3/vc_core": { "version": "0.0.25", + "resolved": "https://registry.npmjs.org/@terminal3/vc_core/-/vc_core-0.0.25.tgz", + "integrity": "sha512-P+1ns5xdRCVpFziDbHJwpN+eNsK+PvoFPvG78yIP46l2OF/8eM1Gypw74CEHO0X70XzhznGLcTTXVoMQDdPYIA==", "dev": true, "license": "MIT", "dependencies": { @@ -9416,11 +10757,15 @@ }, "node_modules/@terminal3/vc_core/node_modules/@adraffy/ens-normalize": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/vc_core/node_modules/@noble/curves": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", "dev": true, "license": "MIT", "dependencies": { @@ -9432,6 +10777,8 @@ }, "node_modules/@terminal3/vc_core/node_modules/@noble/hashes": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", "dev": true, "license": "MIT", "engines": { @@ -9443,6 +10790,8 @@ }, "node_modules/@terminal3/vc_core/node_modules/@types/node": { "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9451,11 +10800,15 @@ }, "node_modules/@terminal3/vc_core/node_modules/aes-js": { "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/vc_core/node_modules/ethers": { "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz", + "integrity": "sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==", "dev": true, "funding": [ { @@ -9483,16 +10836,22 @@ }, "node_modules/@terminal3/vc_core/node_modules/tslib": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "dev": true, "license": "0BSD" }, "node_modules/@terminal3/vc_core/node_modules/undici-types": { "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/vc_core/node_modules/uuid": { "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", "dev": true, "funding": [ "https://github.com/sponsors/broofa", @@ -9505,6 +10864,8 @@ }, "node_modules/@terminal3/vc_core/node_modules/ws": { "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "license": "MIT", "engines": { @@ -9525,6 +10886,8 @@ }, "node_modules/@terminal3/verify_vc": { "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@terminal3/verify_vc/-/verify_vc-0.0.20.tgz", + "integrity": "sha512-ATonhxSidEi0NQ0ogGLuu72LqZle4N5bDx0KOEzwU7WLGsU0bWyvlkLS39EWoHZkPjI7idm/renqBlKCS8jMnw==", "license": "MIT", "dependencies": { "@noble/curves": "^1.4.2", @@ -9537,6 +10900,8 @@ }, "node_modules/@terminal3/verify_vc_core": { "version": "0.0.25", + "resolved": "https://registry.npmjs.org/@terminal3/verify_vc_core/-/verify_vc_core-0.0.25.tgz", + "integrity": "sha512-nf41yezcX0fWlnerj9A+8iQRno8f3MKCMIHhcd9u0bxcSb1oL29YALUvVSYFtbMvzuu9WEX5yRf4BfbgE4a6sA==", "dev": true, "license": "MIT", "dependencies": { @@ -9549,11 +10914,15 @@ }, "node_modules/@terminal3/verify_vc_core/node_modules/@adraffy/ens-normalize": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/verify_vc_core/node_modules/@noble/hashes": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", "dev": true, "license": "MIT", "engines": { @@ -9565,6 +10934,8 @@ }, "node_modules/@terminal3/verify_vc_core/node_modules/@types/node": { "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9573,11 +10944,15 @@ }, "node_modules/@terminal3/verify_vc_core/node_modules/aes-js": { "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/verify_vc_core/node_modules/ethers": { "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz", + "integrity": "sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==", "dev": true, "funding": [ { @@ -9605,6 +10980,8 @@ }, "node_modules/@terminal3/verify_vc_core/node_modules/ethers/node_modules/@noble/curves": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", "dev": true, "license": "MIT", "dependencies": { @@ -9616,16 +10993,22 @@ }, "node_modules/@terminal3/verify_vc_core/node_modules/tslib": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "dev": true, "license": "0BSD" }, "node_modules/@terminal3/verify_vc_core/node_modules/undici-types": { "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true, "license": "MIT" }, "node_modules/@terminal3/verify_vc_core/node_modules/ws": { "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "license": "MIT", "engines": { @@ -9646,10 +11029,14 @@ }, "node_modules/@terminal3/verify_vc/node_modules/@adraffy/ens-normalize": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", "license": "MIT" }, "node_modules/@terminal3/verify_vc/node_modules/@noble/hashes": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", "license": "MIT", "engines": { "node": ">= 16" @@ -9660,6 +11047,8 @@ }, "node_modules/@terminal3/verify_vc/node_modules/@terminal3/ecdsa_vc": { "version": "0.1.16", + "resolved": "https://registry.npmjs.org/@terminal3/ecdsa_vc/-/ecdsa_vc-0.1.16.tgz", + "integrity": "sha512-CLRYHAMnlGwRixbZ8Rshvu/Ykz+oIrYLASqkKIzKCEoc/PoGw2jPjDCetL+POn7WQ/RYvg+fnQlnhM1p2ZZtEw==", "license": "MIT", "dependencies": { "@terminal3/vc_core": "0.0.19", @@ -9669,6 +11058,8 @@ }, "node_modules/@terminal3/verify_vc/node_modules/@terminal3/revoke_vc": { "version": "0.1.15", + "resolved": "https://registry.npmjs.org/@terminal3/revoke_vc/-/revoke_vc-0.1.15.tgz", + "integrity": "sha512-/Y4svhJcsRe/mMlZtPRtInpuctMxcSVsaLcpVnbC1KDksD4FiVWby/Cknb8LItFN+NgqjgJ5JFutFmEjrqA2Yg==", "license": "MIT", "dependencies": { "@noble/curves": "^1.4.2", @@ -9679,6 +11070,8 @@ }, "node_modules/@terminal3/verify_vc/node_modules/@terminal3/vc_core": { "version": "0.0.19", + "resolved": "https://registry.npmjs.org/@terminal3/vc_core/-/vc_core-0.0.19.tgz", + "integrity": "sha512-65JJePRqftFq5nIsBU9/bsUUlMBKzTQU14Ml037g0QUnsrcHgSWLM/lma3YNv0qx03yWVSirEicLC9ZD4Bj+MQ==", "license": "MIT", "dependencies": { "did-jwt": "^8.0.4", @@ -9688,6 +11081,8 @@ }, "node_modules/@terminal3/verify_vc/node_modules/@terminal3/verify_vc_core": { "version": "0.0.19", + "resolved": "https://registry.npmjs.org/@terminal3/verify_vc_core/-/verify_vc_core-0.0.19.tgz", + "integrity": "sha512-esUoQKSAzjOwL4Qyea0a7zYt8piuHRLmZd+3CjXlpbSDylpjWJBW6pxFvkR/UVUiXc9cXrdbrJwL0JbCGwMPWw==", "license": "MIT", "dependencies": { "@noble/curves": "^1.4.2", @@ -9699,6 +11094,8 @@ }, "node_modules/@terminal3/verify_vc/node_modules/@types/node": { "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -9706,10 +11103,14 @@ }, "node_modules/@terminal3/verify_vc/node_modules/aes-js": { "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", "license": "MIT" }, "node_modules/@terminal3/verify_vc/node_modules/ethers": { "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz", + "integrity": "sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==", "funding": [ { "type": "individual", @@ -9736,6 +11137,8 @@ }, "node_modules/@terminal3/verify_vc/node_modules/ethers/node_modules/@noble/curves": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", "license": "MIT", "dependencies": { "@noble/hashes": "1.3.2" @@ -9746,14 +11149,20 @@ }, "node_modules/@terminal3/verify_vc/node_modules/tslib": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "license": "0BSD" }, "node_modules/@terminal3/verify_vc/node_modules/undici-types": { "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "license": "MIT" }, "node_modules/@terminal3/verify_vc/node_modules/uuid": { "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -9765,6 +11174,8 @@ }, "node_modules/@terminal3/verify_vc/node_modules/ws": { "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -9784,6 +11195,8 @@ }, "node_modules/@testing-library/dom": { "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "dev": true, "license": "MIT", "dependencies": { @@ -9800,66 +11213,122 @@ "node": ">=18" } }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "5.2.0", + "node_modules/@testing-library/jest-dom": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", "dev": true, "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@testing-library/dom/node_modules/aria-query": { - "version": "5.3.0", + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "dequal": "^2.0.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@testing-library/dom/node_modules/pretty-format": { - "version": "27.5.1", + "node_modules/@testing-library/jest-dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=7.0.0" } }, - "node_modules/@testing-library/dom/node_modules/react-is": { - "version": "17.0.2", + "node_modules/@testing-library/jest-dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, - "node_modules/@testing-library/jest-dom": { - "version": "5.17.0", + "node_modules/@testing-library/react": { + "version": "14.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.3.1.tgz", + "integrity": "sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==", "dev": true, "license": "MIT", "dependencies": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^9.0.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@testing-library/react/node_modules/@testing-library/dom": { + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz", + "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" }, "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" + "node": ">=14" } }, - "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { + "node_modules/@testing-library/react/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -9872,8 +11341,20 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", + "node_modules/@testing-library/react/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@testing-library/react/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -9881,11 +11362,16 @@ "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@testing-library/jest-dom/node_modules/color-convert": { + "node_modules/@testing-library/react/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9895,13 +11381,17 @@ "node": ">=7.0.0" } }, - "node_modules/@testing-library/jest-dom/node_modules/color-name": { + "node_modules/@testing-library/react/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/@testing-library/user-event": { "version": "14.6.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", + "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", "dev": true, "license": "MIT", "engines": { @@ -9914,11 +11404,15 @@ }, "node_modules/@thomaschaplin/cusip-generator": { "version": "1.0.22", + "resolved": "https://registry.npmjs.org/@thomaschaplin/cusip-generator/-/cusip-generator-1.0.22.tgz", + "integrity": "sha512-162DBgkPGQI0otk/aW8z7XjyYM1fEOUf+p4yiEgJZhKupSWuwSNcsIcAi4fDZvP/XkI/pBF83aXUlYkWFMqA2Q==", "dev": true, "license": "MIT" }, "node_modules/@thomaschaplin/isin-generator": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@thomaschaplin/isin-generator/-/isin-generator-1.0.3.tgz", + "integrity": "sha512-M1vm7MsTdLhOybs21dR1M0/aUAwpM2B7qZvcVMTzxBxnjzwaqCr1EtxMUjecCOoxViIA6A/HO7emlfKUGODBNQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9927,6 +11421,8 @@ }, "node_modules/@tootallnate/once": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, "license": "MIT", "engines": { @@ -9935,26 +11431,36 @@ }, "node_modules/@tsconfig/node10": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", "dev": true, "license": "MIT" }, "node_modules/@tsconfig/node12": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true, "license": "MIT" }, "node_modules/@tsconfig/node14": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", "dev": true, "license": "MIT" }, "node_modules/@tsconfig/node16": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true, "license": "MIT" }, "node_modules/@typechain/ethers-v5": { "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.2.1.tgz", + "integrity": "sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A==", "dev": true, "license": "MIT", "dependencies": { @@ -9971,6 +11477,8 @@ }, "node_modules/@typechain/hardhat": { "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-6.1.6.tgz", + "integrity": "sha512-BiVnegSs+ZHVymyidtK472syodx1sXYlYJJixZfRstHVGYTi8V1O7QG4nsjyb0PC/LORcq7sfBUcHto1y6UgJA==", "dev": true, "license": "MIT", "dependencies": { @@ -9987,6 +11495,8 @@ }, "node_modules/@typechain/hardhat/node_modules/fs-extra": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10001,6 +11511,8 @@ }, "node_modules/@typechain/hardhat/node_modules/jsonfile": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10012,6 +11524,8 @@ }, "node_modules/@typechain/hardhat/node_modules/universalify": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "license": "MIT", "engines": { @@ -10020,11 +11534,15 @@ }, "node_modules/@types/aria-query": { "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "dev": true, "license": "MIT" }, "node_modules/@types/babel__core": { "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "license": "MIT", "dependencies": { "@babel/parser": "^7.20.7", @@ -10036,6 +11554,8 @@ }, "node_modules/@types/babel__generator": { "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" @@ -10043,6 +11563,8 @@ }, "node_modules/@types/babel__template": { "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", @@ -10050,14 +11572,18 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.20.7", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", "license": "MIT", "dependencies": { - "@babel/types": "^7.20.7" + "@babel/types": "^7.28.2" } }, "node_modules/@types/bn.js": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==", "license": "MIT", "dependencies": { "@types/node": "*" @@ -10065,11 +11591,15 @@ }, "node_modules/@types/chai": { "version": "4.3.20", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.20.tgz", + "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==", "dev": true, "license": "MIT" }, "node_modules/@types/chai-as-promised": { "version": "7.1.8", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", + "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", "dev": true, "license": "MIT", "dependencies": { @@ -10078,6 +11608,8 @@ }, "node_modules/@types/concat-stream": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", "dev": true, "license": "MIT", "dependencies": { @@ -10086,6 +11618,8 @@ }, "node_modules/@types/conventional-commits-parser": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.1.tgz", + "integrity": "sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10094,6 +11628,8 @@ }, "node_modules/@types/debug": { "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "license": "MIT", "dependencies": { "@types/ms": "*" @@ -10101,11 +11637,15 @@ }, "node_modules/@types/estree": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, "license": "MIT" }, "node_modules/@types/form-data": { "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", "dev": true, "license": "MIT", "dependencies": { @@ -10114,11 +11654,15 @@ }, "node_modules/@types/format-util": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/format-util/-/format-util-1.0.4.tgz", + "integrity": "sha512-xrCYOdHh5zA3LUrn6CvspYwlzSWxPso11Lx32WnAG6KvLCRecKZ/Rh21PLXUkzUFsQmrGcx/traJAFjR6dVS5Q==", "dev": true, "license": "MIT" }, "node_modules/@types/glob": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, "license": "MIT", "dependencies": { @@ -10128,6 +11672,8 @@ }, "node_modules/@types/graceful-fs": { "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "license": "MIT", "dependencies": { "@types/node": "*" @@ -10135,6 +11681,8 @@ }, "node_modules/@types/hast": { "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", "license": "MIT", "dependencies": { "@types/unist": "^2" @@ -10142,15 +11690,21 @@ }, "node_modules/@types/http-cache-semantics": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", "dev": true, "license": "MIT" }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" @@ -10158,6 +11712,8 @@ }, "node_modules/@types/istanbul-reports": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" @@ -10165,6 +11721,8 @@ }, "node_modules/@types/jest": { "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10172,8 +11730,45 @@ "pretty-format": "^29.0.0" } }, + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/jsdom": { "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10184,24 +11779,34 @@ }, "node_modules/@types/json-schema": { "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true, "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true, "license": "MIT" }, "node_modules/@types/jsonld": { "version": "1.5.15", + "resolved": "https://registry.npmjs.org/@types/jsonld/-/jsonld-1.5.15.tgz", + "integrity": "sha512-PlAFPZjL+AuGYmwlqwKEL0IMP8M8RexH0NIPGfCVWSQ041H2rR/8OlyZSD7KsCVoN8vCfWdtWDBxX8yBVP+xow==", "license": "MIT" }, "node_modules/@types/lodash": { "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", "license": "MIT" }, "node_modules/@types/lodash.mergewith": { "version": "4.6.7", + "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.7.tgz", + "integrity": "sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==", "license": "MIT", "dependencies": { "@types/lodash": "*" @@ -10209,6 +11814,8 @@ }, "node_modules/@types/mdast": { "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", "license": "MIT", "dependencies": { "@types/unist": "^2" @@ -10216,41 +11823,55 @@ }, "node_modules/@types/minimatch": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true, "license": "MIT" }, "node_modules/@types/mocha": { "version": "10.0.10", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz", + "integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==", "dev": true, "license": "MIT", "peer": true }, "node_modules/@types/ms": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", "license": "MIT" }, "node_modules/@types/node": { - "version": "24.0.14", + "version": "24.2.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.2.1.tgz", + "integrity": "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ==", "license": "MIT", "dependencies": { - "undici-types": "~7.8.0" + "undici-types": "~7.10.0" } }, "node_modules/@types/node-fetch": { - "version": "2.6.12", + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.13.tgz", + "integrity": "sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", - "form-data": "^4.0.0" + "form-data": "^4.0.4" } }, "node_modules/@types/parse-json": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", "license": "MIT" }, "node_modules/@types/pbkdf2": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", "license": "MIT", "dependencies": { "@types/node": "*" @@ -10258,30 +11879,49 @@ }, "node_modules/@types/prettier": { "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", "dev": true, "license": "MIT", "peer": true }, "node_modules/@types/prop-types": { "version": "15.7.15", - "dev": true, + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", "license": "MIT" }, "node_modules/@types/qs": { "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", "dev": true, "license": "MIT" }, "node_modules/@types/react": { - "version": "19.1.8", + "version": "18.3.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.23.tgz", + "integrity": "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==", "license": "MIT", - "peer": true, "dependencies": { + "@types/prop-types": "*", "csstype": "^3.0.2" } }, + "node_modules/@types/react-dom": { + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, "node_modules/@types/react-transition-group": { "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", "license": "MIT", "peerDependencies": { "@types/react": "*" @@ -10289,6 +11929,8 @@ }, "node_modules/@types/secp256k1": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", + "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", "license": "MIT", "dependencies": { "@types/node": "*" @@ -10296,15 +11938,21 @@ }, "node_modules/@types/semver": { "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz", + "integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==", "dev": true, "license": "MIT" }, "node_modules/@types/stack-utils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", "license": "MIT" }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", "dev": true, "license": "MIT", "dependencies": { @@ -10313,28 +11961,39 @@ }, "node_modules/@types/tough-cookie": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true, "license": "MIT" }, "node_modules/@types/triple-beam": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", "license": "MIT" }, "node_modules/@types/trusted-types": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "license": "MIT" }, "node_modules/@types/unist": { "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "license": "MIT" }, "node_modules/@types/uuid": { "version": "9.0.8", - "dev": true, + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", "license": "MIT" }, "node_modules/@types/yargs": { "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -10342,10 +12001,14 @@ }, "node_modules/@types/yargs-parser": { "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", "dev": true, "license": "MIT", "dependencies": { @@ -10378,8 +12041,23 @@ } } }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/parser": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -10405,40 +12083,10 @@ } } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.37.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.37.0", - "@typescript-eslint/types": "^8.37.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": { - "version": "8.37.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, "node_modules/@typescript-eslint/scope-manager": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, "license": "MIT", "dependencies": { @@ -10453,23 +12101,10 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.37.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" - } - }, "node_modules/@typescript-eslint/type-utils": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", "dev": true, "license": "MIT", "dependencies": { @@ -10496,6 +12131,8 @@ }, "node_modules/@typescript-eslint/types": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, "license": "MIT", "engines": { @@ -10508,6 +12145,8 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -10535,6 +12174,8 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "license": "ISC", "dependencies": { @@ -10547,8 +12188,23 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/utils": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10571,8 +12227,23 @@ "eslint": "^7.0.0 || ^8.0.0" } }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/visitor-keys": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, "license": "MIT", "dependencies": { @@ -10589,11 +12260,15 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "dev": true, "license": "ISC" }, "node_modules/@vitejs/plugin-react": { "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", "dev": true, "license": "MIT", "dependencies": { @@ -10611,16 +12286,10 @@ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, - "node_modules/@vitejs/plugin-react/node_modules/react-refresh": { - "version": "0.17.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@walletconnect/auth-client": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@walletconnect/auth-client/-/auth-client-2.1.2.tgz", + "integrity": "sha512-ubJLn+vGb8sTdBFX6xAh4kjR5idrtS3RBngQWaJJJpEPBQmxMb8pM2q0FIRs8Is4K6jKy+uEhusMV+7ZBmTzjw==", "license": "Apache-2.0", "dependencies": { "@ethersproject/hash": "^5.7.0", @@ -10643,6 +12312,8 @@ }, "node_modules/@walletconnect/auth-client/node_modules/@stablelib/random": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", @@ -10651,6 +12322,8 @@ }, "node_modules/@walletconnect/browser-utils": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz", + "integrity": "sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A==", "license": "Apache-2.0", "dependencies": { "@walletconnect/safe-json": "1.0.0", @@ -10662,14 +12335,21 @@ }, "node_modules/@walletconnect/browser-utils/node_modules/@walletconnect/types": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz", + "integrity": "sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg==", + "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/", "license": "Apache-2.0" }, "node_modules/@walletconnect/browser-utils/node_modules/detect-browser": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.2.0.tgz", + "integrity": "sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA==", "license": "MIT" }, "node_modules/@walletconnect/core": { "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.17.1.tgz", + "integrity": "sha512-SMgJR5hEyEE/tENIuvlEb4aB9tmMXPzQ38Y61VgYBmwAFEhOHtpt8EDfnfRWqEhMyXuBXG4K70Yh8c67Yry+Xw==", "license": "Apache-2.0", "dependencies": { "@walletconnect/heartbeat": "1.2.2", @@ -10696,6 +12376,8 @@ }, "node_modules/@walletconnect/core/node_modules/@ethersproject/hash": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "funding": [ { "type": "individual", @@ -10721,6 +12403,8 @@ }, "node_modules/@walletconnect/core/node_modules/@ethersproject/transactions": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "funding": [ { "type": "individual", @@ -10746,14 +12430,37 @@ }, "node_modules/@walletconnect/core/node_modules/@stablelib/random": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/wipe": "^1.0.1" } }, + "node_modules/@walletconnect/core/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, "node_modules/@walletconnect/core/node_modules/@walletconnect/relay-auth": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", + "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", "license": "MIT", "dependencies": { "@stablelib/ed25519": "^1.0.2", @@ -10766,6 +12473,8 @@ }, "node_modules/@walletconnect/core/node_modules/@walletconnect/safe-json": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -10773,6 +12482,8 @@ }, "node_modules/@walletconnect/core/node_modules/@walletconnect/types": { "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.17.1.tgz", + "integrity": "sha512-aiUeBE3EZZTsZBv5Cju3D0PWAsZCMks1g3hzQs9oNtrbuLL6pKKU0/zpKwk4vGywszxPvC3U0tBCku9LLsH/0A==", "license": "Apache-2.0", "dependencies": { "@walletconnect/events": "1.0.1", @@ -10785,6 +12496,8 @@ }, "node_modules/@walletconnect/core/node_modules/@walletconnect/utils": { "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.17.1.tgz", + "integrity": "sha512-KL7pPwq7qUC+zcTmvxGqIyYanfHgBQ+PFd0TEblg88jM7EjuDLhjyyjtkhyE/2q7QgR7OanIK7pCpilhWvBsBQ==", "license": "Apache-2.0", "dependencies": { "@ethersproject/hash": "5.7.0", @@ -10811,6 +12524,8 @@ }, "node_modules/@walletconnect/core/node_modules/@walletconnect/window-getters": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", + "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -10818,6 +12533,8 @@ }, "node_modules/@walletconnect/core/node_modules/@walletconnect/window-metadata": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", "license": "MIT", "dependencies": { "@walletconnect/window-getters": "^1.0.1", @@ -10826,10 +12543,29 @@ }, "node_modules/@walletconnect/core/node_modules/bn.js": { "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "license": "MIT" }, + "node_modules/@walletconnect/core/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@walletconnect/core/node_modules/elliptic": { "version": "6.5.7", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz", + "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==", "license": "MIT", "dependencies": { "bn.js": "^4.11.9", @@ -10841,23 +12577,142 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/@walletconnect/core/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, "node_modules/@walletconnect/core/node_modules/multiformats": { "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", "license": "(Apache-2.0 AND MIT)" }, + "node_modules/@walletconnect/core/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@walletconnect/core/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@walletconnect/core/node_modules/uint8arrays": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz", + "integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==", "license": "MIT", "dependencies": { "multiformats": "^9.4.2" } }, + "node_modules/@walletconnect/core/node_modules/unstorage": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.1.tgz", + "integrity": "sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^4.0.3", + "destr": "^2.0.5", + "h3": "^1.15.3", + "lru-cache": "^10.4.3", + "node-fetch-native": "^1.6.6", + "ofetch": "^1.4.1", + "ufo": "^1.6.1" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6.0.3 || ^7.0.0", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/kv": "^1.0.1", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, "node_modules/@walletconnect/environment": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -10865,10 +12720,14 @@ }, "node_modules/@walletconnect/environment/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@walletconnect/events": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", + "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", "license": "MIT", "dependencies": { "keyvaluestorage-interface": "^1.0.0", @@ -10877,10 +12736,14 @@ }, "node_modules/@walletconnect/events/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@walletconnect/heartbeat": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.2.tgz", + "integrity": "sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw==", "license": "MIT", "dependencies": { "@walletconnect/events": "^1.0.1", @@ -10890,6 +12753,8 @@ }, "node_modules/@walletconnect/jsonrpc-provider": { "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.14.tgz", + "integrity": "sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow==", "license": "MIT", "dependencies": { "@walletconnect/jsonrpc-utils": "^1.0.8", @@ -10899,6 +12764,8 @@ }, "node_modules/@walletconnect/jsonrpc-provider/node_modules/@walletconnect/safe-json": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -10906,10 +12773,14 @@ }, "node_modules/@walletconnect/jsonrpc-provider/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@walletconnect/jsonrpc-types": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.4.tgz", + "integrity": "sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ==", "license": "MIT", "dependencies": { "events": "^3.3.0", @@ -10918,6 +12789,8 @@ }, "node_modules/@walletconnect/jsonrpc-utils": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz", + "integrity": "sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==", "license": "MIT", "dependencies": { "@walletconnect/environment": "^1.0.1", @@ -10927,10 +12800,14 @@ }, "node_modules/@walletconnect/jsonrpc-utils/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@walletconnect/jsonrpc-ws-connection": { "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz", + "integrity": "sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==", "license": "MIT", "dependencies": { "@walletconnect/jsonrpc-utils": "^1.0.6", @@ -10941,6 +12818,8 @@ }, "node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/@walletconnect/safe-json": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -10948,10 +12827,14 @@ }, "node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/ws": { "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "license": "MIT", "engines": { "node": ">=8.3.0" @@ -10969,36 +12852,10 @@ } } }, - "node_modules/@walletconnect/keyvaluestorage": { - "version": "1.1.1", - "license": "MIT", - "dependencies": { - "@walletconnect/safe-json": "^1.0.1", - "idb-keyval": "^6.2.1", - "unstorage": "^1.9.0" - }, - "peerDependencies": { - "@react-native-async-storage/async-storage": "1.x" - }, - "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { - "optional": true - } - } - }, - "node_modules/@walletconnect/keyvaluestorage/node_modules/@walletconnect/safe-json": { - "version": "1.0.2", - "license": "MIT", - "dependencies": { - "tslib": "1.14.1" - } - }, - "node_modules/@walletconnect/keyvaluestorage/node_modules/tslib": { - "version": "1.14.1", - "license": "0BSD" - }, "node_modules/@walletconnect/logger": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.1.2.tgz", + "integrity": "sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw==", "license": "MIT", "dependencies": { "@walletconnect/safe-json": "^1.0.2", @@ -11007,6 +12864,8 @@ }, "node_modules/@walletconnect/logger/node_modules/@walletconnect/safe-json": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -11014,10 +12873,14 @@ }, "node_modules/@walletconnect/logger/node_modules/on-exit-leak-free": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", + "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==", "license": "MIT" }, "node_modules/@walletconnect/logger/node_modules/pino": { "version": "7.11.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", + "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", "license": "MIT", "dependencies": { "atomic-sleep": "^1.0.0", @@ -11038,6 +12901,8 @@ }, "node_modules/@walletconnect/logger/node_modules/pino-abstract-transport": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", + "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", "license": "MIT", "dependencies": { "duplexify": "^4.1.2", @@ -11046,14 +12911,20 @@ }, "node_modules/@walletconnect/logger/node_modules/pino-std-serializers": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", + "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==", "license": "MIT" }, "node_modules/@walletconnect/logger/node_modules/process-warning": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", + "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==", "license": "MIT" }, "node_modules/@walletconnect/logger/node_modules/real-require": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", + "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==", "license": "MIT", "engines": { "node": ">= 12.13.0" @@ -11061,6 +12932,8 @@ }, "node_modules/@walletconnect/logger/node_modules/sonic-boom": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", + "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", "license": "MIT", "dependencies": { "atomic-sleep": "^1.0.0" @@ -11068,6 +12941,8 @@ }, "node_modules/@walletconnect/logger/node_modules/thread-stream": { "version": "0.15.2", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", + "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", "license": "MIT", "dependencies": { "real-require": "^0.1.0" @@ -11075,14 +12950,22 @@ }, "node_modules/@walletconnect/logger/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@walletconnect/mobile-registry": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz", + "integrity": "sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw==", + "deprecated": "Deprecated in favor of dynamic registry available from: https://github.com/walletconnect/walletconnect-registry", "license": "MIT" }, "node_modules/@walletconnect/modal": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@walletconnect/modal/-/modal-2.7.0.tgz", + "integrity": "sha512-RQVt58oJ+rwqnPcIvRFeMGKuXb9qkgSmwz4noF8JZGUym3gUAzVs+uW2NQ1Owm9XOJAV+sANrtJ+VoVq1ftElw==", + "deprecated": "Please follow the migration guide on https://docs.reown.com/appkit/upgrade/wcm", "license": "Apache-2.0", "dependencies": { "@walletconnect/modal-core": "2.7.0", @@ -11091,6 +12974,8 @@ }, "node_modules/@walletconnect/modal-core": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@walletconnect/modal-core/-/modal-core-2.7.0.tgz", + "integrity": "sha512-oyMIfdlNdpyKF2kTJowTixZSo0PGlCJRdssUN/EZdA6H6v03hZnf09JnwpljZNfir2M65Dvjm/15nGrDQnlxSA==", "license": "Apache-2.0", "dependencies": { "valtio": "1.11.2" @@ -11098,6 +12983,8 @@ }, "node_modules/@walletconnect/modal-ui": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@walletconnect/modal-ui/-/modal-ui-2.7.0.tgz", + "integrity": "sha512-gERYvU7D7K1ANCN/8vUgsE0d2hnRemfAFZ2novm9aZBg7TEd/4EgB+AqbJ+1dc7GhOL6dazckVq78TgccHb7mQ==", "license": "Apache-2.0", "dependencies": { "@walletconnect/modal-core": "2.7.0", @@ -11108,6 +12995,9 @@ }, "node_modules/@walletconnect/qrcode-modal": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz", + "integrity": "sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg==", + "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/", "license": "Apache-2.0", "dependencies": { "@walletconnect/browser-utils": "^1.8.0", @@ -11120,10 +13010,15 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/@walletconnect/types": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz", + "integrity": "sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg==", + "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/", "license": "Apache-2.0" }, "node_modules/@walletconnect/qrcode-modal/node_modules/ansi-regex": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "license": "MIT", "engines": { "node": ">=6" @@ -11131,6 +13026,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/buffer": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "funding": [ { "type": "github", @@ -11151,15 +13048,10 @@ "ieee754": "^1.1.13" } }, - "node_modules/@walletconnect/qrcode-modal/node_modules/camelcase": { - "version": "5.3.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/@walletconnect/qrcode-modal/node_modules/cliui": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "license": "ISC", "dependencies": { "string-width": "^3.1.0", @@ -11169,6 +13061,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/decamelize": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -11176,10 +13070,14 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/emoji-regex": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "license": "MIT" }, "node_modules/@walletconnect/qrcode-modal/node_modules/find-up": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "license": "MIT", "dependencies": { "locate-path": "^3.0.0" @@ -11190,6 +13088,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/is-fullwidth-code-point": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "license": "MIT", "engines": { "node": ">=4" @@ -11197,10 +13097,14 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/isarray": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "license": "MIT" }, "node_modules/@walletconnect/qrcode-modal/node_modules/locate-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "license": "MIT", "dependencies": { "p-locate": "^3.0.0", @@ -11212,6 +13116,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "license": "MIT", "dependencies": { "p-try": "^2.0.0" @@ -11225,6 +13131,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/p-locate": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "license": "MIT", "dependencies": { "p-limit": "^2.0.0" @@ -11235,6 +13143,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "license": "MIT", "engines": { "node": ">=4" @@ -11242,6 +13152,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/pngjs": { "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", "license": "MIT", "engines": { "node": ">=4.0.0" @@ -11249,6 +13161,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/qrcode": { "version": "1.4.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", + "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", "license": "MIT", "dependencies": { "buffer": "^5.4.3", @@ -11268,6 +13182,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/string-width": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "license": "MIT", "dependencies": { "emoji-regex": "^7.0.1", @@ -11280,6 +13196,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/strip-ansi": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "license": "MIT", "dependencies": { "ansi-regex": "^4.1.0" @@ -11290,6 +13208,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/wrap-ansi": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "license": "MIT", "dependencies": { "ansi-styles": "^3.2.0", @@ -11302,10 +13222,14 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/y18n": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "license": "ISC" }, "node_modules/@walletconnect/qrcode-modal/node_modules/yargs": { "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "license": "MIT", "dependencies": { "cliui": "^5.0.0", @@ -11322,6 +13246,8 @@ }, "node_modules/@walletconnect/qrcode-modal/node_modules/yargs-parser": { "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "license": "ISC", "dependencies": { "camelcase": "^5.0.0", @@ -11330,6 +13256,8 @@ }, "node_modules/@walletconnect/relay-api": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.11.tgz", + "integrity": "sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q==", "license": "MIT", "dependencies": { "@walletconnect/jsonrpc-types": "^1.0.2" @@ -11337,6 +13265,8 @@ }, "node_modules/@walletconnect/relay-auth": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.1.0.tgz", + "integrity": "sha512-qFw+a9uRz26jRCDgL7Q5TA9qYIgcNY8jpJzI1zAWNZ8i7mQjaijRnWFKsCHAU9CyGjvt6RKrRXyFtFOpWTVmCQ==", "license": "MIT", "dependencies": { "@noble/curves": "1.8.0", @@ -11348,6 +13278,8 @@ }, "node_modules/@walletconnect/relay-auth/node_modules/@noble/curves": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.0.tgz", + "integrity": "sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==", "license": "MIT", "dependencies": { "@noble/hashes": "1.7.0" @@ -11361,6 +13293,8 @@ }, "node_modules/@walletconnect/relay-auth/node_modules/@noble/hashes": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.0.tgz", + "integrity": "sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==", "license": "MIT", "engines": { "node": "^14.21.3 || >=16" @@ -11371,6 +13305,8 @@ }, "node_modules/@walletconnect/relay-auth/node_modules/@walletconnect/safe-json": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -11378,14 +13314,21 @@ }, "node_modules/@walletconnect/relay-auth/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@walletconnect/safe-json": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz", + "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==", "license": "MIT" }, "node_modules/@walletconnect/sign-client": { "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.17.1.tgz", + "integrity": "sha512-6rLw6YNy0smslH9wrFTbNiYrGsL3DrOsS5FcuU4gIN6oh8pGYOFZ5FiSyTTroc5tngOk3/Sd7dlGY9S7O4nveg==", + "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", "license": "Apache-2.0", "dependencies": { "@walletconnect/core": "2.17.1", @@ -11401,6 +13344,8 @@ }, "node_modules/@walletconnect/sign-client/node_modules/@ethersproject/hash": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "funding": [ { "type": "individual", @@ -11426,6 +13371,8 @@ }, "node_modules/@walletconnect/sign-client/node_modules/@ethersproject/transactions": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "funding": [ { "type": "individual", @@ -11451,14 +13398,37 @@ }, "node_modules/@walletconnect/sign-client/node_modules/@stablelib/random": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/wipe": "^1.0.1" } }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/relay-auth": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", + "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", "license": "MIT", "dependencies": { "@stablelib/ed25519": "^1.0.2", @@ -11471,6 +13441,8 @@ }, "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/safe-json": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -11478,6 +13450,8 @@ }, "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/types": { "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.17.1.tgz", + "integrity": "sha512-aiUeBE3EZZTsZBv5Cju3D0PWAsZCMks1g3hzQs9oNtrbuLL6pKKU0/zpKwk4vGywszxPvC3U0tBCku9LLsH/0A==", "license": "Apache-2.0", "dependencies": { "@walletconnect/events": "1.0.1", @@ -11490,6 +13464,8 @@ }, "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/utils": { "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.17.1.tgz", + "integrity": "sha512-KL7pPwq7qUC+zcTmvxGqIyYanfHgBQ+PFd0TEblg88jM7EjuDLhjyyjtkhyE/2q7QgR7OanIK7pCpilhWvBsBQ==", "license": "Apache-2.0", "dependencies": { "@ethersproject/hash": "5.7.0", @@ -11516,6 +13492,8 @@ }, "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/window-getters": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", + "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -11523,6 +13501,8 @@ }, "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/window-metadata": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", "license": "MIT", "dependencies": { "@walletconnect/window-getters": "^1.0.1", @@ -11531,10 +13511,29 @@ }, "node_modules/@walletconnect/sign-client/node_modules/bn.js": { "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "license": "MIT" }, + "node_modules/@walletconnect/sign-client/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@walletconnect/sign-client/node_modules/elliptic": { "version": "6.5.7", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz", + "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==", "license": "MIT", "dependencies": { "bn.js": "^4.11.9", @@ -11546,46 +13545,331 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/@walletconnect/sign-client/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, "node_modules/@walletconnect/sign-client/node_modules/multiformats": { "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", "license": "(Apache-2.0 AND MIT)" }, + "node_modules/@walletconnect/sign-client/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@walletconnect/sign-client/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@walletconnect/sign-client/node_modules/uint8arrays": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz", + "integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==", "license": "MIT", "dependencies": { "multiformats": "^9.4.2" } }, + "node_modules/@walletconnect/sign-client/node_modules/unstorage": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.1.tgz", + "integrity": "sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^4.0.3", + "destr": "^2.0.5", + "h3": "^1.15.3", + "lru-cache": "^10.4.3", + "node-fetch-native": "^1.6.6", + "ofetch": "^1.4.1", + "ufo": "^1.6.1" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6.0.3 || ^7.0.0", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/kv": "^1.0.1", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, "node_modules/@walletconnect/time": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", + "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", + "license": "MIT", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/time/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/@walletconnect/types": { + "version": "2.21.8", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.21.8.tgz", + "integrity": "sha512-xuLIPrLxe6viMu8Uk28Nf0sgyMy+4oT0mroOjBe5Vqyft8GTiwUBKZXmrGU9uDzZsYVn1FXLO9CkuNHXda3ODA==", + "license": "Apache-2.0", + "dependencies": { + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "2.1.2", + "events": "3.3.0" + } + }, + "node_modules/@walletconnect/types/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@walletconnect/types/node_modules/@walletconnect/safe-json": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "license": "MIT", "dependencies": { "tslib": "1.14.1" } }, - "node_modules/@walletconnect/time/node_modules/tslib": { + "node_modules/@walletconnect/types/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@walletconnect/types/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/@walletconnect/types/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@walletconnect/types/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, - "node_modules/@walletconnect/types": { - "version": "2.21.5", - "license": "Apache-2.0", + "node_modules/@walletconnect/types/node_modules/unstorage": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.1.tgz", + "integrity": "sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ==", + "license": "MIT", "dependencies": { - "@walletconnect/events": "1.0.1", - "@walletconnect/heartbeat": "1.2.2", - "@walletconnect/jsonrpc-types": "1.0.4", - "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "2.1.2", - "events": "3.3.0" + "anymatch": "^3.1.3", + "chokidar": "^4.0.3", + "destr": "^2.0.5", + "h3": "^1.15.3", + "lru-cache": "^10.4.3", + "node-fetch-native": "^1.6.6", + "ofetch": "^1.4.1", + "ufo": "^1.6.1" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6.0.3 || ^7.0.0", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/kv": "^1.0.1", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } } }, "node_modules/@walletconnect/utils": { - "version": "2.21.5", + "version": "2.21.8", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.21.8.tgz", + "integrity": "sha512-HtMraGJ9qXo55l4wGSM1aZvyz0XVv460iWhlRGAyRl9Yz8RQeKyXavDhwBfcTFha/6kwLxPExqQ+MURtKeVVXw==", "license": "Apache-2.0", "dependencies": { "@msgpack/msgpack": "3.1.2", @@ -11599,7 +13883,7 @@ "@walletconnect/relay-auth": "1.1.0", "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.5", + "@walletconnect/types": "2.21.8", "@walletconnect/window-getters": "1.0.1", "@walletconnect/window-metadata": "1.0.1", "blakejs": "1.2.1", @@ -11612,6 +13896,8 @@ }, "node_modules/@walletconnect/utils/node_modules/@noble/curves": { "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.2.tgz", + "integrity": "sha512-HxngEd2XUcg9xi20JkwlLCtYwfoFw4JGkuZpT+WlsPD4gB/cxkvTD8fSsoAnphGZhFdZYKeQIPCuFlWPm1uE0g==", "license": "MIT", "dependencies": { "@noble/hashes": "1.8.0" @@ -11623,8 +13909,29 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@walletconnect/utils/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, "node_modules/@walletconnect/utils/node_modules/@walletconnect/safe-json": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -11632,6 +13939,8 @@ }, "node_modules/@walletconnect/utils/node_modules/@walletconnect/window-getters": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", + "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -11639,18 +13948,151 @@ }, "node_modules/@walletconnect/utils/node_modules/@walletconnect/window-metadata": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", "license": "MIT", "dependencies": { "@walletconnect/window-getters": "^1.0.1", "tslib": "1.14.1" } }, + "node_modules/@walletconnect/utils/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@walletconnect/utils/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/@walletconnect/utils/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@walletconnect/utils/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, + "node_modules/@walletconnect/utils/node_modules/unstorage": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.1.tgz", + "integrity": "sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^4.0.3", + "destr": "^2.0.5", + "h3": "^1.15.3", + "lru-cache": "^10.4.3", + "node-fetch-native": "^1.6.6", + "ofetch": "^1.4.1", + "ufo": "^1.6.1" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6.0.3 || ^7.0.0", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/kv": "^1.0.1", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, "node_modules/@walletconnect/web3wallet": { "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@walletconnect/web3wallet/-/web3wallet-1.16.1.tgz", + "integrity": "sha512-l6jVoLEh/UtRfvYUDs52fN+LYXsBgx3F9WfErJuCSCFfpbxDKIzM2Y9sI0WI1/5dWN5sh24H1zNCXnQ4JJltZw==", + "deprecated": "Web3Wallet is now Reown WalletKit. Please follow the upgrade guide at https://docs.reown.com/walletkit/upgrade/from-web3wallet-web", "license": "Apache-2.0", "dependencies": { "@walletconnect/auth-client": "2.1.2", @@ -11665,6 +14107,8 @@ }, "node_modules/@walletconnect/web3wallet/node_modules/@ethersproject/hash": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", "funding": [ { "type": "individual", @@ -11690,6 +14134,8 @@ }, "node_modules/@walletconnect/web3wallet/node_modules/@ethersproject/transactions": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", "funding": [ { "type": "individual", @@ -11715,14 +14161,37 @@ }, "node_modules/@walletconnect/web3wallet/node_modules/@stablelib/random": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", "license": "MIT", "dependencies": { "@stablelib/binary": "^1.0.1", "@stablelib/wipe": "^1.0.1" } }, + "node_modules/@walletconnect/web3wallet/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", + "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "license": "MIT", + "dependencies": { + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, "node_modules/@walletconnect/web3wallet/node_modules/@walletconnect/relay-auth": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", + "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", "license": "MIT", "dependencies": { "@stablelib/ed25519": "^1.0.2", @@ -11735,6 +14204,8 @@ }, "node_modules/@walletconnect/web3wallet/node_modules/@walletconnect/safe-json": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -11742,6 +14213,8 @@ }, "node_modules/@walletconnect/web3wallet/node_modules/@walletconnect/types": { "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.17.1.tgz", + "integrity": "sha512-aiUeBE3EZZTsZBv5Cju3D0PWAsZCMks1g3hzQs9oNtrbuLL6pKKU0/zpKwk4vGywszxPvC3U0tBCku9LLsH/0A==", "license": "Apache-2.0", "dependencies": { "@walletconnect/events": "1.0.1", @@ -11754,6 +14227,8 @@ }, "node_modules/@walletconnect/web3wallet/node_modules/@walletconnect/utils": { "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.17.1.tgz", + "integrity": "sha512-KL7pPwq7qUC+zcTmvxGqIyYanfHgBQ+PFd0TEblg88jM7EjuDLhjyyjtkhyE/2q7QgR7OanIK7pCpilhWvBsBQ==", "license": "Apache-2.0", "dependencies": { "@ethersproject/hash": "5.7.0", @@ -11780,6 +14255,8 @@ }, "node_modules/@walletconnect/web3wallet/node_modules/@walletconnect/window-getters": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", + "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", "license": "MIT", "dependencies": { "tslib": "1.14.1" @@ -11787,18 +14264,39 @@ }, "node_modules/@walletconnect/web3wallet/node_modules/@walletconnect/window-metadata": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", "license": "MIT", "dependencies": { "@walletconnect/window-getters": "^1.0.1", "tslib": "1.14.1" } }, - "node_modules/@walletconnect/web3wallet/node_modules/bn.js": { - "version": "4.12.2", - "license": "MIT" - }, + "node_modules/@walletconnect/web3wallet/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "license": "MIT" + }, + "node_modules/@walletconnect/web3wallet/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@walletconnect/web3wallet/node_modules/elliptic": { "version": "6.5.7", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz", + "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==", "license": "MIT", "dependencies": { "bn.js": "^4.11.9", @@ -11810,27 +14308,148 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "node_modules/@walletconnect/web3wallet/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, "node_modules/@walletconnect/web3wallet/node_modules/multiformats": { "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", "license": "(Apache-2.0 AND MIT)" }, + "node_modules/@walletconnect/web3wallet/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@walletconnect/web3wallet/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/@walletconnect/web3wallet/node_modules/uint8arrays": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz", + "integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==", "license": "MIT", "dependencies": { "multiformats": "^9.4.2" } }, + "node_modules/@walletconnect/web3wallet/node_modules/unstorage": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.1.tgz", + "integrity": "sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^4.0.3", + "destr": "^2.0.5", + "h3": "^1.15.3", + "lru-cache": "^10.4.3", + "node-fetch-native": "^1.6.6", + "ofetch": "^1.4.1", + "ufo": "^1.6.1" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6.0.3 || ^7.0.0", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/kv": "^1.0.1", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, "node_modules/@walletconnect/window-getters": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.0.tgz", + "integrity": "sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA==", "license": "MIT" }, "node_modules/@walletconnect/window-metadata": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz", + "integrity": "sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA==", "license": "MIT", "dependencies": { "@walletconnect/window-getters": "^1.0.0" @@ -11838,24 +14457,35 @@ }, "node_modules/@zag-js/element-size": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.3.2.tgz", + "integrity": "sha512-bVvvigUGvAuj7PCkE5AbzvTJDTw5f3bg9nQdv+ErhVN8SfPPppLJEmmWdxqsRzrHXgx8ypJt/+Ty0kjtISVDsQ==", "license": "MIT" }, "node_modules/@zag-js/focus-visible": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.2.2.tgz", + "integrity": "sha512-0j2gZq8HiZ51z4zNnSkF1iSkqlwRDvdH+son3wHdoz+7IUdMN/5Exd4TxMJ+gq2Of1DiXReYLL9qqh2PdQ4wgA==", "license": "MIT" }, "node_modules/abab": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", "dev": true, "license": "BSD-3-Clause" }, "node_modules/abbrev": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "license": "ISC", "optional": true }, "node_modules/abitype": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz", + "integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/wevm" @@ -11875,6 +14505,8 @@ }, "node_modules/abort-controller": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" @@ -11885,10 +14517,14 @@ }, "node_modules/abortcontroller-polyfill": { "version": "1.7.8", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.8.tgz", + "integrity": "sha512-9f1iZ2uWh92VcrU9Y8x+LdM4DLj75VE0MJB8zuF1iUnroEptStw+DQ8EQPMUdfe5k+PkB1uUfDQfWbhstH8LrQ==", "license": "MIT" }, "node_modules/accepts": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "license": "MIT", "peer": true, "dependencies": { @@ -11901,6 +14537,8 @@ }, "node_modules/acorn": { "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -11911,6 +14549,8 @@ }, "node_modules/acorn-globals": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", "dev": true, "license": "MIT", "dependencies": { @@ -11920,6 +14560,8 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -11928,6 +14570,8 @@ }, "node_modules/acorn-walk": { "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", "dev": true, "license": "MIT", "dependencies": { @@ -11939,6 +14583,8 @@ }, "node_modules/adm-zip": { "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", "dev": true, "license": "MIT", "engines": { @@ -11947,10 +14593,14 @@ }, "node_modules/aes-js": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", "license": "MIT" }, "node_modules/agent-base": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "devOptional": true, "license": "MIT", "dependencies": { @@ -11962,6 +14612,8 @@ }, "node_modules/agentkeepalive": { "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11973,6 +14625,8 @@ }, "node_modules/aggregate-error": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "license": "MIT", "dependencies": { @@ -11985,6 +14639,8 @@ }, "node_modules/ajv": { "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", "dependencies": { @@ -12000,6 +14656,8 @@ }, "node_modules/amazon-cognito-identity-js": { "version": "6.3.15", + "resolved": "https://registry.npmjs.org/amazon-cognito-identity-js/-/amazon-cognito-identity-js-6.3.15.tgz", + "integrity": "sha512-G2mzTlGYHKYh9oZDO0Gk94xVQ4iY9GYWBaYScbDYvz05ps6dqi0IvdNx1Lxi7oA3tjS5X+mUN7/svFJJdOB9YA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -12012,6 +14670,8 @@ }, "node_modules/amazon-cognito-identity-js/node_modules/@aws-crypto/sha256-js": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz", + "integrity": "sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -12022,6 +14682,8 @@ }, "node_modules/amazon-cognito-identity-js/node_modules/@aws-crypto/util": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.2.tgz", + "integrity": "sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -12032,6 +14694,8 @@ }, "node_modules/amazon-cognito-identity-js/node_modules/buffer": { "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "license": "MIT", "dependencies": { @@ -12042,11 +14706,15 @@ }, "node_modules/amazon-cognito-identity-js/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true, "license": "0BSD" }, "node_modules/amdefine": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", "dev": true, "license": "BSD-3-Clause OR MIT", "optional": true, @@ -12056,11 +14724,15 @@ }, "node_modules/anser": { "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", "license": "MIT", "peer": true }, "node_modules/ansi-align": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, "license": "ISC", "dependencies": { @@ -12069,6 +14741,8 @@ }, "node_modules/ansi-colors": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, "license": "MIT", "engines": { @@ -12077,6 +14751,8 @@ }, "node_modules/ansi-escapes": { "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "devOptional": true, "license": "MIT", "dependencies": { @@ -12089,19 +14765,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "devOptional": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "license": "MIT", "engines": { "node": ">=8" @@ -12109,6 +14776,8 @@ }, "node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "license": "MIT", "dependencies": { "color-convert": "^1.9.0" @@ -12119,6 +14788,8 @@ }, "node_modules/antlr4": { "version": "4.13.2", + "resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.13.2.tgz", + "integrity": "sha512-QiVbZhyy4xAZ17UPEuG3YTOt8ZaoeOR1CvEAqrEsDBsOqINslaB147i9xqljZqoyf5S+EUlGStaj+t22LT9MOg==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -12127,11 +14798,15 @@ }, "node_modules/antlr4ts": { "version": "0.5.0-alpha.4", + "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", + "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", "dev": true, "license": "BSD-3-Clause" }, "node_modules/anymatch": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", @@ -12141,13 +14816,30 @@ "node": ">= 8" } }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/aproba": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", + "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", "license": "ISC", "optional": true }, "node_modules/are-we-there-yet": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", "license": "ISC", "optional": true, "dependencies": { @@ -12160,6 +14852,8 @@ }, "node_modules/are-we-there-yet/node_modules/readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "license": "MIT", "optional": true, "dependencies": { @@ -12173,16 +14867,24 @@ }, "node_modules/arg": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true, "license": "MIT" }, "node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } }, "node_modules/aria-hidden": { "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -12192,15 +14894,19 @@ } }, "node_modules/aria-query": { - "version": "5.1.3", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "node_modules/array-back": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", "devOptional": true, "license": "MIT", "engines": { @@ -12209,6 +14915,8 @@ }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, "license": "MIT", "dependencies": { @@ -12224,11 +14932,15 @@ }, "node_modules/array-ify": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true, "license": "MIT" }, "node_modules/array-includes": { "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12250,6 +14962,8 @@ }, "node_modules/array-union": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "license": "MIT", "engines": { @@ -12258,6 +14972,8 @@ }, "node_modules/array-uniq": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", "dev": true, "license": "MIT", "engines": { @@ -12266,6 +14982,8 @@ }, "node_modules/array.prototype.findlastindex": { "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12286,6 +15004,8 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, "license": "MIT", "dependencies": { @@ -12303,6 +15023,8 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, "license": "MIT", "dependencies": { @@ -12320,6 +15042,8 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12340,14 +15064,20 @@ }, "node_modules/asap": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "license": "MIT" }, "node_modules/asn1-ts": { "version": "8.0.5", + "resolved": "https://registry.npmjs.org/asn1-ts/-/asn1-ts-8.0.5.tgz", + "integrity": "sha512-d2oJ6RE+i89WsR/1XTFm3K4XsifGGghw04B+4Oh6dEdTT2hDI1zuKo4uqAlx0E9xYKwQUdjni8hqawb3RThBpg==", "license": "MIT" }, "node_modules/asn1js": { "version": "3.0.6", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.6.tgz", + "integrity": "sha512-UOCGPYbl0tv8+006qks/dTgV9ajs97X2p0FAbyS2iyCRrmLSRolDaHdp+v/CLgnzHc3fVB+CwYiUmei7ndFcgA==", "license": "BSD-3-Clause", "dependencies": { "pvtsutils": "^1.3.6", @@ -12360,6 +15090,8 @@ }, "node_modules/assertion-error": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "license": "MIT", "engines": { "node": "*" @@ -12367,11 +15099,15 @@ }, "node_modules/ast-parents": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/ast-parents/-/ast-parents-0.0.1.tgz", + "integrity": "sha512-XHusKxKz3zoYk1ic8Un640joHbFMhbqneyoZfoKnEGtf2ey9Uh/IdpcQplODdO/kENaMIWsD0nJm4+wX3UNLHA==", "dev": true, "license": "MIT" }, "node_modules/astral-regex": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, "license": "MIT", "engines": { @@ -12380,11 +15116,15 @@ }, "node_modules/async": { "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", "dev": true, "license": "MIT" }, "node_modules/async-function": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "dev": true, "license": "MIT", "engines": { @@ -12393,11 +15133,15 @@ }, "node_modules/async-limiter": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "license": "MIT", "peer": true }, "node_modules/async-retry": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", + "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", "dev": true, "license": "MIT", "dependencies": { @@ -12406,10 +15150,14 @@ }, "node_modules/asynckit": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "license": "MIT" }, "node_modules/at-least-node": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true, "license": "ISC", "engines": { @@ -12418,6 +15166,8 @@ }, "node_modules/atomic-sleep": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", "license": "MIT", "engines": { "node": ">=8.0.0" @@ -12425,6 +15175,8 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" @@ -12437,16 +15189,20 @@ } }, "node_modules/axios": { - "version": "1.10.0", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, "node_modules/axios-oauth-client": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/axios-oauth-client/-/axios-oauth-client-1.5.0.tgz", + "integrity": "sha512-CFuTfK9KdRnDDR6LQlUJ0GNKUZ3tHRSFdKPM9WqeCtUdcuKDgWt9aDFH7Xl87VpUcfNt5qRVl4iHdayqtXVv7g==", "license": "MIT", "dependencies": { "qs": "^6.10.1" @@ -12457,6 +15213,8 @@ }, "node_modules/axios-token-interceptor": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/axios-token-interceptor/-/axios-token-interceptor-0.2.0.tgz", + "integrity": "sha512-la74OEsXBH1IS9yI6p2oTIynPtBzs0PVUSOwOBgFg2kBwTeDqQ+YJ6jaOWxsTYyqJO510OzHTfnzAn3GFuf9xA==", "license": "MIT", "dependencies": { "lock": "^1.1.0" @@ -12464,6 +15222,8 @@ }, "node_modules/babel-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "license": "MIT", "dependencies": { "@jest/transform": "^29.7.0", @@ -12483,6 +15243,8 @@ }, "node_modules/babel-jest/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -12496,6 +15258,8 @@ }, "node_modules/babel-jest/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -12510,6 +15274,8 @@ }, "node_modules/babel-jest/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -12520,10 +15286,14 @@ }, "node_modules/babel-jest/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", @@ -12536,29 +15306,10 @@ "node": ">=8" } }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/babel-plugin-jest-hoist": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", @@ -12572,6 +15323,8 @@ }, "node_modules/babel-plugin-macros": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", @@ -12585,6 +15338,8 @@ }, "node_modules/babel-plugin-macros/node_modules/cosmiconfig": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", @@ -12597,26 +15352,10 @@ "node": ">=10" } }, - "node_modules/babel-plugin-macros/node_modules/resolve": { - "version": "1.22.10", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/babel-plugin-macros/node_modules/yaml": { "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "license": "ISC", "engines": { "node": ">= 6" @@ -12624,6 +15363,8 @@ }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", "dev": true, "license": "MIT", "dependencies": { @@ -12635,16 +15376,10 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", "dev": true, "license": "MIT", "dependencies": { @@ -12657,6 +15392,8 @@ }, "node_modules/babel-plugin-polyfill-regenerator": { "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", "dev": true, "license": "MIT", "dependencies": { @@ -12668,6 +15405,8 @@ }, "node_modules/babel-plugin-syntax-hermes-parser": { "version": "0.28.1", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.28.1.tgz", + "integrity": "sha512-meT17DOuUElMNsL5LZN56d+KBp22hb0EfxWfuPUeoSi54e40v1W4C2V36P75FpsH9fVEfDKpw5Nnkahc8haSsQ==", "license": "MIT", "peer": true, "dependencies": { @@ -12676,6 +15415,8 @@ }, "node_modules/babel-plugin-transform-vite-meta-env": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-vite-meta-env/-/babel-plugin-transform-vite-meta-env-1.0.3.tgz", + "integrity": "sha512-eyfuDEXrMu667TQpmctHeTlJrZA6jXYHyEJFjcM0yEa60LS/LXlOg2PBbMb8DVS+V9CnTj/j9itdlDVMcY2zEg==", "dev": true, "license": "MIT", "dependencies": { @@ -12684,7 +15425,9 @@ } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.1.0", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", @@ -12704,11 +15447,13 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0 || ^8.0.0-0" } }, "node_modules/babel-preset-jest": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", @@ -12723,6 +15468,8 @@ }, "node_modules/bail": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", "license": "MIT", "funding": { "type": "github", @@ -12731,14 +15478,20 @@ }, "node_modules/balanced-match": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "license": "MIT" }, "node_modules/base-x": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-5.0.1.tgz", + "integrity": "sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg==", "license": "MIT" }, "node_modules/base64-js": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { "type": "github", @@ -12757,6 +15510,8 @@ }, "node_modules/base64url": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", "license": "MIT", "engines": { "node": ">=6.0.0" @@ -12764,10 +15519,14 @@ }, "node_modules/bech32": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", "license": "MIT" }, "node_modules/bignumber.js": { "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", "license": "MIT", "engines": { "node": "*" @@ -12775,6 +15534,8 @@ }, "node_modules/binary-extensions": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, "license": "MIT", "engines": { @@ -12785,38 +15546,22 @@ } }, "node_modules/bl": { - "version": "4.1.0", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "dev": true, "license": "MIT", "dependencies": { - "buffer": "^5.5.0", + "buffer": "^6.0.3", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/bl/node_modules/readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -12829,18 +15574,26 @@ }, "node_modules/blakejs": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", "license": "MIT" }, "node_modules/bn.js": { "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "license": "MIT" }, "node_modules/bowser": { - "version": "2.11.0", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.12.0.tgz", + "integrity": "sha512-HcOcTudTeEWgbHh0Y1Tyb6fdeR71m4b/QACf0D4KswGTsNeIJQmg38mRENZPAYPZvGFN3fk3604XbQEPdxXdKg==", "license": "MIT" }, "node_modules/boxen": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12862,6 +15615,8 @@ }, "node_modules/boxen/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -12874,8 +15629,23 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/boxen/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/boxen/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -12891,6 +15661,8 @@ }, "node_modules/boxen/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12902,11 +15674,28 @@ }, "node_modules/boxen/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, + "node_modules/boxen/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/brace-expansion": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -12914,6 +15703,8 @@ }, "node_modules/braces": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -12924,15 +15715,21 @@ }, "node_modules/brorand": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "license": "MIT" }, "node_modules/browser-stdout": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true, "license": "ISC" }, "node_modules/browserify-aes": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "license": "MIT", "dependencies": { "buffer-xor": "^1.0.3", @@ -12944,7 +15741,9 @@ } }, "node_modules/browserslist": { - "version": "4.25.1", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.2.tgz", + "integrity": "sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA==", "funding": [ { "type": "opencollective", @@ -12961,8 +15760,8 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001726", - "electron-to-chromium": "^1.5.173", + "caniuse-lite": "^1.0.30001733", + "electron-to-chromium": "^1.5.199", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, @@ -12975,6 +15774,8 @@ }, "node_modules/bs-logger": { "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "license": "MIT", "dependencies": { @@ -12986,6 +15787,8 @@ }, "node_modules/bs58": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz", + "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==", "license": "MIT", "dependencies": { "base-x": "^5.0.0" @@ -12993,6 +15796,8 @@ }, "node_modules/bs58check": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", + "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", "license": "MIT", "dependencies": { "bs58": "^4.0.0", @@ -13002,6 +15807,8 @@ }, "node_modules/bs58check/node_modules/base-x": { "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", "license": "MIT", "dependencies": { "safe-buffer": "^5.0.1" @@ -13009,6 +15816,8 @@ }, "node_modules/bs58check/node_modules/bs58": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", + "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", "license": "MIT", "dependencies": { "base-x": "^3.0.2" @@ -13016,6 +15825,8 @@ }, "node_modules/bser": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" @@ -13023,6 +15834,8 @@ }, "node_modules/buffer": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -13045,6 +15858,8 @@ }, "node_modules/buffer-alloc": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", "license": "MIT", "dependencies": { "buffer-alloc-unsafe": "^1.1.0", @@ -13053,31 +15868,45 @@ }, "node_modules/buffer-alloc-unsafe": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", "license": "MIT" }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", "license": "BSD-3-Clause" }, "node_modules/buffer-fill": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", "license": "MIT" }, "node_modules/buffer-from": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "license": "MIT" }, "node_modules/buffer-xor": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", "license": "MIT" }, "node_modules/builtins": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==", "license": "MIT", "optional": true }, "node_modules/bundle-n-require": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/bundle-n-require/-/bundle-n-require-1.1.2.tgz", + "integrity": "sha512-bEk2jakVK1ytnZ9R2AAiZEeK/GxPUM8jvcRxHZXifZDMcjkI4EG/GlsJ2YGSVYT9y/p/gA9/0yDY8rCGsSU6Tg==", "dev": true, "license": "MIT", "dependencies": { @@ -13087,6 +15916,8 @@ }, "node_modules/bytes": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "license": "MIT", "engines": { @@ -13095,6 +15926,8 @@ }, "node_modules/cacheable-lookup": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", "dev": true, "license": "MIT", "engines": { @@ -13103,6 +15936,8 @@ }, "node_modules/cacheable-request": { "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13120,6 +15955,8 @@ }, "node_modules/call-bind": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.0", @@ -13136,6 +15973,8 @@ }, "node_modules/call-bind-apply-helpers": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -13147,6 +15986,8 @@ }, "node_modules/call-bound": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -13161,6 +16002,8 @@ }, "node_modules/caller-callsite": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", "license": "MIT", "peer": true, "dependencies": { @@ -13172,6 +16015,8 @@ }, "node_modules/caller-callsite/node_modules/callsites": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", "license": "MIT", "peer": true, "engines": { @@ -13180,6 +16025,8 @@ }, "node_modules/caller-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", "license": "MIT", "peer": true, "dependencies": { @@ -13191,23 +16038,26 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { - "version": "6.3.0", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001727", + "version": "1.0.30001734", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001734.tgz", + "integrity": "sha512-uhE1Ye5vgqju6OI71HTQqcBCZrvHugk0MjLak7Q+HfoBgoq5Bi+5YnwjP4fjDgrtYr/l8MVRBvzz9dPD4KyK0A==", "funding": [ { "type": "opencollective", @@ -13226,6 +16076,8 @@ }, "node_modules/canonicalize": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.1.0.tgz", + "integrity": "sha512-F705O3xrsUtgt98j7leetNhTWPe+5S72rlL5O4jA1pKqBVQ/dT1O1D6PFxmSXvc0SUOinWS57DKx0I3CHrXJHQ==", "license": "Apache-2.0", "bin": { "canonicalize": "bin/canonicalize.js" @@ -13233,11 +16085,15 @@ }, "node_modules/caseless": { "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true, "license": "Apache-2.0" }, "node_modules/cbor": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", "dev": true, "license": "MIT", "peer": true, @@ -13250,12 +16106,16 @@ }, "node_modules/cd": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/cd/-/cd-0.3.3.tgz", + "integrity": "sha512-X2y0Ssu48ucdkrNgCdg6k3EZWjWVy/dsEywUUTeZEIW31f3bQfq65Svm+TzU1Hz+qqhdmyCdjGhUvRsSKHl/mw==", "engines": { "node": "*" } }, "node_modules/chai": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "license": "MIT", "dependencies": { "assertion-error": "^1.1.0", @@ -13272,6 +16132,8 @@ }, "node_modules/chai-as-promised": { "version": "7.1.2", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", + "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", "license": "WTFPL", "dependencies": { "check-error": "^1.0.2" @@ -13280,8 +16142,31 @@ "chai": ">= 2.1.2 < 6" } }, + "node_modules/chakra-react-select": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chakra-react-select/-/chakra-react-select-4.5.0.tgz", + "integrity": "sha512-5oxVH9tmn3kVVLt9m/zT28Efv44mk30BZETubE2MhkGMIeM9oJsiL2+dhgKLNUMLRxglmacY00oGQTSI0JrRTA==", + "license": "MIT", + "dependencies": { + "react-select": "5.7.0" + }, + "peerDependencies": { + "@chakra-ui/form-control": "^2.0.0", + "@chakra-ui/icon": "^3.0.0", + "@chakra-ui/layout": "^2.0.0", + "@chakra-ui/media-query": "^3.0.0", + "@chakra-ui/menu": "^2.0.0", + "@chakra-ui/spinner": "^2.0.0", + "@chakra-ui/system": "^2.0.0", + "@emotion/react": "^11.8.1", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/chalk": { - "version": "5.4.1", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.5.0.tgz", + "integrity": "sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==", "dev": true, "license": "MIT", "engines": { @@ -13293,6 +16178,8 @@ }, "node_modules/char-regex": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, "license": "MIT", "engines": { @@ -13301,6 +16188,8 @@ }, "node_modules/character-entities": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", "license": "MIT", "funding": { "type": "github", @@ -13309,6 +16198,8 @@ }, "node_modules/character-entities-legacy": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", "license": "MIT", "funding": { "type": "github", @@ -13317,6 +16208,8 @@ }, "node_modules/character-reference-invalid": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", "license": "MIT", "funding": { "type": "github", @@ -13325,11 +16218,15 @@ }, "node_modules/chardet": { "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "license": "MIT", "optional": true }, "node_modules/charenc": { "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -13338,6 +16235,8 @@ }, "node_modules/check-error": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "license": "MIT", "dependencies": { "get-func-name": "^2.0.2" @@ -13347,20 +16246,34 @@ } }, "node_modules/chokidar": { - "version": "4.0.3", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, "license": "MIT", "dependencies": { - "readdirp": "^4.0.1" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">= 14.16.0" + "node": ">= 8.10.0" }, "funding": { "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, "node_modules/chownr": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "license": "ISC", "optional": true, "engines": { @@ -13369,6 +16282,8 @@ }, "node_modules/chrome-launcher": { "version": "0.15.2", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", + "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", "license": "Apache-2.0", "peer": true, "dependencies": { @@ -13386,6 +16301,8 @@ }, "node_modules/chromium-edge-launcher": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz", + "integrity": "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==", "license": "Apache-2.0", "peer": true, "dependencies": { @@ -13399,6 +16316,8 @@ }, "node_modules/chromium-edge-launcher/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "license": "MIT", "peer": true, "dependencies": { @@ -13408,6 +16327,9 @@ }, "node_modules/chromium-edge-launcher/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "license": "ISC", "peer": true, "dependencies": { @@ -13427,6 +16349,8 @@ }, "node_modules/chromium-edge-launcher/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "license": "ISC", "peer": true, "dependencies": { @@ -13436,8 +16360,24 @@ "node": "*" } }, + "node_modules/chromium-edge-launcher/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/chromium-edge-launcher/node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "license": "ISC", "peer": true, "dependencies": { @@ -13452,10 +16392,14 @@ }, "node_modules/ci-info": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "license": "MIT" }, "node_modules/cipher-base": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", + "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", "license": "MIT", "dependencies": { "inherits": "^2.0.4", @@ -13467,11 +16411,15 @@ }, "node_modules/cjs-module-lexer": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", "dev": true, "license": "MIT" }, "node_modules/clean-stack": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, "license": "MIT", "engines": { @@ -13480,6 +16428,8 @@ }, "node_modules/clear-any-console": { "version": "1.16.3", + "resolved": "https://registry.npmjs.org/clear-any-console/-/clear-any-console-1.16.3.tgz", + "integrity": "sha512-x174l55a86DGVU0KvnLITsXhRgqwd/xNDTy16OyKKOiJU+1pXF9DrV9YvlepfMc/JuJ3a7CMNLEF4O7qwk0mEw==", "dev": true, "license": "MIT", "dependencies": { @@ -13488,6 +16438,8 @@ }, "node_modules/cli-boxes": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", "dev": true, "license": "MIT", "engines": { @@ -13499,6 +16451,8 @@ }, "node_modules/cli-cursor": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, "license": "MIT", "dependencies": { @@ -13513,6 +16467,8 @@ }, "node_modules/cli-spinners": { "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", "license": "MIT", "engines": { "node": ">=6" @@ -13523,6 +16479,8 @@ }, "node_modules/cli-table3": { "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13537,6 +16495,8 @@ }, "node_modules/cli-truncate": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "dev": true, "license": "MIT", "dependencies": { @@ -13552,6 +16512,8 @@ }, "node_modules/cli-truncate/node_modules/ansi-regex": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -13563,11 +16525,15 @@ }, "node_modules/cli-truncate/node_modules/emoji-regex": { "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true, "license": "MIT" }, "node_modules/cli-truncate/node_modules/string-width": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13584,6 +16550,8 @@ }, "node_modules/cli-truncate/node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13598,6 +16566,8 @@ }, "node_modules/cli-welcome": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/cli-welcome/-/cli-welcome-2.2.3.tgz", + "integrity": "sha512-hxaOpahLk5PAYJj4tOcv8vaNMaBQHeMzeLQTAHq2EoGGTKVYV/MPCSlg5EEsKZ7y8WDGS2ScQtnITw02ZNukMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13607,6 +16577,8 @@ }, "node_modules/cli-welcome/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13620,6 +16592,8 @@ }, "node_modules/cli-welcome/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "license": "MIT", "engines": { @@ -13628,6 +16602,8 @@ }, "node_modules/cli-welcome/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "license": "MIT", "engines": { @@ -13636,6 +16612,8 @@ }, "node_modules/cli-welcome/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "license": "MIT", "dependencies": { @@ -13647,6 +16625,8 @@ }, "node_modules/cli-width": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "license": "ISC", "optional": true, "engines": { @@ -13655,6 +16635,8 @@ }, "node_modules/cliui": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "license": "ISC", "dependencies": { "string-width": "^4.2.0", @@ -13667,6 +16649,8 @@ }, "node_modules/clone": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "license": "MIT", "engines": { "node": ">=0.8" @@ -13674,6 +16658,8 @@ }, "node_modules/co": { "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, "license": "MIT", "engines": { @@ -13683,11 +16669,15 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true, "license": "MIT" }, "node_modules/color": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "license": "MIT", "dependencies": { "color-convert": "^1.9.3", @@ -13696,6 +16686,8 @@ }, "node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "license": "MIT", "dependencies": { "color-name": "1.1.3" @@ -13703,10 +16695,14 @@ }, "node_modules/color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "license": "MIT" }, "node_modules/color-string": { "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "license": "MIT", "dependencies": { "color-name": "^1.0.0", @@ -13715,6 +16711,8 @@ }, "node_modules/color-support": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "license": "ISC", "optional": true, "bin": { @@ -13723,14 +16721,20 @@ }, "node_modules/color2k": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/color2k/-/color2k-2.0.3.tgz", + "integrity": "sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==", "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "license": "MIT" }, "node_modules/colors": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, "license": "MIT", "engines": { @@ -13739,6 +16743,8 @@ }, "node_modules/colorspace": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", "license": "MIT", "dependencies": { "color": "^3.1.3", @@ -13747,6 +16753,8 @@ }, "node_modules/combined-stream": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" @@ -13757,6 +16765,8 @@ }, "node_modules/comma-separated-tokens": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", "license": "MIT", "funding": { "type": "github", @@ -13765,11 +16775,15 @@ }, "node_modules/command-exists": { "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", "dev": true, "license": "MIT" }, "node_modules/command-line-args": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", "devOptional": true, "license": "MIT", "dependencies": { @@ -13784,6 +16798,8 @@ }, "node_modules/command-line-commands": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/command-line-commands/-/command-line-commands-3.0.2.tgz", + "integrity": "sha512-ac6PdCtdR6q7S3HN+JiVLIWGHY30PRYIEl2qPo+FuEuzwAUk0UYyimrngrg7FvF/mCr4Jgoqv5ZnHZgads50rw==", "license": "MIT", "optional": true, "dependencies": { @@ -13795,6 +16811,8 @@ }, "node_modules/command-line-commands/node_modules/array-back": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", "license": "MIT", "optional": true, "engines": { @@ -13803,6 +16821,8 @@ }, "node_modules/command-line-usage": { "version": "6.1.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", + "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", "devOptional": true, "license": "MIT", "dependencies": { @@ -13817,6 +16837,8 @@ }, "node_modules/command-line-usage/node_modules/array-back": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", "devOptional": true, "license": "MIT", "engines": { @@ -13825,6 +16847,8 @@ }, "node_modules/command-line-usage/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "devOptional": true, "license": "MIT", "dependencies": { @@ -13838,6 +16862,8 @@ }, "node_modules/command-line-usage/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "devOptional": true, "license": "MIT", "engines": { @@ -13846,6 +16872,8 @@ }, "node_modules/command-line-usage/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "devOptional": true, "license": "MIT", "engines": { @@ -13854,6 +16882,8 @@ }, "node_modules/command-line-usage/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "devOptional": true, "license": "MIT", "dependencies": { @@ -13865,6 +16895,8 @@ }, "node_modules/command-line-usage/node_modules/typical": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", "devOptional": true, "license": "MIT", "engines": { @@ -13872,20 +16904,26 @@ } }, "node_modules/commander": { - "version": "13.1.0", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=16" } }, "node_modules/commondir": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true, "license": "MIT" }, "node_modules/compare-func": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, "license": "MIT", "dependencies": { @@ -13895,19 +16933,27 @@ }, "node_modules/compare-versions": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", + "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", "dev": true, "license": "MIT" }, "node_modules/compute-scroll-into-view": { "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==", "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "license": "MIT" }, "node_modules/concat-stream": { "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "engines": [ "node >= 0.8" @@ -13922,6 +16968,8 @@ }, "node_modules/config-chain": { "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13931,11 +16979,15 @@ }, "node_modules/config-chain/node_modules/ini": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, "license": "ISC" }, "node_modules/configstore": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -13954,6 +17006,8 @@ }, "node_modules/configstore/node_modules/dot-prop": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", "dev": true, "license": "MIT", "dependencies": { @@ -13968,11 +17022,15 @@ }, "node_modules/configstore/node_modules/signal-exit": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, "license": "ISC" }, "node_modules/configstore/node_modules/write-file-atomic": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "license": "ISC", "dependencies": { @@ -13984,6 +17042,8 @@ }, "node_modules/connect": { "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "license": "MIT", "peer": true, "dependencies": { @@ -13998,6 +17058,8 @@ }, "node_modules/connect-history-api-fallback": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true, "license": "MIT", "engines": { @@ -14006,6 +17068,8 @@ }, "node_modules/connect/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", "peer": true, "dependencies": { @@ -14014,16 +17078,22 @@ }, "node_modules/connect/node_modules/ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT", "peer": true }, "node_modules/console-control-strings": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "license": "ISC", "optional": true }, "node_modules/conventional-changelog-angular": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", + "integrity": "sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==", "dev": true, "license": "ISC", "dependencies": { @@ -14035,6 +17105,8 @@ }, "node_modules/conventional-changelog-conventionalcommits": { "version": "7.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz", + "integrity": "sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==", "dev": true, "license": "ISC", "dependencies": { @@ -14046,6 +17118,8 @@ }, "node_modules/conventional-commits-parser": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz", + "integrity": "sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==", "dev": true, "license": "MIT", "dependencies": { @@ -14063,10 +17137,14 @@ }, "node_modules/convert-source-map": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "license": "MIT" }, "node_modules/cookie": { "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true, "license": "MIT", "engines": { @@ -14075,17 +17153,23 @@ }, "node_modules/cookie-es": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", "license": "MIT" }, "node_modules/copy-to-clipboard": { "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", "license": "MIT", "dependencies": { "toggle-selection": "^1.0.6" } }, "node_modules/core-js-compat": { - "version": "3.44.0", + "version": "3.45.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.0.tgz", + "integrity": "sha512-gRoVMBawZg0OnxaVv3zpqLLxaHmsubEGyTnqdpI/CEBvX4JadI1dMSHxagThprYRtSVbuQxvi6iUatdPxohHpA==", "dev": true, "license": "MIT", "dependencies": { @@ -14098,10 +17182,14 @@ }, "node_modules/core-util-is": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "license": "MIT" }, "node_modules/cosmiconfig": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, "license": "MIT", "dependencies": { @@ -14127,6 +17215,8 @@ }, "node_modules/cosmiconfig-typescript-loader": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.1.0.tgz", + "integrity": "sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==", "dev": true, "license": "MIT", "dependencies": { @@ -14141,8 +17231,30 @@ "typescript": ">=5" } }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/crc-32": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", "license": "Apache-2.0", "bin": { "crc32": "bin/crc32.njs" @@ -14153,6 +17265,8 @@ }, "node_modules/create-hash": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", @@ -14164,6 +17278,8 @@ }, "node_modules/create-hmac": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", @@ -14176,6 +17292,8 @@ }, "node_modules/create-jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, "license": "MIT", "dependencies": { @@ -14196,6 +17314,8 @@ }, "node_modules/create-jest/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -14210,6 +17330,8 @@ }, "node_modules/create-jest/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -14225,6 +17347,8 @@ }, "node_modules/create-jest/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -14236,16 +17360,22 @@ }, "node_modules/create-jest/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/create-require": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true, "license": "MIT" }, "node_modules/cross-fetch": { "version": "3.1.6", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz", + "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==", "license": "MIT", "dependencies": { "node-fetch": "^2.6.11" @@ -14253,6 +17383,8 @@ }, "node_modules/cross-spawn": { "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -14265,6 +17397,8 @@ }, "node_modules/crossws": { "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", "license": "MIT", "dependencies": { "uncrypto": "^0.1.3" @@ -14272,6 +17406,8 @@ }, "node_modules/crypt": { "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -14280,10 +17416,14 @@ }, "node_modules/crypto-js": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==", "license": "MIT" }, "node_modules/crypto-random-string": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", "dev": true, "license": "MIT", "dependencies": { @@ -14298,6 +17438,8 @@ }, "node_modules/crypto-random-string/node_modules/type-fest": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -14309,6 +17451,8 @@ }, "node_modules/css-box-model": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz", + "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==", "license": "MIT", "dependencies": { "tiny-invariant": "^1.0.6" @@ -14316,16 +17460,22 @@ }, "node_modules/css.escape": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", "dev": true, "license": "MIT" }, "node_modules/cssom": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", "dev": true, "license": "MIT" }, "node_modules/cssstyle": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "license": "MIT", "dependencies": { @@ -14337,15 +17487,21 @@ }, "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true, "license": "MIT" }, "node_modules/csstype": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "license": "MIT" }, "node_modules/dargs": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-8.1.0.tgz", + "integrity": "sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==", "dev": true, "license": "MIT", "engines": { @@ -14357,6 +17513,8 @@ }, "node_modules/data-uri-to-buffer": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", "license": "MIT", "engines": { "node": ">= 12" @@ -14364,6 +17522,8 @@ }, "node_modules/data-urls": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "dev": true, "license": "MIT", "dependencies": { @@ -14375,39 +17535,10 @@ "node": ">=12" } }, - "node_modules/data-urls/node_modules/tr46": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/webidl-conversions": { - "version": "7.0.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "11.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/data-view-buffer": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dev": true, "license": "MIT", "dependencies": { @@ -14424,6 +17555,8 @@ }, "node_modules/data-view-byte-length": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dev": true, "license": "MIT", "dependencies": { @@ -14440,6 +17573,8 @@ }, "node_modules/data-view-byte-offset": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dev": true, "license": "MIT", "dependencies": { @@ -14456,6 +17591,8 @@ }, "node_modules/date-fns": { "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.21.0" @@ -14470,6 +17607,8 @@ }, "node_modules/date-fns-tz": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-2.0.1.tgz", + "integrity": "sha512-fJCG3Pwx8HUoLhkepdsP7Z5RsucUi+ZBOxyM5d0ZZ6c4SdYustq0VMmOu6Wf7bli+yS/Jwp91TOCqn9jMcVrUA==", "dev": true, "license": "MIT", "peerDependencies": { @@ -14478,6 +17617,8 @@ }, "node_modules/dateformat": { "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", "license": "MIT", "engines": { "node": "*" @@ -14485,10 +17626,14 @@ }, "node_modules/death": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", + "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==", "dev": true }, "node_modules/debug": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -14504,6 +17649,8 @@ }, "node_modules/decamelize": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, "license": "MIT", "engines": { @@ -14515,11 +17662,15 @@ }, "node_modules/decimal.js": { "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", "dev": true, "license": "MIT" }, "node_modules/decode-uri-component": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "license": "MIT", "engines": { "node": ">=0.10" @@ -14527,6 +17678,8 @@ }, "node_modules/decompress-response": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, "license": "MIT", "dependencies": { @@ -14541,6 +17694,8 @@ }, "node_modules/decompress-response/node_modules/mimic-response": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, "license": "MIT", "engines": { @@ -14552,6 +17707,8 @@ }, "node_modules/dedent": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz", + "integrity": "sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==", "dev": true, "license": "MIT", "peerDependencies": { @@ -14565,6 +17722,8 @@ }, "node_modules/deep-eql": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", "license": "MIT", "dependencies": { "type-detect": "^4.0.0" @@ -14575,6 +17734,8 @@ }, "node_modules/deep-equal": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", "dev": true, "license": "MIT", "dependencies": { @@ -14606,11 +17767,15 @@ }, "node_modules/deep-equal/node_modules/isarray": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, "license": "MIT" }, "node_modules/deep-extend": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "devOptional": true, "license": "MIT", "engines": { @@ -14619,11 +17784,15 @@ }, "node_modules/deep-is": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true, "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "license": "MIT", "engines": { @@ -14632,6 +17801,8 @@ }, "node_modules/defaults": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "license": "MIT", "dependencies": { "clone": "^1.0.2" @@ -14642,6 +17813,8 @@ }, "node_modules/defer-to-connect": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true, "license": "MIT", "engines": { @@ -14650,6 +17823,8 @@ }, "node_modules/define-data-property": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", @@ -14665,6 +17840,8 @@ }, "node_modules/define-properties": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "license": "MIT", "dependencies": { @@ -14681,10 +17858,14 @@ }, "node_modules/defu": { "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", "license": "MIT" }, "node_modules/delayed-stream": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "license": "MIT", "engines": { "node": ">=0.4.0" @@ -14692,11 +17873,15 @@ }, "node_modules/delegates": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "license": "MIT", "optional": true }, "node_modules/delete-empty": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/delete-empty/-/delete-empty-3.0.0.tgz", + "integrity": "sha512-ZUyiwo76W+DYnKsL3Kim6M/UOavPdBJgDYWOmuQhYaZvJH0AXAHbUNyEDtRbBra8wqqr686+63/0azfEk1ebUQ==", "dev": true, "license": "MIT", "dependencies": { @@ -14714,6 +17899,8 @@ }, "node_modules/delete-empty/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -14723,6 +17910,9 @@ }, "node_modules/delete-empty/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -14742,6 +17932,8 @@ }, "node_modules/delete-empty/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -14753,6 +17945,9 @@ }, "node_modules/delete-empty/node_modules/rimraf": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -14764,6 +17959,8 @@ }, "node_modules/depd": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -14771,6 +17968,8 @@ }, "node_modules/dequal": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, "license": "MIT", "engines": { @@ -14779,10 +17978,14 @@ }, "node_modules/destr": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", "license": "MIT" }, "node_modules/destroy": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "license": "MIT", "peer": true, "engines": { @@ -14792,10 +17995,14 @@ }, "node_modules/detect-browser": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==", "license": "MIT" }, "node_modules/detect-libc": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "license": "Apache-2.0", "optional": true, "engines": { @@ -14804,6 +18011,8 @@ }, "node_modules/detect-newline": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, "license": "MIT", "engines": { @@ -14812,10 +18021,14 @@ }, "node_modules/detect-node-es": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", "license": "MIT" }, "node_modules/did-jwt": { "version": "8.0.17", + "resolved": "https://registry.npmjs.org/did-jwt/-/did-jwt-8.0.17.tgz", + "integrity": "sha512-qWPog796seH8CzvNShvqvs6YeCRVAYWmKzcPtirnhvH6wjiFvhquztJZwr5E9VHnTosW6V7bclWzrp7/HGJbSw==", "license": "Apache-2.0", "dependencies": { "@noble/ciphers": "^1.0.0", @@ -14831,14 +18044,20 @@ }, "node_modules/did-jwt/node_modules/multiformats": { "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", "license": "(Apache-2.0 AND MIT)" }, "node_modules/did-resolver": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/did-resolver/-/did-resolver-4.1.0.tgz", + "integrity": "sha512-S6fWHvCXkZg2IhS4RcVHxwuyVejPR7c+a4Go0xbQ9ps5kILa8viiYQgrM4gfTyeTjJ0ekgJH9gk/BawTpmkbZA==", "license": "Apache-2.0" }, "node_modules/diff": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -14847,6 +18066,8 @@ }, "node_modules/diff-sequences": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, "license": "MIT", "engines": { @@ -14855,17 +18076,26 @@ }, "node_modules/difflib": { "version": "0.2.4", + "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", + "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", "dev": true, "dependencies": { "heap": ">= 0.2.0" + }, + "engines": { + "node": "*" } }, "node_modules/dijkstrajs": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", "license": "MIT" }, "node_modules/dir-glob": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "license": "MIT", "dependencies": { @@ -14877,6 +18107,8 @@ }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -14888,11 +18120,15 @@ }, "node_modules/dom-accessibility-api": { "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", "dev": true, "license": "MIT" }, "node_modules/dom-helpers": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.7", @@ -14901,6 +18137,9 @@ }, "node_modules/domexception": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", "dev": true, "license": "MIT", "dependencies": { @@ -14910,116 +18149,297 @@ "node": ">=12" } }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "7.0.0", + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", "license": "BSD-2-Clause", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/dot-prop": { - "version": "5.3.0", - "dev": true, + "node_modules/dpdm": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/dpdm/-/dpdm-3.14.0.tgz", + "integrity": "sha512-YJzsFSyEtj88q5eTELg3UWU7TVZkG1dpbF4JDQ3t1b07xuzXmdoGeSz9TKOke1mUuOpWlk4q+pBh+aHzD6GBTg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "fs-extra": "^11.1.1", + "glob": "^10.3.4", + "ora": "^5.4.1", + "tslib": "^2.6.2", + "typescript": "^5.2.2", + "yargs": "^17.7.2" + }, + "bin": { + "dpdm": "lib/bin/dpdm.js" + } + }, + "node_modules/dpdm/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/dpdm/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/dpdm/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/dpdm/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/dpdm/node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dpdm/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/dpdm/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/dpdm/node_modules/fs-extra": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.1.tgz", + "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/dpdm/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/dpdm/node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, "engines": { "node": ">=8" } }, - "node_modules/dotenv": { - "version": "16.6.1", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" + "node_modules/dpdm/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" }, "funding": { - "url": "https://dotenvx.com" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/dpdm": { - "version": "3.14.0", + "node_modules/dpdm/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "license": "MIT", "dependencies": { - "chalk": "^4.1.2", - "fs-extra": "^11.1.1", - "glob": "^10.3.4", - "ora": "^5.4.1", - "tslib": "^2.6.2", - "typescript": "^5.2.2", - "yargs": "^17.7.2" + "universalify": "^2.0.0" }, - "bin": { - "dpdm": "lib/bin/dpdm.js" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/dpdm/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/dpdm/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/dpdm/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dpdm/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", + "node_modules/dpdm/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.18" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/dpdm/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/dpdm/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">= 6" } }, - "node_modules/dpdm/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, - "node_modules/dpdm/node_modules/fs-extra": { - "version": "11.3.0", + "node_modules/dpdm/node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "license": "MIT", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=14.14" + "node": ">=8" } }, - "node_modules/dpdm/node_modules/jsonfile": { - "version": "6.1.0", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } + "node_modules/dpdm/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/dpdm/node_modules/universalify": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "license": "MIT", "engines": { "node": ">= 10.0.0" @@ -15027,6 +18447,8 @@ }, "node_modules/dunder-proto": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -15039,6 +18461,8 @@ }, "node_modules/duplexify": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz", + "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==", "license": "MIT", "dependencies": { "end-of-stream": "^1.4.1", @@ -15049,6 +18473,8 @@ }, "node_modules/duplexify/node_modules/readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -15061,10 +18487,14 @@ }, "node_modules/eastasianwidth": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "license": "MIT" }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", "license": "Apache-2.0", "dependencies": { "safe-buffer": "^5.0.1" @@ -15072,6 +18502,8 @@ }, "node_modules/echarts": { "version": "5.6.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.6.0.tgz", + "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", "license": "Apache-2.0", "dependencies": { "tslib": "2.3.0", @@ -15080,6 +18512,8 @@ }, "node_modules/echarts-for-react": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/echarts-for-react/-/echarts-for-react-3.0.2.tgz", + "integrity": "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==", "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -15092,15 +18526,21 @@ }, "node_modules/echarts/node_modules/tslib": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", "license": "0BSD" }, "node_modules/ee-first": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "license": "MIT", "peer": true }, "node_modules/efate": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/efate/-/efate-1.5.1.tgz", + "integrity": "sha512-lkq5XDCBNcZElE09T5NX8H+ViF5tZPLu98Wog//xj69Y9k9gguoImEc5APFfSudH/eWfFUZKIjmK2ZNF16r3kg==", "license": "MIT", "dependencies": { "debug": "^4.1.1", @@ -15108,26 +18548,16 @@ "lodash.mergewith": "^4.6.2" } }, - "node_modules/ejs": { - "version": "3.1.10", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/electron-to-chromium": { - "version": "1.5.186", + "version": "1.5.200", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.200.tgz", + "integrity": "sha512-rFCxROw7aOe4uPTfIAx+rXv9cEcGx+buAF4npnhtTqCJk5KDFRnh3+KYj7rdVh6lsFt5/aPs+Irj9rZ33WMA7w==", "license": "ISC" }, "node_modules/elliptic": { "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", "license": "MIT", "dependencies": { "bn.js": "^4.11.9", @@ -15141,10 +18571,14 @@ }, "node_modules/elliptic/node_modules/bn.js": { "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "license": "MIT" }, "node_modules/emittery": { "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, "license": "MIT", "engines": { @@ -15156,18 +18590,26 @@ }, "node_modules/emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, "node_modules/enabled": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", "license": "MIT" }, "node_modules/encode-utf8": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", "license": "MIT" }, "node_modules/encodeurl": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "license": "MIT", "peer": true, "engines": { @@ -15176,6 +18618,8 @@ }, "node_modules/end-of-stream": { "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "license": "MIT", "dependencies": { "once": "^1.4.0" @@ -15183,6 +18627,8 @@ }, "node_modules/enquirer": { "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dev": true, "license": "MIT", "dependencies": { @@ -15195,6 +18641,8 @@ }, "node_modules/entities": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -15206,6 +18654,8 @@ }, "node_modules/env-paths": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, "license": "MIT", "engines": { @@ -15214,6 +18664,8 @@ }, "node_modules/environment": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, "license": "MIT", "engines": { @@ -15225,6 +18677,8 @@ }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" @@ -15232,6 +18686,8 @@ }, "node_modules/error-stack-parser": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "license": "MIT", "peer": true, "dependencies": { @@ -15240,6 +18696,8 @@ }, "node_modules/es-abstract": { "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", "dev": true, "license": "MIT", "dependencies": { @@ -15307,6 +18765,8 @@ }, "node_modules/es-define-property": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -15314,6 +18774,8 @@ }, "node_modules/es-errors": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -15321,6 +18783,8 @@ }, "node_modules/es-get-iterator": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, "license": "MIT", "dependencies": { @@ -15340,11 +18804,15 @@ }, "node_modules/es-get-iterator/node_modules/isarray": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, "license": "MIT" }, "node_modules/es-object-atoms": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -15355,6 +18823,8 @@ }, "node_modules/es-set-tostringtag": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -15368,6 +18838,8 @@ }, "node_modules/es-shim-unscopables": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", "dev": true, "license": "MIT", "dependencies": { @@ -15379,6 +18851,8 @@ }, "node_modules/es-to-primitive": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", "dev": true, "license": "MIT", "dependencies": { @@ -15395,10 +18869,14 @@ }, "node_modules/es6-promise": { "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "license": "MIT" }, "node_modules/esbuild": { "version": "0.25.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz", + "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -15439,6 +18917,8 @@ }, "node_modules/escalade": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "license": "MIT", "engines": { "node": ">=6" @@ -15446,6 +18926,8 @@ }, "node_modules/escape-goat": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", "dev": true, "license": "MIT", "engines": { @@ -15457,11 +18939,15 @@ }, "node_modules/escape-html": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "license": "MIT", "peer": true }, "node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "license": "MIT", "engines": { "node": ">=10" @@ -15471,92 +18957,43 @@ } }, "node_modules/escodegen": { - "version": "1.8.1", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" }, "bin": { "escodegen": "bin/escodegen.js", "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=0.12.0" + "node": ">=6.0" }, "optionalDependencies": { - "source-map": "~0.2.0" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "1.9.3", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "dev": true, - "engines": { - "node": ">= 0.8.0" + "source-map": "~0.6.1" } }, "node_modules/escodegen/node_modules/source-map": { - "version": "0.2.0", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "optional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2" - }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, "node_modules/eslint": { "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", "dependencies": { @@ -15610,7 +19047,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "9.1.0", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.2.tgz", + "integrity": "sha512-iI1f+D2ViGn+uvv5HuHVUamg8ll4tN+JRHGc6IJi4TP9Kl976C57fzPXgseXNs8v0iA8aSJpHsTWjDb9QJamGQ==", "dev": true, "license": "MIT", "bin": { @@ -15622,6 +19061,8 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "license": "MIT", "dependencies": { @@ -15632,33 +19073,18 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, - "node_modules/eslint-import-resolver-node/node_modules/resolve": { - "version": "1.22.10", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/eslint-module-utils": { "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", "dev": true, "license": "MIT", "dependencies": { @@ -15675,6 +19101,8 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "license": "MIT", "dependencies": { @@ -15683,6 +19111,8 @@ }, "node_modules/eslint-plugin-import": { "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", "dependencies": { @@ -15715,6 +19145,8 @@ }, "node_modules/eslint-plugin-import/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -15724,6 +19156,8 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "license": "MIT", "dependencies": { @@ -15732,6 +19166,8 @@ }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -15743,6 +19179,8 @@ }, "node_modules/eslint-plugin-import/node_modules/json5": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "license": "MIT", "dependencies": { @@ -15754,6 +19192,8 @@ }, "node_modules/eslint-plugin-import/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -15763,16 +19203,10 @@ "node": "*" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/eslint-plugin-import/node_modules/strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "license": "MIT", "engines": { @@ -15781,6 +19215,8 @@ }, "node_modules/eslint-plugin-import/node_modules/tsconfig-paths": { "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, "license": "MIT", "dependencies": { @@ -15792,6 +19228,8 @@ }, "node_modules/eslint-plugin-jest": { "version": "27.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", + "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", "dev": true, "license": "MIT", "dependencies": { @@ -15816,6 +19254,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "license": "MIT", "dependencies": { @@ -15832,6 +19272,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, "license": "MIT", "engines": { @@ -15844,6 +19286,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -15870,6 +19314,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "license": "MIT", "dependencies": { @@ -15895,6 +19341,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "license": "MIT", "dependencies": { @@ -15911,6 +19359,8 @@ }, "node_modules/eslint-plugin-jest/node_modules/eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -15923,14 +19373,31 @@ }, "node_modules/eslint-plugin-jest/node_modules/estraverse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, + "node_modules/eslint-plugin-jest/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/eslint-plugin-license-header": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-license-header/-/eslint-plugin-license-header-0.6.1.tgz", + "integrity": "sha512-9aIz8q3OaMr1/uQmCGCWySjTs5nEXUJexNegz/8lluNcZbEl82Ag1Vyr1Hu3oIveRW1NbXDPs6nu4zu9mbrmWA==", "dev": true, "license": "MIT", "dependencies": { @@ -15938,7 +19405,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.5.3", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", + "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", "dev": true, "license": "MIT", "dependencies": { @@ -15968,6 +19437,8 @@ }, "node_modules/eslint-plugin-react-hooks": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "dev": true, "license": "MIT", "engines": { @@ -15979,6 +19450,8 @@ }, "node_modules/eslint-plugin-react-refresh": { "version": "0.3.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz", + "integrity": "sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==", "dev": true, "license": "MIT", "peerDependencies": { @@ -15987,6 +19460,8 @@ }, "node_modules/eslint-plugin-unused-imports": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-4.1.4.tgz", + "integrity": "sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -16001,6 +19476,8 @@ }, "node_modules/eslint-scope": { "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -16016,6 +19493,8 @@ }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "license": "Apache-2.0", "engines": { @@ -16027,6 +19506,8 @@ }, "node_modules/eslint/node_modules/@eslint/js": { "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "license": "MIT", "engines": { @@ -16035,6 +19516,8 @@ }, "node_modules/eslint/node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -16050,6 +19533,8 @@ }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -16062,8 +19547,17 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -16073,6 +19567,8 @@ }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -16088,6 +19584,8 @@ }, "node_modules/eslint/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -16099,11 +19597,15 @@ }, "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/eslint/node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { @@ -16113,17 +19615,63 @@ "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, "node_modules/eslint/node_modules/locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { @@ -16138,6 +19686,8 @@ }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -16149,6 +19699,8 @@ }, "node_modules/eslint/node_modules/p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -16163,14 +19715,31 @@ }, "node_modules/eslint/node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/espree": { "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -16186,19 +19755,22 @@ } }, "node_modules/esprima": { - "version": "2.7.3", - "dev": true, + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/esquery": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -16210,6 +19782,8 @@ }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -16221,6 +19795,8 @@ }, "node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -16228,12 +19804,16 @@ } }, "node_modules/estree-walker": { - "version": "0.6.1", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true, "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -16242,6 +19822,8 @@ }, "node_modules/etag": { "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "license": "MIT", "peer": true, "engines": { @@ -16250,6 +19832,8 @@ }, "node_modules/eth-gas-reporter": { "version": "0.2.27", + "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz", + "integrity": "sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==", "dev": true, "license": "MIT", "dependencies": { @@ -16278,6 +19862,8 @@ }, "node_modules/eth-gas-reporter/node_modules/@noble/hashes": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", "dev": true, "funding": [ { @@ -16289,6 +19875,8 @@ }, "node_modules/eth-gas-reporter/node_modules/@scure/base": { "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", "dev": true, "license": "MIT", "funding": { @@ -16297,6 +19885,8 @@ }, "node_modules/eth-gas-reporter/node_modules/@scure/bip32": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", "dev": true, "funding": [ { @@ -16313,6 +19903,8 @@ }, "node_modules/eth-gas-reporter/node_modules/@scure/bip39": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", "dev": true, "funding": [ { @@ -16328,6 +19920,8 @@ }, "node_modules/eth-gas-reporter/node_modules/ansi-regex": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, "license": "MIT", "engines": { @@ -16336,6 +19930,8 @@ }, "node_modules/eth-gas-reporter/node_modules/cli-table3": { "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", "dev": true, "license": "MIT", "dependencies": { @@ -16351,6 +19947,8 @@ }, "node_modules/eth-gas-reporter/node_modules/ethereum-cryptography": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", "dev": true, "license": "MIT", "dependencies": { @@ -16362,6 +19960,8 @@ }, "node_modules/eth-gas-reporter/node_modules/is-fullwidth-code-point": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, "license": "MIT", "engines": { @@ -16370,6 +19970,8 @@ }, "node_modules/eth-gas-reporter/node_modules/string-width": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "license": "MIT", "dependencies": { @@ -16382,6 +19984,8 @@ }, "node_modules/eth-gas-reporter/node_modules/strip-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "license": "MIT", "dependencies": { @@ -16393,6 +19997,8 @@ }, "node_modules/eth-rpc-errors": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", + "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", "license": "MIT", "dependencies": { "fast-safe-stringify": "^2.0.6" @@ -16400,6 +20006,8 @@ }, "node_modules/ethereum-bloom-filters": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz", + "integrity": "sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==", "license": "MIT", "dependencies": { "@noble/hashes": "^1.4.0" @@ -16407,6 +20015,8 @@ }, "node_modules/ethereum-cryptography": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", "license": "MIT", "dependencies": { "@noble/curves": "1.4.2", @@ -16417,6 +20027,8 @@ }, "node_modules/ethereum-cryptography/node_modules/@noble/curves": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", "license": "MIT", "dependencies": { "@noble/hashes": "1.4.0" @@ -16427,6 +20039,8 @@ }, "node_modules/ethereum-cryptography/node_modules/@noble/hashes": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "license": "MIT", "engines": { "node": ">= 16" @@ -16437,6 +20051,8 @@ }, "node_modules/ethereumjs-util": { "version": "7.1.5", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", + "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", "license": "MPL-2.0", "dependencies": { "@types/bn.js": "^5.1.0", @@ -16451,6 +20067,8 @@ }, "node_modules/ethereumjs-util/node_modules/ethereum-cryptography": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", "license": "MIT", "dependencies": { "@types/pbkdf2": "^3.0.0", @@ -16472,6 +20090,8 @@ }, "node_modules/ethers": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", + "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", "funding": [ { "type": "individual", @@ -16518,6 +20138,8 @@ }, "node_modules/ethjs-unit": { "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", "license": "MIT", "dependencies": { "bn.js": "4.11.6", @@ -16530,10 +20152,14 @@ }, "node_modules/ethjs-unit/node_modules/bn.js": { "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", "license": "MIT" }, "node_modules/ethr-did-resolver": { - "version": "11.0.4", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/ethr-did-resolver/-/ethr-did-resolver-11.0.5.tgz", + "integrity": "sha512-fTQ+4g4aRDyU1hzlPH6FYgpoOd7fM8ZV9+3JCl2PqSDnS8Iz9V+y/9KOjLzqhY6LKhMWW5hIbaGypwOPWj15JA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -16543,11 +20169,15 @@ }, "node_modules/ethr-did-resolver/node_modules/@adraffy/ens-normalize": { "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", "dev": true, "license": "MIT" }, "node_modules/ethr-did-resolver/node_modules/@noble/curves": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", "dev": true, "license": "MIT", "dependencies": { @@ -16559,6 +20189,8 @@ }, "node_modules/ethr-did-resolver/node_modules/@noble/hashes": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", "dev": true, "license": "MIT", "engines": { @@ -16570,6 +20202,8 @@ }, "node_modules/ethr-did-resolver/node_modules/@types/node": { "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", "dev": true, "license": "MIT", "dependencies": { @@ -16578,11 +20212,15 @@ }, "node_modules/ethr-did-resolver/node_modules/aes-js": { "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", "dev": true, "license": "MIT" }, "node_modules/ethr-did-resolver/node_modules/ethers": { "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.15.0.tgz", + "integrity": "sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ==", "dev": true, "funding": [ { @@ -16610,16 +20248,22 @@ }, "node_modules/ethr-did-resolver/node_modules/tslib": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "dev": true, "license": "0BSD" }, "node_modules/ethr-did-resolver/node_modules/undici-types": { "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "dev": true, "license": "MIT" }, "node_modules/ethr-did-resolver/node_modules/ws": { "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "license": "MIT", "engines": { @@ -16640,6 +20284,8 @@ }, "node_modules/event-target-shim": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "license": "MIT", "engines": { "node": ">=6" @@ -16647,10 +20293,14 @@ }, "node_modules/eventemitter3": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", "license": "MIT" }, "node_modules/events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "license": "MIT", "engines": { "node": ">=0.8.x" @@ -16658,6 +20308,8 @@ }, "node_modules/evp_bytestokey": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "license": "MIT", "dependencies": { "md5.js": "^1.3.4", @@ -16666,6 +20318,8 @@ }, "node_modules/execa": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "license": "MIT", "dependencies": { @@ -16688,11 +20342,15 @@ }, "node_modules/execa/node_modules/signal-exit": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, "license": "ISC" }, "node_modules/exit": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -16700,6 +20358,8 @@ }, "node_modules/expect": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, "license": "MIT", "dependencies": { @@ -16715,15 +20375,21 @@ }, "node_modules/exponential-backoff": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", "license": "Apache-2.0", "peer": true }, "node_modules/extend": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "license": "MIT" }, "node_modules/extension-port-stream": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/extension-port-stream/-/extension-port-stream-2.1.1.tgz", + "integrity": "sha512-qknp5o5rj2J9CRKfVB8KJr+uXQlrojNZzdESUPhKYLXf97TPcGf6qWWKmpsNNtUyOdzFhab1ON0jzouNxHHvow==", "license": "ISC", "dependencies": { "webextension-polyfill": ">=0.10.0 <1.0" @@ -16734,6 +20400,8 @@ }, "node_modules/external-editor": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "license": "MIT", "optional": true, "dependencies": { @@ -16747,23 +20415,33 @@ }, "node_modules/fast-base64-decode": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz", + "integrity": "sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==", "license": "MIT" }, "node_modules/fast-copy": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.2.tgz", + "integrity": "sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==", "license": "MIT" }, "node_modules/fast-deep-equal": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "license": "MIT" }, "node_modules/fast-diff": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true, "license": "Apache-2.0" }, "node_modules/fast-glob": { "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "license": "MIT", "dependencies": { @@ -16777,28 +20455,23 @@ "node": ">=8.6.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true, "license": "MIT" }, "node_modules/fast-redact": { "version": "3.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==", "license": "MIT", "engines": { "node": ">=6" @@ -16806,10 +20479,14 @@ }, "node_modules/fast-safe-stringify": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", "license": "MIT" }, "node_modules/fast-uri": { "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", "dev": true, "funding": [ { @@ -16825,6 +20502,8 @@ }, "node_modules/fast-xml-parser": { "version": "5.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz", + "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==", "funding": [ { "type": "github", @@ -16841,6 +20520,8 @@ }, "node_modules/fastq": { "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, "license": "ISC", "dependencies": { @@ -16849,17 +20530,38 @@ }, "node_modules/fb-watchman": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, + "node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/fecha": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", "license": "MIT" }, "node_modules/fetch-blob": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", "funding": [ { "type": "github", @@ -16879,8 +20581,19 @@ "node": "^12.20 || >= 14.13" } }, + "node_modules/fetch-blob/node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/figures": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "license": "MIT", "optional": true, "dependencies": { @@ -16895,6 +20608,8 @@ }, "node_modules/figures/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "license": "MIT", "optional": true, "engines": { @@ -16903,6 +20618,8 @@ }, "node_modules/file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "license": "MIT", "dependencies": { @@ -16914,32 +20631,17 @@ }, "node_modules/file-stream-rotator": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/file-stream-rotator/-/file-stream-rotator-0.6.1.tgz", + "integrity": "sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==", "license": "MIT", "dependencies": { "moment": "^2.29.1" } }, - "node_modules/filelist": { - "version": "1.0.4", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/fill-range": { "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -16950,6 +20652,8 @@ }, "node_modules/filter-obj": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -16957,6 +20661,8 @@ }, "node_modules/finalhandler": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "license": "MIT", "peer": true, "dependencies": { @@ -16974,6 +20680,8 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", "peer": true, "dependencies": { @@ -16982,11 +20690,15 @@ }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT", "peer": true }, "node_modules/finalhandler/node_modules/statuses": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "license": "MIT", "peer": true, "engines": { @@ -16995,6 +20707,8 @@ }, "node_modules/find-replace": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", "devOptional": true, "license": "MIT", "dependencies": { @@ -17006,10 +20720,14 @@ }, "node_modules/find-root": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", "license": "MIT" }, "node_modules/find-up": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", "dev": true, "license": "MIT", "dependencies": { @@ -17026,6 +20744,8 @@ }, "node_modules/fireblocks-sdk": { "version": "5.11.0", + "resolved": "https://registry.npmjs.org/fireblocks-sdk/-/fireblocks-sdk-5.11.0.tgz", + "integrity": "sha512-a21ekRNUgVBiu7dtDCPUDRPs/CUGCe22/FrEJxA5y0swU7+wsLvZyTokyGxyaiGwYwRw9nuX8sGTErjPw5FRow==", "license": "MIT", "dependencies": { "@notabene/pii-sdk": "^1.16.0", @@ -17039,6 +20759,8 @@ }, "node_modules/fireblocks-sdk/node_modules/axios": { "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "license": "MIT", "dependencies": { "follow-redirects": "^1.14.9", @@ -17047,6 +20769,8 @@ }, "node_modules/fireblocks-sdk/node_modules/uuid": { "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "license": "MIT", "bin": { "uuid": "dist/bin/uuid" @@ -17054,6 +20778,8 @@ }, "node_modules/flat": { "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, "license": "BSD-3-Clause", "bin": { @@ -17062,6 +20788,8 @@ }, "node_modules/flat-cache": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "license": "MIT", "dependencies": { @@ -17075,6 +20803,8 @@ }, "node_modules/flat-cache/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -17084,6 +20814,9 @@ }, "node_modules/flat-cache/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -17103,6 +20836,8 @@ }, "node_modules/flat-cache/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -17114,6 +20849,9 @@ }, "node_modules/flat-cache/node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -17128,20 +20866,28 @@ }, "node_modules/flatted": { "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, "license": "ISC" }, "node_modules/flow-enums-runtime": { "version": "0.0.6", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", + "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", "license": "MIT", "peer": true }, "node_modules/fn.name": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", "license": "MIT" }, "node_modules/focus-lock": { "version": "1.3.6", + "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-1.3.6.tgz", + "integrity": "sha512-Ik/6OCk9RQQ0T5Xw+hKNLWrjSMtv51dD4GRmJjbD5a58TIEpI5a5iXagKVl3Z5UuyslMCA8Xwnu76jQob62Yhg==", "license": "MIT", "dependencies": { "tslib": "^2.0.3" @@ -17151,7 +20897,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.9", + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", "funding": [ { "type": "individual", @@ -17170,6 +20918,8 @@ }, "node_modules/for-each": { "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", "license": "MIT", "dependencies": { "is-callable": "^1.2.7" @@ -17183,6 +20933,8 @@ }, "node_modules/foreground-child": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "license": "ISC", "dependencies": { "cross-spawn": "^7.0.6", @@ -17197,6 +20949,8 @@ }, "node_modules/forge-light": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/forge-light/-/forge-light-1.1.4.tgz", + "integrity": "sha512-Nr0xdu93LJawgBZVU/tC+A+4pbKqigdY5PRBz8CXNm4e5saAZIqU2Qe9+nVFtVO5TWCHSgvI0LaZZuatgE5J1g==", "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" @@ -17204,6 +20958,8 @@ }, "node_modules/form-data": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -17218,16 +20974,22 @@ }, "node_modules/form-data-encoder": { "version": "1.7.2", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==", "dev": true, "license": "MIT" }, "node_modules/format-util": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/format-util/-/format-util-1.0.5.tgz", + "integrity": "sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==", "dev": true, "license": "MIT" }, "node_modules/formdata-node": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17238,16 +21000,10 @@ "node": ">= 12.20" } }, - "node_modules/formdata-node/node_modules/web-streams-polyfill": { - "version": "4.0.0-beta.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, "node_modules/formdata-polyfill": { "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "license": "MIT", "dependencies": { "fetch-blob": "^3.1.2" @@ -17258,27 +21014,27 @@ }, "node_modules/fp-ts": { "version": "1.19.3", + "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", + "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", "dev": true, "license": "MIT" }, "node_modules/framer-motion": { - "version": "12.23.9", + "version": "10.18.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.18.0.tgz", + "integrity": "sha512-oGlDh1Q1XqYPksuTD/usb0I70hq95OUzmL9+6Zd+Hs4XV0oaISBa/UUMSjYiq6m8EUF32132mOJ8xVZS+I0S6w==", "license": "MIT", - "peer": true, "dependencies": { - "motion-dom": "^12.23.9", - "motion-utils": "^12.23.6", "tslib": "^2.4.0" }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, "peerDependencies": { - "@emotion/is-prop-valid": "*", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" + "react": "^18.0.0", + "react-dom": "^18.0.0" }, "peerDependenciesMeta": { - "@emotion/is-prop-valid": { - "optional": true - }, "react": { "optional": true }, @@ -17287,8 +21043,27 @@ } } }, + "node_modules/framer-motion/node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/framer-motion/node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==", + "license": "MIT", + "optional": true + }, "node_modules/framesync": { "version": "6.1.2", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz", + "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==", "license": "MIT", "dependencies": { "tslib": "2.4.0" @@ -17296,10 +21071,14 @@ }, "node_modules/framesync/node_modules/tslib": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", "license": "0BSD" }, "node_modules/fresh": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "license": "MIT", "peer": true, "engines": { @@ -17308,6 +21087,8 @@ }, "node_modules/fs-extra": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "license": "MIT", "dependencies": { @@ -17321,6 +21102,8 @@ }, "node_modules/fs-minipass": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "license": "ISC", "optional": true, "dependencies": { @@ -17332,6 +21115,8 @@ }, "node_modules/fs-minipass/node_modules/minipass": { "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "license": "ISC", "optional": true, "dependencies": { @@ -17343,20 +21128,29 @@ }, "node_modules/fs-minipass/node_modules/yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "license": "ISC", "optional": true }, "node_modules/fs-readdir-recursive": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", "dev": true, "license": "MIT" }, "node_modules/fs.realpath": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, "license": "MIT", "optional": true, "os": [ @@ -17368,6 +21162,8 @@ }, "node_modules/function-bind": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -17375,6 +21171,8 @@ }, "node_modules/function.prototype.name": { "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dev": true, "license": "MIT", "dependencies": { @@ -17394,6 +21192,8 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, "license": "MIT", "funding": { @@ -17402,6 +21202,9 @@ }, "node_modules/gauge": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", "license": "ISC", "optional": true, "dependencies": { @@ -17421,11 +21224,15 @@ }, "node_modules/gauge/node_modules/signal-exit": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "license": "ISC", "optional": true }, "node_modules/gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -17433,6 +21240,8 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" @@ -17440,6 +21249,8 @@ }, "node_modules/get-east-asian-width": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", "dev": true, "license": "MIT", "engines": { @@ -17451,6 +21262,8 @@ }, "node_modules/get-func-name": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "license": "MIT", "engines": { "node": "*" @@ -17458,6 +21271,8 @@ }, "node_modules/get-intrinsic": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -17480,6 +21295,8 @@ }, "node_modules/get-nonce": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", "license": "MIT", "engines": { "node": ">=6" @@ -17487,6 +21304,8 @@ }, "node_modules/get-package-type": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "license": "MIT", "engines": { "node": ">=8.0.0" @@ -17494,6 +21313,8 @@ }, "node_modules/get-port": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", "dev": true, "license": "MIT", "engines": { @@ -17502,6 +21323,8 @@ }, "node_modules/get-proto": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", @@ -17513,6 +21336,8 @@ }, "node_modules/get-stream": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "license": "MIT", "engines": { @@ -17524,6 +21349,8 @@ }, "node_modules/get-symbol-description": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "dev": true, "license": "MIT", "dependencies": { @@ -17540,6 +21367,8 @@ }, "node_modules/ghost-testrpc": { "version": "0.0.2", + "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", + "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", "dev": true, "license": "ISC", "dependencies": { @@ -17552,6 +21381,8 @@ }, "node_modules/ghost-testrpc/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17565,6 +21396,8 @@ }, "node_modules/ghost-testrpc/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "license": "MIT", "engines": { @@ -17573,6 +21406,8 @@ }, "node_modules/ghost-testrpc/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "license": "MIT", "engines": { @@ -17581,6 +21416,8 @@ }, "node_modules/ghost-testrpc/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "license": "MIT", "dependencies": { @@ -17592,6 +21429,8 @@ }, "node_modules/git-config": { "version": "0.0.7", + "resolved": "https://registry.npmjs.org/git-config/-/git-config-0.0.7.tgz", + "integrity": "sha512-LidZlYZXWzVjS+M3TEwhtYBaYwLeOZrXci1tBgqp/vDdZTBMl02atvwb6G35L64ibscYoPnxfbwwUS+VZAISLA==", "license": "BSD-3-Clause", "optional": true, "dependencies": { @@ -17600,6 +21439,8 @@ }, "node_modules/git-raw-commits": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-4.0.0.tgz", + "integrity": "sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17615,36 +21456,62 @@ } }, "node_modules/glob": { - "version": "10.4.5", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz", + "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==", + "dev": true, "license": "ISC", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.0.3", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, + "engines": { + "node": "20 || >=22" + }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { - "version": "6.0.2", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "license": "ISC", "dependencies": { - "is-glob": "^4.0.3" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">= 6" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/global-directory": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -17659,6 +21526,8 @@ }, "node_modules/global-dirs": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, "license": "MIT", "dependencies": { @@ -17673,6 +21542,8 @@ }, "node_modules/global-dirs/node_modules/ini": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true, "license": "ISC", "engines": { @@ -17681,6 +21552,8 @@ }, "node_modules/global-modules": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "license": "MIT", "dependencies": { @@ -17692,6 +21565,8 @@ }, "node_modules/global-prefix": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "license": "MIT", "dependencies": { @@ -17705,11 +21580,15 @@ }, "node_modules/global-prefix/node_modules/ini": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, "license": "ISC" }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "license": "ISC", "dependencies": { @@ -17720,14 +21599,13 @@ } }, "node_modules/globals": { - "version": "13.24.0", + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", "dev": true, "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -17735,6 +21613,8 @@ }, "node_modules/globalthis": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17750,6 +21630,8 @@ }, "node_modules/globby": { "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "license": "MIT", "dependencies": { @@ -17769,11 +21651,15 @@ }, "node_modules/globrex": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", "dev": true, "license": "MIT" }, "node_modules/gopd": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -17784,6 +21670,8 @@ }, "node_modules/got": { "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17808,6 +21696,8 @@ }, "node_modules/got/node_modules/form-data-encoder": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", "dev": true, "license": "MIT", "engines": { @@ -17816,23 +21706,29 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true, "license": "MIT" }, "node_modules/h3": { - "version": "1.15.3", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.4.tgz", + "integrity": "sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==", "license": "MIT", "dependencies": { "cookie-es": "^1.2.2", - "crossws": "^0.3.4", + "crossws": "^0.3.5", "defu": "^6.1.4", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", - "node-mock-http": "^1.0.0", + "node-mock-http": "^1.0.2", "radix3": "^1.1.2", "ufo": "^1.6.1", "uncrypto": "^0.1.3" @@ -17840,6 +21736,8 @@ }, "node_modules/handlebars": { "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "devOptional": true, "license": "MIT", "dependencies": { @@ -17858,8 +21756,20 @@ "uglify-js": "^3.1.4" } }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "devOptional": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/hardhat": { - "version": "2.26.0", + "version": "2.26.2", + "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.26.2.tgz", + "integrity": "sha512-uIETdC1MAWSnu+48B+583r3b8JqHtkBGEiXoAPV5hcXYGkCW5Fnnpn7SIgPa8owhObm9oUqIqMXMJ6H92N7Pyg==", "dev": true, "license": "MIT", "dependencies": { @@ -17886,7 +21796,7 @@ "json-stream-stringify": "^3.1.4", "keccak": "^3.0.2", "lodash": "^4.17.11", - "micro-eth-signer": "^0.16.0", + "micro-eth-signer": "^0.14.0", "mnemonist": "^0.38.0", "mocha": "^10.0.0", "p-map": "^4.0.0", @@ -17921,6 +21831,8 @@ }, "node_modules/hardhat-abi-exporter": { "version": "2.11.0", + "resolved": "https://registry.npmjs.org/hardhat-abi-exporter/-/hardhat-abi-exporter-2.11.0.tgz", + "integrity": "sha512-hBC4Xzncew9pdqVpzWoEEBJUthp99TCH39cHlMehVxBBQ6EIsIFyj3N0yd0hkVDfM8/s/FMRAuO5jntZBpwCZQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17935,7 +21847,9 @@ } }, "node_modules/hardhat-contract-sizer": { - "version": "2.10.0", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/hardhat-contract-sizer/-/hardhat-contract-sizer-2.10.1.tgz", + "integrity": "sha512-/PPQQbUMgW6ERzk8M0/DA8/v2TEM9xRRAnF9qKPNMYF6FX5DFWcnxBsQvtp8uBz+vy7rmLyV9Elti2wmmhgkbg==", "dev": true, "license": "MIT", "dependencies": { @@ -17949,6 +21863,8 @@ }, "node_modules/hardhat-contract-sizer/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -17963,6 +21879,8 @@ }, "node_modules/hardhat-contract-sizer/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -17978,6 +21896,8 @@ }, "node_modules/hardhat-contract-sizer/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17989,11 +21909,15 @@ }, "node_modules/hardhat-contract-sizer/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/hardhat-gas-reporter": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz", + "integrity": "sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==", "dev": true, "license": "MIT", "dependencies": { @@ -18007,6 +21931,8 @@ }, "node_modules/hardhat/node_modules/@ethereumjs/rlp": { "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", "dev": true, "license": "MPL-2.0", "bin": { @@ -18018,6 +21944,8 @@ }, "node_modules/hardhat/node_modules/@ethereumjs/util": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -18030,6 +21958,8 @@ }, "node_modules/hardhat/node_modules/@ethereumjs/util/node_modules/@noble/hashes": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "dev": true, "license": "MIT", "engines": { @@ -18041,6 +21971,8 @@ }, "node_modules/hardhat/node_modules/@ethereumjs/util/node_modules/ethereum-cryptography": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", + "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", "dev": true, "license": "MIT", "dependencies": { @@ -18052,6 +21984,8 @@ }, "node_modules/hardhat/node_modules/@noble/curves": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", "dev": true, "license": "MIT", "dependencies": { @@ -18063,6 +21997,8 @@ }, "node_modules/hardhat/node_modules/@noble/curves/node_modules/@noble/hashes": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "dev": true, "license": "MIT", "engines": { @@ -18074,6 +22010,8 @@ }, "node_modules/hardhat/node_modules/@noble/hashes": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", + "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", "dev": true, "funding": [ { @@ -18085,14 +22023,34 @@ }, "node_modules/hardhat/node_modules/@scure/base": { "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/hardhat/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/hardhat/node_modules/ethereum-cryptography": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", + "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", "dev": true, "license": "MIT", "dependencies": { @@ -18104,6 +22062,8 @@ }, "node_modules/hardhat/node_modules/ethereum-cryptography/node_modules/@scure/bip32": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", + "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", "dev": true, "funding": [ { @@ -18120,6 +22080,8 @@ }, "node_modules/hardhat/node_modules/ethereum-cryptography/node_modules/@scure/bip39": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", + "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", "dev": true, "funding": [ { @@ -18135,6 +22097,8 @@ }, "node_modules/hardhat/node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { @@ -18150,6 +22114,8 @@ }, "node_modules/hardhat/node_modules/locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { @@ -18164,6 +22130,8 @@ }, "node_modules/hardhat/node_modules/p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -18178,22 +22146,45 @@ }, "node_modules/hardhat/node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/hardhat/node_modules/semver": { - "version": "6.3.1", + "node_modules/hardhat/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/hardhat/node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/hardhat/node_modules/uuid": { "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "license": "MIT", "bin": { @@ -18202,6 +22193,8 @@ }, "node_modules/hardhat/node_modules/ws": { "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "dev": true, "license": "MIT", "engines": { @@ -18222,6 +22215,8 @@ }, "node_modules/has-bigints": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", "dev": true, "license": "MIT", "engines": { @@ -18233,6 +22228,8 @@ }, "node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "engines": { "node": ">=8" @@ -18240,6 +22237,8 @@ }, "node_modules/has-property-descriptors": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" @@ -18250,6 +22249,8 @@ }, "node_modules/has-proto": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dev": true, "license": "MIT", "dependencies": { @@ -18264,6 +22265,8 @@ }, "node_modules/has-symbols": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -18274,6 +22277,8 @@ }, "node_modules/has-tostringtag": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" @@ -18287,11 +22292,15 @@ }, "node_modules/has-unicode": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "license": "ISC", "optional": true }, "node_modules/has-yarn": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", "dev": true, "license": "MIT", "engines": { @@ -18303,6 +22312,8 @@ }, "node_modules/hash-base": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "license": "MIT", "dependencies": { "inherits": "^2.0.4", @@ -18315,6 +22326,8 @@ }, "node_modules/hash-base/node_modules/readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -18327,6 +22340,8 @@ }, "node_modules/hash.js": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -18335,6 +22350,8 @@ }, "node_modules/hasown": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -18345,6 +22362,8 @@ }, "node_modules/he": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, "license": "MIT", "bin": { @@ -18353,20 +22372,28 @@ }, "node_modules/heap": { "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", "dev": true, "license": "MIT" }, "node_modules/help-me": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz", + "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==", "license": "MIT" }, "node_modules/hermes-estree": { "version": "0.28.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.28.1.tgz", + "integrity": "sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ==", "license": "MIT", "peer": true }, "node_modules/hermes-parser": { "version": "0.28.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.28.1.tgz", + "integrity": "sha512-nf8o+hE8g7UJWParnccljHumE9Vlq8F7MqIdeahl+4x0tvCUJYRrT0L7h0MMg/X9YJmkNwsfbaNNrzPtFXOscg==", "license": "MIT", "peer": true, "dependencies": { @@ -18375,10 +22402,14 @@ }, "node_modules/hey-listen": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==", "license": "MIT" }, "node_modules/history": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", "dev": true, "license": "MIT", "dependencies": { @@ -18387,6 +22418,8 @@ }, "node_modules/hmac-drbg": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "license": "MIT", "dependencies": { "hash.js": "^1.0.3", @@ -18396,22 +22429,24 @@ }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" - }, "node_modules/hosted-git-info": { "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true, "license": "ISC" }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "dev": true, "license": "MIT", "dependencies": { @@ -18423,11 +22458,15 @@ }, "node_modules/html-escaper": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true, "license": "MIT" }, "node_modules/html-parse-stringify": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", "license": "MIT", "dependencies": { "void-elements": "3.1.0" @@ -18435,6 +22474,8 @@ }, "node_modules/http-basic": { "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", "dev": true, "license": "MIT", "dependencies": { @@ -18449,11 +22490,15 @@ }, "node_modules/http-cache-semantics": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "dev": true, "license": "BSD-2-Clause" }, "node_modules/http-errors": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "license": "MIT", "dependencies": { "depd": "2.0.0", @@ -18468,6 +22513,8 @@ }, "node_modules/http-proxy-agent": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dev": true, "license": "MIT", "dependencies": { @@ -18481,6 +22528,8 @@ }, "node_modules/http-response-object": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", "dev": true, "license": "MIT", "dependencies": { @@ -18489,11 +22538,15 @@ }, "node_modules/http-response-object/node_modules/@types/node": { "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", "dev": true, "license": "MIT" }, "node_modules/http2-wrapper": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", "dev": true, "license": "MIT", "dependencies": { @@ -18506,6 +22559,8 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "devOptional": true, "license": "MIT", "dependencies": { @@ -18518,6 +22573,8 @@ }, "node_modules/human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -18526,6 +22583,8 @@ }, "node_modules/humanize-ms": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dev": true, "license": "MIT", "dependencies": { @@ -18534,6 +22593,8 @@ }, "node_modules/husky": { "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", "dev": true, "license": "MIT", "bin": { @@ -18548,6 +22609,8 @@ }, "node_modules/i18next": { "version": "23.5.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.5.1.tgz", + "integrity": "sha512-JelYzcaCoFDaa+Ysbfz2JsGAKkrHiMG6S61+HLBUEIPaF40WMwW9hCPymlQGrP+wWawKxKPuSuD71WZscCsWHg==", "funding": [ { "type": "individual", @@ -18569,6 +22632,8 @@ }, "node_modules/i18next-browser-languagedetector": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz", + "integrity": "sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.19.4" @@ -18576,6 +22641,8 @@ }, "node_modules/iconv-lite": { "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "devOptional": true, "license": "MIT", "dependencies": { @@ -18587,10 +22654,14 @@ }, "node_modules/idb-keyval": { "version": "6.2.2", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.2.tgz", + "integrity": "sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg==", "license": "Apache-2.0" }, "node_modules/ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -18609,6 +22680,8 @@ }, "node_modules/ignore": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -18617,6 +22690,8 @@ }, "node_modules/image-size": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", + "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==", "license": "MIT", "peer": true, "dependencies": { @@ -18631,11 +22706,15 @@ }, "node_modules/immutable": { "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", "dev": true, "license": "MIT" }, "node_modules/import-fresh": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "license": "MIT", "dependencies": { "parent-module": "^1.0.0", @@ -18650,6 +22729,8 @@ }, "node_modules/import-fresh/node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "license": "MIT", "engines": { "node": ">=4" @@ -18657,6 +22738,8 @@ }, "node_modules/import-lazy": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true, "license": "MIT", "engines": { @@ -18665,6 +22748,8 @@ }, "node_modules/import-local": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, "license": "MIT", "dependencies": { @@ -18683,6 +22768,8 @@ }, "node_modules/import-meta-resolve": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", "dev": true, "license": "MIT", "funding": { @@ -18692,6 +22779,8 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "license": "MIT", "engines": { "node": ">=0.8.19" @@ -18699,6 +22788,8 @@ }, "node_modules/indent-string": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, "license": "MIT", "engines": { @@ -18707,6 +22798,9 @@ }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "license": "ISC", "dependencies": { "once": "^1.3.0", @@ -18715,10 +22809,14 @@ }, "node_modules/inherits": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, "node_modules/ini": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", "dev": true, "license": "ISC", "engines": { @@ -18727,14 +22825,23 @@ }, "node_modules/iniparser": { "version": "1.0.5", - "optional": true + "resolved": "https://registry.npmjs.org/iniparser/-/iniparser-1.0.5.tgz", + "integrity": "sha512-i40MWqgTU6h/70NtMsDVVDLjDYWwcIR1yIEVDPfxZIJno9z9L4s83p/V7vAu2i48Vj0gpByrkGFub7ko9XvPrw==", + "optional": true, + "engines": { + "node": "*" + } }, "node_modules/inline-style-parser": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", "license": "MIT" }, "node_modules/inquirer": { "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "license": "MIT", "optional": true, "dependencies": { @@ -18758,6 +22865,8 @@ }, "node_modules/inquirer/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "optional": true, "dependencies": { @@ -18772,6 +22881,8 @@ }, "node_modules/inquirer/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "optional": true, "dependencies": { @@ -18787,6 +22898,8 @@ }, "node_modules/inquirer/node_modules/cli-cursor": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "license": "MIT", "optional": true, "dependencies": { @@ -18798,6 +22911,8 @@ }, "node_modules/inquirer/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "optional": true, "dependencies": { @@ -18809,11 +22924,15 @@ }, "node_modules/inquirer/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT", "optional": true }, "node_modules/inquirer/node_modules/restore-cursor": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "license": "MIT", "optional": true, "dependencies": { @@ -18826,11 +22945,15 @@ }, "node_modules/inquirer/node_modules/signal-exit": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "license": "ISC", "optional": true }, "node_modules/internal-slot": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dev": true, "license": "MIT", "dependencies": { @@ -18844,6 +22967,8 @@ }, "node_modules/interpret": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, "license": "MIT", "engines": { @@ -18852,14 +22977,51 @@ }, "node_modules/invariant": { "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "license": "MIT", "peer": true, "dependencies": { "loose-envify": "^1.0.0" } }, + "node_modules/io-bricks-ui": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/io-bricks-ui/-/io-bricks-ui-2.7.4.tgz", + "integrity": "sha512-OAw7WRzklHHq6ArC82pleA+miFeJkLj8e6YNK6m/AxTIF4U2qqC4pdBQMlNyGiS/wjErjdaxH7hgV/qfs6LWhQ==", + "license": "MIT", + "dependencies": { + "@chakra-ui/anatomy": "2.1.1", + "@emotion/react": "^11.0.0", + "@phosphor-icons/react": "2.0.9", + "@tanstack/react-table": "^8.9.1", + "chakra-react-select": "4.5.0", + "date-fns": "^2.29.3", + "echarts": "^5.3.3", + "echarts-for-react": "^3.0.2", + "lodash": "^4.17.21", + "react-day-picker": "^8.6.0", + "react-hook-form": "^7.41.5", + "react-markdown": "^6.0.3", + "react-number-format": "5.1.4" + }, + "peerDependencies": { + "@chakra-ui/react": "2.6.1", + "@emotion/styled": "^11.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0" + } + }, + "node_modules/io-bricks-ui/node_modules/@chakra-ui/anatomy": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.1.1.tgz", + "integrity": "sha512-LUHAoqJAgxAqmyckG5bUpBrfEo1FleEyY+1A8hkWciy58gZ+h3GoY9oBpHcdo7XdHPpy3G+3hieK/7i9NLwxAw==", + "license": "MIT" + }, "node_modules/io-ts": { "version": "1.10.4", + "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", + "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", "dev": true, "license": "MIT", "dependencies": { @@ -18868,6 +23030,8 @@ }, "node_modules/iron-webcrypto": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/brc-dd" @@ -18875,6 +23039,8 @@ }, "node_modules/is-alphabetical": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", "license": "MIT", "funding": { "type": "github", @@ -18883,6 +23049,8 @@ }, "node_modules/is-alphanumerical": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", "license": "MIT", "dependencies": { "is-alphabetical": "^1.0.0", @@ -18895,6 +23063,8 @@ }, "node_modules/is-arguments": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", "dev": true, "license": "MIT", "dependencies": { @@ -18910,6 +23080,8 @@ }, "node_modules/is-array-buffer": { "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dev": true, "license": "MIT", "dependencies": { @@ -18926,10 +23098,14 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "license": "MIT" }, "node_modules/is-async-function": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", "dev": true, "license": "MIT", "dependencies": { @@ -18948,6 +23124,8 @@ }, "node_modules/is-bigint": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -18962,6 +23140,8 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "license": "MIT", "dependencies": { @@ -18973,6 +23153,8 @@ }, "node_modules/is-boolean-object": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", "dev": true, "license": "MIT", "dependencies": { @@ -18988,6 +23170,8 @@ }, "node_modules/is-buffer": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "funding": [ { "type": "github", @@ -19009,6 +23193,8 @@ }, "node_modules/is-callable": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -19019,6 +23205,8 @@ }, "node_modules/is-ci": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19030,6 +23218,8 @@ }, "node_modules/is-ci/node_modules/ci-info": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -19044,6 +23234,8 @@ }, "node_modules/is-core-module": { "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "license": "MIT", "dependencies": { "hasown": "^2.0.2" @@ -19057,6 +23249,8 @@ }, "node_modules/is-data-view": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dev": true, "license": "MIT", "dependencies": { @@ -19073,6 +23267,8 @@ }, "node_modules/is-date-object": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dev": true, "license": "MIT", "dependencies": { @@ -19088,6 +23284,8 @@ }, "node_modules/is-decimal": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", "license": "MIT", "funding": { "type": "github", @@ -19096,6 +23294,8 @@ }, "node_modules/is-directory": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", "license": "MIT", "peer": true, "engines": { @@ -19104,6 +23304,8 @@ }, "node_modules/is-docker": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "license": "MIT", "peer": true, "bin": { @@ -19118,6 +23320,8 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "license": "MIT", "engines": { @@ -19126,6 +23330,8 @@ }, "node_modules/is-finalizationregistry": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dev": true, "license": "MIT", "dependencies": { @@ -19140,6 +23346,8 @@ }, "node_modules/is-fullwidth-code-point": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, "license": "MIT", "engines": { @@ -19151,6 +23359,8 @@ }, "node_modules/is-generator-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, "license": "MIT", "engines": { @@ -19159,6 +23369,8 @@ }, "node_modules/is-generator-function": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19176,6 +23388,8 @@ }, "node_modules/is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "license": "MIT", "dependencies": { @@ -19187,6 +23401,8 @@ }, "node_modules/is-hex-prefixed": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", "license": "MIT", "engines": { "node": ">=6.5.0", @@ -19195,6 +23411,8 @@ }, "node_modules/is-hexadecimal": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", "license": "MIT", "funding": { "type": "github", @@ -19203,6 +23421,8 @@ }, "node_modules/is-installed-globally": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19217,14 +23437,22 @@ } }, "node_modules/is-interactive": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-map": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, "license": "MIT", "engines": { @@ -19236,6 +23464,8 @@ }, "node_modules/is-negative-zero": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "dev": true, "license": "MIT", "engines": { @@ -19247,6 +23477,8 @@ }, "node_modules/is-npm": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", "dev": true, "license": "MIT", "engines": { @@ -19258,6 +23490,8 @@ }, "node_modules/is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "license": "MIT", "engines": { "node": ">=0.12.0" @@ -19265,6 +23499,8 @@ }, "node_modules/is-number-object": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dev": true, "license": "MIT", "dependencies": { @@ -19280,6 +23516,8 @@ }, "node_modules/is-obj": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true, "license": "MIT", "engines": { @@ -19288,6 +23526,8 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, "license": "MIT", "engines": { @@ -19296,6 +23536,8 @@ }, "node_modules/is-plain-obj": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "license": "MIT", "engines": { "node": ">=8" @@ -19303,11 +23545,15 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", "dev": true, "license": "MIT" }, "node_modules/is-reference": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19316,6 +23562,8 @@ }, "node_modules/is-regex": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, "license": "MIT", "dependencies": { @@ -19333,6 +23581,8 @@ }, "node_modules/is-set": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, "license": "MIT", "engines": { @@ -19344,6 +23594,8 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dev": true, "license": "MIT", "dependencies": { @@ -19358,6 +23610,8 @@ }, "node_modules/is-stream": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "license": "MIT", "engines": { "node": ">=8" @@ -19368,6 +23622,8 @@ }, "node_modules/is-string": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dev": true, "license": "MIT", "dependencies": { @@ -19383,6 +23639,8 @@ }, "node_modules/is-symbol": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dev": true, "license": "MIT", "dependencies": { @@ -19399,6 +23657,8 @@ }, "node_modules/is-text-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "dev": true, "license": "MIT", "dependencies": { @@ -19410,6 +23670,8 @@ }, "node_modules/is-typed-array": { "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "license": "MIT", "dependencies": { "which-typed-array": "^1.1.16" @@ -19423,11 +23685,15 @@ }, "node_modules/is-typedarray": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true, "license": "MIT" }, "node_modules/is-unicode-supported": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "license": "MIT", "engines": { "node": ">=10" @@ -19438,6 +23704,8 @@ }, "node_modules/is-weakmap": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, "license": "MIT", "engines": { @@ -19449,6 +23717,8 @@ }, "node_modules/is-weakref": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", "dev": true, "license": "MIT", "dependencies": { @@ -19463,6 +23733,8 @@ }, "node_modules/is-weakset": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19478,6 +23750,8 @@ }, "node_modules/is-wsl": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "license": "MIT", "peer": true, "dependencies": { @@ -19489,6 +23763,8 @@ }, "node_modules/is-yarn-global": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", "dev": true, "license": "MIT", "engines": { @@ -19497,14 +23773,20 @@ }, "node_modules/isarray": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "license": "ISC" }, "node_modules/isomorphic-unfetch": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", + "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", "license": "MIT", "dependencies": { "node-fetch": "^2.6.1", @@ -19513,6 +23795,8 @@ }, "node_modules/isows": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/isows/-/isows-1.0.7.tgz", + "integrity": "sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg==", "funding": [ { "type": "github", @@ -19526,28 +23810,33 @@ }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "dev": true, + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" + "semver": "^6.3.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, "node_modules/istanbul-lib-report": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -19561,6 +23850,8 @@ }, "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "license": "MIT", "dependencies": { @@ -19573,8 +23864,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -19586,8 +23892,20 @@ "node": ">=10" } }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/istanbul-reports": { "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -19599,107 +23917,25 @@ } }, "node_modules/jackspeak": { - "version": "3.4.3", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", + "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", + "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jake": { - "version": "10.9.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jake/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jake/node_modules/async": { - "version": "3.2.6", - "dev": true, - "license": "MIT" - }, - "node_modules/jake/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": "20 || >=22" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jake/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jake/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jake/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/jest": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "license": "MIT", "dependencies": { @@ -19725,6 +23961,8 @@ }, "node_modules/jest-changed-files": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, "license": "MIT", "dependencies": { @@ -19738,6 +23976,8 @@ }, "node_modules/jest-circus": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, "license": "MIT", "dependencies": { @@ -19768,6 +24008,8 @@ }, "node_modules/jest-circus/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -19782,6 +24024,8 @@ }, "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -19797,6 +24041,8 @@ }, "node_modules/jest-circus/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19808,11 +24054,50 @@ }, "node_modules/jest-circus/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, "node_modules/jest-cli": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, "license": "MIT", "dependencies": { @@ -19845,6 +24130,8 @@ }, "node_modules/jest-cli/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -19859,6 +24146,8 @@ }, "node_modules/jest-cli/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -19874,6 +24163,8 @@ }, "node_modules/jest-cli/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19885,11 +24176,15 @@ }, "node_modules/jest-cli/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/jest-config": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19934,6 +24229,8 @@ }, "node_modules/jest-config/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -19948,6 +24245,8 @@ }, "node_modules/jest-config/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -19957,6 +24256,8 @@ }, "node_modules/jest-config/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -19972,6 +24273,8 @@ }, "node_modules/jest-config/node_modules/ci-info": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -19986,6 +24289,8 @@ }, "node_modules/jest-config/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19997,11 +24302,16 @@ }, "node_modules/jest-config/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/jest-config/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -20021,6 +24331,8 @@ }, "node_modules/jest-config/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -20030,8 +24342,45 @@ "node": "*" } }, + "node_modules/jest-config/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, "node_modules/jest-diff": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, "license": "MIT", "dependencies": { @@ -20046,6 +24395,8 @@ }, "node_modules/jest-diff/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -20060,6 +24411,8 @@ }, "node_modules/jest-diff/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -20075,6 +24428,8 @@ }, "node_modules/jest-diff/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20086,11 +24441,50 @@ }, "node_modules/jest-diff/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, "node_modules/jest-docblock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, "license": "MIT", "dependencies": { @@ -20102,6 +24496,8 @@ }, "node_modules/jest-each": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20117,6 +24513,8 @@ }, "node_modules/jest-each/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -20131,6 +24529,8 @@ }, "node_modules/jest-each/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -20146,6 +24546,8 @@ }, "node_modules/jest-each/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20155,13 +24557,52 @@ "node": ">=7.0.0" } }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-each/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, "node_modules/jest-environment-jsdom": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", "dev": true, "license": "MIT", "dependencies": { @@ -20188,6 +24629,8 @@ }, "node_modules/jest-environment-node": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", @@ -20203,6 +24646,8 @@ }, "node_modules/jest-get-type": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -20210,6 +24655,8 @@ }, "node_modules/jest-haste-map": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -20233,6 +24680,8 @@ }, "node_modules/jest-leak-detector": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, "license": "MIT", "dependencies": { @@ -20243,8 +24692,45 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, "node_modules/jest-matcher-utils": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, "license": "MIT", "dependencies": { @@ -20259,6 +24745,8 @@ }, "node_modules/jest-matcher-utils/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -20273,6 +24761,8 @@ }, "node_modules/jest-matcher-utils/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -20288,6 +24778,8 @@ }, "node_modules/jest-matcher-utils/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20299,11 +24791,50 @@ }, "node_modules/jest-matcher-utils/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, "node_modules/jest-message-util": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -20322,6 +24853,8 @@ }, "node_modules/jest-message-util/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -20335,6 +24868,8 @@ }, "node_modules/jest-message-util/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -20349,6 +24884,8 @@ }, "node_modules/jest-message-util/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -20359,10 +24896,46 @@ }, "node_modules/jest-message-util/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "license": "MIT" }, "node_modules/jest-mock": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -20375,6 +24948,8 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "license": "MIT", "engines": { @@ -20391,6 +24966,8 @@ }, "node_modules/jest-regex-util": { "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -20398,6 +24975,8 @@ }, "node_modules/jest-resolve": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, "license": "MIT", "dependencies": { @@ -20417,6 +24996,8 @@ }, "node_modules/jest-resolve-dependencies": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, "license": "MIT", "dependencies": { @@ -20429,6 +25010,8 @@ }, "node_modules/jest-resolve/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -20443,6 +25026,8 @@ }, "node_modules/jest-resolve/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -20458,6 +25043,8 @@ }, "node_modules/jest-resolve/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20469,30 +25056,15 @@ }, "node_modules/jest-resolve/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, - "node_modules/jest-resolve/node_modules/resolve": { - "version": "1.22.10", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/jest-runner": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20524,6 +25096,8 @@ }, "node_modules/jest-runner/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -20538,6 +25112,8 @@ }, "node_modules/jest-runner/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -20553,6 +25129,8 @@ }, "node_modules/jest-runner/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20564,11 +25142,25 @@ }, "node_modules/jest-runner/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, + "node_modules/jest-runner/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/jest-runner/node_modules/source-map-support": { "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "license": "MIT", "dependencies": { @@ -20578,6 +25170,8 @@ }, "node_modules/jest-runtime": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20610,6 +25204,8 @@ }, "node_modules/jest-runtime/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -20624,6 +25220,8 @@ }, "node_modules/jest-runtime/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -20633,6 +25231,8 @@ }, "node_modules/jest-runtime/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -20648,6 +25248,8 @@ }, "node_modules/jest-runtime/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20659,11 +25261,16 @@ }, "node_modules/jest-runtime/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/jest-runtime/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -20683,6 +25290,8 @@ }, "node_modules/jest-runtime/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -20694,6 +25303,8 @@ }, "node_modules/jest-snapshot": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, "license": "MIT", "dependencies": { @@ -20724,6 +25335,8 @@ }, "node_modules/jest-snapshot/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -20738,6 +25351,8 @@ }, "node_modules/jest-snapshot/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -20753,6 +25368,8 @@ }, "node_modules/jest-snapshot/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20764,11 +25381,63 @@ }, "node_modules/jest-snapshot/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jest-util": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -20784,6 +25453,8 @@ }, "node_modules/jest-util/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -20797,6 +25468,8 @@ }, "node_modules/jest-util/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -20811,6 +25484,8 @@ }, "node_modules/jest-util/node_modules/ci-info": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "funding": [ { "type": "github", @@ -20824,6 +25499,8 @@ }, "node_modules/jest-util/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -20834,10 +25511,26 @@ }, "node_modules/jest-util/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, + "node_modules/jest-util/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/jest-validate": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -20853,6 +25546,8 @@ }, "node_modules/jest-validate/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -20864,8 +25559,22 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/jest-validate/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -20880,6 +25589,8 @@ }, "node_modules/jest-validate/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -20890,10 +25601,46 @@ }, "node_modules/jest-validate/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "license": "MIT" }, "node_modules/jest-watcher": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, "license": "MIT", "dependencies": { @@ -20912,6 +25659,8 @@ }, "node_modules/jest-watcher/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -20926,6 +25675,8 @@ }, "node_modules/jest-watcher/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -20941,6 +25692,8 @@ }, "node_modules/jest-watcher/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20952,11 +25705,15 @@ }, "node_modules/jest-watcher/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/jest-worker": { "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "license": "MIT", "dependencies": { "@types/node": "*", @@ -20970,6 +25727,8 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -20982,7 +25741,9 @@ } }, "node_modules/jiti": { - "version": "2.4.2", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.5.1.tgz", + "integrity": "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==", "dev": true, "license": "MIT", "bin": { @@ -20991,34 +25752,46 @@ }, "node_modules/joycon": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/js-base64": { - "version": "3.7.7", + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.8.tgz", + "integrity": "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==", "license": "BSD-3-Clause" }, "node_modules/js-cookie": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==", "dev": true, "license": "MIT" }, "node_modules/js-sha3": { "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.0", - "dev": true, + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "license": "MIT", "dependencies": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -21026,11 +25799,15 @@ }, "node_modules/jsc-safe-url": { "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", "license": "0BSD", "peer": true }, "node_modules/jsdom": { "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -21073,71 +25850,10 @@ } } }, - "node_modules/jsdom/node_modules/escodegen": { - "version": "2.1.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/jsdom/node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/jsdom/node_modules/tr46": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/jsdom/node_modules/webidl-conversions": { - "version": "7.0.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/jsdom/node_modules/whatwg-url": { - "version": "11.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/jsesc": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "license": "MIT", "bin": { "jsesc": "bin/jsesc" @@ -21148,19 +25864,27 @@ }, "node_modules/json-buffer": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, "license": "MIT" }, "node_modules/json-parse-better-errors": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "license": "MIT" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "license": "MIT" }, "node_modules/json-rpc-engine": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", + "integrity": "sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==", "license": "ISC", "dependencies": { "@metamask/safe-event-emitter": "^2.0.0", @@ -21172,10 +25896,14 @@ }, "node_modules/json-rpc-engine/node_modules/@metamask/safe-event-emitter": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", + "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==", "license": "ISC" }, "node_modules/json-rpc-middleware-stream": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/json-rpc-middleware-stream/-/json-rpc-middleware-stream-4.2.3.tgz", + "integrity": "sha512-4iFb0yffm5vo3eFKDbQgke9o17XBcLQ2c3sONrXSbcOLzP8LTojqo8hRGVgtJShhm5q4ZDSNq039fAx9o65E1w==", "license": "ISC", "dependencies": { "@metamask/safe-event-emitter": "^3.0.0", @@ -21188,16 +25916,22 @@ }, "node_modules/json-schema-traverse": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, "license": "MIT" }, "node_modules/json-stream-stringify": { "version": "3.1.6", + "resolved": "https://registry.npmjs.org/json-stream-stringify/-/json-stream-stringify-3.1.6.tgz", + "integrity": "sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==", "dev": true, "license": "MIT", "engines": { @@ -21206,6 +25940,8 @@ }, "node_modules/json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -21216,6 +25952,8 @@ }, "node_modules/jsonfile": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "license": "MIT", "optionalDependencies": { @@ -21224,6 +25962,8 @@ }, "node_modules/jsonld": { "version": "8.3.3", + "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-8.3.3.tgz", + "integrity": "sha512-9YcilrF+dLfg9NTEof/mJLMtbdX1RJ8dbWtJgE00cMOIohb1lIyJl710vFiTaiHTl6ZYODJuBd32xFvUhmv3kg==", "license": "BSD-3-Clause", "dependencies": { "@digitalbazaar/http-client": "^3.4.1", @@ -21237,10 +25977,14 @@ }, "node_modules/jsonld/node_modules/canonicalize": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", "license": "Apache-2.0" }, "node_modules/jsonld/node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -21251,10 +25995,14 @@ }, "node_modules/jsonld/node_modules/yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "license": "ISC" }, "node_modules/jsonparse": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" @@ -21263,6 +26011,8 @@ }, "node_modules/jsonschema": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.5.0.tgz", + "integrity": "sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw==", "dev": true, "license": "MIT", "engines": { @@ -21271,6 +26021,8 @@ }, "node_modules/JSONStream": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "license": "(MIT OR Apache-2.0)", "dependencies": { @@ -21286,6 +26038,8 @@ }, "node_modules/jsonwebtoken": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", + "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", "license": "MIT", "dependencies": { "jws": "^3.2.2", @@ -21298,8 +26052,22 @@ "npm": ">=6" } }, + "node_modules/jsonwebtoken/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jwa": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", + "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", "license": "MIT", "dependencies": { "buffer-equal-constant-time": "^1.0.1", @@ -21309,6 +26077,8 @@ }, "node_modules/jws": { "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "license": "MIT", "dependencies": { "jwa": "^1.4.1", @@ -21317,6 +26087,8 @@ }, "node_modules/keccak": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", + "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -21330,6 +26102,8 @@ }, "node_modules/keccak/node_modules/readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -21342,6 +26116,8 @@ }, "node_modules/keyv": { "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "license": "MIT", "dependencies": { @@ -21350,10 +26126,14 @@ }, "node_modules/keyvaluestorage-interface": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", + "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==", "license": "MIT" }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "license": "MIT", "engines": { @@ -21362,6 +26142,8 @@ }, "node_modules/kleur": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, "license": "MIT", "engines": { @@ -21370,6 +26152,8 @@ }, "node_modules/klona": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", "license": "MIT", "engines": { "node": ">= 8" @@ -21377,10 +26161,14 @@ }, "node_modules/kuler": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", "license": "MIT" }, "node_modules/ky": { "version": "0.33.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-0.33.3.tgz", + "integrity": "sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw==", "license": "MIT", "engines": { "node": ">=14.16" @@ -21391,6 +26179,8 @@ }, "node_modules/ky-universal": { "version": "0.11.0", + "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.11.0.tgz", + "integrity": "sha512-65KyweaWvk+uKKkCrfAf+xqN2/epw1IJDtlyCPxYffFCMR8u1sp2U65NtWpnozYfZxQ6IUzIlvUcw+hQ82U2Xw==", "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", @@ -21414,6 +26204,8 @@ }, "node_modules/ky-universal/node_modules/node-fetch": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "license": "MIT", "dependencies": { "data-uri-to-buffer": "^4.0.0", @@ -21429,7 +26221,9 @@ } }, "node_modules/langbase": { - "version": "1.2.2", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/langbase/-/langbase-1.2.3.tgz", + "integrity": "sha512-rhJaursMFuXFB/KzY+7Eztyt7qZEkhz9z9ryl+IQLSvSsjbn61dgFGsxh0tSzA2M+DygW3cXTyYZr/K3SA3OXA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -21452,6 +26246,8 @@ }, "node_modules/latest-version": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", "dev": true, "license": "MIT", "dependencies": { @@ -21466,6 +26262,8 @@ }, "node_modules/leven": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "license": "MIT", "engines": { "node": ">=6" @@ -21473,6 +26271,8 @@ }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -21485,6 +26285,8 @@ }, "node_modules/lighthouse-logger": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", + "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", "license": "Apache-2.0", "peer": true, "dependencies": { @@ -21494,6 +26296,8 @@ }, "node_modules/lighthouse-logger/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", "peer": true, "dependencies": { @@ -21502,11 +26306,15 @@ }, "node_modules/lighthouse-logger/node_modules/ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT", "peer": true }, "node_modules/lilconfig": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, "license": "MIT", "engines": { @@ -21518,10 +26326,14 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "license": "MIT" }, "node_modules/lint-staged": { "version": "15.5.2", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.2.tgz", + "integrity": "sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==", "dev": true, "license": "MIT", "dependencies": { @@ -21546,8 +26358,20 @@ "url": "https://opencollective.com/lint-staged" } }, + "node_modules/lint-staged/node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/lint-staged/node_modules/execa": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "license": "MIT", "dependencies": { @@ -21570,6 +26394,8 @@ }, "node_modules/lint-staged/node_modules/get-stream": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, "license": "MIT", "engines": { @@ -21581,6 +26407,8 @@ }, "node_modules/lint-staged/node_modules/human-signals": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -21589,6 +26417,8 @@ }, "node_modules/lint-staged/node_modules/is-stream": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, "license": "MIT", "engines": { @@ -21600,6 +26430,8 @@ }, "node_modules/lint-staged/node_modules/mimic-fn": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, "license": "MIT", "engines": { @@ -21611,6 +26443,8 @@ }, "node_modules/lint-staged/node_modules/npm-run-path": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -21625,6 +26459,8 @@ }, "node_modules/lint-staged/node_modules/onetime": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "license": "MIT", "dependencies": { @@ -21639,6 +26475,8 @@ }, "node_modules/lint-staged/node_modules/path-key": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "license": "MIT", "engines": { @@ -21650,6 +26488,8 @@ }, "node_modules/lint-staged/node_modules/strip-final-newline": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, "license": "MIT", "engines": { @@ -21661,6 +26501,8 @@ }, "node_modules/listr2": { "version": "8.3.3", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.3.3.tgz", + "integrity": "sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==", "dev": true, "license": "MIT", "dependencies": { @@ -21677,6 +26519,8 @@ }, "node_modules/listr2/node_modules/ansi-regex": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -21688,6 +26532,8 @@ }, "node_modules/listr2/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "license": "MIT", "engines": { @@ -21699,11 +26545,15 @@ }, "node_modules/listr2/node_modules/emoji-regex": { "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true, "license": "MIT" }, "node_modules/listr2/node_modules/string-width": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { @@ -21720,6 +26570,8 @@ }, "node_modules/listr2/node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { @@ -21734,6 +26586,8 @@ }, "node_modules/listr2/node_modules/wrap-ansi": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, "license": "MIT", "dependencies": { @@ -21750,6 +26604,8 @@ }, "node_modules/lit": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^1.6.0", @@ -21759,6 +26615,8 @@ }, "node_modules/lit-element": { "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", "license": "BSD-3-Clause", "dependencies": { "@lit-labs/ssr-dom-shim": "^1.1.0", @@ -21768,6 +26626,8 @@ }, "node_modules/lit-html": { "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", "license": "BSD-3-Clause", "dependencies": { "@types/trusted-types": "^2.0.2" @@ -21775,6 +26635,8 @@ }, "node_modules/load-json-file": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, "license": "MIT", "dependencies": { @@ -21789,6 +26651,8 @@ }, "node_modules/load-json-file/node_modules/parse-json": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, "license": "MIT", "dependencies": { @@ -21801,6 +26665,8 @@ }, "node_modules/load-json-file/node_modules/strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "license": "MIT", "engines": { @@ -21809,6 +26675,8 @@ }, "node_modules/locate-path": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, "license": "MIT", "dependencies": { @@ -21823,80 +26691,115 @@ }, "node_modules/lock": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/lock/-/lock-1.1.0.tgz", + "integrity": "sha512-NZQIJJL5Rb9lMJ0Yl1JoVr9GSdo4HTPsUEWsSFzB8dE8DSoiLCVavWZPi7Rnlv/o73u6I24S/XYc/NmG4l8EKA==", "license": "MIT" }, "node_modules/lodash": { "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "license": "MIT" }, "node_modules/lodash.camelcase": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", "license": "MIT" }, "node_modules/lodash.debounce": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true, "license": "MIT" }, "node_modules/lodash.isequal": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", "license": "MIT" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", "dev": true, "license": "MIT" }, "node_modules/lodash.kebabcase": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", "dev": true, "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true, "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "license": "MIT" }, "node_modules/lodash.mergewith": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", + "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==", "license": "MIT" }, "node_modules/lodash.snakecase": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", "dev": true, "license": "MIT" }, "node_modules/lodash.startcase": { "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", "dev": true, "license": "MIT" }, "node_modules/lodash.throttle": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", "license": "MIT", "peer": true }, "node_modules/lodash.truncate": { "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true, "license": "MIT" }, "node_modules/lodash.uniq": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", "dev": true, "license": "MIT" }, "node_modules/lodash.upperfirst": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", "dev": true, "license": "MIT" }, "node_modules/log-symbols": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "license": "MIT", "dependencies": { "chalk": "^4.1.0", @@ -21911,6 +26814,8 @@ }, "node_modules/log-symbols/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -21924,6 +26829,8 @@ }, "node_modules/log-symbols/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -21938,6 +26845,8 @@ }, "node_modules/log-symbols/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -21948,10 +26857,14 @@ }, "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, "node_modules/log-update": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, "license": "MIT", "dependencies": { @@ -21970,6 +26883,8 @@ }, "node_modules/log-update/node_modules/ansi-escapes": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, "license": "MIT", "dependencies": { @@ -21984,6 +26899,8 @@ }, "node_modules/log-update/node_modules/ansi-regex": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -21995,6 +26912,8 @@ }, "node_modules/log-update/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "license": "MIT", "engines": { @@ -22006,11 +26925,15 @@ }, "node_modules/log-update/node_modules/emoji-regex": { "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true, "license": "MIT" }, "node_modules/log-update/node_modules/is-fullwidth-code-point": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "dev": true, "license": "MIT", "dependencies": { @@ -22025,6 +26948,8 @@ }, "node_modules/log-update/node_modules/slice-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, "license": "MIT", "dependencies": { @@ -22040,6 +26965,8 @@ }, "node_modules/log-update/node_modules/string-width": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { @@ -22056,6 +26983,8 @@ }, "node_modules/log-update/node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { @@ -22070,6 +26999,8 @@ }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, "license": "MIT", "dependencies": { @@ -22086,6 +27017,8 @@ }, "node_modules/logform": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", + "integrity": "sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==", "license": "MIT", "dependencies": { "@colors/colors": "1.6.0", @@ -22101,6 +27034,8 @@ }, "node_modules/logform/node_modules/@colors/colors": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", "license": "MIT", "engines": { "node": ">=0.1.90" @@ -22108,10 +27043,14 @@ }, "node_modules/long": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", "license": "Apache-2.0" }, "node_modules/loose-envify": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -22122,6 +27061,8 @@ }, "node_modules/loupe": { "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "license": "MIT", "dependencies": { "get-func-name": "^2.0.1" @@ -22129,6 +27070,8 @@ }, "node_modules/lowercase-keys": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "dev": true, "license": "MIT", "engines": { @@ -22140,11 +27083,15 @@ }, "node_modules/lru_map": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", + "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", "dev": true, "license": "MIT" }, "node_modules/lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "license": "ISC", "dependencies": { "yallist": "^3.0.2" @@ -22152,6 +27099,8 @@ }, "node_modules/lz-string": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "dev": true, "license": "MIT", "bin": { @@ -22159,15 +27108,19 @@ } }, "node_modules/magic-string": { - "version": "0.25.9", + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, "license": "MIT", "dependencies": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/make-dir": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "license": "MIT", "optional": true, "dependencies": { @@ -22180,26 +27133,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "optional": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/make-error": { "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true, "license": "ISC" }, "node_modules/make-promises-safe": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/make-promises-safe/-/make-promises-safe-5.1.0.tgz", + "integrity": "sha512-AfdZ49rtyhQR/6cqVKGoH7y4ql7XkS5HJI1lZm0/5N6CQosy1eYbBJ/qbhkKHzo17UH7M918Bysf6XB9f3kS1g==", "license": "MIT", "optional": true }, "node_modules/makeerror": { "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" @@ -22207,16 +27158,22 @@ }, "node_modules/markdown-table": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", "dev": true, "license": "MIT" }, "node_modules/marky": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz", + "integrity": "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==", "license": "Apache-2.0", "peer": true }, "node_modules/math-intrinsics": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -22224,6 +27181,8 @@ }, "node_modules/md5.js": { "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "license": "MIT", "dependencies": { "hash-base": "^3.0.0", @@ -22233,6 +27192,8 @@ }, "node_modules/mdast-util-definitions": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", "license": "MIT", "dependencies": { "unist-util-visit": "^2.0.0" @@ -22244,6 +27205,8 @@ }, "node_modules/mdast-util-from-markdown": { "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", "license": "MIT", "dependencies": { "@types/mdast": "^3.0.0", @@ -22259,6 +27222,8 @@ }, "node_modules/mdast-util-to-hast": { "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.2.0.tgz", + "integrity": "sha512-JoPBfJ3gBnHZ18icCwHR50orC9kNH81tiR1gs01D8Q5YpV6adHNO9nKNuFBCJQ941/32PT1a63UF/DitmS3amQ==", "license": "MIT", "dependencies": { "@types/mdast": "^3.0.0", @@ -22277,6 +27242,8 @@ }, "node_modules/mdast-util-to-string": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", "license": "MIT", "funding": { "type": "opencollective", @@ -22285,15 +27252,20 @@ }, "node_modules/mdurl": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", "license": "MIT" }, "node_modules/memoize-one": { - "version": "5.2.1", - "license": "MIT", - "peer": true + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" }, "node_modules/memorystream": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", "dev": true, "engines": { "node": ">= 0.10.0" @@ -22301,6 +27273,8 @@ }, "node_modules/meow": { "version": "12.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", + "integrity": "sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==", "dev": true, "license": "MIT", "engines": { @@ -22312,10 +27286,14 @@ }, "node_modules/merge-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "license": "MIT", "engines": { @@ -22324,6 +27302,8 @@ }, "node_modules/metro": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.82.5.tgz", + "integrity": "sha512-8oAXxL7do8QckID/WZEKaIFuQJFUTLzfVcC48ghkHhNK2RGuQq8Xvf4AVd+TUA0SZtX0q8TGNXZ/eba1ckeGCg==", "license": "MIT", "peer": true, "dependencies": { @@ -22377,6 +27357,8 @@ }, "node_modules/metro-babel-transformer": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.82.5.tgz", + "integrity": "sha512-W/scFDnwJXSccJYnOFdGiYr9srhbHPdxX9TvvACOFsIXdLilh3XuxQl/wXW6jEJfgIb0jTvoTlwwrqvuwymr6Q==", "license": "MIT", "peer": true, "dependencies": { @@ -22391,11 +27373,15 @@ }, "node_modules/metro-babel-transformer/node_modules/hermes-estree": { "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", + "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", "license": "MIT", "peer": true }, "node_modules/metro-babel-transformer/node_modules/hermes-parser": { "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", + "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", "license": "MIT", "peer": true, "dependencies": { @@ -22404,6 +27390,8 @@ }, "node_modules/metro-cache": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.82.5.tgz", + "integrity": "sha512-AwHV9607xZpedu1NQcjUkua8v7HfOTKfftl6Vc9OGr/jbpiJX6Gpy8E/V9jo/U9UuVYX2PqSUcVNZmu+LTm71Q==", "license": "MIT", "peer": true, "dependencies": { @@ -22418,6 +27406,8 @@ }, "node_modules/metro-cache-key": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.82.5.tgz", + "integrity": "sha512-qpVmPbDJuRLrT4kcGlUouyqLGssJnbTllVtvIgXfR7ZuzMKf0mGS+8WzcqzNK8+kCyakombQWR0uDd8qhWGJcA==", "license": "MIT", "peer": true, "dependencies": { @@ -22429,6 +27419,8 @@ }, "node_modules/metro-cache/node_modules/agent-base": { "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "license": "MIT", "peer": true, "engines": { @@ -22437,6 +27429,8 @@ }, "node_modules/metro-cache/node_modules/https-proxy-agent": { "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "license": "MIT", "peer": true, "dependencies": { @@ -22449,6 +27443,8 @@ }, "node_modules/metro-config": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.82.5.tgz", + "integrity": "sha512-/r83VqE55l0WsBf8IhNmc/3z71y2zIPe5kRSuqA5tY/SL/ULzlHUJEMd1szztd0G45JozLwjvrhAzhDPJ/Qo/g==", "license": "MIT", "peer": true, "dependencies": { @@ -22465,16 +27461,10 @@ "node": ">=18.18" } }, - "node_modules/metro-config/node_modules/argparse": { - "version": "1.0.10", - "license": "MIT", - "peer": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/metro-config/node_modules/cosmiconfig": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", "license": "MIT", "peer": true, "dependencies": { @@ -22487,20 +27477,10 @@ "node": ">=4" } }, - "node_modules/metro-config/node_modules/esprima": { - "version": "4.0.1", - "license": "BSD-2-Clause", - "peer": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/metro-config/node_modules/import-fresh": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", "license": "MIT", "peer": true, "dependencies": { @@ -22511,20 +27491,10 @@ "node": ">=4" } }, - "node_modules/metro-config/node_modules/js-yaml": { - "version": "3.14.1", - "license": "MIT", - "peer": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/metro-config/node_modules/parse-json": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "license": "MIT", "peer": true, "dependencies": { @@ -22537,6 +27507,8 @@ }, "node_modules/metro-config/node_modules/resolve-from": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", "license": "MIT", "peer": true, "engines": { @@ -22545,6 +27517,8 @@ }, "node_modules/metro-core": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.82.5.tgz", + "integrity": "sha512-OJL18VbSw2RgtBm1f2P3J5kb892LCVJqMvslXxuxjAPex8OH7Eb8RBfgEo7VZSjgb/LOf4jhC4UFk5l5tAOHHA==", "license": "MIT", "peer": true, "dependencies": { @@ -22558,6 +27532,8 @@ }, "node_modules/metro-file-map": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.82.5.tgz", + "integrity": "sha512-vpMDxkGIB+MTN8Af5hvSAanc6zXQipsAUO+XUx3PCQieKUfLwdoa8qaZ1WAQYRpaU+CJ8vhBcxtzzo3d9IsCIQ==", "license": "MIT", "peer": true, "dependencies": { @@ -22577,6 +27553,8 @@ }, "node_modules/metro-minify-terser": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.82.5.tgz", + "integrity": "sha512-v6Nx7A4We6PqPu/ta1oGTqJ4Usz0P7c+3XNeBxW9kp8zayS3lHUKR0sY0wsCHInxZlNAEICx791x+uXytFUuwg==", "license": "MIT", "peer": true, "dependencies": { @@ -22589,6 +27567,8 @@ }, "node_modules/metro-resolver": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.82.5.tgz", + "integrity": "sha512-kFowLnWACt3bEsuVsaRNgwplT8U7kETnaFHaZePlARz4Fg8tZtmRDUmjaD68CGAwc0rwdwNCkWizLYpnyVcs2g==", "license": "MIT", "peer": true, "dependencies": { @@ -22600,6 +27580,8 @@ }, "node_modules/metro-runtime": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.82.5.tgz", + "integrity": "sha512-rQZDoCUf7k4Broyw3Ixxlq5ieIPiR1ULONdpcYpbJQ6yQ5GGEyYjtkztGD+OhHlw81LCR2SUAoPvtTus2WDK5g==", "license": "MIT", "peer": true, "dependencies": { @@ -22612,6 +27594,8 @@ }, "node_modules/metro-source-map": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.82.5.tgz", + "integrity": "sha512-wH+awTOQJVkbhn2SKyaw+0cd+RVSCZ3sHVgyqJFQXIee/yLs3dZqKjjeKKhhVeudgjXo7aE/vSu/zVfcQEcUfw==", "license": "MIT", "peer": true, "dependencies": { @@ -22630,16 +27614,10 @@ "node": ">=18.18" } }, - "node_modules/metro-source-map/node_modules/source-map": { - "version": "0.5.7", - "license": "BSD-3-Clause", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/metro-symbolicate": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.82.5.tgz", + "integrity": "sha512-1u+07gzrvYDJ/oNXuOG1EXSvXZka/0JSW1q2EYBWerVKMOhvv9JzDGyzmuV7hHbF2Hg3T3S2uiM36sLz1qKsiw==", "license": "MIT", "peer": true, "dependencies": { @@ -22657,16 +27635,10 @@ "node": ">=18.18" } }, - "node_modules/metro-symbolicate/node_modules/source-map": { - "version": "0.5.7", - "license": "BSD-3-Clause", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/metro-transform-plugins": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.82.5.tgz", + "integrity": "sha512-57Bqf3rgq9nPqLrT2d9kf/2WVieTFqsQ6qWHpEng5naIUtc/Iiw9+0bfLLWSAw0GH40iJ4yMjFcFJDtNSYynMA==", "license": "MIT", "peer": true, "dependencies": { @@ -22683,6 +27655,8 @@ }, "node_modules/metro-transform-worker": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.82.5.tgz", + "integrity": "sha512-mx0grhAX7xe+XUQH6qoHHlWedI8fhSpDGsfga7CpkO9Lk9W+aPitNtJWNGrW8PfjKEWbT9Uz9O50dkI8bJqigw==", "license": "MIT", "peer": true, "dependencies": { @@ -22706,6 +27680,8 @@ }, "node_modules/metro/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "peer": true, "dependencies": { @@ -22720,6 +27696,8 @@ }, "node_modules/metro/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "peer": true, "dependencies": { @@ -22735,6 +27713,8 @@ }, "node_modules/metro/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "peer": true, "dependencies": { @@ -22746,32 +27726,32 @@ }, "node_modules/metro/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT", "peer": true }, "node_modules/metro/node_modules/hermes-estree": { "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", + "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", "license": "MIT", "peer": true }, "node_modules/metro/node_modules/hermes-parser": { "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", + "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", "license": "MIT", "peer": true, "dependencies": { "hermes-estree": "0.29.1" } }, - "node_modules/metro/node_modules/source-map": { - "version": "0.5.7", - "license": "BSD-3-Clause", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/metro/node_modules/ws": { "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "license": "MIT", "peer": true, "engines": { @@ -22791,24 +27771,41 @@ } }, "node_modules/micro-eth-signer": { - "version": "0.16.0", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/micro-eth-signer/-/micro-eth-signer-0.14.0.tgz", + "integrity": "sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@noble/curves": "~1.8.1", + "@noble/hashes": "~1.7.1", + "micro-packed": "~0.7.2" + } + }, + "node_modules/micro-eth-signer/node_modules/@noble/curves": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.2.tgz", + "integrity": "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g==", "dev": true, "license": "MIT", "dependencies": { - "@noble/curves": "~1.9.2", - "@noble/hashes": "2.0.0-beta.1", - "micro-packed": "~0.7.3" + "@noble/hashes": "1.7.2" }, "engines": { - "node": ">= 20.19.0" + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, "node_modules/micro-eth-signer/node_modules/@noble/hashes": { - "version": "2.0.0-beta.1", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.2.tgz", + "integrity": "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 20.19.0" + "node": "^14.21.3 || >=16" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -22816,10 +27813,14 @@ }, "node_modules/micro-ftch": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", + "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==", "license": "MIT" }, "node_modules/micro-packed": { "version": "0.7.3", + "resolved": "https://registry.npmjs.org/micro-packed/-/micro-packed-0.7.3.tgz", + "integrity": "sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg==", "dev": true, "license": "MIT", "dependencies": { @@ -22831,6 +27832,8 @@ }, "node_modules/micromark": { "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", "funding": [ { "type": "GitHub Sponsors", @@ -22849,6 +27852,8 @@ }, "node_modules/micromatch": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -22858,8 +27863,22 @@ "node": ">=8.6" } }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/mime": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "license": "MIT", "peer": true, "bin": { @@ -22871,6 +27890,8 @@ }, "node_modules/mime-db": { "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -22878,6 +27899,8 @@ }, "node_modules/mime-types": { "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "license": "MIT", "dependencies": { "mime-db": "1.52.0" @@ -22888,6 +27911,8 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "license": "MIT", "engines": { "node": ">=6" @@ -22895,6 +27920,8 @@ }, "node_modules/mimic-function": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "dev": true, "license": "MIT", "engines": { @@ -22906,6 +27933,8 @@ }, "node_modules/mimic-response": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", "dev": true, "license": "MIT", "engines": { @@ -22917,6 +27946,8 @@ }, "node_modules/min-indent": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, "license": "MIT", "engines": { @@ -22925,14 +27956,20 @@ }, "node_modules/minimalistic-assert": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "license": "MIT" }, "node_modules/minimatch": { "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -22946,6 +27983,8 @@ }, "node_modules/minimist": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -22953,6 +27992,8 @@ }, "node_modules/minipass": { "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" @@ -22960,6 +28001,8 @@ }, "node_modules/minizlib": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "license": "MIT", "optional": true, "dependencies": { @@ -22972,6 +28015,8 @@ }, "node_modules/minizlib/node_modules/minipass": { "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "license": "ISC", "optional": true, "dependencies": { @@ -22983,21 +28028,28 @@ }, "node_modules/minizlib/node_modules/yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "license": "ISC", "optional": true }, "node_modules/mkdirp": { - "version": "1.0.4", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, "bin": { "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" } }, "node_modules/mnemonist": { "version": "0.38.5", + "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", + "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", "dev": true, "license": "MIT", "dependencies": { @@ -23006,6 +28058,8 @@ }, "node_modules/mocha": { "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", "dev": true, "license": "MIT", "dependencies": { @@ -23038,31 +28092,17 @@ "node": ">= 14.0.0" } }, - "node_modules/mocha/node_modules/chokidar": { - "version": "3.6.0", + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } + "license": "Python-2.0" }, "node_modules/mocha/node_modules/cliui": { "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "license": "ISC", "dependencies": { @@ -23073,6 +28113,8 @@ }, "node_modules/mocha/node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { @@ -23088,6 +28130,9 @@ }, "node_modules/mocha/node_modules/glob": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -23104,19 +28149,23 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/glob-parent": { - "version": "5.1.2", + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "argparse": "^2.0.1" }, - "engines": { - "node": ">= 6" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, "node_modules/mocha/node_modules/locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { @@ -23131,6 +28180,8 @@ }, "node_modules/mocha/node_modules/minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "license": "ISC", "dependencies": { @@ -23142,6 +28193,8 @@ }, "node_modules/mocha/node_modules/p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -23156,25 +28209,18 @@ }, "node_modules/mocha/node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/mocha/node_modules/readdirp": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -23189,6 +28235,8 @@ }, "node_modules/mocha/node_modules/yargs": { "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "license": "MIT", "dependencies": { @@ -23206,6 +28254,8 @@ }, "node_modules/moment": { "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "license": "MIT", "engines": { "node": "*" @@ -23213,6 +28263,8 @@ }, "node_modules/motion": { "version": "10.16.2", + "resolved": "https://registry.npmjs.org/motion/-/motion-10.16.2.tgz", + "integrity": "sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==", "license": "MIT", "dependencies": { "@motionone/animation": "^10.15.1", @@ -23223,25 +28275,17 @@ "@motionone/vue": "^10.16.2" } }, - "node_modules/motion-dom": { - "version": "12.23.9", - "license": "MIT", - "peer": true, - "dependencies": { - "motion-utils": "^12.23.6" - } - }, - "node_modules/motion-utils": { - "version": "12.23.6", - "license": "MIT", - "peer": true - }, "node_modules/ms": { "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, "node_modules/multibase": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.6.tgz", + "integrity": "sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ==", + "deprecated": "This module has been superseded by the multiformats module", "license": "MIT", "dependencies": { "@multiformats/base-x": "^4.0.1" @@ -23253,6 +28297,9 @@ }, "node_modules/multicodec": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.2.1.tgz", + "integrity": "sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw==", + "deprecated": "This module has been superseded by the multiformats module", "license": "MIT", "dependencies": { "uint8arrays": "^3.0.0", @@ -23260,16 +28307,22 @@ } }, "node_modules/multiformats": { - "version": "13.3.7", + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-13.4.0.tgz", + "integrity": "sha512-Mkb/QcclrJxKC+vrcIFl297h52QcKh2Az/9A5vbWytbQt4225UWWWmIuSsKksdww9NkIeYcA7DkfftyLuC/JSg==", "license": "Apache-2.0 OR MIT" }, "node_modules/mute-stream": { "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "license": "ISC", "optional": true }, "node_modules/named-urls": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/named-urls/-/named-urls-2.0.1.tgz", + "integrity": "sha512-e/WeLA52FeLZpWt5JcpYp4fZqESBxoNuyJB3LQljHqNPNt0ow1t8QOTFEIeOZf+X+bJOLIXCPCnmyPZnBV8sMg==", "license": "MIT", "dependencies": { "path-to-regexp": "^6.1.0" @@ -23277,6 +28330,8 @@ }, "node_modules/nanoid": { "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -23294,11 +28349,15 @@ }, "node_modules/natural-compare": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, "license": "MIT" }, "node_modules/negotiator": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "license": "MIT", "peer": true, "engines": { @@ -23307,11 +28366,15 @@ }, "node_modules/neo-async": { "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "devOptional": true, "license": "MIT" }, "node_modules/neon-cli": { "version": "0.10.1", + "resolved": "https://registry.npmjs.org/neon-cli/-/neon-cli-0.10.1.tgz", + "integrity": "sha512-kOd9ELaYETe1J1nBEOYD7koAZVj6xR9TGwOPccAsWmwL5amkaXXXwXHCUHkBAWujlgSZY5f2pT+pFGkzoHExYQ==", "license": "SEE LICENSE IN LICENSE-*", "optional": true, "dependencies": { @@ -23339,6 +28402,8 @@ }, "node_modules/neon-cli/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "optional": true, "dependencies": { @@ -23353,6 +28418,8 @@ }, "node_modules/neon-cli/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "license": "MIT", "optional": true, "dependencies": { @@ -23362,6 +28429,8 @@ }, "node_modules/neon-cli/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "optional": true, "dependencies": { @@ -23377,6 +28446,8 @@ }, "node_modules/neon-cli/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "optional": true, "dependencies": { @@ -23388,11 +28459,16 @@ }, "node_modules/neon-cli/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT", "optional": true }, "node_modules/neon-cli/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "license": "ISC", "optional": true, "dependencies": { @@ -23412,6 +28488,8 @@ }, "node_modules/neon-cli/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "license": "ISC", "optional": true, "dependencies": { @@ -23423,6 +28501,9 @@ }, "node_modules/neon-cli/node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "license": "ISC", "optional": true, "dependencies": { @@ -23435,17 +28516,37 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/neon-cli/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/nice-try": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true, "license": "MIT" }, "node_modules/node-addon-api": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", + "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", "license": "MIT" }, "node_modules/node-domexception": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", "funding": [ { "type": "github", @@ -23463,6 +28564,8 @@ }, "node_modules/node-emoji": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, "license": "MIT", "dependencies": { @@ -23471,6 +28574,8 @@ }, "node_modules/node-eval": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-eval/-/node-eval-2.0.0.tgz", + "integrity": "sha512-Ap+L9HznXAVeJj3TJ1op6M6bg5xtTq8L5CU/PJxtkhea/DrIxdTknGKIECKd/v/Lgql95iuMAYvIzBNd0pmcMg==", "dev": true, "license": "MIT", "dependencies": { @@ -23482,6 +28587,8 @@ }, "node_modules/node-fetch": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" @@ -23499,11 +28606,37 @@ } }, "node_modules/node-fetch-native": { - "version": "1.6.6", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "license": "MIT" }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/node-gyp-build": { "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", "license": "MIT", "bin": { "node-gyp-build": "bin.js", @@ -23513,18 +28646,26 @@ }, "node_modules/node-int64": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "license": "MIT" }, "node_modules/node-mock-http": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.2.tgz", + "integrity": "sha512-zWaamgDUdo9SSLw47we78+zYw/bDr5gH8pH7oRRs8V3KmBtu8GLgGIbV2p/gRPd3LWpEOpjQj7X1FOU3VFMJ8g==", "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "license": "MIT" }, "node_modules/nofilter": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", "license": "MIT", "engines": { "node": ">=12.19" @@ -23532,6 +28673,8 @@ }, "node_modules/nopt": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "license": "ISC", "optional": true, "dependencies": { @@ -23546,6 +28689,8 @@ }, "node_modules/normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -23557,6 +28702,8 @@ }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "license": "ISC", "bin": { @@ -23565,6 +28712,8 @@ }, "node_modules/normalize-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -23572,6 +28721,8 @@ }, "node_modules/normalize-url": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.2.tgz", + "integrity": "sha512-Ee/R3SyN4BuynXcnTaekmaVdbDAEiNrHqjQIA37mHU8G9pf7aaAD4ZX3XjBLo6rsdcxA/gtkcNYZLt30ACgynw==", "dev": true, "license": "MIT", "engines": { @@ -23583,6 +28734,8 @@ }, "node_modules/npm-run-all": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -23607,6 +28760,8 @@ }, "node_modules/npm-run-all/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -23616,6 +28771,8 @@ }, "node_modules/npm-run-all/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "license": "MIT", "dependencies": { @@ -23629,6 +28786,8 @@ }, "node_modules/npm-run-all/node_modules/cross-spawn": { "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", "dev": true, "license": "MIT", "dependencies": { @@ -23644,6 +28803,8 @@ }, "node_modules/npm-run-all/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "license": "MIT", "engines": { @@ -23652,6 +28813,8 @@ }, "node_modules/npm-run-all/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "license": "MIT", "engines": { @@ -23660,6 +28823,8 @@ }, "node_modules/npm-run-all/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -23671,6 +28836,8 @@ }, "node_modules/npm-run-all/node_modules/path-key": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, "license": "MIT", "engines": { @@ -23679,6 +28846,8 @@ }, "node_modules/npm-run-all/node_modules/pidtree": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", "dev": true, "license": "MIT", "bin": { @@ -23690,6 +28859,8 @@ }, "node_modules/npm-run-all/node_modules/semver": { "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "license": "ISC", "bin": { @@ -23698,6 +28869,8 @@ }, "node_modules/npm-run-all/node_modules/shebang-command": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "license": "MIT", "dependencies": { @@ -23709,6 +28882,8 @@ }, "node_modules/npm-run-all/node_modules/shebang-regex": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, "license": "MIT", "engines": { @@ -23717,6 +28892,8 @@ }, "node_modules/npm-run-all/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "license": "MIT", "dependencies": { @@ -23728,6 +28905,8 @@ }, "node_modules/npm-run-all/node_modules/which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "license": "ISC", "dependencies": { @@ -23739,6 +28918,8 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "license": "MIT", "dependencies": { @@ -23750,6 +28931,9 @@ }, "node_modules/npmlog": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", "license": "ISC", "optional": true, "dependencies": { @@ -23761,11 +28945,15 @@ }, "node_modules/nullthrows": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", "license": "MIT", "peer": true }, "node_modules/number-to-bn": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", "license": "MIT", "dependencies": { "bn.js": "4.11.6", @@ -23778,15 +28966,21 @@ }, "node_modules/number-to-bn/node_modules/bn.js": { "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", "license": "MIT" }, "node_modules/nwsapi": { "version": "2.2.21", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.21.tgz", + "integrity": "sha512-o6nIY3qwiSXl7/LuOU0Dmuctd34Yay0yeuZRLFmDPrrdHpXKFndPj3hM+YEPVHYC5fx2otBx4Ilc/gyYSAUaIA==", "dev": true, "license": "MIT" }, "node_modules/ob1": { "version": "0.82.5", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.82.5.tgz", + "integrity": "sha512-QyQQ6e66f+Ut/qUVjEce0E/wux5nAGLXYZDn1jr15JWstHsCH3l6VVrg8NKDptW9NEiBXKOJeGF/ydxeSDF3IQ==", "license": "MIT", "peer": true, "dependencies": { @@ -23798,6 +28992,8 @@ }, "node_modules/object-assign": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -23805,6 +29001,8 @@ }, "node_modules/object-hash": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", "license": "MIT", "engines": { "node": ">= 6" @@ -23812,6 +29010,8 @@ }, "node_modules/object-inspect": { "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -23822,6 +29022,8 @@ }, "node_modules/object-is": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", "dev": true, "license": "MIT", "dependencies": { @@ -23837,6 +29039,8 @@ }, "node_modules/object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, "license": "MIT", "engines": { @@ -23845,6 +29049,8 @@ }, "node_modules/object.assign": { "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, "license": "MIT", "dependencies": { @@ -23864,6 +29070,8 @@ }, "node_modules/object.fromentries": { "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "license": "MIT", "dependencies": { @@ -23881,6 +29089,8 @@ }, "node_modules/object.groupby": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dev": true, "license": "MIT", "dependencies": { @@ -23894,6 +29104,8 @@ }, "node_modules/object.values": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, "license": "MIT", "dependencies": { @@ -23911,11 +29123,15 @@ }, "node_modules/obliterator": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.5.tgz", + "integrity": "sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==", "dev": true, "license": "MIT" }, "node_modules/ofetch": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.4.1.tgz", + "integrity": "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==", "license": "MIT", "dependencies": { "destr": "^2.0.3", @@ -23925,6 +29141,8 @@ }, "node_modules/on-exit-leak-free": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", "license": "MIT", "engines": { "node": ">=14.0.0" @@ -23932,6 +29150,8 @@ }, "node_modules/on-finished": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "license": "MIT", "peer": true, "dependencies": { @@ -23943,6 +29163,8 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "license": "ISC", "dependencies": { "wrappy": "1" @@ -23950,6 +29172,8 @@ }, "node_modules/one-time": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", "license": "MIT", "dependencies": { "fn.name": "1.x.x" @@ -23957,6 +29181,8 @@ }, "node_modules/onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" @@ -23970,6 +29196,8 @@ }, "node_modules/open": { "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", "license": "MIT", "peer": true, "dependencies": { @@ -23985,6 +29213,8 @@ }, "node_modules/openai": { "version": "4.104.0", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.104.0.tgz", + "integrity": "sha512-p99EFNsA/yX6UhVO93f5kJsDRLAg+CTA2RBqdHK4RtK8u5IJw32Hyb2dTGKbnnFmnuoBv5r7Z2CURI9sGZpSuA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -24013,7 +29243,9 @@ } }, "node_modules/openai/node_modules/@types/node": { - "version": "18.19.120", + "version": "18.19.122", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.122.tgz", + "integrity": "sha512-yzegtT82dwTNEe/9y+CM8cgb42WrUfMMCg2QqSddzO1J6uPmBD7qKCZ7dOHZP2Yrpm/kb0eqdNMn2MUyEiqBmA==", "dev": true, "license": "MIT", "dependencies": { @@ -24022,11 +29254,15 @@ }, "node_modules/openai/node_modules/undici-types": { "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true, "license": "MIT" }, "node_modules/optionator": { "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", "dependencies": { @@ -24042,99 +29278,164 @@ } }, "node_modules/ora": { - "version": "5.4.1", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz", + "integrity": "sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==", + "dev": true, "license": "MIT", "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "chalk": "^5.3.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.9.0", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.3.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "string-width": "^6.1.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/ora/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.2", + "node_modules/ora/node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "restore-cursor": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/cli-cursor": { - "version": "3.1.0", + "node_modules/ora/node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/ora/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/ora/node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" - }, "node_modules/ora/node_modules/restore-cursor": { - "version": "3.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ora/node_modules/signal-exit": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, "license": "ISC" }, + "node_modules/ora/node_modules/string-width": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-6.1.0.tgz", + "integrity": "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^10.2.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/ordinal": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ordinal/-/ordinal-1.0.3.tgz", + "integrity": "sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==", "dev": true, "license": "MIT" }, "node_modules/os-tmpdir": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "devOptional": true, "license": "MIT", "engines": { @@ -24143,6 +29444,8 @@ }, "node_modules/own-keys": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", "dev": true, "license": "MIT", "dependencies": { @@ -24159,6 +29462,8 @@ }, "node_modules/ox": { "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.7.1.tgz", + "integrity": "sha512-+k9fY9PRNuAMHRFIUbiK9Nt5seYHHzSQs9Bj+iMETcGtlpS7SmBzcGSVUQO3+nqGLEiNK4598pHNFlVRaZbRsg==", "funding": [ { "type": "github", @@ -24187,6 +29492,8 @@ }, "node_modules/ox/node_modules/@scure/bip32": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz", + "integrity": "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==", "license": "MIT", "dependencies": { "@noble/curves": "~1.9.0", @@ -24199,6 +29506,8 @@ }, "node_modules/ox/node_modules/@scure/bip39": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz", + "integrity": "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==", "license": "MIT", "dependencies": { "@noble/hashes": "~1.8.0", @@ -24210,6 +29519,8 @@ }, "node_modules/p-cancelable": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", "dev": true, "license": "MIT", "engines": { @@ -24218,6 +29529,8 @@ }, "node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { @@ -24232,6 +29545,8 @@ }, "node_modules/p-locate": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, "license": "MIT", "dependencies": { @@ -24246,6 +29561,8 @@ }, "node_modules/p-locate/node_modules/p-limit": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, "license": "MIT", "dependencies": { @@ -24260,6 +29577,8 @@ }, "node_modules/p-locate/node_modules/yocto-queue": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", "dev": true, "license": "MIT", "engines": { @@ -24271,6 +29590,8 @@ }, "node_modules/p-map": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "license": "MIT", "dependencies": { @@ -24285,6 +29606,8 @@ }, "node_modules/p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "license": "MIT", "engines": { "node": ">=6" @@ -24292,6 +29615,8 @@ }, "node_modules/package-json": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", "dev": true, "license": "MIT", "dependencies": { @@ -24309,10 +29634,27 @@ }, "node_modules/package-json-from-dist": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "license": "BlueOak-1.0.0" }, + "node_modules/package-json/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "license": "MIT", "dependencies": { "callsites": "^3.0.0" @@ -24323,10 +29665,14 @@ }, "node_modules/parse-cache-control": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", "dev": true }, "node_modules/parse-entities": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", "license": "MIT", "dependencies": { "character-entities": "^1.0.0", @@ -24343,6 +29689,8 @@ }, "node_modules/parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", @@ -24359,6 +29707,8 @@ }, "node_modules/parse5": { "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "license": "MIT", "dependencies": { @@ -24370,6 +29720,8 @@ }, "node_modules/parseurl": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "license": "MIT", "peer": true, "engines": { @@ -24378,6 +29730,8 @@ }, "node_modules/path-exists": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, "license": "MIT", "engines": { @@ -24386,6 +29740,8 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -24393,6 +29749,8 @@ }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "license": "MIT", "engines": { "node": ">=8" @@ -24400,28 +29758,41 @@ }, "node_modules/path-parse": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.11.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "license": "ISC" + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", + "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } }, "node_modules/path-starts-with": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-starts-with/-/path-starts-with-2.0.1.tgz", + "integrity": "sha512-wZ3AeiRBRlNwkdUxvBANh0+esnt38DLffHDujZyRHkqkaKHTglnY2EP5UX3b8rdeiSutgO4y9NEJwXezNP5vHg==", "dev": true, "license": "MIT", "engines": { @@ -24430,10 +29801,14 @@ }, "node_modules/path-to-regexp": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "license": "MIT", "engines": { "node": ">=8" @@ -24441,6 +29816,8 @@ }, "node_modules/pathval": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "license": "MIT", "engines": { "node": "*" @@ -24448,6 +29825,8 @@ }, "node_modules/pbkdf2": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz", + "integrity": "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==", "license": "MIT", "dependencies": { "create-hash": "~1.1.3", @@ -24463,6 +29842,8 @@ }, "node_modules/pbkdf2/node_modules/create-hash": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==", "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", @@ -24473,6 +29854,8 @@ }, "node_modules/pbkdf2/node_modules/hash-base": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==", "license": "MIT", "dependencies": { "inherits": "^2.0.1" @@ -24480,6 +29863,8 @@ }, "node_modules/pbkdf2/node_modules/ripemd160": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==", "license": "MIT", "dependencies": { "hash-base": "^2.0.0", @@ -24488,13 +29873,18 @@ }, "node_modules/picocolors": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -24502,6 +29892,8 @@ }, "node_modules/pidtree": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true, "license": "MIT", "bin": { @@ -24513,6 +29905,8 @@ }, "node_modules/pify": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, "license": "MIT", "engines": { @@ -24520,7 +29914,9 @@ } }, "node_modules/pino": { - "version": "9.7.0", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.8.0.tgz", + "integrity": "sha512-L5+rV1wL7vGAcxXP7sPpN5lrJ07Piruka6ArXr7EWBXxdVWjJshGVX8suFsiusJVcGKDGUFfbgbnKdg+VAC+0g==", "license": "MIT", "dependencies": { "atomic-sleep": "^1.0.0", @@ -24541,13 +29937,17 @@ }, "node_modules/pino-abstract-transport": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-2.0.0.tgz", + "integrity": "sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==", "license": "MIT", "dependencies": { "split2": "^4.0.0" } }, "node_modules/pino-pretty": { - "version": "13.0.0", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-13.1.1.tgz", + "integrity": "sha512-TNNEOg0eA0u+/WuqH0MH0Xui7uqVk9D74ESOpjtebSQYbNWJk/dIxCXIxFsNfeN53JmtWqYHP2OrIZjT/CBEnA==", "license": "MIT", "dependencies": { "colorette": "^2.0.7", @@ -24560,20 +29960,36 @@ "on-exit-leak-free": "^2.1.0", "pino-abstract-transport": "^2.0.0", "pump": "^3.0.0", - "secure-json-parse": "^2.4.0", + "secure-json-parse": "^4.0.0", "sonic-boom": "^4.0.1", - "strip-json-comments": "^3.1.1" + "strip-json-comments": "^5.0.2" }, "bin": { "pino-pretty": "bin.js" } }, + "node_modules/pino-pretty/node_modules/strip-json-comments": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.3.tgz", + "integrity": "sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pino-std-serializers": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", + "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", "license": "MIT" }, "node_modules/pirates": { "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "license": "MIT", "engines": { "node": ">= 6" @@ -24581,6 +29997,8 @@ }, "node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "license": "MIT", "dependencies": { @@ -24592,6 +30010,8 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "license": "MIT", "dependencies": { @@ -24604,6 +30024,8 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "license": "MIT", "dependencies": { @@ -24615,6 +30037,8 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "license": "MIT", "dependencies": { @@ -24629,6 +30053,8 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "license": "MIT", "dependencies": { @@ -24640,6 +30066,8 @@ }, "node_modules/pkg-dir/node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { @@ -24648,10 +30076,14 @@ }, "node_modules/platform": { "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", "license": "MIT" }, "node_modules/pluralize": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", "dev": true, "license": "MIT", "engines": { @@ -24660,6 +30092,8 @@ }, "node_modules/pngjs": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", "license": "MIT", "engines": { "node": ">=10.13.0" @@ -24667,6 +30101,8 @@ }, "node_modules/pony-cause": { "version": "2.1.11", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.11.tgz", + "integrity": "sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg==", "license": "0BSD", "engines": { "node": ">=12.0.0" @@ -24674,6 +30110,8 @@ }, "node_modules/possible-typed-array-names": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -24681,6 +30119,8 @@ }, "node_modules/postcss": { "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -24708,6 +30148,8 @@ }, "node_modules/preact": { "version": "10.4.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.4.1.tgz", + "integrity": "sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==", "license": "MIT", "funding": { "type": "opencollective", @@ -24716,6 +30158,8 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", "engines": { @@ -24724,6 +30168,8 @@ }, "node_modules/prettier": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", "bin": { @@ -24738,6 +30184,8 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "license": "MIT", "dependencies": { @@ -24749,6 +30197,8 @@ }, "node_modules/prettier-plugin-solidity": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.4.3.tgz", + "integrity": "sha512-Mrr/iiR9f9IaeGRMZY2ApumXcn/C5Gs3S7B7hWB3gigBFML06C0yEyW86oLp0eqiA0qg+46FaChgLPJCj/pIlg==", "dev": true, "license": "MIT", "dependencies": { @@ -24763,24 +30213,45 @@ } }, "node_modules/prettier-plugin-solidity/node_modules/@solidity-parser/parser": { - "version": "0.20.1", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.2.tgz", + "integrity": "sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA==", "dev": true, "license": "MIT" }, + "node_modules/prettier-plugin-solidity/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/pretty-format": { - "version": "29.7.0", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", + "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "react-is": "^17.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -24789,12 +30260,23 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT" + }, "node_modules/process-nextick-args": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "license": "MIT" }, "node_modules/process-warning": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-5.0.0.tgz", + "integrity": "sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==", "funding": [ { "type": "github", @@ -24809,6 +30291,8 @@ }, "node_modules/promise": { "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "license": "MIT", "dependencies": { "asap": "~2.0.6" @@ -24816,6 +30300,8 @@ }, "node_modules/prompts": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -24828,6 +30314,8 @@ }, "node_modules/prop-types": { "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", @@ -24835,12 +30323,10 @@ "react-is": "^16.13.1" } }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" - }, "node_modules/proper-lockfile": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", "dev": true, "license": "MIT", "dependencies": { @@ -24851,6 +30337,8 @@ }, "node_modules/proper-lockfile/node_modules/retry": { "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true, "license": "MIT", "engines": { @@ -24859,11 +30347,15 @@ }, "node_modules/proper-lockfile/node_modules/signal-exit": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, "license": "ISC" }, "node_modules/property-information": { "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", "license": "MIT", "dependencies": { "xtend": "^4.0.0" @@ -24875,11 +30367,15 @@ }, "node_modules/proto-list": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", "dev": true, "license": "ISC" }, "node_modules/protobufjs": { "version": "7.2.5", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz", + "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==", "hasInstallScript": true, "license": "BSD-3-Clause", "dependencies": { @@ -24902,18 +30398,26 @@ }, "node_modules/protobufjs/node_modules/long": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", "license": "Apache-2.0" }, "node_modules/proxy-compare": { "version": "2.5.1", + "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.1.tgz", + "integrity": "sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==", "license": "MIT" }, "node_modules/proxy-from-env": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "license": "MIT" }, "node_modules/psl": { "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", "dev": true, "license": "MIT", "dependencies": { @@ -24925,6 +30429,8 @@ }, "node_modules/pump": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", @@ -24933,6 +30439,8 @@ }, "node_modules/punycode": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { @@ -24941,6 +30449,8 @@ }, "node_modules/pupa": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", "dev": true, "license": "MIT", "dependencies": { @@ -24955,6 +30465,8 @@ }, "node_modules/pure-rand": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, "funding": [ { @@ -24970,6 +30482,8 @@ }, "node_modules/pvtsutils": { "version": "1.3.6", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", "license": "MIT", "dependencies": { "tslib": "^2.8.1" @@ -24977,6 +30491,8 @@ }, "node_modules/pvutils": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", "license": "MIT", "engines": { "node": ">=6.0.0" @@ -24984,6 +30500,8 @@ }, "node_modules/qrcode": { "version": "1.5.3", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", + "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", "license": "MIT", "dependencies": { "dijkstrajs": "^1.0.1", @@ -25000,6 +30518,8 @@ }, "node_modules/qrcode/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -25011,15 +30531,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/qrcode/node_modules/camelcase": { - "version": "5.3.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/qrcode/node_modules/cliui": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "license": "ISC", "dependencies": { "string-width": "^4.2.0", @@ -25029,6 +30544,8 @@ }, "node_modules/qrcode/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -25039,10 +30556,14 @@ }, "node_modules/qrcode/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, "node_modules/qrcode/node_modules/decamelize": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -25050,6 +30571,8 @@ }, "node_modules/qrcode/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "license": "MIT", "dependencies": { "locate-path": "^5.0.0", @@ -25061,6 +30584,8 @@ }, "node_modules/qrcode/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "license": "MIT", "dependencies": { "p-locate": "^4.1.0" @@ -25071,6 +30596,8 @@ }, "node_modules/qrcode/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "license": "MIT", "dependencies": { "p-try": "^2.0.0" @@ -25084,6 +30611,8 @@ }, "node_modules/qrcode/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "license": "MIT", "dependencies": { "p-limit": "^2.2.0" @@ -25094,6 +30623,8 @@ }, "node_modules/qrcode/node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "license": "MIT", "engines": { "node": ">=8" @@ -25101,6 +30632,8 @@ }, "node_modules/qrcode/node_modules/wrap-ansi": { "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -25113,10 +30646,14 @@ }, "node_modules/qrcode/node_modules/y18n": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "license": "ISC" }, "node_modules/qrcode/node_modules/yargs": { "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "license": "MIT", "dependencies": { "cliui": "^6.0.0", @@ -25137,6 +30674,8 @@ }, "node_modules/qrcode/node_modules/yargs-parser": { "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "license": "ISC", "dependencies": { "camelcase": "^5.0.0", @@ -25148,6 +30687,8 @@ }, "node_modules/qs": { "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -25161,6 +30702,8 @@ }, "node_modules/query-string": { "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", "license": "MIT", "dependencies": { "decode-uri-component": "^0.2.2", @@ -25177,11 +30720,15 @@ }, "node_modules/querystringify": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "dev": true, "license": "MIT" }, "node_modules/queue": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", "license": "MIT", "peer": true, "dependencies": { @@ -25190,6 +30737,8 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -25209,10 +30758,14 @@ }, "node_modules/quick-format-unescaped": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", "license": "MIT" }, "node_modules/quick-lru": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true, "license": "MIT", "engines": { @@ -25224,10 +30777,14 @@ }, "node_modules/radix3": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", "license": "MIT" }, "node_modules/randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" @@ -25235,6 +30792,8 @@ }, "node_modules/range-parser": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "license": "MIT", "peer": true, "engines": { @@ -25243,6 +30802,8 @@ }, "node_modules/raw-body": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dev": true, "license": "MIT", "dependencies": { @@ -25257,6 +30818,8 @@ }, "node_modules/rc": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { @@ -25271,11 +30834,15 @@ }, "node_modules/rc/node_modules/ini": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, "license": "ISC" }, "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, "license": "MIT", "engines": { @@ -25284,6 +30851,8 @@ }, "node_modules/rdf-canonize": { "version": "3.4.0", + "resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-3.4.0.tgz", + "integrity": "sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA==", "license": "BSD-3-Clause", "dependencies": { "setimmediate": "^1.0.5" @@ -25293,15 +30862,21 @@ } }, "node_modules/react": { - "version": "19.1.0", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", - "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-clientside-effect": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.8.tgz", + "integrity": "sha512-ma2FePH0z3px2+WOu6h+YycZcEvFmmxIlAb62cF52bG86eMySciO/EQZeQMXd07kPCYB0a1dWDT5J+KE9mCDUw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.13" @@ -25310,6 +30885,20 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, + "node_modules/react-day-picker": { + "version": "8.10.1", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.1.tgz", + "integrity": "sha512-TMx7fNbhLk15eqcMt+7Z7S2KF7mfTId/XJDjKE8f+IUcFn0l08/kI4FiYTL/0yuOLmEcbR4Fwe3GJf/NiiMnPA==", + "license": "MIT", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/gpbl" + }, + "peerDependencies": { + "date-fns": "^2.28.0 || ^3.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-device-detect": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.3.tgz", @@ -25325,6 +30914,8 @@ }, "node_modules/react-devtools-core": { "version": "6.1.5", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-6.1.5.tgz", + "integrity": "sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==", "license": "MIT", "peer": true, "dependencies": { @@ -25334,6 +30925,8 @@ }, "node_modules/react-devtools-core/node_modules/ws": { "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "license": "MIT", "peer": true, "engines": { @@ -25353,22 +30946,28 @@ } }, "node_modules/react-dom": { - "version": "19.1.0", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", - "peer": true, "dependencies": { - "scheduler": "^0.26.0" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^19.1.0" + "react": "^18.3.1" } }, "node_modules/react-fast-compare": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.1.tgz", + "integrity": "sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg==", "license": "MIT" }, "node_modules/react-focus-lock": { "version": "2.13.6", + "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.13.6.tgz", + "integrity": "sha512-ehylFFWyYtBKXjAO9+3v8d0i+cnc1trGS0vlTGhzFW1vbFXVUTmR8s2tt/ZQG8x5hElg6rhENlLG1H3EZK0Llg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.0.0", @@ -25389,7 +30988,9 @@ } }, "node_modules/react-hook-form": { - "version": "7.61.1", + "version": "7.62.0", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.62.0.tgz", + "integrity": "sha512-7KWFejc98xqG/F4bAxpL41NB3o1nnvQO1RWZT3TqRZYL8RryQETGfEdVnJN2fy1crCiBLLjkRBVK05j24FxJGA==", "license": "MIT", "engines": { "node": ">=18.0.0" @@ -25404,6 +31005,8 @@ }, "node_modules/react-i18next": { "version": "13.5.0", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.5.0.tgz", + "integrity": "sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.22.5", @@ -25423,7 +31026,9 @@ } }, "node_modules/react-is": { - "version": "18.3.1", + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, "node_modules/react-markdown": { @@ -25461,183 +31066,33 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "license": "MIT" }, - "node_modules/react-native": { - "version": "0.80.1", - "license": "MIT", - "peer": true, - "dependencies": { - "@jest/create-cache-key-function": "^29.7.0", - "@react-native/assets-registry": "0.80.1", - "@react-native/codegen": "0.80.1", - "@react-native/community-cli-plugin": "0.80.1", - "@react-native/gradle-plugin": "0.80.1", - "@react-native/js-polyfills": "0.80.1", - "@react-native/normalize-colors": "0.80.1", - "@react-native/virtualized-lists": "0.80.1", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "ansi-regex": "^5.0.0", - "babel-jest": "^29.7.0", - "babel-plugin-syntax-hermes-parser": "0.28.1", - "base64-js": "^1.5.1", - "chalk": "^4.0.0", - "commander": "^12.0.0", - "flow-enums-runtime": "^0.0.6", - "glob": "^7.1.1", - "invariant": "^2.2.4", - "jest-environment-node": "^29.7.0", - "memoize-one": "^5.0.0", - "metro-runtime": "^0.82.2", - "metro-source-map": "^0.82.2", - "nullthrows": "^1.1.1", - "pretty-format": "^29.7.0", - "promise": "^8.3.0", - "react-devtools-core": "^6.1.1", - "react-refresh": "^0.14.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "0.26.0", - "semver": "^7.1.3", - "stacktrace-parser": "^0.1.10", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.3", - "yargs": "^17.6.2" - }, - "bin": { - "react-native": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/react": "^19.1.0", - "react": "^19.1.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/react-native-get-random-values": { - "version": "1.11.0", + "node_modules/react-number-format": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/react-number-format/-/react-number-format-5.1.4.tgz", + "integrity": "sha512-QV7QHzHrk9ZS9V0bWkIwu6ywiXJt0www4/cXWEVEgwaNqthmOZl/Cf5O0ukEPlGZJJr06Jh3+CM4rZsvXn8cOg==", "license": "MIT", "dependencies": { - "fast-base64-decode": "^1.0.0" + "prop-types": "^15.7.2" }, "peerDependencies": { - "react-native": ">=0.56" - } - }, - "node_modules/react-native/node_modules/ansi-styles": { - "version": "4.3.0", - "license": "MIT", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/react-native/node_modules/brace-expansion": { - "version": "1.1.12", - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/react-native/node_modules/chalk": { - "version": "4.1.2", - "license": "MIT", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/react-native/node_modules/color-convert": { - "version": "2.0.1", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/react-native/node_modules/color-name": { - "version": "1.1.4", - "license": "MIT", - "peer": true - }, - "node_modules/react-native/node_modules/commander": { - "version": "12.1.0", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/react-native/node_modules/glob": { - "version": "7.2.3", - "license": "ISC", - "peer": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/react-native/node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/react-native/node_modules/ws": { - "version": "6.2.3", - "license": "MIT", - "peer": true, - "dependencies": { - "async-limiter": "~1.0.0" + "react": "^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/react-refresh": { - "version": "0.14.2", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/react-remove-scroll": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.1.tgz", + "integrity": "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==", "license": "MIT", "dependencies": { "react-remove-scroll-bar": "^2.3.7", @@ -25661,6 +31116,8 @@ }, "node_modules/react-remove-scroll-bar": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", "license": "MIT", "dependencies": { "react-style-singleton": "^2.2.2", @@ -25681,6 +31138,8 @@ }, "node_modules/react-router": { "version": "6.30.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.1.tgz", + "integrity": "sha512-X1m21aEmxGXqENEPG3T6u0Th7g0aS4ZmoNynhbs+Cn+q+QGTLt+d5IQ2bHAXKzKcxGJjxACpVbnYQSCRcfxHlQ==", "license": "MIT", "dependencies": { "@remix-run/router": "1.23.0" @@ -25709,8 +31168,31 @@ "react-dom": ">=16.8" } }, + "node_modules/react-select": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.0.tgz", + "integrity": "sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^6.0.0", + "prop-types": "^15.6.0", + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-select-event": { "version": "5.5.1", + "resolved": "https://registry.npmjs.org/react-select-event/-/react-select-event-5.5.1.tgz", + "integrity": "sha512-goAx28y0+iYrbqZA2FeRTreHHs/ZtSuKxtA+J5jpKT5RHPCbVZJ4MqACfPnWyFXsEec+3dP5bCrNTxIX8oYe9A==", "dev": true, "license": "MIT", "dependencies": { @@ -25719,6 +31201,8 @@ }, "node_modules/react-style-singleton": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", "license": "MIT", "dependencies": { "get-nonce": "^1.0.0", @@ -25739,6 +31223,8 @@ }, "node_modules/react-transition-group": { "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "license": "BSD-3-Clause", "dependencies": { "@babel/runtime": "^7.5.5", @@ -25753,6 +31239,8 @@ }, "node_modules/read-pkg": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", "dev": true, "license": "MIT", "dependencies": { @@ -25766,6 +31254,8 @@ }, "node_modules/read-pkg/node_modules/path-type": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "license": "MIT", "dependencies": { @@ -25777,6 +31267,8 @@ }, "node_modules/readable-stream": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", @@ -25790,21 +31282,40 @@ }, "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "license": "MIT" }, "node_modules/readdirp": { - "version": "4.1.2", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "license": "MIT", "engines": { - "node": ">= 14.18.0" + "node": ">=8.6" }, "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/real-require": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", "license": "MIT", "engines": { "node": ">= 12.13.0" @@ -25812,6 +31323,8 @@ }, "node_modules/rechoir": { "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, "dependencies": { "resolve": "^1.1.6" @@ -25822,6 +31335,8 @@ }, "node_modules/recursive-readdir": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", "dev": true, "license": "MIT", "dependencies": { @@ -25833,6 +31348,8 @@ }, "node_modules/recursive-readdir/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -25842,6 +31359,8 @@ }, "node_modules/recursive-readdir/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -25853,6 +31372,8 @@ }, "node_modules/redent": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, "license": "MIT", "dependencies": { @@ -25865,6 +31386,8 @@ }, "node_modules/reduce-flatten": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", "devOptional": true, "license": "MIT", "engines": { @@ -25873,10 +31396,14 @@ }, "node_modules/reflect-metadata": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", "license": "Apache-2.0" }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dev": true, "license": "MIT", "dependencies": { @@ -25898,11 +31425,15 @@ }, "node_modules/regenerate": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true, "license": "MIT" }, "node_modules/regenerate-unicode-properties": { "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dev": true, "license": "MIT", "dependencies": { @@ -25914,11 +31445,15 @@ }, "node_modules/regenerator-runtime": { "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "license": "MIT", "peer": true }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dev": true, "license": "MIT", "dependencies": { @@ -25938,6 +31473,8 @@ }, "node_modules/regexpu-core": { "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, "license": "MIT", "dependencies": { @@ -25954,6 +31491,8 @@ }, "node_modules/registry-auth-token": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.0.tgz", + "integrity": "sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==", "dev": true, "license": "MIT", "dependencies": { @@ -25965,6 +31504,8 @@ }, "node_modules/registry-url": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -25979,11 +31520,15 @@ }, "node_modules/regjsgen": { "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", "dev": true, "license": "MIT" }, "node_modules/regjsparser": { "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -25995,6 +31540,8 @@ }, "node_modules/regjsparser/node_modules/jsesc": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "dev": true, "license": "MIT", "bin": { @@ -26006,6 +31553,8 @@ }, "node_modules/remark-parse": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", + "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", "license": "MIT", "dependencies": { "mdast-util-from-markdown": "^0.8.0" @@ -26017,6 +31566,8 @@ }, "node_modules/remark-rehype": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-8.1.0.tgz", + "integrity": "sha512-EbCu9kHgAxKmW1yEYjx3QafMyGY3q8noUbNUI5xyKbaFP89wbhDrKxyIQNukNYthzjNHZu6J7hwFg7hRm1svYA==", "license": "MIT", "dependencies": { "mdast-util-to-hast": "^10.2.0" @@ -26028,6 +31579,8 @@ }, "node_modules/req-cwd": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", + "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", "dev": true, "license": "MIT", "dependencies": { @@ -26039,6 +31592,8 @@ }, "node_modules/req-from": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", + "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", "dev": true, "license": "MIT", "dependencies": { @@ -26050,6 +31605,8 @@ }, "node_modules/req-from/node_modules/resolve-from": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", "dev": true, "license": "MIT", "engines": { @@ -26058,6 +31615,8 @@ }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -26065,6 +31624,8 @@ }, "node_modules/require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, "license": "MIT", "engines": { @@ -26073,10 +31634,14 @@ }, "node_modules/require-main-filename": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "license": "ISC" }, "node_modules/requireindex": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", + "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", "dev": true, "license": "MIT", "engines": { @@ -26085,15 +31650,26 @@ }, "node_modules/requires-port": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true, "license": "MIT" }, "node_modules/resolve": { - "version": "1.17.0", - "dev": true, + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "license": "MIT", "dependencies": { - "path-parse": "^1.0.6" + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -26101,11 +31677,15 @@ }, "node_modules/resolve-alpn": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", "dev": true, "license": "MIT" }, "node_modules/resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "license": "MIT", "dependencies": { @@ -26117,6 +31697,8 @@ }, "node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "license": "MIT", "engines": { "node": ">=8" @@ -26124,6 +31706,8 @@ }, "node_modules/resolve.exports": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "dev": true, "license": "MIT", "engines": { @@ -26132,6 +31716,8 @@ }, "node_modules/responselike": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", "dev": true, "license": "MIT", "dependencies": { @@ -26146,6 +31732,8 @@ }, "node_modules/restore-cursor": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, "license": "MIT", "dependencies": { @@ -26161,6 +31749,8 @@ }, "node_modules/restore-cursor/node_modules/onetime": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, "license": "MIT", "dependencies": { @@ -26175,6 +31765,8 @@ }, "node_modules/retry": { "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, "license": "MIT", "engines": { @@ -26183,6 +31775,8 @@ }, "node_modules/reusify": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, "license": "MIT", "engines": { @@ -26192,22 +31786,89 @@ }, "node_modules/rfc4648": { "version": "1.5.4", + "resolved": "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.4.tgz", + "integrity": "sha512-rRg/6Lb+IGfJqO05HZkN50UtY7K/JhxJag1kP23+zyMfrvoB0B7RWv06MbOzoc79RgCdNTiUaNsTT1AJZ7Z+cg==", "license": "MIT" }, "node_modules/rfdc": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/rimraf": { - "version": "5.0.10", + "node_modules/rimraf/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "glob": "^10.3.7" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, - "bin": { - "rimraf": "dist/esm/bin.mjs" + "engines": { + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -26215,6 +31876,8 @@ }, "node_modules/ripemd160": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "license": "MIT", "dependencies": { "hash-base": "^3.0.0", @@ -26223,6 +31886,8 @@ }, "node_modules/rlp": { "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "license": "MPL-2.0", "dependencies": { "bn.js": "^5.2.0" @@ -26233,6 +31898,8 @@ }, "node_modules/rollup": { "version": "3.29.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", + "integrity": "sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==", "dev": true, "license": "MIT", "bin": { @@ -26248,6 +31915,9 @@ }, "node_modules/rollup-plugin-inject": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz", + "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.", "dev": true, "license": "MIT", "dependencies": { @@ -26256,8 +31926,27 @@ "rollup-pluginutils": "^2.8.1" } }, + "node_modules/rollup-plugin-inject/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/rollup-plugin-inject/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, "node_modules/rollup-plugin-node-polyfills": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz", + "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==", "dev": true, "license": "MIT", "dependencies": { @@ -26266,14 +31955,25 @@ }, "node_modules/rollup-pluginutils": { "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", "dev": true, "license": "MIT", "dependencies": { "estree-walker": "^0.6.1" } }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true, + "license": "MIT" + }, "node_modules/run-async": { "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "license": "MIT", "optional": true, "engines": { @@ -26282,6 +31982,8 @@ }, "node_modules/run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -26304,6 +32006,8 @@ }, "node_modules/rxjs": { "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "license": "Apache-2.0", "optional": true, "dependencies": { @@ -26315,11 +32019,15 @@ }, "node_modules/rxjs/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD", "optional": true }, "node_modules/safe-array-concat": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -26338,11 +32046,15 @@ }, "node_modules/safe-array-concat/node_modules/isarray": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, "license": "MIT" }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -26361,6 +32073,8 @@ }, "node_modules/safe-push-apply": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", "dev": true, "license": "MIT", "dependencies": { @@ -26376,11 +32090,15 @@ }, "node_modules/safe-push-apply/node_modules/isarray": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, "license": "MIT" }, "node_modules/safe-regex-test": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, "license": "MIT", "dependencies": { @@ -26397,6 +32115,8 @@ }, "node_modules/safe-stable-stringify": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", "license": "MIT", "engines": { "node": ">=10" @@ -26404,11 +32124,15 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "devOptional": true, "license": "MIT" }, "node_modules/saxes": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, "license": "ISC", "dependencies": { @@ -26420,6 +32144,8 @@ }, "node_modules/sc-istanbul": { "version": "0.4.6", + "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", + "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -26444,19 +32170,15 @@ }, "node_modules/sc-istanbul/node_modules/abbrev": { "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==", "dev": true, "license": "ISC" }, - "node_modules/sc-istanbul/node_modules/argparse": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/sc-istanbul/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -26464,8 +32186,57 @@ "concat-map": "0.0.1" } }, + "node_modules/sc-istanbul/node_modules/escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.12.0" + }, + "optionalDependencies": { + "source-map": "~0.2.0" + } + }, + "node_modules/sc-istanbul/node_modules/esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sc-istanbul/node_modules/estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sc-istanbul/node_modules/glob": { "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -26481,38 +32252,32 @@ }, "node_modules/sc-istanbul/node_modules/has-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/sc-istanbul/node_modules/js-yaml": { - "version": "3.14.1", + "node_modules/sc-istanbul/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/sc-istanbul/node_modules/js-yaml/node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, "node_modules/sc-istanbul/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -26522,19 +32287,10 @@ "node": "*" } }, - "node_modules/sc-istanbul/node_modules/mkdirp": { - "version": "0.5.6", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/sc-istanbul/node_modules/nopt": { "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", "dev": true, "license": "ISC", "dependencies": { @@ -26544,13 +32300,57 @@ "nopt": "bin/nopt.js" } }, + "node_modules/sc-istanbul/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/sc-istanbul/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/sc-istanbul/node_modules/resolve": { "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", "dev": true, "license": "MIT" }, + "node_modules/sc-istanbul/node_modules/source-map": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", + "dev": true, + "optional": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/sc-istanbul/node_modules/supports-color": { "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", "dev": true, "license": "MIT", "dependencies": { @@ -26560,8 +32360,23 @@ "node": ">=0.8.0" } }, + "node_modules/sc-istanbul/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/sc-istanbul/node_modules/which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "license": "ISC", "dependencies": { @@ -26572,16 +32387,24 @@ } }, "node_modules/scheduler": { - "version": "0.26.0", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "license": "MIT", - "peer": true + "dependencies": { + "loose-envify": "^1.1.0" + } }, "node_modules/scrypt-js": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", "license": "MIT" }, "node_modules/secp256k1": { "version": "4.0.4", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.4.tgz", + "integrity": "sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -26595,24 +32418,39 @@ }, "node_modules/secp256k1/node_modules/node-addon-api": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", "license": "MIT" }, "node_modules/secure-json-parse": { - "version": "2.7.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-4.0.0.tgz", + "integrity": "sha512-dxtLJO6sc35jWidmLxo7ij+Eg48PM/kleBsxpC8QJE0qJICe+KawkDQmvCMZUr9u7WKVHgMW6vy3fQ7zMiFZMA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], "license": "BSD-3-Clause" }, "node_modules/semver": { - "version": "7.7.2", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "license": "ISC", "bin": { "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" } }, "node_modules/semver-diff": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", "dev": true, "license": "MIT", "dependencies": { @@ -26625,8 +32463,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semver-diff/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/send": { "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "license": "MIT", "peer": true, "dependencies": { @@ -26650,6 +32503,8 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "license": "MIT", "peer": true, "dependencies": { @@ -26658,11 +32513,15 @@ }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT", "peer": true }, "node_modules/send/node_modules/on-finished": { "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "license": "MIT", "peer": true, "dependencies": { @@ -26674,6 +32533,8 @@ }, "node_modules/serialize-error": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", "license": "MIT", "peer": true, "engines": { @@ -26682,6 +32543,8 @@ }, "node_modules/serialize-javascript": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -26690,6 +32553,8 @@ }, "node_modules/serve-static": { "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "license": "MIT", "peer": true, "dependencies": { @@ -26704,6 +32569,8 @@ }, "node_modules/serve-static/node_modules/encodeurl": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "license": "MIT", "peer": true, "engines": { @@ -26712,10 +32579,14 @@ }, "node_modules/set-blocking": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "license": "ISC" }, "node_modules/set-function-length": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", @@ -26731,6 +32602,8 @@ }, "node_modules/set-function-name": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dev": true, "license": "MIT", "dependencies": { @@ -26745,6 +32618,8 @@ }, "node_modules/set-proto": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", "dev": true, "license": "MIT", "dependencies": { @@ -26758,14 +32633,20 @@ }, "node_modules/setimmediate": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "license": "MIT" }, "node_modules/setprototypeof": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "license": "ISC" }, "node_modules/sha.js": { "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.4", @@ -26784,6 +32665,8 @@ }, "node_modules/sha1": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", + "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -26796,6 +32679,8 @@ }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -26806,6 +32691,8 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "license": "MIT", "engines": { "node": ">=8" @@ -26813,6 +32700,8 @@ }, "node_modules/shell-quote": { "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -26823,6 +32712,8 @@ }, "node_modules/shelljs": { "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -26839,6 +32730,8 @@ }, "node_modules/shelljs/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -26848,6 +32741,9 @@ }, "node_modules/shelljs/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -26867,6 +32763,8 @@ }, "node_modules/shelljs/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -26878,6 +32776,8 @@ }, "node_modules/side-channel": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -26895,6 +32795,8 @@ }, "node_modules/side-channel-list": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -26909,6 +32811,8 @@ }, "node_modules/side-channel-map": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -26925,6 +32829,8 @@ }, "node_modules/side-channel-weakmap": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "license": "MIT", "dependencies": { "call-bound": "^1.0.2", @@ -26942,6 +32848,8 @@ }, "node_modules/signal-exit": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "license": "ISC", "engines": { "node": ">=14" @@ -26952,6 +32860,8 @@ }, "node_modules/simple-swizzle": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "license": "MIT", "dependencies": { "is-arrayish": "^0.3.1" @@ -26959,19 +32869,27 @@ }, "node_modules/simple-swizzle/node_modules/is-arrayish": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", "license": "MIT" }, "node_modules/sisteransi": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true, "license": "MIT" }, "node_modules/size-sensor": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/size-sensor/-/size-sensor-1.0.2.tgz", + "integrity": "sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==", "license": "ISC" }, "node_modules/slash": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "license": "MIT", "engines": { "node": ">=8" @@ -26979,6 +32897,8 @@ }, "node_modules/slice-ansi": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, "license": "MIT", "dependencies": { @@ -26994,6 +32914,8 @@ }, "node_modules/slice-ansi/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "license": "MIT", "engines": { @@ -27005,6 +32927,8 @@ }, "node_modules/solc": { "version": "0.8.26", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.26.tgz", + "integrity": "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==", "dev": true, "license": "MIT", "dependencies": { @@ -27025,6 +32949,8 @@ }, "node_modules/solc/node_modules/commander": { "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true, "license": "MIT", "engines": { @@ -27033,6 +32959,8 @@ }, "node_modules/solc/node_modules/semver": { "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "license": "ISC", "bin": { @@ -27041,6 +32969,8 @@ }, "node_modules/solhint": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/solhint/-/solhint-3.6.2.tgz", + "integrity": "sha512-85EeLbmkcPwD+3JR7aEMKsVC9YrRSxd4qkXuMzrlf7+z2Eqdfm1wHWq1ffTuo5aDhoZxp2I9yF3QkxZOxOL7aQ==", "dev": true, "license": "MIT", "dependencies": { @@ -27071,6 +33001,8 @@ }, "node_modules/solhint-plugin-prettier": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/solhint-plugin-prettier/-/solhint-plugin-prettier-0.1.0.tgz", + "integrity": "sha512-SDOTSM6tZxZ6hamrzl3GUgzF77FM6jZplgL2plFBclj/OjKP8Z3eIPojKU73gRr0MvOS8ACZILn8a5g0VTz/Gw==", "dev": true, "license": "MIT", "dependencies": { @@ -27084,6 +33016,8 @@ }, "node_modules/solhint/node_modules/@solidity-parser/parser": { "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.2.tgz", + "integrity": "sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg==", "dev": true, "license": "MIT", "dependencies": { @@ -27092,6 +33026,8 @@ }, "node_modules/solhint/node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -27107,6 +33043,8 @@ }, "node_modules/solhint/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -27119,8 +33057,17 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/solhint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, "node_modules/solhint/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -27136,6 +33083,8 @@ }, "node_modules/solhint/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -27147,11 +33096,15 @@ }, "node_modules/solhint/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/solhint/node_modules/commander": { "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, "license": "MIT", "engines": { @@ -27160,6 +33113,8 @@ }, "node_modules/solhint/node_modules/cosmiconfig": { "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "license": "MIT", "dependencies": { @@ -27185,6 +33140,9 @@ }, "node_modules/solhint/node_modules/glob": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -27201,13 +33159,30 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/solhint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/solhint/node_modules/json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, "node_modules/solhint/node_modules/minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "license": "ISC", "dependencies": { @@ -27219,6 +33194,8 @@ }, "node_modules/solhint/node_modules/prettier": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, "license": "MIT", "optional": true, @@ -27232,13 +33209,30 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/solhint/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/solidity-ast": { "version": "0.4.60", + "resolved": "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.60.tgz", + "integrity": "sha512-UwhasmQ37ji1ul8cIp0XlrQ/+SVQhy09gGqJH4jnwdo2TgI6YIByzi0PI5QvIGcIdFOs1pbSmJW1pnWB7AVh2w==", "dev": true, "license": "MIT" }, "node_modules/solidity-coverage": { "version": "0.8.16", + "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.16.tgz", + "integrity": "sha512-qKqgm8TPpcnCK0HCDLJrjbOA2tQNEJY4dHX/LSSQ9iwYFS973MwjtgYn2Iv3vfCEQJTj5xtm4cuUMzlJsJSMbg==", "dev": true, "license": "ISC", "dependencies": { @@ -27270,12 +33264,16 @@ } }, "node_modules/solidity-coverage/node_modules/@solidity-parser/parser": { - "version": "0.20.1", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.2.tgz", + "integrity": "sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA==", "dev": true, "license": "MIT" }, "node_modules/solidity-coverage/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -27285,6 +33283,8 @@ }, "node_modules/solidity-coverage/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "license": "MIT", "dependencies": { @@ -27298,6 +33298,8 @@ }, "node_modules/solidity-coverage/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "license": "MIT", "engines": { @@ -27306,6 +33308,8 @@ }, "node_modules/solidity-coverage/node_modules/fs-extra": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "license": "MIT", "dependencies": { @@ -27319,6 +33323,9 @@ }, "node_modules/solidity-coverage/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -27338,6 +33345,8 @@ }, "node_modules/solidity-coverage/node_modules/globby": { "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", "dev": true, "license": "MIT", "dependencies": { @@ -27356,6 +33365,8 @@ }, "node_modules/solidity-coverage/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "license": "MIT", "engines": { @@ -27364,6 +33375,8 @@ }, "node_modules/solidity-coverage/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -27375,14 +33388,31 @@ }, "node_modules/solidity-coverage/node_modules/pify": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/solidity-coverage/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/solidity-coverage/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "license": "MIT", "dependencies": { @@ -27394,13 +33424,17 @@ }, "node_modules/sonic-boom": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.0.tgz", + "integrity": "sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==", "license": "MIT", "dependencies": { "atomic-sleep": "^1.0.0" } }, "node_modules/source-map": { - "version": "0.6.1", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -27408,6 +33442,8 @@ }, "node_modules/source-map-js": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -27416,19 +33452,35 @@ }, "node_modules/source-map-support": { "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sourcemap-codec": { "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", "dev": true, "license": "MIT" }, "node_modules/space-separated-tokens": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", "license": "MIT", "funding": { "type": "github", @@ -27437,10 +33489,14 @@ }, "node_modules/spark-md5": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", + "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==", "license": "(WTFPL OR MIT)" }, "node_modules/spdx-correct": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "devOptional": true, "license": "Apache-2.0", "dependencies": { @@ -27450,11 +33506,15 @@ }, "node_modules/spdx-exceptions": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", "devOptional": true, "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "devOptional": true, "license": "MIT", "dependencies": { @@ -27463,12 +33523,16 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.21", + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", "devOptional": true, "license": "CC0-1.0" }, "node_modules/split-on-first": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", "license": "MIT", "engines": { "node": ">=6" @@ -27476,6 +33540,8 @@ }, "node_modules/split2": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", "license": "ISC", "engines": { "node": ">= 10.x" @@ -27483,10 +33549,14 @@ }, "node_modules/sprintf-js": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "license": "BSD-3-Clause" }, "node_modules/stack-trace": { "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", "license": "MIT", "engines": { "node": "*" @@ -27494,6 +33564,8 @@ }, "node_modules/stack-utils": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" @@ -27504,6 +33576,8 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "license": "MIT", "engines": { "node": ">=8" @@ -27511,11 +33585,15 @@ }, "node_modules/stackframe": { "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", "license": "MIT", "peer": true }, "node_modules/stacktrace-parser": { "version": "0.1.11", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", + "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", "license": "MIT", "dependencies": { "type-fest": "^0.7.1" @@ -27526,6 +33604,8 @@ }, "node_modules/stacktrace-parser/node_modules/type-fest": { "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" @@ -27533,6 +33613,8 @@ }, "node_modules/statuses": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -27540,43 +33622,24 @@ }, "node_modules/stdin-discarder": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", + "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", "dev": true, "license": "MIT", "dependencies": { - "bl": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stdin-discarder/node_modules/bl": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/stdin-discarder/node_modules/readable-stream": { - "version": "3.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "bl": "^5.0.0" }, "engines": { - "node": ">= 6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/stop-iteration-iterator": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", "dev": true, "license": "MIT", "dependencies": { @@ -27589,10 +33652,14 @@ }, "node_modules/stream-shift": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", "license": "MIT" }, "node_modules/strict-uri-encode": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", "license": "MIT", "engines": { "node": ">=4" @@ -27600,6 +33667,8 @@ }, "node_modules/string_decoder": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" @@ -27607,10 +33676,14 @@ }, "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "license": "MIT" }, "node_modules/string-argv": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, "license": "MIT", "engines": { @@ -27619,12 +33692,16 @@ }, "node_modules/string-format": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", + "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", "dev": true, "license": "WTFPL OR MIT", "peer": true }, "node_modules/string-length": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "license": "MIT", "dependencies": { @@ -27637,6 +33714,8 @@ }, "node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -27650,6 +33729,8 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -27662,6 +33743,8 @@ }, "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "license": "MIT", "engines": { "node": ">=8" @@ -27669,6 +33752,8 @@ }, "node_modules/string-width/node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "license": "MIT", "engines": { "node": ">=8" @@ -27676,6 +33761,8 @@ }, "node_modules/string.prototype.padend": { "version": "3.1.6", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz", + "integrity": "sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==", "dev": true, "license": "MIT", "dependencies": { @@ -27693,6 +33780,8 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dev": true, "license": "MIT", "dependencies": { @@ -27713,6 +33802,8 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dev": true, "license": "MIT", "dependencies": { @@ -27730,6 +33821,8 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, "license": "MIT", "dependencies": { @@ -27746,6 +33839,8 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -27757,6 +33852,8 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -27767,6 +33864,8 @@ }, "node_modules/strip-bom": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "license": "MIT", "engines": { @@ -27775,6 +33874,8 @@ }, "node_modules/strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "license": "MIT", "engines": { @@ -27783,6 +33884,8 @@ }, "node_modules/strip-hex-prefix": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", "license": "MIT", "dependencies": { "is-hex-prefixed": "1.0.0" @@ -27794,6 +33897,8 @@ }, "node_modules/strip-indent": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, "license": "MIT", "dependencies": { @@ -27805,6 +33910,9 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -27815,6 +33923,8 @@ }, "node_modules/strnum": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz", + "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==", "funding": [ { "type": "github", @@ -27825,6 +33935,8 @@ }, "node_modules/style-to-object": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", "license": "MIT", "dependencies": { "inline-style-parser": "0.1.1" @@ -27832,10 +33944,14 @@ }, "node_modules/stylis": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", "license": "MIT" }, "node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -27846,6 +33962,8 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -27856,11 +33974,15 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true, "license": "MIT" }, "node_modules/sync-request": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", "dev": true, "license": "MIT", "dependencies": { @@ -27874,6 +33996,8 @@ }, "node_modules/sync-rpc": { "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", "dev": true, "license": "MIT", "dependencies": { @@ -27882,6 +34006,8 @@ }, "node_modules/synckit": { "version": "0.11.11", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", + "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", "dev": true, "license": "MIT", "dependencies": { @@ -27896,6 +34022,8 @@ }, "node_modules/table": { "version": "6.9.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -27911,6 +34039,8 @@ }, "node_modules/table-layout": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", + "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", "devOptional": true, "license": "MIT", "dependencies": { @@ -27925,6 +34055,8 @@ }, "node_modules/table-layout/node_modules/array-back": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", "devOptional": true, "license": "MIT", "engines": { @@ -27933,6 +34065,8 @@ }, "node_modules/table-layout/node_modules/typical": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", "devOptional": true, "license": "MIT", "engines": { @@ -27941,6 +34075,8 @@ }, "node_modules/table/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -27955,6 +34091,8 @@ }, "node_modules/table/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -27966,11 +34104,15 @@ }, "node_modules/table/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/table/node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "engines": { @@ -27979,6 +34121,8 @@ }, "node_modules/table/node_modules/slice-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "license": "MIT", "dependencies": { @@ -27995,6 +34139,8 @@ }, "node_modules/tar": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "license": "ISC", "optional": true, "dependencies": { @@ -28011,19 +34157,38 @@ }, "node_modules/tar/node_modules/minipass": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "license": "ISC", "optional": true, "engines": { "node": ">=8" } }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "optional": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/tar/node_modules/yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "license": "ISC", "optional": true }, "node_modules/terser": { "version": "5.43.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz", + "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==", "license": "BSD-2-Clause", "peer": true, "dependencies": { @@ -28041,11 +34206,15 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "license": "MIT", "peer": true }, "node_modules/test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", @@ -28058,6 +34227,8 @@ }, "node_modules/test-exclude/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -28066,6 +34237,9 @@ }, "node_modules/test-exclude/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", @@ -28084,6 +34258,8 @@ }, "node_modules/test-exclude/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -28094,6 +34270,8 @@ }, "node_modules/text-extensions": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", + "integrity": "sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==", "dev": true, "license": "MIT", "engines": { @@ -28105,15 +34283,21 @@ }, "node_modules/text-hex": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", "license": "MIT" }, "node_modules/text-table": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true, "license": "MIT" }, "node_modules/then-request": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", "dev": true, "license": "MIT", "dependencies": { @@ -28135,17 +34319,22 @@ }, "node_modules/then-request/node_modules/@types/node": { "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", "dev": true, "license": "MIT" }, "node_modules/then-request/node_modules/form-data": { - "version": "2.5.3", + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz", + "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==", "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.35", "safe-buffer": "^5.2.1" }, @@ -28155,6 +34344,8 @@ }, "node_modules/thread-stream": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", "license": "MIT", "dependencies": { "real-require": "^0.2.0" @@ -28162,25 +34353,35 @@ }, "node_modules/throat": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "license": "MIT", "peer": true }, "node_modules/through": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "devOptional": true, "license": "MIT" }, "node_modules/tiny-invariant": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", "license": "MIT" }, "node_modules/tinyexec": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz", + "integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==", "dev": true, "license": "MIT" }, "node_modules/tinyglobby": { "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, "license": "MIT", "dependencies": { @@ -28194,32 +34395,10 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.6", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/tmp": { "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "devOptional": true, "license": "MIT", "dependencies": { @@ -28231,10 +34410,14 @@ }, "node_modules/tmpl": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "license": "BSD-3-Clause" }, "node_modules/to-buffer": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", + "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==", "license": "MIT", "dependencies": { "isarray": "^2.0.5", @@ -28247,10 +34430,14 @@ }, "node_modules/to-buffer/node_modules/isarray": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "license": "MIT" }, "node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -28261,10 +34448,14 @@ }, "node_modules/toggle-selection": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", "license": "MIT" }, "node_modules/toidentifier": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "license": "MIT", "engines": { "node": ">=0.6" @@ -28272,11 +34463,15 @@ }, "node_modules/toml": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==", "license": "MIT", "optional": true }, "node_modules/tough-cookie": { "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -28291,6 +34486,8 @@ }, "node_modules/tough-cookie/node_modules/universalify": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, "license": "MIT", "engines": { @@ -28298,11 +34495,22 @@ } }, "node_modules/tr46": { - "version": "0.0.3", - "license": "MIT" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } }, "node_modules/triple-beam": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", "license": "MIT", "engines": { "node": ">= 14.0.0" @@ -28310,6 +34518,8 @@ }, "node_modules/trough": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", "license": "MIT", "funding": { "type": "github", @@ -28318,6 +34528,8 @@ }, "node_modules/ts-api-utils": { "version": "1.4.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz", + "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==", "dev": true, "license": "MIT", "engines": { @@ -28329,6 +34541,8 @@ }, "node_modules/ts-command-line-args": { "version": "2.5.1", + "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz", + "integrity": "sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==", "dev": true, "license": "ISC", "peer": true, @@ -28344,6 +34558,8 @@ }, "node_modules/ts-command-line-args/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "peer": true, @@ -28359,6 +34575,8 @@ }, "node_modules/ts-command-line-args/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "peer": true, @@ -28375,6 +34593,8 @@ }, "node_modules/ts-command-line-args/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "peer": true, @@ -28387,12 +34607,16 @@ }, "node_modules/ts-command-line-args/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT", "peer": true }, "node_modules/ts-essentials": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -28400,13 +34624,15 @@ } }, "node_modules/ts-jest": { - "version": "29.4.0", + "version": "29.4.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.1.tgz", + "integrity": "sha512-SaeUtjfpg9Uqu8IbeDKtdaS0g8lS6FT6OzM3ezrDfErPJPHNDo/Ey+VFGP1bQIDfagYDLyRpd7O15XpG1Es2Uw==", "dev": true, "license": "MIT", "dependencies": { "bs-logger": "^0.2.6", - "ejs": "^3.1.10", "fast-json-stable-stringify": "^2.1.0", + "handlebars": "^4.7.8", "json5": "^2.2.3", "lodash.memoize": "^4.1.2", "make-error": "^1.3.6", @@ -28450,8 +34676,23 @@ } } }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/ts-jest/node_modules/type-fest": { "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -28463,6 +34704,8 @@ }, "node_modules/ts-jest/node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "license": "ISC", "engines": { @@ -28471,6 +34714,8 @@ }, "node_modules/ts-node": { "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, "license": "MIT", "dependencies": { @@ -28513,6 +34758,8 @@ }, "node_modules/ts-node/node_modules/diff": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -28521,16 +34768,22 @@ }, "node_modules/ts-typed-json": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ts-typed-json/-/ts-typed-json-0.3.2.tgz", + "integrity": "sha512-Tdu3BWzaer7R5RvBIJcg9r8HrTZgpJmsX+1meXMJzYypbkj8NK2oJN0yvm4Dp/Iv6tzFa/L5jKRmEVTga6K3nA==", "license": "MIT", "optional": true }, "node_modules/ts-xor": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-xor/-/ts-xor-1.3.0.tgz", + "integrity": "sha512-RLXVjliCzc1gfKQFLRpfeD0rrWmjnSTgj7+RFhoq3KRkUYa8LE/TIidYOzM5h+IdFBDSjjSgk9Lto9sdMfDFEA==", "dev": true, "license": "MIT" }, "node_modules/tsconfck": { "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", "dev": true, "license": "MIT", "bin": { @@ -28550,6 +34803,8 @@ }, "node_modules/tsconfig-paths": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, "license": "MIT", "dependencies": { @@ -28563,6 +34818,8 @@ }, "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, "license": "MIT", "engines": { @@ -28571,15 +34828,21 @@ }, "node_modules/tslib": { "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, "node_modules/tsort": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", + "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==", "dev": true, "license": "MIT" }, "node_modules/tsutils": { "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "license": "MIT", "dependencies": { @@ -28594,11 +34857,15 @@ }, "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true, "license": "0BSD" }, "node_modules/tsyringe": { "version": "4.10.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", + "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", "license": "MIT", "dependencies": { "tslib": "^1.9.3" @@ -28609,14 +34876,20 @@ }, "node_modules/tsyringe/node_modules/tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/tweetnacl": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", "license": "Unlicense" }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { @@ -28628,14 +34901,18 @@ }, "node_modules/type-detect": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { - "version": "0.20.2", - "dev": true, + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "devOptional": true, "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" @@ -28646,6 +34923,8 @@ }, "node_modules/typechain": { "version": "8.3.2", + "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.2.tgz", + "integrity": "sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q==", "dev": true, "license": "MIT", "peer": true, @@ -28670,6 +34949,8 @@ }, "node_modules/typechain/node_modules/brace-expansion": { "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "peer": true, @@ -28678,375 +34959,195 @@ "concat-map": "0.0.1" } }, - "node_modules/typechain/node_modules/glob": { - "version": "7.1.7", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/typechain/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/typechain/node_modules/prettier": { - "version": "2.8.8", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-emitter": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "rxjs": "*" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.8.3", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.37.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.37.0", - "@typescript-eslint/parser": "8.37.0", - "@typescript-eslint/typescript-estree": "8.37.0", - "@typescript-eslint/utils": "8.37.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.37.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.37.0", - "@typescript-eslint/type-utils": "8.37.0", - "@typescript-eslint/utils": "8.37.0", - "@typescript-eslint/visitor-keys": "8.37.0", - "graphemer": "^1.4.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.37.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": { - "version": "8.37.0", + "node_modules/typechain/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "license": "MIT", + "license": "ISC", + "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.37.0", - "@typescript-eslint/types": "8.37.0", - "@typescript-eslint/typescript-estree": "8.37.0", - "@typescript-eslint/visitor-keys": "8.37.0", - "debug": "^4.3.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "*" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": { - "version": "8.37.0", + "node_modules/typechain/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "MIT", + "license": "ISC", + "peer": true, "dependencies": { - "@typescript-eslint/types": "8.37.0", - "@typescript-eslint/visitor-keys": "8.37.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "*" } }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": { - "version": "8.37.0", + "node_modules/typechain/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.37.0", - "@typescript-eslint/typescript-estree": "8.37.0", - "@typescript-eslint/utils": "8.37.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "node": ">=10" } }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": { - "version": "8.37.0", + "node_modules/typechain/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, "license": "MIT", + "peer": true, + "bin": { + "prettier": "bin-prettier.js" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=10.13.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.37.0", - "dev": true, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.37.0", - "@typescript-eslint/tsconfig-utils": "8.37.0", - "@typescript-eslint/types": "8.37.0", - "@typescript-eslint/visitor-keys": "8.37.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "node": ">= 0.4" } }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": { - "version": "8.37.0", + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.37.0", - "@typescript-eslint/types": "8.37.0", - "@typescript-eslint/typescript-estree": "8.37.0" + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.37.0", + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.37.0", - "eslint-visitor-keys": "^4.2.1" + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typescript-eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.1", + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typescript-eslint/node_modules/ignore": { - "version": "7.0.5", + "node_modules/typed-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-2.1.0.tgz", + "integrity": "sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==", "dev": true, "license": "MIT", - "engines": { - "node": ">= 4" + "optionalDependencies": { + "rxjs": "*" } }, - "node_modules/typescript-eslint/node_modules/ts-api-utils": { - "version": "2.1.0", + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, "license": "MIT", - "engines": { - "node": ">=18.12" + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, - "peerDependencies": { - "typescript": ">=4.8.4" + "engines": { + "node": ">=14.17" } }, "node_modules/typical": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", "devOptional": true, "license": "MIT", "engines": { @@ -29055,6 +35156,8 @@ }, "node_modules/ua-parser-js": { "version": "1.0.40", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.40.tgz", + "integrity": "sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==", "funding": [ { "type": "opencollective", @@ -29079,10 +35182,15 @@ }, "node_modules/ufo": { "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", "license": "MIT" }, "node_modules/uglify-js": { "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, "license": "BSD-2-Clause", "optional": true, "bin": { @@ -29094,6 +35202,8 @@ }, "node_modules/uint8arrays": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", "license": "MIT", "dependencies": { "multiformats": "^9.4.2" @@ -29101,10 +35211,14 @@ }, "node_modules/uint8arrays/node_modules/multiformats": { "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", "license": "(Apache-2.0 AND MIT)" }, "node_modules/unbox-primitive": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dev": true, "license": "MIT", "dependencies": { @@ -29122,10 +35236,14 @@ }, "node_modules/uncrypto": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", "license": "MIT" }, "node_modules/undici": { "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "license": "MIT", "dependencies": { "@fastify/busboy": "^2.0.0" @@ -29135,15 +35253,21 @@ } }, "node_modules/undici-types": { - "version": "7.8.0", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", "license": "MIT" }, "node_modules/unfetch": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", + "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==", "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "dev": true, "license": "MIT", "engines": { @@ -29152,6 +35276,8 @@ }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "license": "MIT", "dependencies": { @@ -29164,6 +35290,8 @@ }, "node_modules/unicode-match-property-value-ecmascript": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "dev": true, "license": "MIT", "engines": { @@ -29172,6 +35300,8 @@ }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "license": "MIT", "engines": { @@ -29180,6 +35310,8 @@ }, "node_modules/unicorn-magic": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, "license": "MIT", "engines": { @@ -29191,6 +35323,8 @@ }, "node_modules/unified": { "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", "license": "MIT", "dependencies": { "bail": "^1.0.0", @@ -29207,6 +35341,8 @@ }, "node_modules/unique-string": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", "dev": true, "license": "MIT", "dependencies": { @@ -29221,6 +35357,8 @@ }, "node_modules/unist-builder": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", "license": "MIT", "funding": { "type": "opencollective", @@ -29229,6 +35367,8 @@ }, "node_modules/unist-util-generated": { "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", "license": "MIT", "funding": { "type": "opencollective", @@ -29237,6 +35377,8 @@ }, "node_modules/unist-util-is": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", "license": "MIT", "funding": { "type": "opencollective", @@ -29245,6 +35387,8 @@ }, "node_modules/unist-util-position": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", "license": "MIT", "funding": { "type": "opencollective", @@ -29253,6 +35397,8 @@ }, "node_modules/unist-util-stringify-position": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", "license": "MIT", "dependencies": { "@types/unist": "^2.0.2" @@ -29264,6 +35410,8 @@ }, "node_modules/unist-util-visit": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", @@ -29277,127 +35425,41 @@ }, "node_modules/unist-util-visit-parents": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unstorage": { - "version": "1.16.1", - "license": "MIT", - "dependencies": { - "anymatch": "^3.1.3", - "chokidar": "^4.0.3", - "destr": "^2.0.5", - "h3": "^1.15.3", - "lru-cache": "^10.4.3", - "node-fetch-native": "^1.6.6", - "ofetch": "^1.4.1", - "ufo": "^1.6.1" - }, - "peerDependencies": { - "@azure/app-configuration": "^1.8.0", - "@azure/cosmos": "^4.2.0", - "@azure/data-tables": "^13.3.0", - "@azure/identity": "^4.6.0", - "@azure/keyvault-secrets": "^4.9.0", - "@azure/storage-blob": "^12.26.0", - "@capacitor/preferences": "^6.0.3 || ^7.0.0", - "@deno/kv": ">=0.9.0", - "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", - "@planetscale/database": "^1.19.0", - "@upstash/redis": "^1.34.3", - "@vercel/blob": ">=0.27.1", - "@vercel/kv": "^1.0.1", - "aws4fetch": "^1.0.20", - "db0": ">=0.2.1", - "idb-keyval": "^6.2.1", - "ioredis": "^5.4.2", - "uploadthing": "^7.4.4" - }, - "peerDependenciesMeta": { - "@azure/app-configuration": { - "optional": true - }, - "@azure/cosmos": { - "optional": true - }, - "@azure/data-tables": { - "optional": true - }, - "@azure/identity": { - "optional": true - }, - "@azure/keyvault-secrets": { - "optional": true - }, - "@azure/storage-blob": { - "optional": true - }, - "@capacitor/preferences": { - "optional": true - }, - "@deno/kv": { - "optional": true - }, - "@netlify/blobs": { - "optional": true - }, - "@planetscale/database": { - "optional": true - }, - "@upstash/redis": { - "optional": true - }, - "@vercel/blob": { - "optional": true - }, - "@vercel/kv": { - "optional": true - }, - "aws4fetch": { - "optional": true - }, - "db0": { - "optional": true - }, - "idb-keyval": { - "optional": true - }, - "ioredis": { - "optional": true - }, - "uploadthing": { - "optional": true - } + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unstorage/node_modules/lru-cache": { - "version": "10.4.3", - "license": "ISC" + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, "node_modules/update-browserslist-db": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "funding": [ { "type": "opencollective", @@ -29426,6 +35488,8 @@ }, "node_modules/update-notifier": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -29453,6 +35517,8 @@ }, "node_modules/update-notifier/node_modules/ansi-regex": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -29464,6 +35530,8 @@ }, "node_modules/update-notifier/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "license": "MIT", "engines": { @@ -29475,6 +35543,8 @@ }, "node_modules/update-notifier/node_modules/boxen": { "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", "dev": true, "license": "MIT", "dependencies": { @@ -29496,6 +35566,8 @@ }, "node_modules/update-notifier/node_modules/camelcase": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", "dev": true, "license": "MIT", "engines": { @@ -29507,6 +35579,8 @@ }, "node_modules/update-notifier/node_modules/cli-boxes": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", "dev": true, "license": "MIT", "engines": { @@ -29518,11 +35592,28 @@ }, "node_modules/update-notifier/node_modules/emoji-regex": { "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, "license": "MIT" }, + "node_modules/update-notifier/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/update-notifier/node_modules/string-width": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "license": "MIT", "dependencies": { @@ -29539,6 +35630,8 @@ }, "node_modules/update-notifier/node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "license": "MIT", "dependencies": { @@ -29553,6 +35646,8 @@ }, "node_modules/update-notifier/node_modules/type-fest": { "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -29564,6 +35659,8 @@ }, "node_modules/update-notifier/node_modules/widest-line": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", "dev": true, "license": "MIT", "dependencies": { @@ -29578,6 +35675,8 @@ }, "node_modules/update-notifier/node_modules/wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "license": "MIT", "dependencies": { @@ -29594,6 +35693,8 @@ }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -29602,6 +35703,8 @@ }, "node_modules/url-parse": { "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "license": "MIT", "dependencies": { @@ -29611,6 +35714,8 @@ }, "node_modules/use-callback-ref": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -29630,6 +35735,8 @@ }, "node_modules/use-isomorphic-layout-effect": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz", + "integrity": "sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA==", "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -29652,6 +35759,8 @@ }, "node_modules/use-sidecar": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", "license": "MIT", "dependencies": { "detect-node-es": "^1.1.0", @@ -29672,6 +35781,8 @@ }, "node_modules/use-sync-external-store": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", + "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==", "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -29679,10 +35790,14 @@ }, "node_modules/utf8": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", + "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", "license": "MIT" }, "node_modules/util": { "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dev": true, "license": "MIT", "dependencies": { @@ -29695,10 +35810,14 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, "node_modules/utils-merge": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "license": "MIT", "peer": true, "engines": { @@ -29707,6 +35826,8 @@ }, "node_modules/uuid": { "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -29718,11 +35839,15 @@ }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true, "license": "MIT" }, "node_modules/v8-to-istanbul": { "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, "license": "ISC", "dependencies": { @@ -29736,6 +35861,8 @@ }, "node_modules/validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "devOptional": true, "license": "Apache-2.0", "dependencies": { @@ -29745,6 +35872,8 @@ }, "node_modules/validate-npm-package-name": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", "license": "ISC", "optional": true, "dependencies": { @@ -29753,6 +35882,8 @@ }, "node_modules/valtio": { "version": "1.11.2", + "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.11.2.tgz", + "integrity": "sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==", "license": "MIT", "dependencies": { "proxy-compare": "2.5.1", @@ -29776,6 +35907,8 @@ }, "node_modules/valtio/node_modules/use-sync-external-store": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -29783,10 +35916,14 @@ }, "node_modules/varint": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", "license": "MIT" }, "node_modules/vfile": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", @@ -29801,6 +35938,8 @@ }, "node_modules/vfile-message": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", @@ -29813,6 +35952,8 @@ }, "node_modules/viem": { "version": "2.31.0", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.31.0.tgz", + "integrity": "sha512-U7OMQ6yqK+bRbEIarf2vqxL7unSEQvNxvML/1zG7suAmKuJmipqdVTVJGKBCJiYsm/EremyO2FS4dHIPpGv+eA==", "funding": [ { "type": "github", @@ -29841,6 +35982,8 @@ }, "node_modules/viem/node_modules/@noble/curves": { "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.1.tgz", + "integrity": "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==", "license": "MIT", "dependencies": { "@noble/hashes": "1.8.0" @@ -29854,6 +35997,8 @@ }, "node_modules/viem/node_modules/@scure/bip32": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz", + "integrity": "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==", "license": "MIT", "dependencies": { "@noble/curves": "~1.9.0", @@ -29866,6 +36011,8 @@ }, "node_modules/viem/node_modules/@scure/bip39": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.6.0.tgz", + "integrity": "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==", "license": "MIT", "dependencies": { "@noble/hashes": "~1.8.0", @@ -29877,6 +36024,8 @@ }, "node_modules/viem/node_modules/ws": { "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -29896,6 +36045,8 @@ }, "node_modules/vite": { "version": "4.5.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz", + "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==", "dev": true, "license": "MIT", "dependencies": { @@ -29948,48 +36099,380 @@ } } }, - "node_modules/vite-plugin-environment": { - "version": "1.1.3", + "node_modules/vite-plugin-environment": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vite-plugin-environment/-/vite-plugin-environment-1.1.3.tgz", + "integrity": "sha512-9LBhB0lx+2lXVBEWxFZC+WO7PKEyE/ykJ7EPWCq95NEcCpblxamTbs5Dm3DLBGzwODpJMEnzQywJU8fw6XGGGA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "vite": ">= 2.7" + } + }, + "node_modules/vite-plugin-rewrite-all": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vite-plugin-rewrite-all/-/vite-plugin-rewrite-all-1.0.1.tgz", + "integrity": "sha512-W0DAchC8ynuQH0lYLIu5/5+JGfYlUTRD8GGNtHFXRJX4FzzB9MajtqHBp26zq/ly9sDt5BqrfdT08rv3RbB0LQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT", + "dependencies": { + "connect-history-api-fallback": "^1.6.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz", + "integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^3.0.3" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "peerDependencies": { - "vite": ">= 2.7" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vite-plugin-rewrite-all": { - "version": "1.0.1", + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "connect-history-api-fallback": "^1.6.0" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "vite": "^2.0.0 || ^3.0.0 || ^4.0.0" + "node": ">=12" } }, - "node_modules/vite-tsconfig-paths": { - "version": "4.3.2", + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "globrex": "^0.1.2", - "tsconfck": "^3.0.3" - }, - "peerDependencies": { - "vite": "*" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", "cpu": [ "arm64" ], @@ -29997,7 +36480,41 @@ "license": "MIT", "optional": true, "os": [ - "darwin" + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" ], "engines": { "node": ">=12" @@ -30005,6 +36522,8 @@ }, "node_modules/vite/node_modules/esbuild": { "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -30041,11 +36560,15 @@ }, "node_modules/vlq": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", "license": "MIT", "peer": true }, "node_modules/void-elements": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -30053,6 +36576,8 @@ }, "node_modules/w3c-xmlserializer": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", "dev": true, "license": "MIT", "dependencies": { @@ -30064,6 +36589,8 @@ }, "node_modules/walker": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" @@ -30071,20 +36598,27 @@ }, "node_modules/wcwidth": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "license": "MIT", "dependencies": { "defaults": "^1.0.3" } }, "node_modules/web-streams-polyfill": { - "version": "3.3.3", + "version": "4.0.0-beta.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", + "integrity": "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==", + "devOptional": true, "license": "MIT", "engines": { - "node": ">= 8" + "node": ">= 14" } }, "node_modules/web3-core-helpers": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.8.0.tgz", + "integrity": "sha512-nMAVwZB3rEp/khHI2BvFy0e/xCryf501p5NGjswmJtEM+Zrd3Biaw52JrB1qAZZIzCA8cmLKaOgdfamoDOpWdw==", "license": "LGPL-3.0", "dependencies": { "web3-eth-iban": "1.8.0", @@ -30096,6 +36630,8 @@ }, "node_modules/web3-core-helpers/node_modules/web3-utils": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.8.0.tgz", + "integrity": "sha512-7nUIl7UWpLVka2f09CMbKOSEvorvHnaugIabU4mj7zfMvm0tSByLcEu3eyV9qgS11qxxLuOkzBIwCstTflhmpQ==", "license": "LGPL-3.0", "dependencies": { "bn.js": "^5.2.1", @@ -30112,6 +36648,8 @@ }, "node_modules/web3-eth-iban": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.8.0.tgz", + "integrity": "sha512-4RbvUxcMpo/e5811sE3a6inJ2H4+FFqUVmlRYs0RaXaxiHweahSRBNcpO0UWgmlePTolj0rXqPT2oEr0DuC8kg==", "license": "LGPL-3.0", "dependencies": { "bn.js": "^5.2.1", @@ -30123,6 +36661,8 @@ }, "node_modules/web3-eth-iban/node_modules/web3-utils": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.8.0.tgz", + "integrity": "sha512-7nUIl7UWpLVka2f09CMbKOSEvorvHnaugIabU4mj7zfMvm0tSByLcEu3eyV9qgS11qxxLuOkzBIwCstTflhmpQ==", "license": "LGPL-3.0", "dependencies": { "bn.js": "^5.2.1", @@ -30139,6 +36679,8 @@ }, "node_modules/web3-providers-http": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.8.0.tgz", + "integrity": "sha512-/MqxwRzExohBWW97mqlCSW/+NHydGRyoEDUS1bAIF2YjfKFwyRtHgrEzOojzkC9JvB+8LofMvbXk9CcltpZapw==", "license": "LGPL-3.0", "dependencies": { "abortcontroller-polyfill": "^1.7.3", @@ -30152,6 +36694,8 @@ }, "node_modules/web3-utils": { "version": "1.10.4", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", + "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", "dev": true, "license": "LGPL-3.0", "dependencies": { @@ -30170,14 +36714,24 @@ }, "node_modules/webextension-polyfill": { "version": "0.10.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", + "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==", "license": "MPL-2.0" }, "node_modules/webidl-conversions": { - "version": "3.0.1", - "license": "BSD-2-Clause" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } }, "node_modules/whatwg-encoding": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "dev": true, "license": "MIT", "dependencies": { @@ -30189,6 +36743,8 @@ }, "node_modules/whatwg-encoding/node_modules/iconv-lite": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, "license": "MIT", "dependencies": { @@ -30200,11 +36756,15 @@ }, "node_modules/whatwg-fetch": { "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", "license": "MIT", "peer": true }, "node_modules/whatwg-mimetype": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", "dev": true, "license": "MIT", "engines": { @@ -30212,15 +36772,23 @@ } }, "node_modules/whatwg-url": { - "version": "5.0.0", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dev": true, "license": "MIT", "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -30234,6 +36802,8 @@ }, "node_modules/which-boxed-primitive": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dev": true, "license": "MIT", "dependencies": { @@ -30252,6 +36822,8 @@ }, "node_modules/which-builtin-type": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -30278,11 +36850,15 @@ }, "node_modules/which-builtin-type/node_modules/isarray": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, "license": "MIT" }, "node_modules/which-collection": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, "license": "MIT", "dependencies": { @@ -30300,10 +36876,14 @@ }, "node_modules/which-module": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "license": "ISC" }, "node_modules/which-typed-array": { "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", @@ -30323,6 +36903,8 @@ }, "node_modules/wide-align": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "license": "ISC", "optional": true, "dependencies": { @@ -30331,6 +36913,8 @@ }, "node_modules/widest-line": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "dev": true, "license": "MIT", "dependencies": { @@ -30342,6 +36926,8 @@ }, "node_modules/winston": { "version": "3.17.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.17.0.tgz", + "integrity": "sha512-DLiFIXYC5fMPxaRg832S6F5mJYvePtmO5G9v9IgUFPhXm9/GkXarH/TUrBAVzhTCzAj9anE/+GjrgXp/54nOgw==", "license": "MIT", "dependencies": { "@colors/colors": "^1.6.0", @@ -30362,6 +36948,8 @@ }, "node_modules/winston-daily-rotate-file": { "version": "4.7.1", + "resolved": "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-4.7.1.tgz", + "integrity": "sha512-7LGPiYGBPNyGHLn9z33i96zx/bd71pjBn9tqQzO3I4Tayv94WPmBNwKC7CO1wPHdP9uvu+Md/1nr6VSH9h0iaA==", "license": "MIT", "dependencies": { "file-stream-rotator": "^0.6.1", @@ -30378,6 +36966,8 @@ }, "node_modules/winston-transport": { "version": "4.9.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.9.0.tgz", + "integrity": "sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==", "license": "MIT", "dependencies": { "logform": "^2.7.0", @@ -30390,6 +36980,8 @@ }, "node_modules/winston-transport/node_modules/readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -30402,6 +36994,8 @@ }, "node_modules/winston/node_modules/@colors/colors": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", "license": "MIT", "engines": { "node": ">=0.1.90" @@ -30409,10 +37003,14 @@ }, "node_modules/winston/node_modules/async": { "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "license": "MIT" }, "node_modules/winston/node_modules/readable-stream": { "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -30425,6 +37023,8 @@ }, "node_modules/word-wrap": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "license": "MIT", "engines": { @@ -30433,11 +37033,15 @@ }, "node_modules/wordwrap": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "devOptional": true, "license": "MIT" }, "node_modules/wordwrapjs": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", + "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", "devOptional": true, "license": "MIT", "dependencies": { @@ -30450,6 +37054,8 @@ }, "node_modules/wordwrapjs/node_modules/typical": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", "devOptional": true, "license": "MIT", "engines": { @@ -30458,11 +37064,15 @@ }, "node_modules/workerpool": { "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true, "license": "Apache-2.0" }, "node_modules/wrap-ansi": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -30479,6 +37089,8 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -30494,6 +37106,8 @@ }, "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -30507,6 +37121,8 @@ }, "node_modules/wrap-ansi-cjs/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -30517,10 +37133,14 @@ }, "node_modules/wrap-ansi-cjs/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -30534,6 +37154,8 @@ }, "node_modules/wrap-ansi/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -30544,14 +37166,20 @@ }, "node_modules/wrap-ansi/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "license": "MIT" }, "node_modules/wrappy": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, "node_modules/write-file-atomic": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", @@ -30563,10 +37191,14 @@ }, "node_modules/write-file-atomic/node_modules/signal-exit": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "license": "ISC" }, "node_modules/ws": { "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -30586,6 +37218,8 @@ }, "node_modules/xdg-basedir": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", "dev": true, "license": "MIT", "engines": { @@ -30597,6 +37231,8 @@ }, "node_modules/xml-name-validator": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -30605,11 +37241,15 @@ }, "node_modules/xmlchars": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true, "license": "MIT" }, "node_modules/xtend": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "license": "MIT", "engines": { "node": ">=0.4" @@ -30617,6 +37257,8 @@ }, "node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "license": "ISC", "engines": { "node": ">=10" @@ -30624,10 +37266,14 @@ }, "node_modules/yallist": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.0", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", "dev": true, "license": "ISC", "bin": { @@ -30639,6 +37285,8 @@ }, "node_modules/yargs": { "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "license": "MIT", "dependencies": { "cliui": "^8.0.1", @@ -30655,6 +37303,8 @@ }, "node_modules/yargs-parser": { "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "license": "ISC", "engines": { @@ -30663,6 +37313,8 @@ }, "node_modules/yargs-unparser": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "license": "MIT", "dependencies": { @@ -30675,8 +37327,23 @@ "node": ">=10" } }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/yargs/node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "license": "ISC", "engines": { "node": ">=12" @@ -30684,6 +37351,8 @@ }, "node_modules/yn": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, "license": "MIT", "engines": { @@ -30692,6 +37361,8 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", "engines": { @@ -30703,6 +37374,8 @@ }, "node_modules/zod": { "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "devOptional": true, "license": "MIT", "funding": { @@ -30711,6 +37384,8 @@ }, "node_modules/zod-validation-error": { "version": "3.5.3", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.5.3.tgz", + "integrity": "sha512-OT5Y8lbUadqVZCsnyFaTQ4/O2mys4tj7PqhdbBCp7McPwvIEKfPtdA6QfPeFQK2/Rz5LgwmAXRJTugBNBi0btw==", "dev": true, "license": "MIT", "engines": { @@ -30722,6 +37397,8 @@ }, "node_modules/zrender": { "version": "5.6.1", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.1.tgz", + "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==", "license": "BSD-3-Clause", "dependencies": { "tslib": "2.3.0" @@ -30729,10 +37406,14 @@ }, "node_modules/zrender/node_modules/tslib": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", "license": "0BSD" }, "node_modules/zustand": { "version": "4.5.7", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz", + "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==", "license": "MIT", "dependencies": { "use-sync-external-store": "^1.2.2" @@ -30762,7 +37443,6 @@ "version": "1.14.4", "license": "Apache-2.0", "devDependencies": { - "@eslint/js": "^9.24.0", "@hashgraph/sdk": "^2.62.0", "@nomicfoundation/hardhat-chai-matchers": "^1.0.6", "@nomicfoundation/hardhat-toolbox": "^2.0.2", @@ -30776,346 +37456,300 @@ "@types/jest": "^29.5.14", "chai": "^4.4.0", "dotenv": "^16.0.3", - "eslint": "^9.24.0", "ethers": "^5.8.0", "hardhat": "^2.22.19", "hardhat-abi-exporter": "^2.11.0", "hardhat-contract-sizer": "^2.10.0", - "hardhat-gas-reporter": "^1.0.8", - "prettier": "^3.5.3", - "prettier-plugin-solidity": "^1.4.2", - "rimraf": "^6.0.1", - "solhint": "^3.3.7", - "solhint-plugin-prettier": "^0.1.0", - "solidity-coverage": "^0.8.14", - "ts-node": "^10.9.1", - "tsconfig-paths": "^4.2.0", - "typescript": "^5.8.2", - "typescript-eslint": "^8.26.1" - } - }, - "packages/ats/contracts/node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "packages/ats/contracts/node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "packages/ats/contracts/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "packages/ats/contracts/node_modules/brace-expansion": { - "version": "1.1.12", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "packages/ats/contracts/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "packages/ats/contracts/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "packages/ats/contracts/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "packages/ats/contracts/node_modules/eslint": { - "version": "9.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.0", - "@eslint/config-helpers": "^0.3.0", - "@eslint/core": "^0.15.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.31.0", - "@eslint/plugin-kit": "^0.3.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" + "hardhat-gas-reporter": "^1.0.8", + "rimraf": "^6.0.1", + "solidity-coverage": "^0.8.14", + "ts-node": "^10.9.1", + "tsconfig-paths": "^4.2.0", + "typescript": "^5.8.2" + } + }, + "packages/ats/contracts/node_modules/rimraf": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "bin": { - "eslint": "bin/eslint.js" + "rimraf": "dist/esm/bin.mjs" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "20 || >=22" }, "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } + "url": "https://github.com/sponsors/isaacs" } }, - "packages/ats/contracts/node_modules/eslint-scope": { - "version": "8.4.0", - "dev": true, - "license": "BSD-2-Clause", + "packages/ats/sdk": { + "name": "@hashgraph/asset-tokenization-sdk", + "version": "1.14.4", + "license": "Apache-2.0", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "@ethersproject/contracts": "^5.7.0", + "@hashgraph/asset-tokenization-contracts": "*", + "@hashgraph/hedera-custodians-integration": "^1.4.1", + "@hashgraph/hedera-wallet-connect": "1.3.1", + "@hashgraph/sdk": "2.64.5", + "@metamask/detect-provider": "^2.0.0", + "@metamask/providers": "^12.0.0", + "@terminal3/verify_vc": "^0.0.20", + "@walletconnect/modal": "^2.6.2", + "axios": "^1.7.9", + "cd": "^0.3.3", + "chai": "^4.3.8", + "chai-as-promised": "^7.1.1", + "dotenv": "^16.3.1", + "dpdm": "^3.14.0", + "efate": "1.5.1", + "ethers": "^5.8.0", + "long": "^4.0.0", + "reflect-metadata": "^0.2.2", + "tsyringe": "^4.8.0", + "uuid": "^9.0.0", + "winston": "^3.8.2", + "winston-daily-rotate-file": "^4.7.1" }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "devDependencies": { + "@faker-js/faker": "^9.6.0", + "@golevelup/ts-jest": "^0.6.2", + "@types/jest": "^29.2.6", + "@types/node": "^18.11.18", + "@types/uuid": "^9.0.0", + "jest": "^29.6.4", + "npm-run-all": "^4.1.5", + "rimraf": "^6.0.1", + "ts-jest": "^29.1.1", + "typed-emitter": "^2.1.0", + "typescript": "^5.2.2" }, - "funding": { - "url": "https://opencollective.com/eslint" + "engines": { + "node": ">= 16.17" } }, - "packages/ats/contracts/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "dev": true, + "packages/ats/sdk/node_modules/@hashgraph/cryptography": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@hashgraph/cryptography/-/cryptography-1.7.2.tgz", + "integrity": "sha512-XeLpuoUNrW/F9gCiivmg5RnHjoNc8i5S4kK5BII6Dk3KfgeYt6hwJw1jGqwXenmrprbxPq7QIh10HuCTrGCzcw==", "license": "Apache-2.0", + "dependencies": { + "@noble/curves": "^1.8.1", + "asn1js": "^3.0.6", + "bignumber.js": "^9.1.1", + "bn.js": "^5.2.1", + "buffer": "^6.0.3", + "crypto-js": "^4.2.0", + "forge-light": "1.1.4", + "js-base64": "^3.7.7", + "react-native-get-random-values": "^1.11.0", + "spark-md5": "^3.0.2", + "tweetnacl": "^1.0.3", + "utf8": "^3.0.0" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=12.0.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependenciesMeta": { + "expo-crypto": { + "optional": true + } } }, - "packages/ats/contracts/node_modules/espree": { - "version": "10.4.0", - "dev": true, - "license": "BSD-2-Clause", + "packages/ats/sdk/node_modules/@hashgraph/proto": { + "version": "2.18.5", + "resolved": "https://registry.npmjs.org/@hashgraph/proto/-/proto-2.18.5.tgz", + "integrity": "sha512-LifEGGhvkqF49PYVP0xkcnCh8fP43q/+JkGPdZkwKglw1wFAJkPHZtQmGZSjmDpl2gbJiRyzvzJ1Q9MJ1VBA4Q==", + "license": "Apache-2.0", "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" + "long": "^5.2.3", + "protobufjs": "7.2.5" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=10.0.0" } }, - "packages/ats/contracts/node_modules/file-entry-cache": { - "version": "8.0.0", - "dev": true, - "license": "MIT", + "packages/ats/sdk/node_modules/@hashgraph/proto/node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, + "packages/ats/sdk/node_modules/@hashgraph/sdk": { + "version": "2.64.5", + "resolved": "https://registry.npmjs.org/@hashgraph/sdk/-/sdk-2.64.5.tgz", + "integrity": "sha512-AIa8jlkhDx2GZHSURWb3YuobTDwozmVyiyvt7MZRDDYKQbibrpyvrTI6E2IRx1xn7fI0Vd5aHELtmHYmkEVjag==", + "license": "Apache-2.0", "dependencies": { - "flat-cache": "^4.0.0" + "@ethersproject/abi": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/rlp": "^5.8.0", + "@grpc/grpc-js": "^1.12.6", + "@hashgraph/cryptography": "1.7.2", + "@hashgraph/proto": "2.18.5", + "bignumber.js": "^9.1.1", + "bn.js": "^5.1.1", + "crypto-js": "^4.2.0", + "js-base64": "^3.7.4", + "long": "^5.3.1", + "pino": "^9.6.0", + "pino-pretty": "^13.0.0", + "protobufjs": "7.2.5", + "rfc4648": "^1.5.3", + "utf8": "^3.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" + }, + "peerDependencies": { + "bn.js": "^5.2.1" } }, - "packages/ats/contracts/node_modules/find-up": { - "version": "5.0.0", - "dev": true, + "packages/ats/sdk/node_modules/@hashgraph/sdk/node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, + "packages/ats/sdk/node_modules/@react-native/virtualized-lists": { + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.80.2.tgz", + "integrity": "sha512-kXsIV2eB73QClbbH/z/lRhZkyj3Dke4tarM5w2yXSNwJthMPMfj4KqLZ6Lnf0nmPPjz7qo/voKtlrGqlM822Rg==", "license": "MIT", + "peer": true, "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@types/react": "^19.0.0", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "packages/ats/contracts/node_modules/flat-cache": { - "version": "4.0.1", + "packages/ats/sdk/node_modules/@types/node": { + "version": "18.19.122", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.122.tgz", + "integrity": "sha512-yzegtT82dwTNEe/9y+CM8cgb42WrUfMMCg2QqSddzO1J6uPmBD7qKCZ7dOHZP2Yrpm/kb0eqdNMn2MUyEiqBmA==", "dev": true, "license": "MIT", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" + "undici-types": "~5.26.4" } }, - "packages/ats/contracts/node_modules/glob": { - "version": "11.0.3", - "dev": true, - "license": "ISC", + "packages/ats/sdk/node_modules/@types/react": { + "version": "19.1.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.10.tgz", + "integrity": "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==", + "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "foreground-child": "^3.3.1", - "jackspeak": "^4.1.1", - "minimatch": "^10.0.3", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "csstype": "^3.0.2" } }, - "packages/ats/contracts/node_modules/glob/node_modules/minimatch": { - "version": "10.0.3", - "dev": true, - "license": "ISC", + "packages/ats/sdk/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "peer": true, "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "20 || >=22" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "packages/ats/contracts/node_modules/globals": { - "version": "14.0.0", - "dev": true, + "packages/ats/sdk/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "packages/ats/contracts/node_modules/jackspeak": { - "version": "4.1.1", - "dev": true, - "license": "BlueOak-1.0.0", + "packages/ats/sdk/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "peer": true, "dependencies": { - "@isaacs/cliui": "^8.0.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "20 || >=22" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "packages/ats/contracts/node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "packages/ats/contracts/node_modules/locate-path": { - "version": "6.0.0", - "dev": true, + "packages/ats/sdk/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "license": "MIT", + "peer": true, "dependencies": { - "p-locate": "^5.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=7.0.0" } }, - "packages/ats/contracts/node_modules/lru-cache": { - "version": "11.1.0", - "dev": true, - "license": "ISC", + "packages/ats/sdk/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "peer": true + }, + "packages/ats/sdk/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "license": "MIT", + "peer": true, "engines": { - "node": "20 || >=22" + "node": ">=18" } }, - "packages/ats/contracts/node_modules/minimatch": { + "packages/ats/sdk/node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", + "license": "MIT", + "peer": true + }, + "packages/ats/sdk/node_modules/minimatch": { "version": "3.1.2", - "dev": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "license": "ISC", + "peer": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -31123,199 +37757,158 @@ "node": "*" } }, - "packages/ats/contracts/node_modules/p-locate": { - "version": "5.0.0", - "dev": true, + "packages/ats/sdk/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "license": "MIT", + "peer": true, "dependencies": { - "p-limit": "^3.0.2" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "packages/ats/contracts/node_modules/path-exists": { - "version": "4.0.0", - "dev": true, + "packages/ats/sdk/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "license": "MIT", + "peer": true, "engines": { - "node": ">=8" - } - }, - "packages/ats/contracts/node_modules/path-scurry": { - "version": "2.0.0", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/ats/contracts/node_modules/rimraf": { - "version": "6.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^11.0.0", - "package-json-from-dist": "^1.0.0" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "packages/ats/sdk": { - "name": "@hashgraph/asset-tokenization-sdk", - "version": "1.14.4", - "license": "Apache-2.0", - "dependencies": { - "@ethersproject/contracts": "^5.7.0", - "@hashgraph/asset-tokenization-contracts": "*", - "@hashgraph/hedera-custodians-integration": "^1.4.1", - "@hashgraph/hedera-wallet-connect": "1.3.1", - "@hashgraph/sdk": "2.64.5", - "@metamask/detect-provider": "^2.0.0", - "@metamask/providers": "^12.0.0", - "@terminal3/verify_vc": "^0.0.20", - "@walletconnect/modal": "^2.6.2", - "axios": "^1.7.9", - "cd": "^0.3.3", - "chai": "^4.3.8", - "chai-as-promised": "^7.1.1", - "dotenv": "^16.3.1", - "dpdm": "^3.14.0", - "efate": "1.5.1", - "ethers": "^5.8.0", - "long": "^4.0.0", - "reflect-metadata": "^0.2.2", - "tsyringe": "^4.8.0", - "uuid": "^9.0.0", - "winston": "^3.8.2", - "winston-daily-rotate-file": "^4.7.1" - }, - "devDependencies": { - "@faker-js/faker": "^9.6.0", - "@golevelup/ts-jest": "^0.6.2", - "@types/jest": "^29.2.6", - "@types/node": "^18.11.18", - "@types/uuid": "^9.0.0", - "@typescript-eslint/eslint-plugin": "^6.7.0", - "@typescript-eslint/parser": "^6.7.4", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-jest": "^27.2.3", - "eslint-plugin-license-header": "^0.6.0", - "eslint-plugin-unused-imports": "^4.1.4", - "jest": "^29.6.4", - "lint-staged": "^15.2.11", - "npm-run-all": "^4.1.5", - "prettier": "^3.0.3", - "rimraf": "^6.0.1", - "ts-jest": "^29.1.1", - "typed-emitter": "^2.1.0", - "typescript": "^5.2.2" - }, + "packages/ats/sdk/node_modules/react": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", + "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", + "license": "MIT", + "peer": true, "engines": { - "node": ">= 16.17" + "node": ">=0.10.0" } }, - "packages/ats/sdk/node_modules/@types/node": { - "version": "18.19.119", - "dev": true, + "packages/ats/sdk/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } + "peer": true }, - "packages/ats/sdk/node_modules/glob": { - "version": "11.0.3", - "dev": true, - "license": "ISC", + "packages/ats/sdk/node_modules/react-native": { + "version": "0.80.2", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.80.2.tgz", + "integrity": "sha512-6ySV4qTJo/To3lgpG/9Mcg/ZtvExqOVZuT7JVGcO5rS2Bjvl/yUAkQF0hTnbRb2Ch6T5MlKghrM4OeHX+KA9Pg==", + "license": "MIT", + "peer": true, "dependencies": { - "foreground-child": "^3.3.1", - "jackspeak": "^4.1.1", - "minimatch": "^10.0.3", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" + "@jest/create-cache-key-function": "^29.7.0", + "@react-native/assets-registry": "0.80.2", + "@react-native/codegen": "0.80.2", + "@react-native/community-cli-plugin": "0.80.2", + "@react-native/gradle-plugin": "0.80.2", + "@react-native/js-polyfills": "0.80.2", + "@react-native/normalize-colors": "0.80.2", + "@react-native/virtualized-lists": "0.80.2", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "ansi-regex": "^5.0.0", + "babel-jest": "^29.7.0", + "babel-plugin-syntax-hermes-parser": "0.28.1", + "base64-js": "^1.5.1", + "chalk": "^4.0.0", + "commander": "^12.0.0", + "flow-enums-runtime": "^0.0.6", + "glob": "^7.1.1", + "invariant": "^2.2.4", + "jest-environment-node": "^29.7.0", + "memoize-one": "^5.0.0", + "metro-runtime": "^0.82.2", + "metro-source-map": "^0.82.2", + "nullthrows": "^1.1.1", + "pretty-format": "^29.7.0", + "promise": "^8.3.0", + "react-devtools-core": "^6.1.1", + "react-refresh": "^0.14.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.26.0", + "semver": "^7.1.3", + "stacktrace-parser": "^0.1.10", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.3", + "yargs": "^17.6.2" }, "bin": { - "glob": "dist/esm/bin.mjs" + "react-native": "cli.js" }, "engines": { - "node": "20 || >=22" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@types/react": "^19.1.0", + "react": "^19.1.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "packages/ats/sdk/node_modules/jackspeak": { - "version": "4.1.1", - "dev": true, - "license": "BlueOak-1.0.0", + "packages/ats/sdk/node_modules/react-native-get-random-values": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/react-native-get-random-values/-/react-native-get-random-values-1.11.0.tgz", + "integrity": "sha512-4BTbDbRmS7iPdhYLRcz3PGFIpFJBwNZg9g42iwa2P6FOv9vZj/xJc678RZXnLNZzd0qd7Q3CCF6Yd+CU2eoXKQ==", + "license": "MIT", "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" + "fast-base64-decode": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "packages/ats/sdk/node_modules/lru-cache": { - "version": "11.1.0", - "dev": true, - "license": "ISC", - "engines": { - "node": "20 || >=22" + "peerDependencies": { + "react-native": ">=0.56" } }, - "packages/ats/sdk/node_modules/minimatch": { - "version": "10.0.3", - "dev": true, + "packages/ats/sdk/node_modules/react-native/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "license": "ISC", + "peer": true, "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": "20 || >=22" + "node": "*" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "packages/ats/sdk/node_modules/path-scurry": { - "version": "2.0.0", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, + "packages/ats/sdk/node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "license": "MIT", + "peer": true, "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, "packages/ats/sdk/node_modules/rimraf": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", "dev": true, "license": "ISC", "dependencies": { @@ -31332,10 +37925,42 @@ "url": "https://github.com/sponsors/isaacs" } }, + "packages/ats/sdk/node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT", + "peer": true + }, + "packages/ats/sdk/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "packages/ats/sdk/node_modules/undici-types": { "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true, "license": "MIT" + }, + "packages/ats/sdk/node_modules/ws": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "license": "MIT", + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0" + } } } } diff --git a/package.json b/package.json index 6ed7b6222..c99325104 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,15 @@ ], "scripts": { "setup": "npm install", + "lint": "npm run lint:js && npm run lint:sol", + "lint:js": "eslint . --cache", + "lint:sol": "solhint 'packages/ats/contracts/contracts/**/*.sol' --config packages/ats/contracts/.solhint.json", + "lint:fix": "eslint . --fix && npm run format", + "format": "prettier --write . --cache", + "format:check": "prettier --check . --cache", + "lint:staged:js": "eslint --cache", + "lint:staged:sol": "solhint --config packages/ats/contracts/.solhint.json", + "format:staged": "prettier --check", "ats:contracts:build": "npm run build --workspace=packages/ats/contracts", "ats:sdk:build": "npm run build --workspace=packages/ats/sdk", "ats:web:build": "npm run build --workspace=apps/ats/web", @@ -20,29 +29,14 @@ "ats:sdk:test": "npm run test --workspace=packages/ats/sdk", "ats:web:test": "npm run test --workspace=apps/ats/web", "ats:test": "npm run ats:contracts:test && npm run ats:sdk:test && npm run ats:web:test", - "ats:contracts:lint": "npm run lint --workspace=packages/ats/contracts", - "ats:sdk:lint": "npm run lint --workspace=packages/ats/sdk", - "ats:web:lint": "npm run lint --workspace=apps/ats/web", - "ats:lint": "npm run ats:contracts:lint && npm run ats:sdk:lint && npm run ats:web:lint", - "ats:contracts:lint:fix": "npm run lint:fix --workspace=packages/ats/contracts", - "ats:sdk:lint:fix": "npm run lint:fix --workspace=packages/ats/sdk", - "ats:web:lint:fix": "npm run lint:fix --workspace=apps/ats/web", - "ats:lint:fix": "npm run ats:contracts:lint:fix && npm run ats:sdk:lint:fix && npm run ats:web:lint:fix", + "ats:contracts:test:ci": "npm run test:ci --workspace=packages/ats/contracts --if-present || npm run test --workspace=packages/ats/contracts", + "ats:sdk:test:ci": "npm run test:ci --workspace=packages/ats/sdk --if-present || npm run test --workspace=packages/ats/sdk", + "ats:web:test:ci": "npm run test:ci --workspace=apps/ats/web", + "ats:test:ci": "npm run ats:contracts:test:ci && npm run ats:sdk:test:ci && npm run ats:web:test:ci", "ats:contracts:clean": "npm run clean --workspace=packages/ats/contracts", "ats:sdk:clean": "npm run clean --workspace=packages/ats/sdk", "ats:web:clean": "npm run clean --workspace=apps/ats/web", "ats:clean": "npm run ats:contracts:clean && npm run ats:sdk:clean && npm run ats:web:clean", - "ats:contracts:prettier": "npm run prettier --workspace=packages/ats/contracts", - "ats:sdk:prettier": "npm run prettier --workspace=packages/ats/sdk", - "ats:web:prettier": "npm run prettier --workspace=apps/ats/web", - "ats:prettier": "npm run ats:contracts:prettier && npm run ats:sdk:prettier && npm run ats:web:prettier", - "ats:contracts:lint:staged:sol": "npm run lint:staged:sol --workspace=packages/ats/contracts", - "ats:contracts:lint:staged:ts": "npm run lint:staged:ts --workspace=packages/ats/contracts", - "ats:sdk:lint:staged": "npm run lint:staged --workspace=packages/ats/sdk", - "ats:web:lint:staged": "npm run lint:staged --workspace=apps/ats/web", - "ats:contracts:prettier:staged": "npm run prettier:staged --workspace=packages/ats/contracts", - "ats:sdk:prettier:staged": "npm run prettier:staged --workspace=packages/ats/sdk", - "ats:web:prettier:staged": "npm run prettier:staged --workspace=apps/ats/web", "ats:contracts:publish": "npm run publish --workspace=packages/ats/contracts", "ats:sdk:publish": "npm run publish --workspace=packages/ats/sdk", "ats:publish": "npm run ats:contracts:publish && npm run ats:sdk:publish", @@ -54,6 +48,7 @@ "ats:start": "npm run ats:contracts:build && npm run ats:sdk:build && npm run ats:web:dev", "dev": "npm run ats:web:dev", "start": "npm run ats:start", + "clean:deps": "rimraf packages/*/node_modules packages/*/*/node_modules apps/*/node_modules apps/*/*/node_modules package-lock.json node_modules", "pre-commit": "lint-staged", "commitlint": "commitlint --edit", "prepare": "husky" @@ -61,26 +56,34 @@ "devDependencies": { "@commitlint/cli": "^19.7.1", "@commitlint/config-conventional": "^19.7.1", + "@eslint/js": "^9.24.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jest": "^27.2.3", + "eslint-plugin-license-header": "^0.6.0", + "eslint-plugin-prettier": "^5.0.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "eslint-plugin-unused-imports": "^4.1.4", + "globals": "^15.0.0", "husky": "^9.1.7", "lint-staged": "^15.2.11", - "rimraf": "^5.0.0" + "prettier": "^3.5.3", + "prettier-plugin-solidity": "^1.4.2", + "rimraf": "^5.0.0", + "solhint": "^3.3.7", + "solhint-plugin-prettier": "^0.1.0", + "typescript": "^5.8.2" }, "lint-staged": { - "packages/ats/contracts/**/*.sol": [ - "cd packages/ats/contracts && npm run prettier:staged", - "cd packages/ats/contracts && npm run lint:staged:sol" + "*.sol": ["npm run lint:staged:sol --", "npm run format:staged --"], + "*.{js,mjs,cjs,ts,tsx,mts}": [ + "npm run lint:staged:js -- --fix", + "npm run format:staged --" ], - "packages/ats/contracts/**/*.{ts,js}": [ - "cd packages/ats/contracts && npm run prettier:staged", - "cd packages/ats/contracts && npm run lint:staged:ts" - ], - "packages/ats/sdk/**/*.{ts,js}": [ - "cd packages/ats/sdk && npm run prettier:staged", - "cd packages/ats/sdk && npm run lint:staged:ts" - ], - "apps/ats/web/**/*.{ts,tsx,js,jsx}": [ - "cd apps/ats/web && npm run prettier:staged", - "cd apps/ats/web && npm run lint:staged:ts" - ] + "*.{json,md,yml,yaml}": ["npm run format:staged --"] } -} \ No newline at end of file +} diff --git a/packages/ats/contracts/.solcover.js b/packages/ats/contracts/.solcover.js index be5d39864..fe984347c 100644 --- a/packages/ats/contracts/.solcover.js +++ b/packages/ats/contracts/.solcover.js @@ -1,3 +1,3 @@ module.exports = { - istanbulFolder: '../coverage/contracts', -} + istanbulFolder: '../coverage/contracts', +}; diff --git a/packages/ats/contracts/.solhint.json b/packages/ats/contracts/.solhint.json index dbbc4fe6b..fddfe6038 100644 --- a/packages/ats/contracts/.solhint.json +++ b/packages/ats/contracts/.solhint.json @@ -1,44 +1,44 @@ { - "extends": "solhint:recommended", - "plugins": ["prettier"], - "rules": { - "prettier/prettier": [ - "error", - { - "endOfLine": "auto" - } - ], - "max-line-length": ["error", 120], - "max-states-count": ["off", 15], - "no-empty-blocks": "error", - "no-unused-vars": "error", - "payable-fallback": "error", - "reason-string": ["error", { "maxLength": 80 }], - "constructor-syntax": "error", - "const-name-snakecase": "error", - "contract-name-camelcase": "error", - "event-name-camelcase": "error", - "func-name-mixedcase": "error", - "func-param-name-mixedcase": "error", - "modifier-name-mixedcase": "error", - "private-vars-leading-underscore": ["error", { "strict": false }], - "use-forbidden-name": "error", - "var-name-mixedcase": "error", - "imports-on-top": "error", - "visibility-modifier-order": "error", - "avoid-call-value": "error", - "avoid-sha3": "error", - "avoid-suicide": "error", - "avoid-throw": "error", - "avoid-tx-origin": "error", - "check-send-result": "error", - "compiler-version": ["error", "^0.8.11"], - "func-visibility": ["warn", { "ignoreConstructors": true }], - "multiple-sends": "error", - "reentrancy": "error", - "state-visibility": "error", - "quotes": ["error", "single"], - "not-rely-on-time": "off", - "ordering": "error" - } + "extends": "solhint:recommended", + "plugins": ["prettier"], + "rules": { + "prettier/prettier": [ + "error", + { + "endOfLine": "auto" + } + ], + "max-line-length": ["error", 120], + "max-states-count": ["off", 15], + "no-empty-blocks": "error", + "no-unused-vars": "error", + "payable-fallback": "error", + "reason-string": ["error", { "maxLength": 80 }], + "constructor-syntax": "error", + "const-name-snakecase": "error", + "contract-name-camelcase": "error", + "event-name-camelcase": "error", + "func-name-mixedcase": "error", + "func-param-name-mixedcase": "error", + "modifier-name-mixedcase": "error", + "private-vars-leading-underscore": ["error", { "strict": false }], + "use-forbidden-name": "error", + "var-name-mixedcase": "error", + "imports-on-top": "error", + "visibility-modifier-order": "error", + "avoid-call-value": "error", + "avoid-sha3": "error", + "avoid-suicide": "error", + "avoid-throw": "error", + "avoid-tx-origin": "error", + "check-send-result": "error", + "compiler-version": ["error", "^0.8.11"], + "func-visibility": ["warn", { "ignoreConstructors": true }], + "multiple-sends": "error", + "reentrancy": "error", + "state-visibility": "error", + "quotes": ["error", "single"], + "not-rely-on-time": "off", + "ordering": "error" + } } diff --git a/packages/ats/contracts/Configuration.ts b/packages/ats/contracts/Configuration.ts index 33d8dc30f..6890d19f9 100644 --- a/packages/ats/contracts/Configuration.ts +++ b/packages/ats/contracts/Configuration.ts @@ -203,273 +203,273 @@ */ -import dotenv from 'dotenv' +import dotenv from 'dotenv'; // Load the `.env` file -dotenv.config() +dotenv.config(); -const EMPTY_STRING = '' +const EMPTY_STRING = ''; export const NETWORKS = [ - 'hardhat', - 'local', - 'previewnet', - 'testnet', - 'mainnet', -] as const -export type Network = (typeof NETWORKS)[number] + 'hardhat', + 'local', + 'previewnet', + 'testnet', + 'mainnet', +] as const; +export type Network = (typeof NETWORKS)[number]; -export const DEPLOY_TYPES = ['proxy', 'direct'] as const -export type DeployType = (typeof DEPLOY_TYPES)[number] +export const DEPLOY_TYPES = ['proxy', 'direct'] as const; +export type DeployType = (typeof DEPLOY_TYPES)[number]; export const CONTRACT_NAMES = [ - 'TransparentUpgradeableProxy', - 'ProxyAdmin', - 'Factory', - 'BusinessLogicResolver', - 'AccessControlFacet', - 'Cap', - 'ControlList', - 'PauseFacet', - 'ERC20', - 'ERC1410ScheduledTasks', - 'ERC1594', - 'ERC1643', - 'ERC1644', - 'DiamondFacet', - 'EquityUSA', - 'BondUSA', - 'ScheduledSnapshots', - 'ScheduledBalanceAdjustments', - 'ScheduledTasks', - 'Snapshots', - 'CorporateActions', - 'TransferAndLock', - 'Lock', - 'AdjustBalances', - 'ProtectedPartitions', - 'Hold', - 'TimeTravel', - 'Kyc', - 'SsiManagement', - 'ClearingHoldCreationFacet', - 'ClearingRedeemFacet', - 'ClearingTransferFacet', - 'ClearingReadFacet', - 'ClearingActionsFacet', - 'ExternalPauseManagement', - 'ExternalControlListManagement', - 'ExternalKycListManagement', - 'ERC3643', - 'FreezeFacet', -] as const -export type ContractName = (typeof CONTRACT_NAMES)[number] -export const CONTRACT_NAMES_WITH_PROXY = ['Factory', 'BusinessLogicResolver'] + 'TransparentUpgradeableProxy', + 'ProxyAdmin', + 'Factory', + 'BusinessLogicResolver', + 'AccessControlFacet', + 'Cap', + 'ControlList', + 'PauseFacet', + 'ERC20', + 'ERC1410ScheduledTasks', + 'ERC1594', + 'ERC1643', + 'ERC1644', + 'DiamondFacet', + 'EquityUSA', + 'BondUSA', + 'ScheduledSnapshots', + 'ScheduledBalanceAdjustments', + 'ScheduledTasks', + 'Snapshots', + 'CorporateActions', + 'TransferAndLock', + 'Lock', + 'AdjustBalances', + 'ProtectedPartitions', + 'Hold', + 'TimeTravel', + 'Kyc', + 'SsiManagement', + 'ClearingHoldCreationFacet', + 'ClearingRedeemFacet', + 'ClearingTransferFacet', + 'ClearingReadFacet', + 'ClearingActionsFacet', + 'ExternalPauseManagement', + 'ExternalControlListManagement', + 'ExternalKycListManagement', + 'ERC3643', + 'FreezeFacet', +] as const; +export type ContractName = (typeof CONTRACT_NAMES)[number]; +export const CONTRACT_NAMES_WITH_PROXY = ['Factory', 'BusinessLogicResolver']; export const CONTRACT_FACTORY_NAMES = CONTRACT_NAMES.map( - (name) => `${name}__factory` -) -export type ContractFactoryName = (typeof CONTRACT_FACTORY_NAMES)[number] + (name) => `${name}__factory`, +); +export type ContractFactoryName = (typeof CONTRACT_FACTORY_NAMES)[number]; export interface Endpoints { - jsonRpc: string - mirror: string + jsonRpc: string; + mirror: string; } export interface DeployedContract { - address: string - proxyAddress?: string - proxyAdminAddress?: string + address: string; + proxyAddress?: string; + proxyAdminAddress?: string; } export interface ContractConfig { - name: ContractName - factoryName: ContractFactoryName - deployType: DeployType - addresses?: Record + name: ContractName; + factoryName: ContractFactoryName; + deployType: DeployType; + addresses?: Record; } export default class Configuration { - // private _privateKeys: Record; - // private _endpoints: Record; - // private _contracts: Record; - /** - * Determines whether the contract sizer should run on compile. - * - * @returns {boolean} True if the contract sizer should run on compile, false otherwise. - */ - public static get contractSizerRunOnCompile(): boolean { - return ( - Configuration._getEnvironmentVariable({ - name: 'CONTRACT_SIZER_RUN_ON_COMPILE', - defaultValue: 'true', - }).toLowerCase() === 'true' - ) + // private _privateKeys: Record; + // private _endpoints: Record; + // private _contracts: Record; + /** + * Determines whether the contract sizer should run on compile. + * + * @returns {boolean} True if the contract sizer should run on compile, false otherwise. + */ + public static get contractSizerRunOnCompile(): boolean { + return ( + Configuration._getEnvironmentVariable({ + name: 'CONTRACT_SIZER_RUN_ON_COMPILE', + defaultValue: 'true', + }).toLowerCase() === 'true' + ); + } + + /** + * Determines whether gas reporting is enabled. + * + * @returns {boolean} True if gas reporting is enabled, false otherwise. + */ + public static get reportGas(): boolean { + return ( + Configuration._getEnvironmentVariable({ + name: 'REPORT_GAS', + defaultValue: 'true', + }).toLowerCase() === 'true' + ); + } + + public static get privateKeys(): Record { + return NETWORKS.reduce( + (result, network) => { + result[network] = Configuration._getEnvironmentVariableList({ + name: `${network.toUpperCase()}_PRIVATE_KEY_#`, + }); + return result; + }, + {} as Record, + ); + } + + public static get endpoints(): Record { + return NETWORKS.reduce( + (result, network) => { + result[network] = { + jsonRpc: Configuration._getEnvironmentVariable({ + name: `${network.toUpperCase()}_JSON_RPC_ENDPOINT`, + defaultValue: + network === 'local' + ? 'http://localhost:7546' + : `https://${network}.hash.io/api`, + }), + mirror: Configuration._getEnvironmentVariable({ + name: `${network.toUpperCase()}_MIRROR_NODE_ENDPOINT`, + defaultValue: + network === 'local' + ? 'http://localhost:5551' + : `https://${network}.mirrornode.hedera.com`, + }), + }; + return result; + }, + {} as Record, + ); + } + + public static get contracts(): Record { + const contracts: Record = {} as Record< + ContractName, + ContractConfig + >; + CONTRACT_NAMES.forEach((contractName) => { + contracts[contractName] = { + name: contractName, + factoryName: `${contractName}__factory`, + deployType: CONTRACT_NAMES_WITH_PROXY.includes(contractName) + ? 'proxy' + : 'direct', + addresses: Configuration._getDeployedAddresses({ + contractName, + }), + }; + }); + return contracts; + } + + // * Private methods + + /** + * Retrieves the deployed contract addresses for a given contract name across different networks. + * + * @param {Object} params - The parameters object. + * @param {ContractName} params.contractName - The name of the contract to get deployed addresses for. + * @returns {Record} An object mapping each network to its deployed contract details. + * + * The function iterates over all available networks and fetches the contract address, proxy address, + * and proxy admin address from environment variables. If the contract address is found, it adds the + * details to the returned object. + */ + private static _getDeployedAddresses({ + contractName, + }: { + contractName: ContractName; + }): Record { + const deployedAddresses: Record = {} as Record< + Network, + DeployedContract + >; + + NETWORKS.forEach((network) => { + const address = Configuration._getEnvironmentVariable({ + name: `${network.toUpperCase()}_${contractName.toUpperCase()}`, + defaultValue: EMPTY_STRING, + }); + + if (address !== EMPTY_STRING) { + const proxyAddress = Configuration._getEnvironmentVariable({ + name: `${network.toUpperCase()}_${contractName}_PROXY`, + defaultValue: EMPTY_STRING, + }); + const proxyAdminAddress = Configuration._getEnvironmentVariable({ + name: `${network.toUpperCase()}_${contractName}_PROXY_ADMIN`, + defaultValue: EMPTY_STRING, + }); + + deployedAddresses[network] = { + address, + ...(proxyAddress !== EMPTY_STRING && { proxyAddress }), + ...(proxyAdminAddress !== EMPTY_STRING && { + proxyAdminAddress, + }), + }; + } + }); + + return deployedAddresses; + } + + private static _getEnvironmentVariableList({ + name, + indexChar = '#', + }: { + name: string; + indexChar?: string; + }): string[] { + const resultList: string[] = []; + let index = 0; + do { + const env = Configuration._getEnvironmentVariable({ + name: name.replace(indexChar, `${index}`), + defaultValue: EMPTY_STRING, + }); + if (env !== EMPTY_STRING) { + resultList.push(env); + } + index++; + } while (resultList.length === index); + return resultList; + } + + private static _getEnvironmentVariable({ + name, + defaultValue, + }: { + name: string; + defaultValue?: string; + }): string { + const value = process.env?.[name]; + if (value) { + return value; } - - /** - * Determines whether gas reporting is enabled. - * - * @returns {boolean} True if gas reporting is enabled, false otherwise. - */ - public static get reportGas(): boolean { - return ( - Configuration._getEnvironmentVariable({ - name: 'REPORT_GAS', - defaultValue: 'true', - }).toLowerCase() === 'true' - ) - } - - public static get privateKeys(): Record { - return NETWORKS.reduce( - (result, network) => { - result[network] = Configuration._getEnvironmentVariableList({ - name: `${network.toUpperCase()}_PRIVATE_KEY_#`, - }) - return result - }, - {} as Record - ) - } - - public static get endpoints(): Record { - return NETWORKS.reduce( - (result, network) => { - result[network] = { - jsonRpc: Configuration._getEnvironmentVariable({ - name: `${network.toUpperCase()}_JSON_RPC_ENDPOINT`, - defaultValue: - network === 'local' - ? 'http://localhost:7546' - : `https://${network}.hash.io/api`, - }), - mirror: Configuration._getEnvironmentVariable({ - name: `${network.toUpperCase()}_MIRROR_NODE_ENDPOINT`, - defaultValue: - network === 'local' - ? 'http://localhost:5551' - : `https://${network}.mirrornode.hedera.com`, - }), - } - return result - }, - {} as Record - ) - } - - public static get contracts(): Record { - const contracts: Record = {} as Record< - ContractName, - ContractConfig - > - CONTRACT_NAMES.forEach((contractName) => { - contracts[contractName] = { - name: contractName, - factoryName: `${contractName}__factory`, - deployType: CONTRACT_NAMES_WITH_PROXY.includes(contractName) - ? 'proxy' - : 'direct', - addresses: Configuration._getDeployedAddresses({ - contractName, - }), - } - }) - return contracts - } - - // * Private methods - - /** - * Retrieves the deployed contract addresses for a given contract name across different networks. - * - * @param {Object} params - The parameters object. - * @param {ContractName} params.contractName - The name of the contract to get deployed addresses for. - * @returns {Record} An object mapping each network to its deployed contract details. - * - * The function iterates over all available networks and fetches the contract address, proxy address, - * and proxy admin address from environment variables. If the contract address is found, it adds the - * details to the returned object. - */ - private static _getDeployedAddresses({ - contractName, - }: { - contractName: ContractName - }): Record { - const deployedAddresses: Record = - {} as Record - - NETWORKS.forEach((network) => { - const address = Configuration._getEnvironmentVariable({ - name: `${network.toUpperCase()}_${contractName.toUpperCase()}`, - defaultValue: EMPTY_STRING, - }) - - if (address !== EMPTY_STRING) { - const proxyAddress = Configuration._getEnvironmentVariable({ - name: `${network.toUpperCase()}_${contractName}_PROXY`, - defaultValue: EMPTY_STRING, - }) - const proxyAdminAddress = Configuration._getEnvironmentVariable( - { - name: `${network.toUpperCase()}_${contractName}_PROXY_ADMIN`, - defaultValue: EMPTY_STRING, - } - ) - - deployedAddresses[network] = { - address, - ...(proxyAddress !== EMPTY_STRING && { proxyAddress }), - ...(proxyAdminAddress !== EMPTY_STRING && { - proxyAdminAddress, - }), - } - } - }) - - return deployedAddresses - } - - private static _getEnvironmentVariableList({ - name, - indexChar = '#', - }: { - name: string - indexChar?: string - }): string[] { - const resultList: string[] = [] - let index = 0 - do { - const env = Configuration._getEnvironmentVariable({ - name: name.replace(indexChar, `${index}`), - defaultValue: EMPTY_STRING, - }) - if (env !== EMPTY_STRING) { - resultList.push(env) - } - index++ - } while (resultList.length === index) - return resultList - } - - private static _getEnvironmentVariable({ - name, - defaultValue, - }: { - name: string - defaultValue?: string - }): string { - const value = process.env?.[name] - if (value) { - return value - } - if (defaultValue !== undefined) { - // console.warn( - // `๐ Environment variable ${name} is not defined, Using default value: ${defaultValue}` - // ) - return defaultValue - } - throw new Error( - `Environment variable "${name}" is not defined. Please set the "${name}" environment variable.` - ) + if (defaultValue !== undefined) { + // console.warn( + // `๐ Environment variable ${name} is not defined, Using default value: ${defaultValue}` + // ) + return defaultValue; } + throw new Error( + `Environment variable "${name}" is not defined. Please set the "${name}" environment variable.`, + ); + } } diff --git a/packages/ats/contracts/README.md b/packages/ats/contracts/README.md index aa6d12d2c..11b93340d 100644 --- a/packages/ats/contracts/README.md +++ b/packages/ats/contracts/README.md @@ -22,39 +22,38 @@ The standard used for security token is ERC-1400. Version 1.15.0 introduces partial compatibility with the ERC-3643 (TREX) standard; full identity and compliance support will be added in future releases. -## ERC-3643 compatibility - -| **function** | **status** | -| -------------- | ----------- | -| onchainID() external view returns (address) | Pending | -| version() external view returns (string memory) | Done | -| identityRegistry() external view returns (IIdentityRegistry) | Pending | -| compliance() external view returns (ICompliance) | Pending | -| paused() external view returns (bool) | Done | -| isFrozen(address _userAddress) external view returns (bool) | Done | -| getFrozenTokens(address _userAddress) external view returns (uint256) | Done | -| setName(string calldata _name) external | Done | -| setSymbol(string calldata _symbol) external | Done | -| setOnchainID(address _onchainID) external | Pending | -| pause() external | Done | -| unpause() external | Done | -| setAddressFrozen(address _userAddress, bool _freeze) external | Done | -| freezePartialTokens(address _userAddress, uint256 _amount) external | Done | -| unfreezePartialTokens(address _userAddress, uint256 _amount) external | Done | -| setIdentityRegistry(address _identityRegistry) external | Pending | -| setCompliance(address _compliance) external | Pending | -| forcedTransfer(address _from, address _to, uint256 _amount) external returns (bool) | Done | -| mint(address _to, uint256 _amount) external | Done | -| burn(address _userAddress, uint256 _amount) external | Done | -| recoveryAddress(address _lostWallet, address _newWallet, address _investorOnchainID) external returns (bool) | Done | -| batchTransfer(address[] calldata _toList, uint256[] calldata _amounts) external | Done | -| batchForcedTransfer(address[] calldata _fromList, address[] calldata _toList, uint256[] calldata _amounts) external | Done | -| batchMint(address[] calldata _toList, uint256[] calldata _amounts) external | Done | -| batchBurn(address[] calldata _userAddresses, uint256[] calldata _amounts) external | Done | -| batchSetAddressFrozen(address[] calldata _userAddresses, bool[] calldata _freeze) external | Done | -| batchFreezePartialTokens(address[] calldata _userAddresses, uint256[] calldata _amounts) external | Done | -| batchUnfreezePartialTokens(address[] calldata _userAddresses, uint256[] calldata _amounts) external | Done | - +## ERC-3643 compatibility + +| **function** | **status** | +| ---------------------------------------------------------------------------------------------------------------------- | ---------- | +| onchainID() external view returns (address) | Pending | +| version() external view returns (string memory) | Done | +| identityRegistry() external view returns (IIdentityRegistry) | Pending | +| compliance() external view returns (ICompliance) | Pending | +| paused() external view returns (bool) | Done | +| isFrozen(address \_userAddress) external view returns (bool) | Done | +| getFrozenTokens(address \_userAddress) external view returns (uint256) | Done | +| setName(string calldata \_name) external | Done | +| setSymbol(string calldata \_symbol) external | Done | +| setOnchainID(address \_onchainID) external | Pending | +| pause() external | Done | +| unpause() external | Done | +| setAddressFrozen(address \_userAddress, bool \_freeze) external | Done | +| freezePartialTokens(address \_userAddress, uint256 \_amount) external | Done | +| unfreezePartialTokens(address \_userAddress, uint256 \_amount) external | Done | +| setIdentityRegistry(address \_identityRegistry) external | Pending | +| setCompliance(address \_compliance) external | Pending | +| forcedTransfer(address \_from, address \_to, uint256 \_amount) external returns (bool) | Done | +| mint(address \_to, uint256 \_amount) external | Done | +| burn(address \_userAddress, uint256 \_amount) external | Done | +| recoveryAddress(address \_lostWallet, address \_newWallet, address \_investorOnchainID) external returns (bool) | Done | +| batchTransfer(address[] calldata \_toList, uint256[] calldata \_amounts) external | Done | +| batchForcedTransfer(address[] calldata \_fromList, address[] calldata \_toList, uint256[] calldata \_amounts) external | Done | +| batchMint(address[] calldata \_toList, uint256[] calldata \_amounts) external | Done | +| batchBurn(address[] calldata \_userAddresses, uint256[] calldata \_amounts) external | Done | +| batchSetAddressFrozen(address[] calldata \_userAddresses, bool[] calldata \_freeze) external | Done | +| batchFreezePartialTokens(address[] calldata \_userAddresses, uint256[] calldata \_amounts) external | Done | +| batchUnfreezePartialTokens(address[] calldata \_userAddresses, uint256[] calldata \_amounts) external | Done | # Installation @@ -111,7 +110,7 @@ Calculates and prints the Keccak-256 hash of a given string. **Parameters:** -- `input` (required): The string to be hashed. +- `input` (required): The string to be hashed. ```bash npx hardhat keccak256 "ADMIN_ROLE" @@ -123,9 +122,9 @@ Fetches and displays detailed information about all facets (implementations) ass **Parameters:** -- `resolver` (required): The resolver proxy admin address. -- `configurationId` (required): The configuration ID. -- `network` (required): The network to use (e.g., local, previewnet, testnet, mainnet). +- `resolver` (required): The resolver proxy admin address. +- `configurationId` (required): The configuration ID. +- `network` (required): The network to use (e.g., local, previewnet, testnet, mainnet). ```bash npx hardhat getConfigurationInfo --network @@ -137,8 +136,8 @@ Retrieves and lists all registered business logic keys (contract identifiers) fr **Parameters:** -- `resolver` (required): The resolver proxy admin address. -- `network` (required): The network to use (e.g., local, previewnet, testnet, mainnet). +- `resolver` (required): The resolver proxy admin address. +- `network` (required): The network to use (e.g., local, previewnet, testnet, mainnet). ```bash npx hardhat getResolverBusinessLogics --network @@ -146,15 +145,16 @@ npx hardhat getResolverBusinessLogics --network ### updateBusinessLogicKeys -Registers or updates the addresses of a list of business logic implementation contracts in a specified `BusinessLogicResolver`. +Registers or updates the addresses of a list of business logic implementation contracts in a specified `BusinessLogicResolver`. **Parameters:** -- `resolverAddress` (required): The address of the `BusinessLogicResolver` contract. -- `implementationAddressList` (required): A comma-separated list of contract addresses to be registered or updated in the resolver.At least all facets already registered must be included. -- `privateKey` (optional): The private key in raw hexadecimal format of the account that will sign the transaction. -- `signerAddress` (optional): The address of the signer to select from the Hardhat signers array. -- `signerPosition` (optional): The index of the signer to select from the Hardhat signers array. -- `network` (required): The network to run the command on (e.g., localhost, mainnet, testnet). + +- `resolverAddress` (required): The address of the `BusinessLogicResolver` contract. +- `implementationAddressList` (required): A comma-separated list of contract addresses to be registered or updated in the resolver.At least all facets already registered must be included. +- `privateKey` (optional): The private key in raw hexadecimal format of the account that will sign the transaction. +- `signerAddress` (optional): The address of the signer to select from the Hardhat signers array. +- `signerPosition` (optional): The index of the signer to select from the Hardhat signers array. +- `network` (required): The network to run the command on (e.g., localhost, mainnet, testnet). ```bash npx hardhat updateBusinessLogicKeys --network @@ -166,13 +166,13 @@ Upgrades the implementation address for a given transparent proxy contract. This **Parameters:** -* `proxyAdminAddress` (required): The address of the `ProxyAdmin` contract that owns the proxy. -* `transparentProxyAddress` (required): The address of the transparent proxy contract to be upgraded. -* `newImplementationAddress` (required): The address of the new implementation contract. -* `privateKey` (optional): The private key in raw hexadecimal format of the account that will sign the transaction. -* `signerAddress` (optional): The address of the signer to select from the Hardhat signers array. -* `signerPosition` (optional): The index of the signer to select from the Hardhat signers array. -* `network` (required): The network to run the command on (e.g., localhost, mainnet, testnet). +- `proxyAdminAddress` (required): The address of the `ProxyAdmin` contract that owns the proxy. +- `transparentProxyAddress` (required): The address of the transparent proxy contract to be upgraded. +- `newImplementationAddress` (required): The address of the new implementation contract. +- `privateKey` (optional): The private key in raw hexadecimal format of the account that will sign the transaction. +- `signerAddress` (optional): The address of the signer to select from the Hardhat signers array. +- `signerPosition` (optional): The index of the signer to select from the Hardhat signers array. +- `network` (required): The network to run the command on (e.g., localhost, mainnet, testnet). ```bash npx hardhat updateProxyImplementation --network @@ -184,9 +184,9 @@ Retrieves key configuration details from a `ProxyAdmin` contract. It fetches the **Parameters:** -* `proxyAdmin` (required): The address of the `ProxyAdmin` contract. -* `proxy` (required): The address of the proxy contract managed by the `ProxyAdmin`. -* `network` (required): The network to run the command on (e.g., localhost, mainnet, testnet). +- `proxyAdmin` (required): The address of the `ProxyAdmin` contract. +- `proxy` (required): The address of the proxy contract managed by the `ProxyAdmin`. +- `network` (required): The network to run the command on (e.g., localhost, mainnet, testnet). ```bash npx hardhat getProxyAdminConfig --network @@ -207,15 +207,14 @@ npm run test When introducing a new facet to the project, make sure to follow these steps: 1. **Register the contract name** - Add the name of the new facet to the `CONTRACT_NAMES` array in the `Configuration.ts` file. + Add the name of the new facet to the `CONTRACT_NAMES` array in the `Configuration.ts` file. 2. **Update the deploy task listener** - In the `deployAll` task, include the new facet so its contract address is properly tracked via the mirror node. + In the `deployAll` task, include the new facet so its contract address is properly tracked via the mirror node. 3. **Deploy the facet** In `scripts/deploy.ts`, within the `deployAtsContracts` function, add the logic to deploy the new facet and ensure the script awaits its deployment. - # Latest Deployed Smart Contracts | **Contract** | **Address** | **ID** | diff --git a/packages/ats/contracts/contracts/factory/Factory.sol b/packages/ats/contracts/contracts/factory/Factory.sol index 671ef9b20..dbec40d22 100644 --- a/packages/ats/contracts/contracts/factory/Factory.sol +++ b/packages/ats/contracts/contracts/factory/Factory.sol @@ -206,25 +206,19 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {IFactory} from '../interfaces/factory/IFactory.sol'; -import {ResolverProxy} from '../resolver/resolverProxy/ResolverProxy.sol'; -import { - IResolverProxy -} from '../interfaces/resolver/resolverProxy/IResolverProxy.sol'; -import {_DEFAULT_ADMIN_ROLE} from '../layer_1/constants/roles.sol'; -import {IControlList} from '../layer_1/interfaces/controlList/IControlList.sol'; -import {IERC20} from '../layer_1/interfaces/ERC1400/IERC20.sol'; -import {IERC1644} from '../layer_1/interfaces/ERC1400/IERC1644.sol'; -import {IERC1410Basic} from '../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; -import {ICap} from '../layer_1/interfaces/cap/ICap.sol'; -import {IERC1594} from '../layer_1/interfaces/ERC1400/IERC1594.sol'; -import { - IClearingActions -} from '../layer_1/interfaces/clearing/IClearingActions.sol'; -import { - IBusinessLogicResolver -} from '../interfaces/resolver/IBusinessLogicResolver.sol'; -import {LocalContext} from '../layer_0/context/LocalContext.sol'; +import { IFactory } from '../interfaces/factory/IFactory.sol'; +import { ResolverProxy } from '../resolver/resolverProxy/ResolverProxy.sol'; +import { IResolverProxy } from '../interfaces/resolver/resolverProxy/IResolverProxy.sol'; +import { _DEFAULT_ADMIN_ROLE } from '../layer_1/constants/roles.sol'; +import { IControlList } from '../layer_1/interfaces/controlList/IControlList.sol'; +import { IERC20 } from '../layer_1/interfaces/ERC1400/IERC20.sol'; +import { IERC1644 } from '../layer_1/interfaces/ERC1400/IERC1644.sol'; +import { IERC1410Basic } from '../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; +import { ICap } from '../layer_1/interfaces/cap/ICap.sol'; +import { IERC1594 } from '../layer_1/interfaces/ERC1400/IERC1594.sol'; +import { IClearingActions } from '../layer_1/interfaces/clearing/IClearingActions.sol'; +import { IBusinessLogicResolver } from '../interfaces/resolver/IBusinessLogicResolver.sol'; +import { LocalContext } from '../layer_0/context/LocalContext.sol'; import { FactoryRegulationData, buildRegulationData, @@ -233,22 +227,16 @@ import { RegulationSubType, checkRegulationTypeAndSubType } from '../layer_3/constants/regulation.sol'; -import {IEquityUSA} from '../layer_3/interfaces/IEquityUSA.sol'; -import {IBondUSA} from '../layer_3/interfaces/IBondUSA.sol'; -import { - IProtectedPartitions -} from '../layer_1/interfaces/protectedPartitions/IProtectedPartitions.sol'; -import { - IExternalPauseManagement -} from '../layer_1/interfaces/externalPauses/IExternalPauseManagement.sol'; +import { IEquityUSA } from '../layer_3/interfaces/IEquityUSA.sol'; +import { IBondUSA } from '../layer_3/interfaces/IBondUSA.sol'; +import { IProtectedPartitions } from '../layer_1/interfaces/protectedPartitions/IProtectedPartitions.sol'; +import { IExternalPauseManagement } from '../layer_1/interfaces/externalPauses/IExternalPauseManagement.sol'; import { IExternalControlListManagement } from '../layer_1/interfaces/externalControlLists/IExternalControlListManagement.sol'; -import { - IExternalKycListManagement -} from '../layer_1/interfaces/externalKycLists/IExternalKycListManagement.sol'; -import {IKyc} from '../layer_1/interfaces/kyc/IKyc.sol'; -import {validateISIN} from './isinValidator.sol'; +import { IExternalKycListManagement } from '../layer_1/interfaces/externalKycLists/IExternalKycListManagement.sol'; +import { IKyc } from '../layer_1/interfaces/kyc/IKyc.sol'; +import { validateISIN } from './isinValidator.sol'; contract Factory is IFactory, LocalContext { modifier checkResolver(IBusinessLogicResolver resolver) { @@ -275,10 +263,7 @@ contract Factory is IFactory, LocalContext { adminMemberIndex < rbacs[rbacsIndex].members.length; adminMemberIndex++ ) { - if ( - rbacs[rbacsIndex].members[adminMemberIndex] != - address(0) - ) { + if (rbacs[rbacsIndex].members[adminMemberIndex] != address(0)) { adminFound = true; break; } @@ -296,10 +281,7 @@ contract Factory is IFactory, LocalContext { _; } - modifier checkRegulation( - RegulationType _regulationType, - RegulationSubType _regulationSubType - ) { + modifier checkRegulation(RegulationType _regulationType, RegulationSubType _regulationSubType) { checkRegulationTypeAndSubType(_regulationType, _regulationSubType); _; } @@ -313,32 +295,18 @@ contract Factory is IFactory, LocalContext { checkResolver(_equityData.security.resolver) checkISIN(_equityData.security.erc20MetadataInfo.isin) checkAdmins(_equityData.security.rbacs) - checkRegulation( - _factoryRegulationData.regulationType, - _factoryRegulationData.regulationSubType - ) + checkRegulation(_factoryRegulationData.regulationType, _factoryRegulationData.regulationSubType) returns (address equityAddress_) { - equityAddress_ = _deploySecurity( - _equityData.security, - SecurityType.Equity - ); + equityAddress_ = _deploySecurity(_equityData.security, SecurityType.Equity); IEquityUSA(equityAddress_)._initialize_equityUSA( _equityData.equityDetails, - buildRegulationData( - _factoryRegulationData.regulationType, - _factoryRegulationData.regulationSubType - ), + buildRegulationData(_factoryRegulationData.regulationType, _factoryRegulationData.regulationSubType), _factoryRegulationData.additionalSecurityData ); - emit EquityDeployed( - _msgSender(), - equityAddress_, - _equityData, - _factoryRegulationData - ); + emit EquityDeployed(_msgSender(), equityAddress_, _equityData, _factoryRegulationData); } // Deploys a new equity given the input equity data @@ -350,10 +318,7 @@ contract Factory is IFactory, LocalContext { checkResolver(_bondData.security.resolver) checkISIN(_bondData.security.erc20MetadataInfo.isin) checkAdmins(_bondData.security.rbacs) - checkRegulation( - _factoryRegulationData.regulationType, - _factoryRegulationData.regulationSubType - ) + checkRegulation(_factoryRegulationData.regulationType, _factoryRegulationData.regulationSubType) returns (address bondAddress_) { bondAddress_ = _deploySecurity(_bondData.security, SecurityType.Bond); @@ -361,29 +326,18 @@ contract Factory is IFactory, LocalContext { IBondUSA(bondAddress_)._initialize_bondUSA( _bondData.bondDetails, _bondData.couponDetails, - buildRegulationData( - _factoryRegulationData.regulationType, - _factoryRegulationData.regulationSubType - ), + buildRegulationData(_factoryRegulationData.regulationType, _factoryRegulationData.regulationSubType), _factoryRegulationData.additionalSecurityData ); - emit BondDeployed( - _msgSender(), - bondAddress_, - _bondData, - _factoryRegulationData - ); + emit BondDeployed(_msgSender(), bondAddress_, _bondData, _factoryRegulationData); } function getAppliedRegulationData( RegulationType _regulationType, RegulationSubType _regulationSubType ) external pure override returns (RegulationData memory regulationData_) { - regulationData_ = buildRegulationData( - _regulationType, - _regulationSubType - ); + regulationData_ = buildRegulationData(_regulationType, _regulationSubType); } function _deploySecurity( @@ -400,19 +354,13 @@ contract Factory is IFactory, LocalContext { securityAddress_ = address(equity); // configure Control List - IControlList(securityAddress_).initialize_ControlList( - _securityData.isWhiteList - ); + IControlList(securityAddress_).initialize_ControlList(_securityData.isWhiteList); // configure multi partition flag - IERC1410Basic(securityAddress_).initialize_ERC1410_Basic( - _securityData.isMultiPartition - ); + IERC1410Basic(securityAddress_).initialize_ERC1410_Basic(_securityData.isMultiPartition); // configure controller flag - IERC1644(securityAddress_).initialize_ERC1644( - _securityData.isControllable - ); + IERC1644(securityAddress_).initialize_ERC1644(_securityData.isControllable); // configure erc20 metadata IERC20.ERC20Metadata memory erc20Metadata = IERC20.ERC20Metadata({ @@ -426,33 +374,20 @@ contract Factory is IFactory, LocalContext { IERC1594(securityAddress_).initialize_ERC1594(); // configure issue flag - ICap(securityAddress_).initialize_Cap( - _securityData.maxSupply, - new ICap.PartitionCap[](0) - ); + ICap(securityAddress_).initialize_Cap(_securityData.maxSupply, new ICap.PartitionCap[](0)); - IProtectedPartitions(securityAddress_).initialize_ProtectedPartitions( - _securityData.arePartitionsProtected - ); + IProtectedPartitions(securityAddress_).initialize_ProtectedPartitions(_securityData.arePartitionsProtected); - IClearingActions(securityAddress_).initializeClearing( - _securityData.clearingActive - ); + IClearingActions(securityAddress_).initializeClearing(_securityData.clearingActive); - IExternalPauseManagement(securityAddress_).initialize_ExternalPauses( - _securityData.externalPauses - ); + IExternalPauseManagement(securityAddress_).initialize_ExternalPauses(_securityData.externalPauses); - IExternalControlListManagement(securityAddress_) - .initialize_ExternalControlLists( - _securityData.externalControlLists - ); - - IKyc(securityAddress_).initializeInternalKyc( - _securityData.internalKycActivated + IExternalControlListManagement(securityAddress_).initialize_ExternalControlLists( + _securityData.externalControlLists ); - IExternalKycListManagement(securityAddress_) - .initialize_ExternalKycLists(_securityData.externalKycLists); + IKyc(securityAddress_).initializeInternalKyc(_securityData.internalKycActivated); + + IExternalKycListManagement(securityAddress_).initialize_ExternalKycLists(_securityData.externalKycLists); } } diff --git a/packages/ats/contracts/contracts/factory/isinValidator.sol b/packages/ats/contracts/contracts/factory/isinValidator.sol index 990a43c2f..d52be6d9a 100644 --- a/packages/ats/contracts/contracts/factory/isinValidator.sol +++ b/packages/ats/contracts/contracts/factory/isinValidator.sol @@ -235,17 +235,12 @@ function checkLength(string calldata _isin) pure { function checkChecksum(string calldata _isin) pure { bytes memory isin = bytes(_isin); (uint8[] memory conv, uint8 convLength) = convertISINToNumber(isin); - if ( - byteToCode(isin[_CHECKSUM_POSITION_IN_ISIN]) != - calculateChecksum(conv, convLength) - ) { + if (byteToCode(isin[_CHECKSUM_POSITION_IN_ISIN]) != calculateChecksum(conv, convLength)) { revert WrongISINChecksum(_isin); } } -function convertISINToNumber( - bytes memory _isin -) pure returns (uint8[] memory conv_, uint8 convLength_) { +function convertISINToNumber(bytes memory _isin) pure returns (uint8[] memory conv_, uint8 convLength_) { unchecked { conv_ = new uint8[](_CHECKSUM_POSITION_IN_ISIN * 2); for (uint256 index; index < _CHECKSUM_POSITION_IN_ISIN; ++index) { @@ -261,10 +256,7 @@ function convertISINToNumber( } } -function calculateChecksum( - uint8[] memory _conv, - uint8 _convLength -) pure returns (uint8 checksum_) { +function calculateChecksum(uint8[] memory _conv, uint8 _convLength) pure returns (uint8 checksum_) { unchecked { uint256 pairing = (_convLength + 1) % 2; uint256 checksum; diff --git a/packages/ats/contracts/contracts/interfaces/factory/IFactory.sol b/packages/ats/contracts/contracts/interfaces/factory/IFactory.sol index 315123ab0..56ac6be2f 100644 --- a/packages/ats/contracts/contracts/interfaces/factory/IFactory.sol +++ b/packages/ats/contracts/contracts/interfaces/factory/IFactory.sol @@ -206,11 +206,11 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {IResolverProxy} from '../resolver/resolverProxy/IResolverProxy.sol'; -import {IBusinessLogicResolver} from '../resolver/IBusinessLogicResolver.sol'; -import {ERC20} from '../../layer_1/ERC1400/ERC20/ERC20.sol'; -import {IBond} from '../../layer_2/interfaces/bond/IBond.sol'; -import {IEquity} from '../../layer_2/interfaces/equity/IEquity.sol'; +import { IResolverProxy } from '../resolver/resolverProxy/IResolverProxy.sol'; +import { IBusinessLogicResolver } from '../resolver/IBusinessLogicResolver.sol'; +import { ERC20 } from '../../layer_1/ERC1400/ERC20/ERC20.sol'; +import { IBond } from '../../layer_2/interfaces/bond/IBond.sol'; +import { IEquity } from '../../layer_2/interfaces/equity/IEquity.sol'; import { FactoryRegulationData, RegulationData, diff --git a/packages/ats/contracts/contracts/interfaces/resolver/IBusinessLogicResolver.sol b/packages/ats/contracts/contracts/interfaces/resolver/IBusinessLogicResolver.sol index 585b37bcf..0bd23d8da 100644 --- a/packages/ats/contracts/contracts/interfaces/resolver/IBusinessLogicResolver.sol +++ b/packages/ats/contracts/contracts/interfaces/resolver/IBusinessLogicResolver.sol @@ -204,7 +204,7 @@ */ pragma solidity 0.8.18; -import {IDiamondCutManager} from './diamondCutManager/IDiamondCutManager.sol'; +import { IDiamondCutManager } from './diamondCutManager/IDiamondCutManager.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution @@ -246,44 +246,29 @@ interface IBusinessLogicResolver is IDiamondCutManager { /// @notice Event emitted when Business Logic(s) are registered (updated or added). /// @param businessLogics list of registered Business Logics. /// @param newLatestVersion new latest version = previous latest version + 1. - event BusinessLogicsRegistered( - BusinessLogicRegistryData[] businessLogics, - uint256 newLatestVersion - ); + event BusinessLogicsRegistered(BusinessLogicRegistryData[] businessLogics, uint256 newLatestVersion); // solhint-disable-next-line func-name-mixedcase - function initialize_BusinessLogicResolver() - external - returns (bool success_); + function initialize_BusinessLogicResolver() external returns (bool success_); /// @notice Update existing business logics addresses or add new business logics to the register. /// the BusinessLogicsRegistered event must be emitted. /// The latest "version" for all business logics is increased by 1. /// @param _businessLogics list of business logics to be registered. - function registerBusinessLogics( - BusinessLogicRegistryData[] calldata _businessLogics - ) external; + function registerBusinessLogics(BusinessLogicRegistryData[] calldata _businessLogics) external; /// @notice Adds a list of selectors to the blacklist /// @param _configurationId the configuration key to be checked. /// @param _selectors list of selectors to be added to the blacklist - function addSelectorsToBlacklist( - bytes32 _configurationId, - bytes4[] calldata _selectors - ) external; + function addSelectorsToBlacklist(bytes32 _configurationId, bytes4[] calldata _selectors) external; /// @notice Removes a list of selectors from the blacklist /// @param _configurationId the configuration key to be checked. /// @param _selectors list of selectors to be removed from the blacklist - function removeSelectorsFromBlacklist( - bytes32 _configurationId, - bytes4[] calldata _selectors - ) external; + function removeSelectorsFromBlacklist(bytes32 _configurationId, bytes4[] calldata _selectors) external; /// @notice Returns the current status of a given version - function getVersionStatus( - uint256 _version - ) external view returns (VersionStatus status_); + function getVersionStatus(uint256 _version) external view returns (VersionStatus status_); /// @notice Returns the current latest version for all business logics function getLatestVersion() external view returns (uint256 latestVersion_); @@ -303,10 +288,7 @@ interface IBusinessLogicResolver is IDiamondCutManager { ) external view returns (address businessLogicAddress_); /// @notice Returns the count of currently active business logics - function getBusinessLogicCount() - external - view - returns (uint256 businessLogicCount_); + function getBusinessLogicCount() external view returns (uint256 businessLogicCount_); /// @notice Returns a list of business logic keys /// @param _pageIndex members to skip : _pageIndex * _pageLength diff --git a/packages/ats/contracts/contracts/interfaces/resolver/diamondCutManager/IDiamondCutManager.sol b/packages/ats/contracts/contracts/interfaces/resolver/diamondCutManager/IDiamondCutManager.sol index c2d537611..67aa3bdb3 100644 --- a/packages/ats/contracts/contracts/interfaces/resolver/diamondCutManager/IDiamondCutManager.sol +++ b/packages/ats/contracts/contracts/interfaces/resolver/diamondCutManager/IDiamondCutManager.sol @@ -205,7 +205,7 @@ pragma solidity 0.8.18; -import {IDiamondLoupe} from '../resolverProxy/IDiamondLoupe.sol'; +import { IDiamondLoupe } from '../resolverProxy/IDiamondLoupe.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution @@ -257,10 +257,7 @@ interface IDiamondCutManager { error DuplicatedFacetInConfiguration(bytes32 facetId); /// @notice error that occurs when try to create a configuration and the configuration key doesn't exists - error ResolverProxyConfigurationNoRegistered( - bytes32 resolverProxyConfigurationId, - uint256 version - ); + error ResolverProxyConfigurationNoRegistered(bytes32 resolverProxyConfigurationId, uint256 version); /// @notice error that occurs when try to add a selector and the selector is blacklisted error SelectorBlacklisted(bytes4 selector); @@ -269,10 +266,7 @@ interface IDiamondCutManager { /// @param _configurationId unused identifier to the configuration. /// @param _facetConfigurations.id list of business logics to be registered. /// @param _facetConfigurations.version list of versions of each _facetIds. - function createConfiguration( - bytes32 _configurationId, - FacetConfiguration[] calldata _facetConfigurations - ) external; + function createConfiguration(bytes32 _configurationId, FacetConfiguration[] calldata _facetConfigurations) external; /// @notice Create a new batch configuration to the latest version of all facets. /// @param _configurationId unused identifier to the configuration. @@ -292,10 +286,7 @@ interface IDiamondCutManager { /// @notice check if a resolverProxy is registered. If not revert. /// @param _configurationId the configuration key to be checked. /// @param _version configured version in the resolverProxy. - function checkResolverProxyConfigurationRegistered( - bytes32 _configurationId, - uint256 _version - ) external; + function checkResolverProxyConfigurationRegistered(bytes32 _configurationId, uint256 _version) external; /// @notice Resolve the facet address knowing configuration, version and selector. /// @param _configurationId configured key in the resolverProxy. @@ -330,10 +321,7 @@ interface IDiamondCutManager { /// @notice Returns the length of configuration keys /// @return configurationsLength_ - function getConfigurationsLength() - external - view - returns (uint256 configurationsLength_); + function getConfigurationsLength() external view returns (uint256 configurationsLength_); /// @notice Returns a list of configuration keys /// @param _pageIndex members to skip : _pageIndex * _pageLength @@ -347,9 +335,7 @@ interface IDiamondCutManager { /// @notice Returns the latest version registered of a resolverProxy configuration. /// @param _configurationId key to be obtained. /// @return latestVersion_ latest version registered of a resolverProxy configuration. - function getLatestVersionByConfiguration( - bytes32 _configurationId - ) external view returns (uint256 latestVersion_); + function getLatestVersionByConfiguration(bytes32 _configurationId) external view returns (uint256 latestVersion_); function getFacetsLengthByConfigurationIdAndVersion( bytes32 _configurationId, diff --git a/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamond.sol b/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamond.sol index 3a0d6eaec..a97f04a14 100644 --- a/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamond.sol +++ b/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamond.sol @@ -204,8 +204,8 @@ */ pragma solidity 0.8.18; -import {IDiamondCut} from './IDiamondCut.sol'; -import {IDiamondLoupe} from './IDiamondLoupe.sol'; +import { IDiamondCut } from './IDiamondCut.sol'; +import { IDiamondLoupe } from './IDiamondLoupe.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution diff --git a/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamondCut.sol b/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamondCut.sol index 91eba463e..d6fcf25dd 100644 --- a/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamondCut.sol +++ b/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamondCut.sol @@ -206,18 +206,13 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {IStaticFunctionSelectors} from './IStaticFunctionSelectors.sol'; -import { - IBusinessLogicResolver -} from '../../../interfaces/resolver/IBusinessLogicResolver.sol'; +import { IStaticFunctionSelectors } from './IStaticFunctionSelectors.sol'; +import { IBusinessLogicResolver } from '../../../interfaces/resolver/IBusinessLogicResolver.sol'; interface IDiamondCut is IStaticFunctionSelectors { function updateConfigVersion(uint256 _newVersion) external; - function updateConfig( - bytes32 _newConfigurationId, - uint256 _newVersion - ) external; + function updateConfig(bytes32 _newConfigurationId, uint256 _newVersion) external; function updateResolver( IBusinessLogicResolver _newResolver, @@ -225,8 +220,5 @@ interface IDiamondCut is IStaticFunctionSelectors { uint256 _newVersion ) external; - function getConfigInfo() - external - view - returns (address resolver_, bytes32 configurationId_, uint256 version_); + function getConfigInfo() external view returns (address resolver_, bytes32 configurationId_, uint256 version_); } diff --git a/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamondLoupe.sol b/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamondLoupe.sol index b267ea209..e0614bc78 100644 --- a/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamondLoupe.sol +++ b/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IDiamondLoupe.sol @@ -206,7 +206,7 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {IStaticFunctionSelectors} from './IStaticFunctionSelectors.sol'; +import { IStaticFunctionSelectors } from './IStaticFunctionSelectors.sol'; // A loupe is a small magnifying glass used to look at resolverProxys. // These functions look at resolverProxys @@ -239,24 +239,17 @@ interface IDiamondLoupe is IStaticFunctionSelectors { /// @param _pageIndex members to skip : _pageIndex * _pageLength /// @param _pageLength number of members to return /// @return facets_ Facet - function getFacetsByPage( - uint256 _pageIndex, - uint256 _pageLength - ) external view returns (Facet[] memory facets_); + function getFacetsByPage(uint256 _pageIndex, uint256 _pageLength) external view returns (Facet[] memory facets_); /// @notice Gets all the function selectors supported by a specific facet. /// @param _facetId The facet key for the resolver. /// @return facetSelectors_ - function getFacetSelectors( - bytes32 _facetId - ) external view returns (bytes4[] memory facetSelectors_); + function getFacetSelectors(bytes32 _facetId) external view returns (bytes4[] memory facetSelectors_); /// @notice Gets the function selectors length. /// @param _facetId The facet key for the resolver. /// @return facetSelectorsLength_ - function getFacetSelectorsLength( - bytes32 _facetId - ) external view returns (uint256 facetSelectorsLength_); + function getFacetSelectorsLength(bytes32 _facetId) external view returns (uint256 facetSelectorsLength_); /// @notice Gets all the function selectors supported by a specific facet. /// @param _facetId The facet key for the resolver. @@ -284,10 +277,7 @@ interface IDiamondLoupe is IStaticFunctionSelectors { /// @notice Get all the facet addresses used by a resolverProxy. /// @return facetAddresses_ - function getFacetAddresses() - external - view - returns (address[] memory facetAddresses_); + function getFacetAddresses() external view returns (address[] memory facetAddresses_); /// @notice Get all the facet addresses used by a resolverProxy. /// @param _pageIndex members to skip : _pageIndex * _pageLength @@ -302,23 +292,17 @@ interface IDiamondLoupe is IStaticFunctionSelectors { /// @dev If facet is not found return address(0). /// @param _selector The function selector. /// @return facetId_ The facet key. - function getFacetIdBySelector( - bytes4 _selector - ) external view returns (bytes32 facetId_); + function getFacetIdBySelector(bytes4 _selector) external view returns (bytes32 facetId_); /// @notice Get the information associated with an specific facet. /// @dev If facet is not found return empty Facet struct. /// @param _facetId The facet key for the resolver. /// @return facet_ Facet data. - function getFacet( - bytes32 _facetId - ) external view returns (Facet memory facet_); + function getFacet(bytes32 _facetId) external view returns (Facet memory facet_); /// @notice Gets the facet that supports the given selector. /// @dev If facet is not found return address(0). /// @param _selector The function selector. /// @return facetAddress_ The facet address. - function getFacetAddress( - bytes4 _selector - ) external view returns (address facetAddress_); + function getFacetAddress(bytes4 _selector) external view returns (address facetAddress_); } diff --git a/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IERC173.sol b/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IERC173.sol index a89228451..a819c09b6 100644 --- a/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IERC173.sol +++ b/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IERC173.sol @@ -212,10 +212,7 @@ pragma solidity 0.8.18; /* is ERC165 */ interface IERC173 { /// @dev This emits when ownership of a contract changes. - event OwnershipTransferred( - address indexed previousOwner, - address indexed newOwner - ); + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /// @notice Set the address of the new owner of the contract /// @dev Set _newOwner to address(0) to renounce any ownership. diff --git a/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol b/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol index 67378555f..31b44c175 100644 --- a/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol +++ b/packages/ats/contracts/contracts/interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol @@ -210,22 +210,13 @@ pragma solidity 0.8.18; interface IStaticFunctionSelectors { /// @notice Gets the static resolver key. /// @return staticResolverKey_ Static resolver key - function getStaticResolverKey() - external - pure - returns (bytes32 staticResolverKey_); + function getStaticResolverKey() external pure returns (bytes32 staticResolverKey_); /// @notice Gets all function selectors of a facet. /// @return staticFunctionSelectors_ Face functions selectors - function getStaticFunctionSelectors() - external - pure - returns (bytes4[] memory staticFunctionSelectors_); + function getStaticFunctionSelectors() external pure returns (bytes4[] memory staticFunctionSelectors_); /// @notice Gets all interfaces ids of a facet. /// @return staticInterfaceIds_ Face interface ids - function getStaticInterfaceIds() - external - pure - returns (bytes4[] memory staticInterfaceIds_); + function getStaticInterfaceIds() external pure returns (bytes4[] memory staticInterfaceIds_); } diff --git a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410BasicStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410BasicStorageWrapper.sol index c8f8874f2..a9b8d7386 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410BasicStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410BasicStorageWrapper.sol @@ -206,18 +206,11 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - IERC1410StorageWrapper -} from '../../../layer_1/interfaces/ERC1400/IERC1410StorageWrapper.sol'; -import {ERC20StorageWrapper1} from '../ERC20/ERC20StorageWrapper1.sol'; -import { - IERC1410Basic -} from '../../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; - -abstract contract ERC1410BasicStorageWrapper is - IERC1410StorageWrapper, - ERC20StorageWrapper1 -{ +import { IERC1410StorageWrapper } from '../../../layer_1/interfaces/ERC1400/IERC1410StorageWrapper.sol'; +import { ERC20StorageWrapper1 } from '../ERC20/ERC20StorageWrapper1.sol'; +import { IERC1410Basic } from '../../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; + +abstract contract ERC1410BasicStorageWrapper is IERC1410StorageWrapper, ERC20StorageWrapper1 { function _transferByPartition( address _from, IERC1410Basic.BasicTransferInfo memory _basicTransferInfo, @@ -226,12 +219,7 @@ abstract contract ERC1410BasicStorageWrapper is address _operator, bytes memory _operatorData ) internal returns (bytes32) { - _beforeTokenTransfer( - _partition, - _from, - _basicTransferInfo.to, - _basicTransferInfo.value - ); + _beforeTokenTransfer(_partition, _from, _basicTransferInfo.to, _basicTransferInfo.value); _reduceBalanceByPartition(_from, _basicTransferInfo.value, _partition); @@ -247,31 +235,14 @@ abstract contract ERC1410BasicStorageWrapper is ); if (!_validPartitionForReceiver(_partition, _basicTransferInfo.to)) { - _addPartitionTo( - _basicTransferInfo.value, - _basicTransferInfo.to, - _partition - ); + _addPartitionTo(_basicTransferInfo.value, _basicTransferInfo.to, _partition); return bytes32(0); } - _increaseBalanceByPartition( - _basicTransferInfo.to, - _basicTransferInfo.value, - _partition - ); + _increaseBalanceByPartition(_basicTransferInfo.to, _basicTransferInfo.value, _partition); return bytes32(0); } - function _beforeTokenTransfer( - bytes32 partition, - address from, - address to, - uint256 amount - ) internal virtual; - - function _addPartitionTo( - uint256 _value, - address _account, - bytes32 _partition - ) internal virtual; + function _beforeTokenTransfer(bytes32 partition, address from, address to, uint256 amount) internal virtual; + + function _addPartitionTo(uint256 _value, address _account, bytes32 _partition) internal virtual; } diff --git a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410BasicStorageWrapperRead.sol b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410BasicStorageWrapperRead.sol index acb53a979..d6cde3612 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410BasicStorageWrapperRead.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410BasicStorageWrapperRead.sol @@ -207,19 +207,12 @@ pragma solidity 0.8.18; // TODO: Delacre own interface in layer_0 -import { - IERC1410StorageWrapper -} from '../../../layer_1/interfaces/ERC1400/IERC1410StorageWrapper.sol'; -import { - _ERC1410_BASIC_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; -import {_DEFAULT_PARTITION} from '../../constants/values.sol'; -import {LockStorageWrapper1} from '../../lock/LockStorageWrapper1.sol'; - -abstract contract ERC1410BasicStorageWrapperRead is - IERC1410StorageWrapper, - LockStorageWrapper1 -{ +import { IERC1410StorageWrapper } from '../../../layer_1/interfaces/ERC1400/IERC1410StorageWrapper.sol'; +import { _ERC1410_BASIC_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { _DEFAULT_PARTITION } from '../../constants/values.sol'; +import { LockStorageWrapper1 } from '../../lock/LockStorageWrapper1.sol'; + +abstract contract ERC1410BasicStorageWrapperRead is IERC1410StorageWrapper, LockStorageWrapper1 { // Represents a fungible set of tokens. struct Partition { uint256 amount; @@ -255,11 +248,7 @@ abstract contract ERC1410BasicStorageWrapperRead is _; } - function _reduceBalanceByPartition( - address _from, - uint256 _value, - bytes32 _partition - ) internal { + function _reduceBalanceByPartition(address _from, uint256 _value, bytes32 _partition) internal { if (!_validPartition(_partition, _from)) { revert IERC1410StorageWrapper.InvalidPartition(_from, _partition); } @@ -267,12 +256,7 @@ abstract contract ERC1410BasicStorageWrapperRead is uint256 balance = _balanceOfByPartition(_partition, _from); if (balance < _value) { - revert IERC1410StorageWrapper.InsufficientBalance( - _from, - balance, - _value, - _partition - ); + revert IERC1410StorageWrapper.InsufficientBalance(_from, balance, _value, _partition); } ERC1410BasicStorage storage erc1410Storage = _erc1410BasicStorage(); @@ -288,30 +272,19 @@ abstract contract ERC1410BasicStorageWrapperRead is erc1410Storage.balances[_from] -= _value; } - function _deletePartitionForHolder( - address _holder, - bytes32 _partition, - uint256 index - ) internal { + function _deletePartitionForHolder(address _holder, bytes32 _partition, uint256 index) internal { ERC1410BasicStorage storage erc1410Storage = _erc1410BasicStorage(); if (index != erc1410Storage.partitions[_holder].length - 1) { - erc1410Storage.partitions[_holder][index] = erc1410Storage - .partitions[_holder][ - erc1410Storage.partitions[_holder].length - 1 - ]; - erc1410Storage.partitionToIndex[_holder][ - erc1410Storage.partitions[_holder][index].partition - ] = index + 1; + erc1410Storage.partitions[_holder][index] = erc1410Storage.partitions[_holder][ + erc1410Storage.partitions[_holder].length - 1 + ]; + erc1410Storage.partitionToIndex[_holder][erc1410Storage.partitions[_holder][index].partition] = index + 1; } delete erc1410Storage.partitionToIndex[_holder][_partition]; erc1410Storage.partitions[_holder].pop(); } - function _increaseBalanceByPartition( - address _from, - uint256 _value, - bytes32 _partition - ) internal { + function _increaseBalanceByPartition(address _from, uint256 _value, bytes32 _partition) internal { if (!_validPartition(_partition, _from)) { revert IERC1410StorageWrapper.InvalidPartition(_from, _partition); } @@ -324,10 +297,7 @@ abstract contract ERC1410BasicStorageWrapperRead is erc1410Storage.balances[_from] += _value; } - function _adjustTotalSupplyByPartition( - bytes32 _partition, - uint256 _factor - ) internal { + function _adjustTotalSupplyByPartition(bytes32 _partition, uint256 _factor) internal { _erc1410BasicStorage().totalSupplyByPartition[_partition] *= _factor; } @@ -335,10 +305,7 @@ abstract contract ERC1410BasicStorageWrapperRead is _erc1410BasicStorage().totalSupply *= factor; } - function _adjustTotalBalanceAndPartitionBalanceFor( - bytes32 partition, - address account - ) internal { + function _adjustTotalBalanceAndPartitionBalanceFor(bytes32 partition, address account) internal { uint256 abaf = _getAbaf(); ERC1410BasicStorage storage basicStorage = _erc1410BasicStorage(); _adjustPartitionBalanceFor(basicStorage, abaf, partition, account); @@ -353,9 +320,7 @@ abstract contract ERC1410BasicStorageWrapperRead is return _erc1410BasicStorage().multiPartition; } - function _totalSupplyByPartition( - bytes32 _partition - ) internal view returns (uint256) { + function _totalSupplyByPartition(bytes32 _partition) internal view returns (uint256) { return _erc1410BasicStorage().totalSupplyByPartition[_partition]; } @@ -363,45 +328,27 @@ abstract contract ERC1410BasicStorageWrapperRead is return _erc1410BasicStorage().balances[_tokenHolder]; } - function _balanceOfByPartition( - bytes32 _partition, - address _tokenHolder - ) internal view returns (uint256) { + function _balanceOfByPartition(bytes32 _partition, address _tokenHolder) internal view returns (uint256) { if (_validPartition(_partition, _tokenHolder)) { ERC1410BasicStorage storage erc1410Storage = _erc1410BasicStorage(); return erc1410Storage - .partitions[_tokenHolder][ - erc1410Storage.partitionToIndex[_tokenHolder][_partition] - - 1 - ].amount; + .partitions[_tokenHolder][erc1410Storage.partitionToIndex[_tokenHolder][_partition] - 1].amount; } else { return 0; } } - function _partitionsOf( - address _tokenHolder - ) internal view returns (bytes32[] memory) { + function _partitionsOf(address _tokenHolder) internal view returns (bytes32[] memory) { ERC1410BasicStorage storage erc1410Storage = _erc1410BasicStorage(); - bytes32[] memory partitionsList = new bytes32[]( - erc1410Storage.partitions[_tokenHolder].length - ); - for ( - uint256 i = 0; - i < erc1410Storage.partitions[_tokenHolder].length; - i++ - ) { - partitionsList[i] = erc1410Storage - .partitions[_tokenHolder][i].partition; + bytes32[] memory partitionsList = new bytes32[](erc1410Storage.partitions[_tokenHolder].length); + for (uint256 i = 0; i < erc1410Storage.partitions[_tokenHolder].length; i++) { + partitionsList[i] = erc1410Storage.partitions[_tokenHolder][i].partition; } return partitionsList; } - function _validPartition( - bytes32 _partition, - address _holder - ) internal view returns (bool) { + function _validPartition(bytes32 _partition, address _holder) internal view returns (bool) { ERC1410BasicStorage storage erc1410Storage = _erc1410BasicStorage(); if (erc1410Storage.partitionToIndex[_holder][_partition] == 0) { return false; @@ -410,10 +357,7 @@ abstract contract ERC1410BasicStorageWrapperRead is } } - function _validPartitionForReceiver( - bytes32 _partition, - address _to - ) internal view returns (bool) { + function _validPartitionForReceiver(bytes32 _partition, address _to) internal view returns (bool) { ERC1410BasicStorage storage erc1410Storage = _erc1410BasicStorage(); uint256 index = erc1410Storage.partitionToIndex[_to][_partition]; @@ -421,18 +365,12 @@ abstract contract ERC1410BasicStorageWrapperRead is return index != 0; } - function _checkDefaultPartitionWithSinglePartition( - bytes32 partition - ) internal view { + function _checkDefaultPartitionWithSinglePartition(bytes32 partition) internal view { if (!_isMultiPartition() && partition != _DEFAULT_PARTITION) revert PartitionNotAllowedInSinglePartitionMode(partition); } - function _erc1410BasicStorage() - internal - pure - returns (ERC1410BasicStorage storage erc1410BasicStorage_) - { + function _erc1410BasicStorage() internal pure returns (ERC1410BasicStorage storage erc1410BasicStorage_) { bytes32 position = _ERC1410_BASIC_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -450,28 +388,14 @@ abstract contract ERC1410BasicStorageWrapperRead is bytes32 partition, address account ) private { - uint256 partitionsIndex = basicStorage.partitionToIndex[account][ - partition - ]; + uint256 partitionsIndex = basicStorage.partitionToIndex[account][partition]; if (partitionsIndex == 0) return; - uint256 factor = _calculateFactorByTokenHolderAndPartitionIndex( - abaf, - account, - partitionsIndex - ); + uint256 factor = _calculateFactorByTokenHolderAndPartitionIndex(abaf, account, partitionsIndex); basicStorage.partitions[account][partitionsIndex - 1].amount *= factor; - _updateLabafByTokenHolderAndPartitionIndex( - abaf, - account, - partitionsIndex - ); + _updateLabafByTokenHolderAndPartitionIndex(abaf, account, partitionsIndex); } - function _adjustTotalBalanceFor( - ERC1410BasicStorage storage basicStorage, - uint256 abaf, - address account - ) private { + function _adjustTotalBalanceFor(ERC1410BasicStorage storage basicStorage, uint256 abaf, address account) private { uint256 factor = _calculateFactorByAbafAndTokenHolder(abaf, account); basicStorage.balances[account] *= factor; _updateLabafByTokenHolder(abaf, account); diff --git a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410ControllerStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410ControllerStorageWrapper.sol index ed1e3f852..ef3d6632b 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410ControllerStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410ControllerStorageWrapper.sol @@ -206,9 +206,9 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {_CONTROLLER_ROLE, _AGENT_ROLE} from '../../constants/roles.sol'; -import {ERC1644StorageWrapper} from '../ERC1644/ERC1644StorageWrapper.sol'; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; +import { _CONTROLLER_ROLE, _AGENT_ROLE } from '../../constants/roles.sol'; +import { ERC1644StorageWrapper } from '../ERC1644/ERC1644StorageWrapper.sol'; +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; import { _IS_PAUSED_ERROR_ID, _OPERATOR_ACCOUNT_BLOCKED_ERROR_ID, @@ -242,11 +242,7 @@ abstract contract ERC1410ControllerStorageWrapper is ERC1644StorageWrapper { roles[1] = _AGENT_ROLE; if (!_hasAnyRole(roles, _msgSender())) { if (_isRecovered(_msgSender())) { - return ( - false, - _ADDRESS_RECOVERED_OPERATOR_ERROR_ID, - bytes32(0) - ); + return (false, _ADDRESS_RECOVERED_OPERATOR_ERROR_ID, bytes32(0)); } if (_isRecovered(_to)) { return (false, _ADDRESS_RECOVERED_TO_ERROR_ID, bytes32(0)); @@ -285,11 +281,7 @@ abstract contract ERC1410ControllerStorageWrapper is ERC1644StorageWrapper { } if (_isRecovered(_from)) { - return ( - false, - _ADDRESS_RECOVERED_FROM_ERROR_ID, - bytes32(0) - ); + return (false, _ADDRESS_RECOVERED_FROM_ERROR_ID, bytes32(0)); } } } diff --git a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410OperatorStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410OperatorStorageWrapper.sol index 51ae1b0e9..ea793b521 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410OperatorStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410OperatorStorageWrapper.sol @@ -206,16 +206,10 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {ERC1410BasicStorageWrapper} from './ERC1410BasicStorageWrapper.sol'; -import { - _ERC1410_OPERATOR_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; -import { - IERC1410Basic -} from '../../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; -import { - IERC1410Operator -} from '../../../layer_1/interfaces/ERC1400/IERC1410Operator.sol'; +import { ERC1410BasicStorageWrapper } from './ERC1410BasicStorageWrapper.sol'; +import { _ERC1410_OPERATOR_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { IERC1410Basic } from '../../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; +import { IERC1410Operator } from '../../../layer_1/interfaces/ERC1400/IERC1410Operator.sol'; abstract contract ERC1410OperatorStorageWrapper is ERC1410BasicStorageWrapper { struct ERC1410OperatorStorage { @@ -240,23 +234,13 @@ abstract contract ERC1410OperatorStorageWrapper is ERC1410BasicStorageWrapper { emit RevokedOperator(_operator, _msgSender()); } - function _authorizeOperatorByPartition( - bytes32 _partition, - address _operator - ) internal { - _erc1410operatorStorage().partitionApprovals[_msgSender()][_partition][ - _operator - ] = true; + function _authorizeOperatorByPartition(bytes32 _partition, address _operator) internal { + _erc1410operatorStorage().partitionApprovals[_msgSender()][_partition][_operator] = true; emit AuthorizedOperatorByPartition(_partition, _operator, _msgSender()); } - function _revokeOperatorByPartition( - bytes32 _partition, - address _operator - ) internal { - _erc1410operatorStorage().partitionApprovals[_msgSender()][_partition][ - _operator - ] = false; + function _revokeOperatorByPartition(bytes32 _partition, address _operator) internal { + _erc1410operatorStorage().partitionApprovals[_msgSender()][_partition][_operator] = false; emit RevokedOperatorByPartition(_partition, _operator, _msgSender()); } @@ -266,10 +250,7 @@ abstract contract ERC1410OperatorStorageWrapper is ERC1410BasicStorageWrapper { return _transferByPartition( _operatorTransferData.from, - IERC1410Basic.BasicTransferInfo( - _operatorTransferData.to, - _operatorTransferData.value - ), + IERC1410Basic.BasicTransferInfo(_operatorTransferData.to, _operatorTransferData.value), _operatorTransferData.partition, _operatorTransferData.data, _msgSender(), @@ -277,10 +258,7 @@ abstract contract ERC1410OperatorStorageWrapper is ERC1410BasicStorageWrapper { ); } - function _isOperator( - address _operator, - address _tokenHolder - ) internal view returns (bool) { + function _isOperator(address _operator, address _tokenHolder) internal view returns (bool) { return _erc1410operatorStorage().approvals[_tokenHolder][_operator]; } @@ -289,32 +267,18 @@ abstract contract ERC1410OperatorStorageWrapper is ERC1410BasicStorageWrapper { address _operator, address _tokenHolder ) internal view returns (bool) { - return - _erc1410operatorStorage().partitionApprovals[_tokenHolder][ - _partition - ][_operator]; + return _erc1410operatorStorage().partitionApprovals[_tokenHolder][_partition][_operator]; } - function _isAuthorized( - bytes32 _partition, - address _operator, - address _tokenHolder - ) internal view returns (bool) { - return - _isOperator(_operator, _tokenHolder) || - _isOperatorForPartition(_partition, _operator, _tokenHolder); + function _isAuthorized(bytes32 _partition, address _operator, address _tokenHolder) internal view returns (bool) { + return _isOperator(_operator, _tokenHolder) || _isOperatorForPartition(_partition, _operator, _tokenHolder); } function _checkOperator(bytes32 _partition, address _from) internal view { - if (!_isAuthorized(_partition, _msgSender(), _from)) - revert Unauthorized(_msgSender(), _from, _partition); + if (!_isAuthorized(_partition, _msgSender(), _from)) revert Unauthorized(_msgSender(), _from, _partition); } - function _erc1410operatorStorage() - internal - pure - returns (ERC1410OperatorStorage storage erc1410OperatorStorage_) - { + function _erc1410operatorStorage() internal pure returns (ERC1410OperatorStorage storage erc1410OperatorStorage_) { bytes32 position = _ERC1410_OPERATOR_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410ProtectedPartitionsStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410ProtectedPartitionsStorageWrapper.sol index bf55416a3..647fd0d36 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410ProtectedPartitionsStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410ProtectedPartitionsStorageWrapper.sol @@ -206,19 +206,11 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - ERC1410ControllerStorageWrapper -} from './ERC1410ControllerStorageWrapper.sol'; -import { - checkNounceAndDeadline -} from '../../../layer_1/protectedPartitions/signatureVerification.sol'; -import { - IERC1410Basic -} from '../../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; - -abstract contract ERC1410ProtectedPartitionsStorageWrapper is - ERC1410ControllerStorageWrapper -{ +import { ERC1410ControllerStorageWrapper } from './ERC1410ControllerStorageWrapper.sol'; +import { checkNounceAndDeadline } from '../../../layer_1/protectedPartitions/signatureVerification.sol'; +import { IERC1410Basic } from '../../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; + +abstract contract ERC1410ProtectedPartitionsStorageWrapper is ERC1410ControllerStorageWrapper { function _protectedTransferFromByPartition( bytes32 _partition, address _from, @@ -228,34 +220,13 @@ abstract contract ERC1410ProtectedPartitionsStorageWrapper is uint256 _nounce, bytes calldata _signature ) internal { - checkNounceAndDeadline( - _nounce, - _from, - _getNounceFor(_from), - _deadline, - _blockTimestamp() - ); - - _checkTransferSignature( - _partition, - _from, - _to, - _amount, - _deadline, - _nounce, - _signature - ); + checkNounceAndDeadline(_nounce, _from, _getNounceFor(_from), _deadline, _blockTimestamp()); + + _checkTransferSignature(_partition, _from, _to, _amount, _deadline, _nounce, _signature); _setNounce(_nounce, _from); - _transferByPartition( - _from, - IERC1410Basic.BasicTransferInfo(_to, _amount), - _partition, - '', - _msgSender(), - '' - ); + _transferByPartition(_from, IERC1410Basic.BasicTransferInfo(_to, _amount), _partition, '', _msgSender(), ''); } function _protectedRedeemFromByPartition( @@ -266,22 +237,9 @@ abstract contract ERC1410ProtectedPartitionsStorageWrapper is uint256 _nounce, bytes calldata _signature ) internal { - checkNounceAndDeadline( - _nounce, - _from, - _getNounceFor(_from), - _deadline, - _blockTimestamp() - ); - - _checkRedeemSignature( - _partition, - _from, - _amount, - _deadline, - _nounce, - _signature - ); + checkNounceAndDeadline(_nounce, _from, _getNounceFor(_from), _deadline, _blockTimestamp()); + + _checkRedeemSignature(_partition, _from, _amount, _deadline, _nounce, _signature); _setNounce(_nounce, _from); _redeemByPartition(_partition, _from, _msgSender(), _amount, '', ''); diff --git a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410StandardStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410StandardStorageWrapper.sol index 9358d8eda..b212e351e 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410StandardStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1410/ERC1410StandardStorageWrapper.sol @@ -206,9 +206,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - ERC1410OperatorStorageWrapper -} from './ERC1410OperatorStorageWrapper.sol'; +import { ERC1410OperatorStorageWrapper } from './ERC1410OperatorStorageWrapper.sol'; import { _IS_PAUSED_ERROR_ID, _OPERATOR_ACCOUNT_BLOCKED_ERROR_ID, @@ -223,21 +221,12 @@ import { _ADDRESS_RECOVERED_OPERATOR_ERROR_ID, _ADDRESS_RECOVERED_FROM_ERROR_ID } from '../../constants/values.sol'; -import {_CONTROLLER_ROLE, _AGENT_ROLE} from '../../constants/roles.sol'; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; -import { - IERC1410Standard -} from '../../../layer_1/interfaces/ERC1400/IERC1410Standard.sol'; - -abstract contract ERC1410StandardStorageWrapper is - ERC1410OperatorStorageWrapper -{ - function _beforeTokenTransfer( - bytes32 partition, - address from, - address to, - uint256 /*amount*/ - ) internal override { +import { _CONTROLLER_ROLE, _AGENT_ROLE } from '../../constants/roles.sol'; +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; +import { IERC1410Standard } from '../../../layer_1/interfaces/ERC1400/IERC1410Standard.sol'; + +abstract contract ERC1410StandardStorageWrapper is ERC1410OperatorStorageWrapper { + function _beforeTokenTransfer(bytes32 partition, address from, address to, uint256 /*amount*/) internal override { _triggerAndSyncAll(partition, from, to); if (from == address(0)) { @@ -255,78 +244,42 @@ abstract contract ERC1410StandardStorageWrapper is _updateAccountSnapshot(to, partition); } - function _triggerAndSyncAll( - bytes32 _partition, - address _from, - address _to - ) internal { + function _triggerAndSyncAll(bytes32 _partition, address _from, address _to) internal { _triggerScheduledTasks(0); _syncBalanceAdjustments(_partition, _from, _to); } - function _syncBalanceAdjustments( - bytes32 _partition, - address _from, - address _to - ) internal { + function _syncBalanceAdjustments(bytes32 _partition, address _from, address _to) internal { // adjust the total supply for the partition _adjustTotalAndMaxSupplyForPartition(_partition); // adjust "from" total and partition balance - if (_from != address(0)) - _adjustTotalBalanceAndPartitionBalanceFor(_partition, _from); + if (_from != address(0)) _adjustTotalBalanceAndPartitionBalanceFor(_partition, _from); // adjust "to" total and partition balance - if (_to != address(0)) - _adjustTotalBalanceAndPartitionBalanceFor(_partition, _to); + if (_to != address(0)) _adjustTotalBalanceAndPartitionBalanceFor(_partition, _to); } - function _addPartitionTo( - uint256 _value, - address _account, - bytes32 _partition - ) internal override { + function _addPartitionTo(uint256 _value, address _account, bytes32 _partition) internal override { _pushLabafUserPartition(_account, _getAbaf()); ERC1410BasicStorage storage erc1410Storage = _erc1410BasicStorage(); erc1410Storage.partitions[_account].push(Partition(_value, _partition)); - erc1410Storage.partitionToIndex[_account][ - _partition - ] = _erc1410BasicStorage().partitions[_account].length; + erc1410Storage.partitionToIndex[_account][_partition] = _erc1410BasicStorage().partitions[_account].length; if (_value != 0) erc1410Storage.balances[_account] += _value; } - function _issueByPartition( - IERC1410Standard.IssueData memory _issueData - ) internal { + function _issueByPartition(IERC1410Standard.IssueData memory _issueData) internal { _validateParams(_issueData.partition, _issueData.value); - _beforeTokenTransfer( - _issueData.partition, - address(0), - _issueData.tokenHolder, - _issueData.value - ); + _beforeTokenTransfer(_issueData.partition, address(0), _issueData.tokenHolder, _issueData.value); - if ( - !_validPartitionForReceiver( - _issueData.partition, - _issueData.tokenHolder - ) - ) { - _addPartitionTo( - _issueData.value, - _issueData.tokenHolder, - _issueData.partition - ); + if (!_validPartitionForReceiver(_issueData.partition, _issueData.tokenHolder)) { + _addPartitionTo(_issueData.value, _issueData.tokenHolder, _issueData.partition); } else { - _increaseBalanceByPartition( - _issueData.tokenHolder, - _issueData.value, - _issueData.partition - ); + _increaseBalanceByPartition(_issueData.tokenHolder, _issueData.value, _issueData.partition); } _increaseTotalSupplyByPartition(_issueData.partition, _issueData.value); @@ -354,46 +307,28 @@ abstract contract ERC1410StandardStorageWrapper is _reduceTotalSupplyByPartition(_partition, _value); - emit RedeemedByPartition( - _partition, - _operator, - _from, - _value, - _data, - _operatorData - ); + emit RedeemedByPartition(_partition, _operator, _from, _value, _data, _operatorData); } - function _reduceTotalSupplyByPartition( - bytes32 _partition, - uint256 _value - ) internal { + function _reduceTotalSupplyByPartition(bytes32 _partition, uint256 _value) internal { ERC1410BasicStorage storage erc1410Storage = _erc1410BasicStorage(); erc1410Storage.totalSupply -= _value; erc1410Storage.totalSupplyByPartition[_partition] -= _value; } - function _increaseTotalSupplyByPartition( - bytes32 _partition, - uint256 _value - ) internal { + function _increaseTotalSupplyByPartition(bytes32 _partition, uint256 _value) internal { ERC1410BasicStorage storage erc1410Storage = _erc1410BasicStorage(); erc1410Storage.totalSupply += _value; erc1410Storage.totalSupplyByPartition[_partition] += _value; } - function _updateAccountSnapshot( - address account, - bytes32 partition - ) internal virtual; + function _updateAccountSnapshot(address account, bytes32 partition) internal virtual; function _updateTotalSupplySnapshot(bytes32 partition) internal virtual; - function _adjustTotalAndMaxSupplyForPartition( - bytes32 _partition - ) internal virtual; + function _adjustTotalAndMaxSupplyForPartition(bytes32 _partition) internal virtual; function _canRedeemByPartition( address _from, @@ -407,11 +342,7 @@ abstract contract ERC1410StandardStorageWrapper is roles[1] = _AGENT_ROLE; if (!_hasAnyRole(roles, _msgSender())) { if (_isRecovered(_msgSender())) { - return ( - false, - _ADDRESS_RECOVERED_OPERATOR_ERROR_ID, - bytes32(0) - ); + return (false, _ADDRESS_RECOVERED_OPERATOR_ERROR_ID, bytes32(0)); } if (_isPaused()) { return (false, _IS_PAUSED_ERROR_ID, bytes32(0)); @@ -436,11 +367,7 @@ abstract contract ERC1410StandardStorageWrapper is return (false, _IS_NOT_OPERATOR_ERROR_ID, bytes32(0)); } if (_isRecovered(_from)) { - return ( - false, - _ADDRESS_RECOVERED_FROM_ERROR_ID, - bytes32(0) - ); + return (false, _ADDRESS_RECOVERED_FROM_ERROR_ID, bytes32(0)); } } } @@ -457,52 +384,27 @@ abstract contract ERC1410StandardStorageWrapper is return _totalSupplyAdjustedAt(_blockTimestamp()); } - function _totalSupplyAdjustedAt( - uint256 _timestamp - ) internal view returns (uint256) { - (uint256 pendingABAF, ) = _getPendingScheduledBalanceAdjustmentsAt( - _timestamp - ); + function _totalSupplyAdjustedAt(uint256 _timestamp) internal view returns (uint256) { + (uint256 pendingABAF, ) = _getPendingScheduledBalanceAdjustmentsAt(_timestamp); return _totalSupply() * pendingABAF; } - function _totalSupplyByPartitionAdjusted( - bytes32 _partition - ) internal view returns (uint256) { - uint256 factor = _calculateFactor( - _getAbafAdjusted(), - _getLabafByPartition(_partition) - ); + function _totalSupplyByPartitionAdjusted(bytes32 _partition) internal view returns (uint256) { + uint256 factor = _calculateFactor(_getAbafAdjusted(), _getLabafByPartition(_partition)); return _totalSupplyByPartition(_partition) * factor; } - function _balanceOfAdjusted( - address _tokenHolder - ) internal view returns (uint256) { + function _balanceOfAdjusted(address _tokenHolder) internal view returns (uint256) { return _balanceOfAdjustedAt(_tokenHolder, _blockTimestamp()); } - function _balanceOfAdjustedAt( - address _tokenHolder, - uint256 _timestamp - ) internal view returns (uint256) { - uint256 factor = _calculateFactor( - _getAbafAdjustedAt(_timestamp), - _getLabafByUser(_tokenHolder) - ); + function _balanceOfAdjustedAt(address _tokenHolder, uint256 _timestamp) internal view returns (uint256) { + uint256 factor = _calculateFactor(_getAbafAdjustedAt(_timestamp), _getLabafByUser(_tokenHolder)); return _balanceOf(_tokenHolder) * factor; } - function _balanceOfByPartitionAdjusted( - bytes32 _partition, - address _tokenHolder - ) internal view returns (uint256) { - return - _balanceOfByPartitionAdjustedAt( - _partition, - _tokenHolder, - _blockTimestamp() - ); + function _balanceOfByPartitionAdjusted(bytes32 _partition, address _tokenHolder) internal view returns (uint256) { + return _balanceOfByPartitionAdjustedAt(_partition, _tokenHolder, _blockTimestamp()); } function _balanceOfByPartitionAdjustedAt( @@ -517,10 +419,7 @@ abstract contract ERC1410StandardStorageWrapper is return _balanceOfByPartition(_partition, _tokenHolder) * factor; } - function _getLabafByUserAndPartition( - bytes32 _partition, - address _account - ) internal view virtual returns (uint256); + function _getLabafByUserAndPartition(bytes32 _partition, address _account) internal view virtual returns (uint256); function _validateParams(bytes32 _partition, uint256 _value) internal pure { if (_value == uint256(0)) { diff --git a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1594/ERC1594StorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1594/ERC1594StorageWrapper.sol index 05e58962e..f83c2c329 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1594/ERC1594StorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1594/ERC1594StorageWrapper.sol @@ -206,10 +206,8 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {_ERC1594_STORAGE_POSITION} from '../../constants/storagePositions.sol'; -import { - IERC1594StorageWrapper -} from '../../../layer_1/interfaces/ERC1400/IERC1594StorageWrapper.sol'; +import { _ERC1594_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { IERC1594StorageWrapper } from '../../../layer_1/interfaces/ERC1400/IERC1594StorageWrapper.sol'; import { _IS_PAUSED_ERROR_ID, _OPERATOR_ACCOUNT_BLOCKED_ERROR_ID, @@ -226,14 +224,11 @@ import { _ADDRESS_RECOVERED_FROM_ERROR_ID, _ADDRESS_RECOVERED_TO_ERROR_ID } from '../../constants/values.sol'; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; -import {_CONTROLLER_ROLE, _AGENT_ROLE} from '../../constants/roles.sol'; -import {CapStorageWrapper2} from '../../cap/CapStorageWrapper2.sol'; - -abstract contract ERC1594StorageWrapper is - IERC1594StorageWrapper, - CapStorageWrapper2 -{ +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; +import { _CONTROLLER_ROLE, _AGENT_ROLE } from '../../constants/roles.sol'; +import { CapStorageWrapper2 } from '../../cap/CapStorageWrapper2.sol'; + +abstract contract ERC1594StorageWrapper is IERC1594StorageWrapper, CapStorageWrapper2 { struct ERC1594Storage { bool issuance; bool initialized; @@ -260,11 +255,7 @@ abstract contract ERC1594StorageWrapper is * @param _data The `bytes calldata _data` allows arbitrary data to be submitted alongside the transfer. */ // TODO: In this case are able to perform that operation another role? - function _issue( - address _tokenHolder, - uint256 _value, - bytes memory _data - ) internal { + function _issue(address _tokenHolder, uint256 _value, bytes memory _data) internal { // Add a function to validate the `_data` parameter _mint(_tokenHolder, _value); emit Issued(_msgSender(), _tokenHolder, _value, _data); @@ -292,11 +283,7 @@ abstract contract ERC1594StorageWrapper is * @param _value The amount of tokens need to be redeemed * @param _data The `bytes calldata _data` it can be used in the token contract to authenticate the redemption. */ - function _redeemFrom( - address _tokenHolder, - uint256 _value, - bytes memory _data - ) internal { + function _redeemFrom(address _tokenHolder, uint256 _value, bytes memory _data) internal { // Add a function to validate the `_data` parameter _burnFrom(_tokenHolder, _value); emit Redeemed(_msgSender(), _tokenHolder, _value, _data); @@ -360,11 +347,7 @@ abstract contract ERC1594StorageWrapper is roles[1] = _AGENT_ROLE; if (!_hasAnyRole(roles, _msgSender())) { if (_isRecovered(_msgSender())) { - return ( - false, - _ADDRESS_RECOVERED_OPERATOR_ERROR_ID, - bytes32(0) - ); + return (false, _ADDRESS_RECOVERED_OPERATOR_ERROR_ID, bytes32(0)); } if (_isRecovered(_to)) { return (false, _ADDRESS_RECOVERED_TO_ERROR_ID, bytes32(0)); @@ -392,11 +375,7 @@ abstract contract ERC1594StorageWrapper is return (false, _ALLOWANCE_REACHED_ERROR_ID, bytes32(0)); } if (_isRecovered(_from)) { - return ( - false, - _ADDRESS_RECOVERED_FROM_ERROR_ID, - bytes32(0) - ); + return (false, _ADDRESS_RECOVERED_FROM_ERROR_ID, bytes32(0)); } } if (!_verifyKycStatus(IKyc.KycStatus.GRANTED, _from)) { @@ -412,11 +391,7 @@ abstract contract ERC1594StorageWrapper is return (true, _SUCCESS, bytes32(0)); } - function _erc1594Storage() - internal - pure - returns (ERC1594Storage storage erc1594Storage_) - { + function _erc1594Storage() internal pure returns (ERC1594Storage storage erc1594Storage_) { bytes32 position = _ERC1594_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1644/ERC1644StorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1644/ERC1644StorageWrapper.sol index 0c8e6eb00..580dfe9fa 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1644/ERC1644StorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC1644/ERC1644StorageWrapper.sol @@ -206,16 +206,11 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {_ERC1644_STORAGE_POSITION} from '../../constants/storagePositions.sol'; -import { - IERC1644StorageWrapper -} from '../../../layer_1/interfaces/ERC1400/IERC1644StorageWrapper.sol'; -import {ERC3643StorageWrapper2} from '../../ERC3643/ERC3643StorageWrapper2.sol'; - -abstract contract ERC1644StorageWrapper is - IERC1644StorageWrapper, - ERC3643StorageWrapper2 -{ +import { _ERC1644_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { IERC1644StorageWrapper } from '../../../layer_1/interfaces/ERC1400/IERC1644StorageWrapper.sol'; +import { ERC3643StorageWrapper2 } from '../../ERC3643/ERC3643StorageWrapper2.sol'; + +abstract contract ERC1644StorageWrapper is IERC1644StorageWrapper, ERC3643StorageWrapper2 { struct ERC1644Storage { bool isControllable; bool initialized; @@ -234,14 +229,7 @@ abstract contract ERC1644StorageWrapper is bytes memory _operatorData ) internal { _transfer(_from, _to, _value); - emit ControllerTransfer( - msg.sender, - _from, - _to, - _value, - _data, - _operatorData - ); + emit ControllerTransfer(msg.sender, _from, _to, _value, _data, _operatorData); } function _controllerRedeem( @@ -251,13 +239,7 @@ abstract contract ERC1644StorageWrapper is bytes memory _operatorData ) internal { _burn(_tokenHolder, _value); - emit ControllerRedemption( - msg.sender, - _tokenHolder, - _value, - _data, - _operatorData - ); + emit ControllerRedemption(msg.sender, _tokenHolder, _value, _data, _operatorData); } /** @@ -280,11 +262,7 @@ abstract contract ERC1644StorageWrapper is return _erc1644Storage().isControllable; } - function _erc1644Storage() - internal - pure - returns (ERC1644Storage storage erc1644Storage_) - { + function _erc1644Storage() internal pure returns (ERC1644Storage storage erc1644Storage_) { bytes32 position = _ERC1644_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC20/ERC20StorageWrapper1.sol b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC20/ERC20StorageWrapper1.sol index f802102cd..2c61ffc3e 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC20/ERC20StorageWrapper1.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC20/ERC20StorageWrapper1.sol @@ -206,12 +206,10 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {_ERC20_STORAGE_POSITION} from '../../constants/storagePositions.sol'; -import {IERC20} from '../../../layer_1/interfaces/ERC1400/IERC20.sol'; -import { - ERC1410BasicStorageWrapperRead -} from '../ERC1410/ERC1410BasicStorageWrapperRead.sol'; -import {IFactory} from '../../../interfaces/factory/IFactory.sol'; +import { _ERC20_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { IERC20 } from '../../../layer_1/interfaces/ERC1400/IERC20.sol'; +import { ERC1410BasicStorageWrapperRead } from '../ERC1410/ERC1410BasicStorageWrapperRead.sol'; +import { IFactory } from '../../../interfaces/factory/IFactory.sol'; abstract contract ERC20StorageWrapper1 is ERC1410BasicStorageWrapperRead { struct ERC20Storage { @@ -232,23 +230,15 @@ abstract contract ERC20StorageWrapper1 is ERC1410BasicStorageWrapperRead { return _decimalsAdjustedAt(_blockTimestamp()); } - function _allowanceAdjusted( - address _owner, - address _spender - ) internal view returns (uint256) { + function _allowanceAdjusted(address _owner, address _spender) internal view returns (uint256) { return _allowanceAdjustedAt(_owner, _spender, _blockTimestamp()); } - function _allowance( - address owner, - address spender - ) internal view returns (uint256) { + function _allowance(address owner, address spender) internal view returns (uint256) { return _erc20Storage().allowed[owner][spender]; } - function _decimalsAdjustedAt( - uint256 _timestamp - ) internal view returns (uint8) { + function _decimalsAdjustedAt(uint256 _timestamp) internal view returns (uint8) { return _getERC20MetadataAdjustedAt(_timestamp).info.decimals; } @@ -257,36 +247,23 @@ abstract contract ERC20StorageWrapper1 is ERC1410BasicStorageWrapperRead { address _spender, uint256 _timestamp ) internal view returns (uint256) { - uint256 factor = _calculateFactor( - _getAbafAdjustedAt(_timestamp), - _getAllowanceLabaf(_owner, _spender) - ); + uint256 factor = _calculateFactor(_getAbafAdjustedAt(_timestamp), _getAllowanceLabaf(_owner, _spender)); return _allowance(_owner, _spender) * factor; } - function _getERC20MetadataAdjusted() - internal - view - returns (IERC20.ERC20Metadata memory erc20Metadata_) - { + function _getERC20MetadataAdjusted() internal view returns (IERC20.ERC20Metadata memory erc20Metadata_) { erc20Metadata_ = _getERC20MetadataAdjustedAt(_blockTimestamp()); } function _getERC20MetadataAdjustedAt( uint256 _timestamp ) internal view returns (IERC20.ERC20Metadata memory erc20Metadata_) { - (, uint8 pendingDecimals) = _getPendingScheduledBalanceAdjustmentsAt( - _timestamp - ); + (, uint8 pendingDecimals) = _getPendingScheduledBalanceAdjustmentsAt(_timestamp); erc20Metadata_ = _getERC20Metadata(); erc20Metadata_.info.decimals += pendingDecimals; } - function _getERC20Metadata() - internal - view - returns (IERC20.ERC20Metadata memory erc20Metadata_) - { + function _getERC20Metadata() internal view returns (IERC20.ERC20Metadata memory erc20Metadata_) { ERC20Storage storage erc20Storage = _erc20Storage(); IERC20.ERC20MetadataInfo memory erc20Info = IERC20.ERC20MetadataInfo({ name: erc20Storage.name, @@ -294,21 +271,14 @@ abstract contract ERC20StorageWrapper1 is ERC1410BasicStorageWrapperRead { isin: erc20Storage.isin, decimals: erc20Storage.decimals }); - erc20Metadata_ = IERC20.ERC20Metadata({ - info: erc20Info, - securityType: erc20Storage.securityType - }); + erc20Metadata_ = IERC20.ERC20Metadata({ info: erc20Info, securityType: erc20Storage.securityType }); } function _decimals() internal view returns (uint8) { return _erc20Storage().decimals; } - function _erc20Storage() - internal - pure - returns (ERC20Storage storage erc20Storage_) - { + function _erc20Storage() internal pure returns (ERC20Storage storage erc20Storage_) { bytes32 position = _ERC20_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC20/ERC20StorageWrapper2.sol b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC20/ERC20StorageWrapper2.sol index 3b14e8934..662f3a8c6 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC1400/ERC20/ERC20StorageWrapper2.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC1400/ERC20/ERC20StorageWrapper2.sol @@ -206,34 +206,20 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {_DEFAULT_PARTITION} from '../../../layer_0/constants/values.sol'; -import { - IERC20StorageWrapper -} from '../../../layer_1/interfaces/ERC1400/IERC20StorageWrapper.sol'; -import { - ERC1410StandardStorageWrapper -} from '../ERC1410/ERC1410StandardStorageWrapper.sol'; -import { - IERC1410Basic -} from '../../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; -import { - IERC1410Standard -} from '../../../layer_1/interfaces/ERC1400/IERC1410Standard.sol'; - -abstract contract ERC20StorageWrapper2 is - IERC20StorageWrapper, - ERC1410StandardStorageWrapper -{ +import { _DEFAULT_PARTITION } from '../../../layer_0/constants/values.sol'; +import { IERC20StorageWrapper } from '../../../layer_1/interfaces/ERC1400/IERC20StorageWrapper.sol'; +import { ERC1410StandardStorageWrapper } from '../ERC1410/ERC1410StandardStorageWrapper.sol'; +import { IERC1410Basic } from '../../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; +import { IERC1410Standard } from '../../../layer_1/interfaces/ERC1400/IERC1410Standard.sol'; + +abstract contract ERC20StorageWrapper2 is IERC20StorageWrapper, ERC1410StandardStorageWrapper { function _beforeAllowanceUpdate(address _owner, address _spender) internal { _triggerAndSyncAll(_DEFAULT_PARTITION, _owner, address(0)); _updateAllowanceAndLabaf(_owner, _spender); } - function _updateAllowanceAndLabaf( - address _owner, - address _spender - ) internal { + function _updateAllowanceAndLabaf(address _owner, address _spender) internal { uint256 abaf = _getAbaf(); uint256 labaf = _getAllowanceLabaf(_owner, _spender); @@ -264,10 +250,7 @@ abstract contract ERC20StorageWrapper2 is * @param spender The address which will spend the funds. * @param addedValue The amount of tokens to increase the allowance by. */ - function _increaseAllowance( - address spender, - uint256 addedValue - ) internal returns (bool) { + function _increaseAllowance(address spender, uint256 addedValue) internal returns (bool) { if (spender == address(0)) { revert SpenderWithZeroAddress(); } @@ -286,60 +269,28 @@ abstract contract ERC20StorageWrapper2 is * @param spender The address which will spend the funds. * @param subtractedValue The amount of tokens to decrease the allowance by. */ - function _decreaseAllowance( - address spender, - uint256 subtractedValue - ) internal returns (bool) { + function _decreaseAllowance(address spender, uint256 subtractedValue) internal returns (bool) { if (spender == address(0)) { revert SpenderWithZeroAddress(); } _decreaseAllowedBalance(_msgSender(), spender, subtractedValue); - emit Approval( - _msgSender(), - spender, - _erc20Storage().allowed[_msgSender()][spender] - ); + emit Approval(_msgSender(), spender, _erc20Storage().allowed[_msgSender()][spender]); return true; } - function _transferFrom( - address spender, - address from, - address to, - uint256 value - ) internal returns (bool) { + function _transferFrom(address spender, address from, address to, uint256 value) internal returns (bool) { _decreaseAllowedBalance(from, spender, value); - _transferByPartition( - from, - IERC1410Basic.BasicTransferInfo(to, value), - _DEFAULT_PARTITION, - '', - spender, - '' - ); + _transferByPartition(from, IERC1410Basic.BasicTransferInfo(to, value), _DEFAULT_PARTITION, '', spender, ''); return _emitTransferEvent(from, to, value); } - function _transfer( - address from, - address to, - uint256 value - ) internal returns (bool) { - _transferByPartition( - from, - IERC1410Basic.BasicTransferInfo(to, value), - _DEFAULT_PARTITION, - '', - address(0), - '' - ); + function _transfer(address from, address to, uint256 value) internal returns (bool) { + _transferByPartition(from, IERC1410Basic.BasicTransferInfo(to, value), _DEFAULT_PARTITION, '', address(0), ''); return _emitTransferEvent(from, to, value); } function _mint(address to, uint256 value) internal { - _issueByPartition( - IERC1410Standard.IssueData(_DEFAULT_PARTITION, to, value, '') - ); + _issueByPartition(IERC1410Standard.IssueData(_DEFAULT_PARTITION, to, value, '')); _emitTransferEvent(address(0), to, value); } @@ -353,11 +304,7 @@ abstract contract ERC20StorageWrapper2 is _burn(account, value); } - function _decreaseAllowedBalance( - address from, - address spender, - uint256 value - ) internal { + function _decreaseAllowedBalance(address from, address spender, uint256 value) internal { _beforeAllowanceUpdate(from, spender); ERC20Storage storage erc20Storage = _erc20Storage(); @@ -369,11 +316,7 @@ abstract contract ERC20StorageWrapper2 is erc20Storage.allowed[from][spender] -= value; } - function _increaseAllowedBalance( - address from, - address spender, - uint256 value - ) internal { + function _increaseAllowedBalance(address from, address spender, uint256 value) internal { _beforeAllowanceUpdate(from, spender); ERC20Storage storage erc20Storage = _erc20Storage(); @@ -383,11 +326,7 @@ abstract contract ERC20StorageWrapper2 is emit Approval(from, spender, _erc20Storage().allowed[from][spender]); } - function _emitTransferEvent( - address from, - address to, - uint256 value - ) private returns (bool) { + function _emitTransferEvent(address from, address to, uint256 value) private returns (bool) { emit Transfer(from, to, value); return true; } diff --git a/packages/ats/contracts/contracts/layer_0/ERC3643/ERC3643StorageWrapper1.sol b/packages/ats/contracts/contracts/layer_0/ERC3643/ERC3643StorageWrapper1.sol index 6a03829dd..cca478720 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC3643/ERC3643StorageWrapper1.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC3643/ERC3643StorageWrapper1.sol @@ -206,24 +206,15 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IERC3643} from '../../layer_1/interfaces/ERC3643/IERC3643.sol'; -import {PauseStorageWrapper} from '../core/pause/PauseStorageWrapper.sol'; -import { - _ERC3643_STORAGE_POSITION, - _RESOLVER_PROXY_STORAGE_POSITION -} from '../constants/storagePositions.sol'; -import {_AGENT_ROLE} from '../constants/roles.sol'; -import { - IAccessControl -} from '../../layer_1/interfaces/accessControl/IAccessControl.sol'; -import {Strings} from '@openzeppelin/contracts/utils/Strings.sol'; -import {ICompliance} from '../../layer_1/interfaces/ERC3643/ICompliance.sol'; -import { - IIdentityRegistry -} from '../../layer_1/interfaces/ERC3643/IIdentityRegistry.sol'; -import { - ResolverProxyUnstructured -} from '../../resolver/resolverProxy/unstructured/ResolverProxyUnstructured.sol'; +import { IERC3643 } from '../../layer_1/interfaces/ERC3643/IERC3643.sol'; +import { PauseStorageWrapper } from '../core/pause/PauseStorageWrapper.sol'; +import { _ERC3643_STORAGE_POSITION, _RESOLVER_PROXY_STORAGE_POSITION } from '../constants/storagePositions.sol'; +import { _AGENT_ROLE } from '../constants/roles.sol'; +import { IAccessControl } from '../../layer_1/interfaces/accessControl/IAccessControl.sol'; +import { Strings } from '@openzeppelin/contracts/utils/Strings.sol'; +import { ICompliance } from '../../layer_1/interfaces/ERC3643/ICompliance.sol'; +import { IIdentityRegistry } from '../../layer_1/interfaces/ERC3643/IIdentityRegistry.sol'; +import { ResolverProxyUnstructured } from '../../resolver/resolverProxy/unstructured/ResolverProxyUnstructured.sol'; abstract contract ERC3643StorageWrapper1 is PauseStorageWrapper { modifier onlyUnrecoveredAddress(address _account) { @@ -231,35 +222,22 @@ abstract contract ERC3643StorageWrapper1 is PauseStorageWrapper { _; } - modifier onlyValidInputAmountsArrayLength( - address[] memory _addresses, - uint256[] memory _amounts - ) { + modifier onlyValidInputAmountsArrayLength(address[] memory _addresses, uint256[] memory _amounts) { _checkInputAmountsArrayLength(_addresses, _amounts); _; } - modifier onlyValidInputBoolArrayLength( - address[] memory _addresses, - bool[] memory _status - ) { + modifier onlyValidInputBoolArrayLength(address[] memory _addresses, bool[] memory _status) { _checkInputBoolArrayLength(_addresses, _status); _; } - function _setAddressFrozen( - address _userAddress, - bool _freezeStatus - ) internal { + function _setAddressFrozen(address _userAddress, bool _freezeStatus) internal { if (_freezeStatus) { - _getControlListType() - ? _removeFromControlList(_userAddress) - : _addToControlList(_userAddress); + _getControlListType() ? _removeFromControlList(_userAddress) : _addToControlList(_userAddress); return; } - _getControlListType() - ? _addToControlList(_userAddress) - : _removeFromControlList(_userAddress); + _getControlListType() ? _addToControlList(_userAddress) : _removeFromControlList(_userAddress); } function _addAgent(address _agent) internal { @@ -282,17 +260,12 @@ abstract contract ERC3643StorageWrapper1 is PauseStorageWrapper { _erc3643Storage().identityRegistry = _identityRegistry; } - function _getFrozenAmountFor( - address _userAddress - ) internal view returns (uint256) { + function _getFrozenAmountFor(address _userAddress) internal view returns (uint256) { IERC3643.ERC3643Storage storage st = _erc3643Storage(); return st.frozenTokens[_userAddress]; } - function _getFrozenAmountForByPartition( - bytes32 _partition, - address _userAddress - ) internal view returns (uint256) { + function _getFrozenAmountForByPartition(bytes32 _partition, address _userAddress) internal view returns (uint256) { IERC3643.ERC3643Storage storage st = _erc3643Storage(); return st.frozenTokensByPartition[_userAddress][_partition]; } @@ -311,18 +284,10 @@ abstract contract ERC3643StorageWrapper1 is PauseStorageWrapper { abi.encodePacked( '{', '"Resolver": "', - Strings.toHexString( - uint160(address(_resolverProxyStorage().resolver)), - 20 - ), + Strings.toHexString(uint160(address(_resolverProxyStorage().resolver)), 20), '", ', '"Config ID": "', - Strings.toHexString( - uint256( - _resolverProxyStorage().resolverProxyConfigurationId - ), - 32 - ), + Strings.toHexString(uint256(_resolverProxyStorage().resolverProxyConfigurationId), 32), '", ', '"Version": "', Strings.toString(_resolverProxyStorage().version), @@ -344,29 +309,19 @@ abstract contract ERC3643StorageWrapper1 is PauseStorageWrapper { return _erc3643Storage().onchainID; } - function _checkInputAmountsArrayLength( - address[] memory _addresses, - uint256[] memory _amounts - ) internal pure { + function _checkInputAmountsArrayLength(address[] memory _addresses, uint256[] memory _amounts) internal pure { if (_addresses.length != _amounts.length) { revert IERC3643.InputAmountsArrayLengthMismatch(); } } - function _checkInputBoolArrayLength( - address[] memory _addresses, - bool[] memory _status - ) internal pure { + function _checkInputBoolArrayLength(address[] memory _addresses, bool[] memory _status) internal pure { if (_addresses.length != _status.length) { revert IERC3643.InputBoolArrayLengthMismatch(); } } - function _erc3643Storage() - internal - pure - returns (IERC3643.ERC3643Storage storage erc3643Storage_) - { + function _erc3643Storage() internal pure returns (IERC3643.ERC3643Storage storage erc3643Storage_) { bytes32 position = _ERC3643_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -378,11 +333,7 @@ abstract contract ERC3643StorageWrapper1 is PauseStorageWrapper { * @dev This belongs to the ResolverProxyUnstructured contract. * Since it is not in the common inheritance chain we redeclare it here */ - function _resolverProxyStorage() - internal - pure - returns (ResolverProxyUnstructured.ResolverProxyStorage storage ds) - { + function _resolverProxyStorage() internal pure returns (ResolverProxyUnstructured.ResolverProxyStorage storage ds) { bytes32 position = _RESOLVER_PROXY_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_0/ERC3643/ERC3643StorageWrapper2.sol b/packages/ats/contracts/contracts/layer_0/ERC3643/ERC3643StorageWrapper2.sol index 22e6c09e9..bb39a07b4 100644 --- a/packages/ats/contracts/contracts/layer_0/ERC3643/ERC3643StorageWrapper2.sol +++ b/packages/ats/contracts/contracts/layer_0/ERC3643/ERC3643StorageWrapper2.sol @@ -205,36 +205,25 @@ pragma solidity 0.8.18; -import {_DEFAULT_PARTITION} from '../constants/values.sol'; -import { - SnapshotsStorageWrapper2 -} from '../snapshots/SnapshotsStorageWrapper2.sol'; -import {IERC3643} from '../../layer_1/interfaces/ERC3643/IERC3643.sol'; -import { - IERC3643StorageWrapper -} from '../../layer_1/interfaces/ERC3643/IERC3643StorageWrapper.sol'; +import { _DEFAULT_PARTITION } from '../constants/values.sol'; +import { SnapshotsStorageWrapper2 } from '../snapshots/SnapshotsStorageWrapper2.sol'; +import { IERC3643 } from '../../layer_1/interfaces/ERC3643/IERC3643.sol'; +import { IERC3643StorageWrapper } from '../../layer_1/interfaces/ERC3643/IERC3643StorageWrapper.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution -abstract contract ERC3643StorageWrapper2 is - IERC3643StorageWrapper, - SnapshotsStorageWrapper2 -{ +abstract contract ERC3643StorageWrapper2 is IERC3643StorageWrapper, SnapshotsStorageWrapper2 { modifier onlyEmptyWallet(address _tokenHolder) { if (!_canRecover(_tokenHolder)) revert IERC3643.CannotRecoverWallet(); _; } - function _setName( - string calldata _name - ) internal returns (ERC20Storage storage erc20Storage_) { + function _setName(string calldata _name) internal returns (ERC20Storage storage erc20Storage_) { erc20Storage_ = _erc20Storage(); erc20Storage_.name = _name; } - function _setSymbol( - string calldata _symbol - ) internal returns (ERC20Storage storage erc20Storage_) { + function _setSymbol(string calldata _symbol) internal returns (ERC20Storage storage erc20Storage_) { erc20Storage_ = _erc20Storage(); erc20Storage_.symbol = _symbol; } @@ -248,11 +237,7 @@ abstract contract ERC3643StorageWrapper2 is _unfreezeTokensByPartition(_DEFAULT_PARTITION, _account, _amount); } - function _freezeTokensByPartition( - bytes32 _partition, - address _account, - uint256 _amount - ) internal { + function _freezeTokensByPartition(bytes32 _partition, address _account, uint256 _amount) internal { _triggerAndSyncAll(_partition, _account, address(0)); _updateTotalFreeze(_partition, _account); @@ -265,11 +250,7 @@ abstract contract ERC3643StorageWrapper2 is _reduceBalanceByPartition(_account, _amount, _partition); } - function _unfreezeTokensByPartition( - bytes32 _partition, - address _account, - uint256 _amount - ) internal { + function _unfreezeTokensByPartition(bytes32 _partition, address _account, uint256 _amount) internal { _triggerAndSyncAll(_partition, _account, address(0)); _updateTotalFreeze(_partition, _account); @@ -281,16 +262,10 @@ abstract contract ERC3643StorageWrapper2 is _transferFrozenBalance(_partition, _account, _amount); } - function _updateTotalFreeze( - bytes32 _partition, - address _tokenHolder - ) internal returns (uint256 abaf_) { + function _updateTotalFreeze(bytes32 _partition, address _tokenHolder) internal returns (uint256 abaf_) { abaf_ = _getAbaf(); uint256 labaf = _getTotalFrozenLabaf(_tokenHolder); - uint256 labafByPartition = _getTotalFrozenLabafByPartition( - _partition, - _tokenHolder - ); + uint256 labafByPartition = _getTotalFrozenLabafByPartition(_partition, _tokenHolder); if (abaf_ != labaf) { uint256 factor = _calculateFactor(abaf_, labaf); @@ -299,17 +274,9 @@ abstract contract ERC3643StorageWrapper2 is } if (abaf_ != labafByPartition) { - uint256 factorByPartition = _calculateFactor( - abaf_, - labafByPartition - ); - - _updateTotalFreezeAmountAndLabafByPartition( - _partition, - _tokenHolder, - factorByPartition, - abaf_ - ); + uint256 factorByPartition = _calculateFactor(abaf_, labafByPartition); + + _updateTotalFreezeAmountAndLabafByPartition(_partition, _tokenHolder, factorByPartition, abaf_); } } @@ -318,11 +285,7 @@ abstract contract ERC3643StorageWrapper2 is _updateAccountFrozenBalancesSnapshot(_tokenHolder, _partition); } - function _updateTotalFreezeAmountAndLabaf( - address _tokenHolder, - uint256 _factor, - uint256 _abaf - ) internal { + function _updateTotalFreezeAmountAndLabaf(address _tokenHolder, uint256 _factor, uint256 _abaf) internal { if (_factor == 1) return; _erc3643Storage().frozenTokens[_tokenHolder] *= _factor; @@ -337,17 +300,11 @@ abstract contract ERC3643StorageWrapper2 is ) internal { if (_factor == 1) return; - _erc3643Storage().frozenTokensByPartition[_tokenHolder][ - _partition - ] *= _factor; + _erc3643Storage().frozenTokensByPartition[_tokenHolder][_partition] *= _factor; _setTotalFreezeLabafByPartition(_partition, _tokenHolder, _abaf); } - function _transferFrozenBalance( - bytes32 _partition, - address _to, - uint256 _amount - ) internal { + function _transferFrozenBalance(bytes32 _partition, address _to, uint256 _amount) internal { if (_validPartitionForReceiver(_partition, _to)) { _increaseBalanceByPartition(_to, _amount, _partition); return; @@ -355,10 +312,7 @@ abstract contract ERC3643StorageWrapper2 is _addPartitionTo(_amount, _to, _partition); } - function _recoveryAddress( - address _lostWallet, - address _newWallet - ) internal returns (bool) { + function _recoveryAddress(address _lostWallet, address _newWallet) internal returns (bool) { uint256 frozenBalance = _getFrozenAmountForAdjusted(_lostWallet); if (frozenBalance > 0) { _unfreezeTokens(_lostWallet, frozenBalance); @@ -381,10 +335,7 @@ abstract contract ERC3643StorageWrapper2 is function _getFrozenAmountForAdjusted( address _tokenHolder ) internal view virtual override returns (uint256 amount_) { - uint256 factor = _calculateFactor( - _getAbafAdjusted(), - _getTotalFrozenLabaf(_tokenHolder) - ); + uint256 factor = _calculateFactor(_getAbafAdjusted(), _getTotalFrozenLabaf(_tokenHolder)); return _getFrozenAmountFor(_tokenHolder) * factor; } @@ -397,36 +348,19 @@ abstract contract ERC3643StorageWrapper2 is _getAbafAdjusted(), _getTotalFrozenLabafByPartition(_partition, _tokenHolder) ); - return - _getFrozenAmountForByPartition(_partition, _tokenHolder) * factor; + return _getFrozenAmountForByPartition(_partition, _tokenHolder) * factor; } - function _canRecover( - address _tokenHolder - ) internal view returns (bool isEmpty_) { + function _canRecover(address _tokenHolder) internal view returns (bool isEmpty_) { isEmpty_ = - _getLockedAmountFor(_tokenHolder) + - _getHeldAmountFor(_tokenHolder) + - _getClearedAmountFor(_tokenHolder) == + _getLockedAmountFor(_tokenHolder) + _getHeldAmountFor(_tokenHolder) + _getClearedAmountFor(_tokenHolder) == 0; } - function _checkUnfreezeAmount( - bytes32 _partition, - address _userAddress, - uint256 _amount - ) private view { - uint256 frozenAmount = _getFrozenAmountForByPartitionAdjusted( - _partition, - _userAddress - ); + function _checkUnfreezeAmount(bytes32 _partition, address _userAddress, uint256 _amount) private view { + uint256 frozenAmount = _getFrozenAmountForByPartitionAdjusted(_partition, _userAddress); if (frozenAmount < _amount) { - revert InsufficientFrozenBalance( - _userAddress, - _amount, - frozenAmount, - _partition - ); + revert InsufficientFrozenBalance(_userAddress, _amount, frozenAmount, _partition); } } } diff --git a/packages/ats/contracts/contracts/layer_0/adjustBalances/AdjustBalancesStorageWrapper1.sol b/packages/ats/contracts/contracts/layer_0/adjustBalances/AdjustBalancesStorageWrapper1.sol index 892174ddd..2b419446e 100644 --- a/packages/ats/contracts/contracts/layer_0/adjustBalances/AdjustBalancesStorageWrapper1.sol +++ b/packages/ats/contracts/contracts/layer_0/adjustBalances/AdjustBalancesStorageWrapper1.sol @@ -206,16 +206,14 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - _ADJUST_BALANCES_STORAGE_POSITION -} from '../constants/storagePositions.sol'; +import { _ADJUST_BALANCES_STORAGE_POSITION } from '../constants/storagePositions.sol'; import { ScheduledBalanceAdjustmentsStorageWrapper } from '../scheduledTasks/scheduledBalanceAdjustments/ScheduledBalanceAdjustmentsStorageWrapper.sol'; import { IAdjustBalancesStorageWrapper } from '../../layer_2/interfaces/adjustBalances/IAdjustBalancesStorageWrapper.sol'; -import {IClearing} from '../../layer_1/interfaces/clearing/IClearing.sol'; +import { IClearing } from '../../layer_1/interfaces/clearing/IClearing.sol'; abstract contract AdjustBalancesStorageWrapper1 is IAdjustBalancesStorageWrapper, @@ -260,146 +258,75 @@ abstract contract AdjustBalancesStorageWrapper1 is } function _updateLabafByPartition(bytes32 partition) internal { - AdjustBalancesStorage - storage adjustBalancesStorage = _adjustBalancesStorage(); - adjustBalancesStorage.labafByPartition[ - partition - ] = adjustBalancesStorage.abaf; + AdjustBalancesStorage storage adjustBalancesStorage = _adjustBalancesStorage(); + adjustBalancesStorage.labafByPartition[partition] = adjustBalancesStorage.abaf; } - function _updateLabafByTokenHolder( - uint256 labaf, - address tokenHolder - ) internal { + function _updateLabafByTokenHolder(uint256 labaf, address tokenHolder) internal { _adjustBalancesStorage().labaf[tokenHolder] = labaf; } - function _pushLabafUserPartition( - address _tokenHolder, - uint256 _labaf - ) internal { + function _pushLabafUserPartition(address _tokenHolder, uint256 _labaf) internal { _adjustBalancesStorage().labafUserPartition[_tokenHolder].push(_labaf); } - function _removeLabafHold( - bytes32 _partition, - address _tokenHolder, - uint256 _holdId - ) internal { - delete _adjustBalancesStorage().labafHeldAmountByAccountPartitionAndId[ - _tokenHolder - ][_partition][_holdId]; + function _removeLabafHold(bytes32 _partition, address _tokenHolder, uint256 _holdId) internal { + delete _adjustBalancesStorage().labafHeldAmountByAccountPartitionAndId[_tokenHolder][_partition][_holdId]; } - function _removeLabafLock( - bytes32 _partition, - address _tokenHolder, - uint256 _lockId - ) internal { - delete _adjustBalancesStorage() - .labafLockedAmountByAccountPartitionAndId[_tokenHolder][_partition][ - _lockId - ]; + function _removeLabafLock(bytes32 _partition, address _tokenHolder, uint256 _lockId) internal { + delete _adjustBalancesStorage().labafLockedAmountByAccountPartitionAndId[_tokenHolder][_partition][_lockId]; } - function _removeLabafClearing( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier - ) internal { - delete _adjustBalancesStorage() - .labafClearedAmountByAccountPartitionTypeAndId[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingOperationType - ][_clearingOperationIdentifier.clearingId]; + function _removeLabafClearing(IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier) internal { + delete _adjustBalancesStorage().labafClearedAmountByAccountPartitionTypeAndId[ + _clearingOperationIdentifier.tokenHolder + ][_clearingOperationIdentifier.partition][_clearingOperationIdentifier.clearingOperationType][ + _clearingOperationIdentifier.clearingId + ]; } - function _setLockLabafById( - bytes32 _partition, - address _tokenHolder, - uint256 _lockId, - uint256 _labaf - ) internal { - _adjustBalancesStorage().labafLockedAmountByAccountPartitionAndId[ - _tokenHolder - ][_partition][_lockId] = _labaf; + function _setLockLabafById(bytes32 _partition, address _tokenHolder, uint256 _lockId, uint256 _labaf) internal { + _adjustBalancesStorage().labafLockedAmountByAccountPartitionAndId[_tokenHolder][_partition][_lockId] = _labaf; } - function _setHeldLabafById( - bytes32 _partition, - address _tokenHolder, - uint256 _lockId, - uint256 _labaf - ) internal { - _adjustBalancesStorage().labafHeldAmountByAccountPartitionAndId[ - _tokenHolder - ][_partition][_lockId] = _labaf; + function _setHeldLabafById(bytes32 _partition, address _tokenHolder, uint256 _lockId, uint256 _labaf) internal { + _adjustBalancesStorage().labafHeldAmountByAccountPartitionAndId[_tokenHolder][_partition][_lockId] = _labaf; } function _setTotalHeldLabaf(address _tokenHolder, uint256 _labaf) internal { - _adjustBalancesStorage().labafHeldAmountByAccount[ - _tokenHolder - ] = _labaf; + _adjustBalancesStorage().labafHeldAmountByAccount[_tokenHolder] = _labaf; } - function _setTotalHeldLabafByPartition( - bytes32 _partition, - address _tokenHolder, - uint256 _labaf - ) internal { - _adjustBalancesStorage().labafHeldAmountByAccountAndPartition[ - _tokenHolder - ][_partition] = _labaf; + function _setTotalHeldLabafByPartition(bytes32 _partition, address _tokenHolder, uint256 _labaf) internal { + _adjustBalancesStorage().labafHeldAmountByAccountAndPartition[_tokenHolder][_partition] = _labaf; } - function _setTotalFreezeLabaf( - address _tokenHolder, - uint256 _labaf - ) internal { - _adjustBalancesStorage().labafFrozenAmountByAccount[ - _tokenHolder - ] = _labaf; + function _setTotalFreezeLabaf(address _tokenHolder, uint256 _labaf) internal { + _adjustBalancesStorage().labafFrozenAmountByAccount[_tokenHolder] = _labaf; } - function _setTotalFreezeLabafByPartition( - bytes32 _partition, - address _tokenHolder, - uint256 _labaf - ) internal { - _adjustBalancesStorage().labafFrozenAmountByAccountAndPartition[ - _tokenHolder - ][_partition] = _labaf; + function _setTotalFreezeLabafByPartition(bytes32 _partition, address _tokenHolder, uint256 _labaf) internal { + _adjustBalancesStorage().labafFrozenAmountByAccountAndPartition[_tokenHolder][_partition] = _labaf; } function _setClearedLabafById( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier, uint256 _labaf ) internal { _adjustBalancesStorage().labafClearedAmountByAccountPartitionTypeAndId[ _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingOperationType - ][_clearingOperationIdentifier.clearingId] = _labaf; + ][_clearingOperationIdentifier.partition][_clearingOperationIdentifier.clearingOperationType][ + _clearingOperationIdentifier.clearingId + ] = _labaf; } - function _setTotalClearedLabaf( - address _tokenHolder, - uint256 _labaf - ) internal { - _adjustBalancesStorage().labafClearedAmountByAccount[ - _tokenHolder - ] = _labaf; + function _setTotalClearedLabaf(address _tokenHolder, uint256 _labaf) internal { + _adjustBalancesStorage().labafClearedAmountByAccount[_tokenHolder] = _labaf; } - function _setTotalClearedLabafByPartition( - bytes32 _partition, - address _tokenHolder, - uint256 _labaf - ) internal { - _adjustBalancesStorage().labafClearedAmountByAccountAndPartition[ - _tokenHolder - ][_partition] = _labaf; + function _setTotalClearedLabafByPartition(bytes32 _partition, address _tokenHolder, uint256 _labaf) internal { + _adjustBalancesStorage().labafClearedAmountByAccountAndPartition[_tokenHolder][_partition] = _labaf; } function _updateLabafByTokenHolderAndPartitionIndex( @@ -407,54 +334,33 @@ abstract contract AdjustBalancesStorageWrapper1 is address tokenHolder, uint256 partitionIndex ) internal { - _adjustBalancesStorage().labafUserPartition[tokenHolder][ - partitionIndex - 1 - ] = labaf; + _adjustBalancesStorage().labafUserPartition[tokenHolder][partitionIndex - 1] = labaf; } - function _updateAllowanceLabaf( - address _owner, - address _spender, - uint256 _labaf - ) internal { + function _updateAllowanceLabaf(address _owner, address _spender, uint256 _labaf) internal { _adjustBalancesStorage().labafsAllowances[_owner][_spender] = _labaf; } function _setTotalLockLabaf(address _tokenHolder, uint256 _labaf) internal { - _adjustBalancesStorage().labafLockedAmountByAccount[ - _tokenHolder - ] = _labaf; + _adjustBalancesStorage().labafLockedAmountByAccount[_tokenHolder] = _labaf; } - function _setTotalLockLabafByPartition( - bytes32 _partition, - address _tokenHolder, - uint256 _labaf - ) internal { - _adjustBalancesStorage().labafLockedAmountByAccountAndPartition[ - _tokenHolder - ][_partition] = _labaf; + function _setTotalLockLabafByPartition(bytes32 _partition, address _tokenHolder, uint256 _labaf) internal { + _adjustBalancesStorage().labafLockedAmountByAccountAndPartition[_tokenHolder][_partition] = _labaf; } function _calculateFactorByAbafAndTokenHolder( uint256 abaf, address tokenHolder ) internal view returns (uint256 factor) { - factor = _calculateFactor( - abaf, - _adjustBalancesStorage().labaf[tokenHolder] - ); + factor = _calculateFactor(abaf, _adjustBalancesStorage().labaf[tokenHolder]); } function _calculateFactorByPartitionAdjustedAt( bytes32 partition, uint256 timestamp ) internal view returns (uint256) { - return - _calculateFactor( - _getAbafAdjustedAt(timestamp), - _adjustBalancesStorage().labafByPartition[partition] - ); + return _calculateFactor(_getAbafAdjustedAt(timestamp), _adjustBalancesStorage().labafByPartition[partition]); } function _calculateFactorByTokenHolderAndPartitionIndex( @@ -462,12 +368,7 @@ abstract contract AdjustBalancesStorageWrapper1 is address tokenHolder, uint256 partitionIndex ) internal view returns (uint256 factor) { - factor = _calculateFactor( - abaf, - _adjustBalancesStorage().labafUserPartition[tokenHolder][ - partitionIndex - 1 - ] - ); + factor = _calculateFactor(abaf, _adjustBalancesStorage().labafUserPartition[tokenHolder][partitionIndex - 1]); } function _calculateFactorForLockedAmountByTokenHolderAdjustedAt( @@ -488,14 +389,10 @@ abstract contract AdjustBalancesStorageWrapper1 is return _getAbafAdjustedAt(_blockTimestamp()); } - function _getAbafAdjustedAt( - uint256 _timestamp - ) internal view returns (uint256) { + function _getAbafAdjustedAt(uint256 _timestamp) internal view returns (uint256) { uint256 abaf = _getAbaf(); if (abaf == 0) abaf = 1; - (uint256 pendingAbaf, ) = _getPendingScheduledBalanceAdjustmentsAt( - _timestamp - ); + (uint256 pendingAbaf, ) = _getPendingScheduledBalanceAdjustmentsAt(_timestamp); return abaf * pendingAbaf; } @@ -503,34 +400,23 @@ abstract contract AdjustBalancesStorageWrapper1 is return _adjustBalancesStorage().labaf[_account]; } - function _getLabafByPartition( - bytes32 _partition - ) internal view returns (uint256) { + function _getLabafByPartition(bytes32 _partition) internal view returns (uint256) { return _adjustBalancesStorage().labafByPartition[_partition]; } - function _getAllowanceLabaf( - address _owner, - address _spender - ) internal view returns (uint256) { + function _getAllowanceLabaf(address _owner, address _spender) internal view returns (uint256) { return _adjustBalancesStorage().labafsAllowances[_owner][_spender]; } - function _getTotalLockLabaf( - address _tokenHolder - ) internal view returns (uint256 labaf_) { - return - _adjustBalancesStorage().labafLockedAmountByAccount[_tokenHolder]; + function _getTotalLockLabaf(address _tokenHolder) internal view returns (uint256 labaf_) { + return _adjustBalancesStorage().labafLockedAmountByAccount[_tokenHolder]; } function _getTotalLockLabafByPartition( bytes32 _partition, address _tokenHolder ) internal view returns (uint256 labaf_) { - return - _adjustBalancesStorage().labafLockedAmountByAccountAndPartition[ - _tokenHolder - ][_partition]; + return _adjustBalancesStorage().labafLockedAmountByAccountAndPartition[_tokenHolder][_partition]; } function _getLockLabafById( @@ -538,15 +424,10 @@ abstract contract AdjustBalancesStorageWrapper1 is address _tokenHolder, uint256 _lockId ) internal view returns (uint256) { - return - _adjustBalancesStorage().labafLockedAmountByAccountPartitionAndId[ - _tokenHolder - ][_partition][_lockId]; + return _adjustBalancesStorage().labafLockedAmountByAccountPartitionAndId[_tokenHolder][_partition][_lockId]; } - function _getTotalHeldLabaf( - address _tokenHolder - ) internal view returns (uint256 labaf_) { + function _getTotalHeldLabaf(address _tokenHolder) internal view returns (uint256 labaf_) { return _adjustBalancesStorage().labafHeldAmountByAccount[_tokenHolder]; } @@ -554,27 +435,18 @@ abstract contract AdjustBalancesStorageWrapper1 is bytes32 _partition, address _tokenHolder ) internal view returns (uint256 labaf_) { - return - _adjustBalancesStorage().labafHeldAmountByAccountAndPartition[ - _tokenHolder - ][_partition]; + return _adjustBalancesStorage().labafHeldAmountByAccountAndPartition[_tokenHolder][_partition]; } - function _getTotalFrozenLabaf( - address _tokenHolder - ) internal view returns (uint256 labaf_) { - return - _adjustBalancesStorage().labafFrozenAmountByAccount[_tokenHolder]; + function _getTotalFrozenLabaf(address _tokenHolder) internal view returns (uint256 labaf_) { + return _adjustBalancesStorage().labafFrozenAmountByAccount[_tokenHolder]; } function _getTotalFrozenLabafByPartition( bytes32 _partition, address _tokenHolder ) internal view returns (uint256 labaf_) { - return - _adjustBalancesStorage().labafFrozenAmountByAccountAndPartition[ - _tokenHolder - ][_partition]; + return _adjustBalancesStorage().labafFrozenAmountByAccountAndPartition[_tokenHolder][_partition]; } function _getHoldLabafById( @@ -582,56 +454,38 @@ abstract contract AdjustBalancesStorageWrapper1 is address _tokenHolder, uint256 _holdId ) internal view returns (uint256) { - return - _adjustBalancesStorage().labafHeldAmountByAccountPartitionAndId[ - _tokenHolder - ][_partition][_holdId]; + return _adjustBalancesStorage().labafHeldAmountByAccountPartitionAndId[_tokenHolder][_partition][_holdId]; } - function _getTotalClearedLabaf( - address _tokenHolder - ) internal view returns (uint256 labaf_) { - return - _adjustBalancesStorage().labafClearedAmountByAccount[_tokenHolder]; + function _getTotalClearedLabaf(address _tokenHolder) internal view returns (uint256 labaf_) { + return _adjustBalancesStorage().labafClearedAmountByAccount[_tokenHolder]; } function _getTotalClearedLabafByPartition( bytes32 _partition, address _tokenHolder ) internal view returns (uint256 labaf_) { - return - _adjustBalancesStorage().labafClearedAmountByAccountAndPartition[ - _tokenHolder - ][_partition]; + return _adjustBalancesStorage().labafClearedAmountByAccountAndPartition[_tokenHolder][_partition]; } function _getClearingLabafById( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier ) internal view returns (uint256) { return - _adjustBalancesStorage() - .labafClearedAmountByAccountPartitionTypeAndId[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingOperationType - ][_clearingOperationIdentifier.clearingId]; + _adjustBalancesStorage().labafClearedAmountByAccountPartitionTypeAndId[ + _clearingOperationIdentifier.tokenHolder + ][_clearingOperationIdentifier.partition][_clearingOperationIdentifier.clearingOperationType][ + _clearingOperationIdentifier.clearingId + ]; } - function _calculateFactor( - uint256 _abaf, - uint256 _labaf - ) internal pure returns (uint256 factor_) { + function _calculateFactor(uint256 _abaf, uint256 _labaf) internal pure returns (uint256 factor_) { if (_abaf == 0) return 1; if (_labaf == 0) return _abaf; factor_ = _abaf / _labaf; } - function _adjustBalancesStorage() - internal - pure - returns (AdjustBalancesStorage storage adjustBalancesStorage_) - { + function _adjustBalancesStorage() internal pure returns (AdjustBalancesStorage storage adjustBalancesStorage_) { bytes32 position = _ADJUST_BALANCES_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -643,10 +497,7 @@ abstract contract AdjustBalancesStorageWrapper1 is if (_factor == 0) revert FactorIsZero(); } - function _calculateNewAbaf( - uint256 abaf, - uint256 factor - ) private pure returns (uint256) { + function _calculateNewAbaf(uint256 abaf, uint256 factor) private pure returns (uint256) { return abaf == 0 ? factor : abaf * factor; } } diff --git a/packages/ats/contracts/contracts/layer_0/adjustBalances/AdjustBalancesStorageWrapper2.sol b/packages/ats/contracts/contracts/layer_0/adjustBalances/AdjustBalancesStorageWrapper2.sol index bb4eb553e..98be95dbb 100644 --- a/packages/ats/contracts/contracts/layer_0/adjustBalances/AdjustBalancesStorageWrapper2.sol +++ b/packages/ats/contracts/contracts/layer_0/adjustBalances/AdjustBalancesStorageWrapper2.sol @@ -206,16 +206,13 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {ClearingStorageWrapper2} from '../clearing/ClearingStorageWrapper2.sol'; +import { ClearingStorageWrapper2 } from '../clearing/ClearingStorageWrapper2.sol'; import { IAdjustBalancesStorageWrapper } from '../../layer_2/interfaces/adjustBalances/IAdjustBalancesStorageWrapper.sol'; -import {IClearing} from '../../layer_1/interfaces/clearing/IClearing.sol'; +import { IClearing } from '../../layer_1/interfaces/clearing/IClearing.sol'; -abstract contract AdjustBalancesStorageWrapper2 is - IAdjustBalancesStorageWrapper, - ClearingStorageWrapper2 -{ +abstract contract AdjustBalancesStorageWrapper2 is IAdjustBalancesStorageWrapper, ClearingStorageWrapper2 { function _adjustBalances(uint256 _factor, uint8 _decimals) internal { _updateDecimalsSnapshot(); _updateAbafSnapshot(); @@ -227,9 +224,7 @@ abstract contract AdjustBalancesStorageWrapper2 is emit AdjustmentBalanceSet(_msgSender(), _factor, _decimals); } - function _adjustTotalAndMaxSupplyForPartition( - bytes32 _partition - ) internal override { + function _adjustTotalAndMaxSupplyForPartition(bytes32 _partition) internal override { uint256 abaf = _getAbaf(); uint256 labaf = _getLabafByPartition(_partition); @@ -253,8 +248,7 @@ abstract contract AdjustBalancesStorageWrapper2 is } function _getClearingLabafByPartition( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier ) internal view override returns (uint256) { return _getClearingLabafById(_clearingOperationIdentifier); } @@ -263,14 +257,9 @@ abstract contract AdjustBalancesStorageWrapper2 is bytes32 _partition, address _account ) internal view override returns (uint256) { - uint256 partitionsIndex = _erc1410BasicStorage().partitionToIndex[ - _account - ][_partition]; + uint256 partitionsIndex = _erc1410BasicStorage().partitionToIndex[_account][_partition]; if (partitionsIndex == 0) return 0; - return - _adjustBalancesStorage().labafUserPartition[_account][ - partitionsIndex - 1 - ]; + return _adjustBalancesStorage().labafUserPartition[_account][partitionsIndex - 1]; } } diff --git a/packages/ats/contracts/contracts/layer_0/cap/CapStorageWrapper1.sol b/packages/ats/contracts/contracts/layer_0/cap/CapStorageWrapper1.sol index 486fe1a3f..a789d3779 100644 --- a/packages/ats/contracts/contracts/layer_0/cap/CapStorageWrapper1.sol +++ b/packages/ats/contracts/contracts/layer_0/cap/CapStorageWrapper1.sol @@ -205,11 +205,9 @@ pragma solidity 0.8.18; -import { - AdjustBalancesStorageWrapper1 -} from '../adjustBalances/AdjustBalancesStorageWrapper1.sol'; -import {_CAP_STORAGE_POSITION} from '../constants/storagePositions.sol'; -import {_MAX_UINT256} from '../constants/values.sol'; +import { AdjustBalancesStorageWrapper1 } from '../adjustBalances/AdjustBalancesStorageWrapper1.sol'; +import { _CAP_STORAGE_POSITION } from '../constants/storagePositions.sol'; +import { _MAX_UINT256 } from '../constants/values.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution @@ -226,10 +224,7 @@ abstract contract CapStorageWrapper1 is AdjustBalancesStorageWrapper1 { capStorage.maxSupply *= factor; } - function _adjustMaxSupplyByPartition( - bytes32 partition, - uint256 factor - ) internal { + function _adjustMaxSupplyByPartition(bytes32 partition, uint256 factor) internal { CapDataStorage storage capStorage = _capStorage(); if (capStorage.maxSupplyByPartition[partition] == _MAX_UINT256) return; capStorage.maxSupplyByPartition[partition] *= factor; @@ -239,53 +234,31 @@ abstract contract CapStorageWrapper1 is AdjustBalancesStorageWrapper1 { return _capStorage().maxSupply; } - function _getMaxSupplyByPartition( - bytes32 partition - ) internal view returns (uint256) { + function _getMaxSupplyByPartition(bytes32 partition) internal view returns (uint256) { return _capStorage().maxSupplyByPartition[partition]; } - function _getMaxSupplyAdjusted() - internal - view - returns (uint256 maxSupply_) - { + function _getMaxSupplyAdjusted() internal view returns (uint256 maxSupply_) { return _getMaxSupplyAdjustedAt(_blockTimestamp()); } - function _getMaxSupplyAdjustedAt( - uint256 timestamp - ) internal view returns (uint256) { + function _getMaxSupplyAdjustedAt(uint256 timestamp) internal view returns (uint256) { CapDataStorage storage capStorage = _capStorage(); if (capStorage.maxSupply == _MAX_UINT256) return _MAX_UINT256; - (uint256 pendingAbaf, ) = _getPendingScheduledBalanceAdjustmentsAt( - timestamp - ); + (uint256 pendingAbaf, ) = _getPendingScheduledBalanceAdjustmentsAt(timestamp); return capStorage.maxSupply * pendingAbaf; } - function _getMaxSupplyByPartitionAdjusted( - bytes32 _partition - ) internal view returns (uint256 maxSupply_) { - return - _getMaxSupplyByPartitionAdjustedAt(_partition, _blockTimestamp()); + function _getMaxSupplyByPartitionAdjusted(bytes32 _partition) internal view returns (uint256 maxSupply_) { + return _getMaxSupplyByPartitionAdjustedAt(_partition, _blockTimestamp()); } - function _getMaxSupplyByPartitionAdjustedAt( - bytes32 partition, - uint256 timestamp - ) internal view returns (uint256) { - uint256 factor = _calculateFactor( - _getAbafAdjustedAt(timestamp), - _getLabafByPartition(partition) - ); + function _getMaxSupplyByPartitionAdjustedAt(bytes32 partition, uint256 timestamp) internal view returns (uint256) { + uint256 factor = _calculateFactor(_getAbafAdjustedAt(timestamp), _getLabafByPartition(partition)); return _getMaxSupplyByPartition(partition) * factor; } - function _isCorrectMaxSupply( - uint256 _amount, - uint256 _maxSupply - ) internal pure returns (bool) { + function _isCorrectMaxSupply(uint256 _amount, uint256 _maxSupply) internal pure returns (bool) { return (_maxSupply == 0) || (_amount <= _maxSupply); } diff --git a/packages/ats/contracts/contracts/layer_0/cap/CapStorageWrapper2.sol b/packages/ats/contracts/contracts/layer_0/cap/CapStorageWrapper2.sol index ea81b95ca..abf20c92e 100644 --- a/packages/ats/contracts/contracts/layer_0/cap/CapStorageWrapper2.sol +++ b/packages/ats/contracts/contracts/layer_0/cap/CapStorageWrapper2.sol @@ -205,24 +205,18 @@ pragma solidity 0.8.18; -import { - ICapStorageWrapper -} from '../../layer_1/interfaces/cap/ICapStorageWrapper.sol'; -import {LockStorageWrapper2} from '../lock/LockStorageWrapper2.sol'; +import { ICapStorageWrapper } from '../../layer_1/interfaces/cap/ICapStorageWrapper.sol'; +import { LockStorageWrapper2 } from '../lock/LockStorageWrapper2.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution -abstract contract CapStorageWrapper2 is - ICapStorageWrapper, - LockStorageWrapper2 -{ +abstract contract CapStorageWrapper2 is ICapStorageWrapper, LockStorageWrapper2 { // modifiers modifier onlyWithinMaxSupply(uint256 _amount) { _checkWithinMaxSupply(_amount); _; } - modifier onlyWithinMaxSupplyByPartition(bytes32 _partition, uint256 _amount) - { + modifier onlyWithinMaxSupplyByPartition(bytes32 _partition, uint256 _amount) { _checkWithinMaxSupplyByPartition(_partition, _amount); _; } @@ -232,10 +226,7 @@ abstract contract CapStorageWrapper2 is _; } - modifier onlyValidNewMaxSupplyByPartition( - bytes32 _partition, - uint256 _newMaxSupply - ) { + modifier onlyValidNewMaxSupplyByPartition(bytes32 _partition, uint256 _newMaxSupply) { _checkNewMaxSupplyByPartition(_partition, _newMaxSupply); _; } @@ -247,44 +238,21 @@ abstract contract CapStorageWrapper2 is emit MaxSupplySet(_msgSender(), _maxSupply, previousMaxSupply); } - function _setMaxSupplyByPartition( - bytes32 _partition, - uint256 _maxSupply - ) internal { - uint256 previousMaxSupplyByPartition = _getMaxSupplyByPartition( - _partition - ); + function _setMaxSupplyByPartition(bytes32 _partition, uint256 _maxSupply) internal { + uint256 previousMaxSupplyByPartition = _getMaxSupplyByPartition(_partition); _capStorage().maxSupplyByPartition[_partition] = _maxSupply; - emit MaxSupplyByPartitionSet( - _msgSender(), - _partition, - _maxSupply, - previousMaxSupplyByPartition - ); + emit MaxSupplyByPartitionSet(_msgSender(), _partition, _maxSupply, previousMaxSupplyByPartition); } - function _checkNewMaxSupplyByPartition( - bytes32 _partition, - uint256 _newMaxSupply - ) internal view { + function _checkNewMaxSupplyByPartition(bytes32 _partition, uint256 _newMaxSupply) internal view { if (_newMaxSupply == 0) return; - uint256 totalSupplyForPartition = _totalSupplyByPartitionAdjusted( - _partition - ); + uint256 totalSupplyForPartition = _totalSupplyByPartitionAdjusted(_partition); if (totalSupplyForPartition > _newMaxSupply) { - revert NewMaxSupplyForPartitionTooLow( - _partition, - _newMaxSupply, - totalSupplyForPartition - ); + revert NewMaxSupplyForPartitionTooLow(_partition, _newMaxSupply, totalSupplyForPartition); } uint256 maxSupplyOverall = _getMaxSupplyAdjusted(); if (_newMaxSupply > maxSupplyOverall) { - revert NewMaxSupplyByPartitionTooHigh( - _partition, - _newMaxSupply, - maxSupplyOverall - ); + revert NewMaxSupplyByPartitionTooHigh(_partition, _newMaxSupply, maxSupplyOverall); } } @@ -295,21 +263,10 @@ abstract contract CapStorageWrapper2 is } } - function _checkWithinMaxSupplyByPartition( - bytes32 _partition, - uint256 _amount - ) private view { + function _checkWithinMaxSupplyByPartition(bytes32 _partition, uint256 _amount) private view { uint256 maxSupplyForPartition = _getMaxSupplyByPartition(_partition); - if ( - !_isCorrectMaxSupply( - _totalSupplyByPartition(_partition) + _amount, - maxSupplyForPartition - ) - ) { - revert ICapStorageWrapper.MaxSupplyReachedForPartition( - _partition, - maxSupplyForPartition - ); + if (!_isCorrectMaxSupply(_totalSupplyByPartition(_partition) + _amount, maxSupplyForPartition)) { + revert ICapStorageWrapper.MaxSupplyReachedForPartition(_partition, maxSupplyForPartition); } } diff --git a/packages/ats/contracts/contracts/layer_0/clearing/ClearingStorageWrapper1.sol b/packages/ats/contracts/contracts/layer_0/clearing/ClearingStorageWrapper1.sol index b5a50f3b8..79598aeae 100644 --- a/packages/ats/contracts/contracts/layer_0/clearing/ClearingStorageWrapper1.sol +++ b/packages/ats/contracts/contracts/layer_0/clearing/ClearingStorageWrapper1.sol @@ -206,33 +206,22 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {_CLEARING_STORAGE_POSITION} from '../constants/storagePositions.sol'; -import {HoldStorageWrapper1} from '../hold/HoldStorageWrapper1.sol'; -import {IClearing} from '../../layer_1/interfaces/clearing/IClearing.sol'; -import { - IClearingTransfer -} from '../../layer_1/interfaces/clearing/IClearingTransfer.sol'; -import { - IClearingRedeem -} from '../../layer_1/interfaces/clearing/IClearingRedeem.sol'; -import {IClearing} from '../../layer_1/interfaces/clearing/IClearing.sol'; -import { - IClearingHoldCreation -} from '../../layer_1/interfaces/clearing/IClearingHoldCreation.sol'; -import {LibCommon} from '../common/libraries/LibCommon.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import {ThirdPartyType} from '../common/types/ThirdPartyType.sol'; +import { _CLEARING_STORAGE_POSITION } from '../constants/storagePositions.sol'; +import { HoldStorageWrapper1 } from '../hold/HoldStorageWrapper1.sol'; +import { IClearing } from '../../layer_1/interfaces/clearing/IClearing.sol'; +import { IClearingTransfer } from '../../layer_1/interfaces/clearing/IClearingTransfer.sol'; +import { IClearingRedeem } from '../../layer_1/interfaces/clearing/IClearingRedeem.sol'; +import { IClearing } from '../../layer_1/interfaces/clearing/IClearing.sol'; +import { IClearingHoldCreation } from '../../layer_1/interfaces/clearing/IClearingHoldCreation.sol'; +import { LibCommon } from '../common/libraries/LibCommon.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { ThirdPartyType } from '../common/types/ThirdPartyType.sol'; abstract contract ClearingStorageWrapper1 is HoldStorageWrapper1 { using LibCommon for EnumerableSet.UintSet; using EnumerableSet for EnumerableSet.UintSet; - modifier onlyWithValidClearingId( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier - ) { + modifier onlyWithValidClearingId(IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier) { _checkClearingId(_clearingOperationIdentifier); _; } @@ -243,8 +232,7 @@ abstract contract ClearingStorageWrapper1 is HoldStorageWrapper1 { } modifier validateExpirationTimestamp( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier, bool _mustBeExpired ) { _checkExpirationTimestamp(_clearingOperationIdentifier, _mustBeExpired); @@ -257,16 +245,13 @@ abstract contract ClearingStorageWrapper1 is HoldStorageWrapper1 { } function _isClearingIdValid( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) internal view returns (bool) { return _clearingStorage() - .clearingIdsByAccountAndPartitionAndTypes[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingOperationType - ].contains(_clearingOperationIdentifier.clearingId); + .clearingIdsByAccountAndPartitionAndTypes[_clearingOperationIdentifier.tokenHolder][ + _clearingOperationIdentifier.partition + ][_clearingOperationIdentifier.clearingOperationType].contains(_clearingOperationIdentifier.clearingId); } function _isClearingActivated() internal view returns (bool) { @@ -280,32 +265,18 @@ abstract contract ClearingStorageWrapper1 is HoldStorageWrapper1 { ) internal view returns (uint256) { return _clearingStorage() - .clearingIdsByAccountAndPartitionAndTypes[_tokenHolder][_partition][ - _clearingOperationType - ].length(); + .clearingIdsByAccountAndPartitionAndTypes[_tokenHolder][_partition][_clearingOperationType].length(); } function _getClearingBasicInfo( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier - ) - internal - view - returns ( - IClearing.ClearingOperationBasicInfo - memory clearingOperationBasicInfo_ - ) - { - if ( - _clearingOperationIdentifier.clearingOperationType == - IClearing.ClearingOperationType.Redeem - ) { - IClearingTransfer.ClearingRedeemData - memory clearingRedeemData = _getClearingRedeemForByPartition( - _clearingOperationIdentifier.partition, - _clearingOperationIdentifier.tokenHolder, - _clearingOperationIdentifier.clearingId - ); + IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier + ) internal view returns (IClearing.ClearingOperationBasicInfo memory clearingOperationBasicInfo_) { + if (_clearingOperationIdentifier.clearingOperationType == IClearing.ClearingOperationType.Redeem) { + IClearingTransfer.ClearingRedeemData memory clearingRedeemData = _getClearingRedeemForByPartition( + _clearingOperationIdentifier.partition, + _clearingOperationIdentifier.tokenHolder, + _clearingOperationIdentifier.clearingId + ); return _buildClearingOperationBasicInfo( clearingRedeemData.expirationTimestamp, @@ -314,16 +285,12 @@ abstract contract ClearingStorageWrapper1 is HoldStorageWrapper1 { ); } - if ( - _clearingOperationIdentifier.clearingOperationType == - IClearing.ClearingOperationType.Transfer - ) { - IClearingTransfer.ClearingTransferData - memory clearingTransferData = _getClearingTransferForByPartition( - _clearingOperationIdentifier.partition, - _clearingOperationIdentifier.tokenHolder, - _clearingOperationIdentifier.clearingId - ); + if (_clearingOperationIdentifier.clearingOperationType == IClearing.ClearingOperationType.Transfer) { + IClearingTransfer.ClearingTransferData memory clearingTransferData = _getClearingTransferForByPartition( + _clearingOperationIdentifier.partition, + _clearingOperationIdentifier.tokenHolder, + _clearingOperationIdentifier.clearingId + ); return _buildClearingOperationBasicInfo( clearingTransferData.expirationTimestamp, @@ -355,9 +322,10 @@ abstract contract ClearingStorageWrapper1 is HoldStorageWrapper1 { ) internal view returns (uint256[] memory clearingsId_) { return _clearingStorage() - .clearingIdsByAccountAndPartitionAndTypes[_tokenHolder][_partition][ - _clearingOperationType - ].getFromSet(_pageIndex, _pageLength); + .clearingIdsByAccountAndPartitionAndTypes[_tokenHolder][_partition][_clearingOperationType].getFromSet( + _pageIndex, + _pageLength + ); } function _getClearingThirdParty( @@ -366,65 +334,42 @@ abstract contract ClearingStorageWrapper1 is HoldStorageWrapper1 { IClearing.ClearingOperationType _operationType, uint256 _clearingId ) internal view returns (address thirdParty_) { - thirdParty_ = _clearingStorage() - .clearingThirdPartyByAccountPartitionTypeAndId[_tokenHolder][ - _partition - ][_operationType][_clearingId]; + thirdParty_ = _clearingStorage().clearingThirdPartyByAccountPartitionTypeAndId[_tokenHolder][_partition][ + _operationType + ][_clearingId]; } function _getClearingTransferForByPartition( bytes32 _partition, address _tokenHolder, uint256 _clearingId - ) - internal - view - returns ( - IClearingTransfer.ClearingTransferData memory clearingTransferData_ - ) - { - clearingTransferData_ = _clearingStorage() - .clearingTransferByAccountPartitionAndId[_tokenHolder][_partition][ - _clearingId - ]; + ) internal view returns (IClearingTransfer.ClearingTransferData memory clearingTransferData_) { + clearingTransferData_ = _clearingStorage().clearingTransferByAccountPartitionAndId[_tokenHolder][_partition][ + _clearingId + ]; } function _getClearingRedeemForByPartition( bytes32 _partition, address _tokenHolder, uint256 _clearingId - ) - internal - view - returns (IClearingRedeem.ClearingRedeemData memory clearingRedeemData_) - { - clearingRedeemData_ = _clearingStorage() - .clearingRedeemByAccountPartitionAndId[_tokenHolder][_partition][ - _clearingId - ]; + ) internal view returns (IClearingRedeem.ClearingRedeemData memory clearingRedeemData_) { + clearingRedeemData_ = _clearingStorage().clearingRedeemByAccountPartitionAndId[_tokenHolder][_partition][ + _clearingId + ]; } function _getClearingHoldCreationForByPartition( bytes32 _partition, address _tokenHolder, uint256 _clearingId - ) - internal - view - returns ( - IClearingHoldCreation.ClearingHoldCreationData - memory clearingHoldCreationData_ - ) - { - clearingHoldCreationData_ = _clearingStorage() - .clearingHoldCreationByAccountPartitionAndId[_tokenHolder][ - _partition - ][_clearingId]; + ) internal view returns (IClearingHoldCreation.ClearingHoldCreationData memory clearingHoldCreationData_) { + clearingHoldCreationData_ = _clearingStorage().clearingHoldCreationByAccountPartitionAndId[_tokenHolder][ + _partition + ][_clearingId]; } - function _getClearedAmountFor( - address _tokenHolder - ) internal view returns (uint256 amount_) { + function _getClearedAmountFor(address _tokenHolder) internal view returns (uint256 amount_) { return _clearingStorage().totalClearedAmountByAccount[_tokenHolder]; } @@ -432,23 +377,14 @@ abstract contract ClearingStorageWrapper1 is HoldStorageWrapper1 { bytes32 _partition, address _tokenHolder ) internal view returns (uint256 amount_) { - return - _clearingStorage().totalClearedAmountByAccountAndPartition[ - _tokenHolder - ][_partition]; + return _clearingStorage().totalClearedAmountByAccountAndPartition[_tokenHolder][_partition]; } function _checkExpirationTimestamp( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier, bool _mustBeExpired ) internal view { - if ( - _isExpired( - _getClearingBasicInfo(_clearingOperationIdentifier) - .expirationTimestamp - ) != _mustBeExpired - ) { + if (_isExpired(_getClearingBasicInfo(_clearingOperationIdentifier).expirationTimestamp) != _mustBeExpired) { if (_mustBeExpired) revert IClearing.ExpirationDateNotReached(); revert IClearing.ExpirationDateReached(); } @@ -530,11 +466,7 @@ abstract contract ClearingStorageWrapper1 is HoldStorageWrapper1 { }); } - function _clearingStorage() - internal - pure - returns (IClearing.ClearingDataStorage storage clearing_) - { + function _clearingStorage() internal pure returns (IClearing.ClearingDataStorage storage clearing_) { bytes32 position = _CLEARING_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -543,11 +475,9 @@ abstract contract ClearingStorageWrapper1 is HoldStorageWrapper1 { } function _checkClearingId( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) private view { - if (!_isClearingIdValid(_clearingOperationIdentifier)) - revert IClearing.WrongClearingId(); + if (!_isClearingIdValid(_clearingOperationIdentifier)) revert IClearing.WrongClearingId(); } function _checkClearingActivated() private view { diff --git a/packages/ats/contracts/contracts/layer_0/clearing/ClearingStorageWrapper2.sol b/packages/ats/contracts/contracts/layer_0/clearing/ClearingStorageWrapper2.sol index 5bc6798b6..83328b4d2 100644 --- a/packages/ats/contracts/contracts/layer_0/clearing/ClearingStorageWrapper2.sol +++ b/packages/ats/contracts/contracts/layer_0/clearing/ClearingStorageWrapper2.sol @@ -206,36 +206,22 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {HoldStorageWrapper2} from '../hold/HoldStorageWrapper2.sol'; -import {IClearing} from '../../layer_1/interfaces/clearing/IClearing.sol'; -import { - IClearingActions -} from '../../layer_1/interfaces/clearing/IClearingActions.sol'; -import { - IClearingTransfer -} from '../../layer_1/interfaces/clearing/IClearingTransfer.sol'; -import { - IClearingStorageWrapper -} from '../../layer_1/interfaces/clearing/IClearingStorageWrapper.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - checkNounceAndDeadline -} from '../../layer_1/protectedPartitions/signatureVerification.sol'; -import {IHold} from '../../layer_1/interfaces/hold/IHold.sol'; -import {IKyc} from '../../layer_1/interfaces/kyc/IKyc.sol'; -import {ThirdPartyType} from '../common/types/ThirdPartyType.sol'; - -abstract contract ClearingStorageWrapper2 is - IClearingStorageWrapper, - HoldStorageWrapper2 -{ +import { HoldStorageWrapper2 } from '../hold/HoldStorageWrapper2.sol'; +import { IClearing } from '../../layer_1/interfaces/clearing/IClearing.sol'; +import { IClearingActions } from '../../layer_1/interfaces/clearing/IClearingActions.sol'; +import { IClearingTransfer } from '../../layer_1/interfaces/clearing/IClearingTransfer.sol'; +import { IClearingStorageWrapper } from '../../layer_1/interfaces/clearing/IClearingStorageWrapper.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { checkNounceAndDeadline } from '../../layer_1/protectedPartitions/signatureVerification.sol'; +import { IHold } from '../../layer_1/interfaces/hold/IHold.sol'; +import { IKyc } from '../../layer_1/interfaces/kyc/IKyc.sol'; +import { ThirdPartyType } from '../common/types/ThirdPartyType.sol'; + +abstract contract ClearingStorageWrapper2 is IClearingStorageWrapper, HoldStorageWrapper2 { using EnumerableSet for EnumerableSet.UintSet; function _protectedClearingTransferByPartition( - IClearing.ProtectedClearingOperation - calldata _protectedClearingOperation, + IClearing.ProtectedClearingOperation calldata _protectedClearingOperation, uint256 _amount, address _to, bytes calldata _signature @@ -248,17 +234,9 @@ abstract contract ClearingStorageWrapper2 is _blockTimestamp() ); - _checkClearingTransferSignature( - _protectedClearingOperation, - _amount, - _to, - _signature - ); + _checkClearingTransferSignature(_protectedClearingOperation, _amount, _to, _signature); - _setNounce( - _protectedClearingOperation.nonce, - _protectedClearingOperation.from - ); + _setNounce(_protectedClearingOperation.nonce, _protectedClearingOperation.from); (success_, clearingId_) = _clearingTransferCreation( _protectedClearingOperation.clearingOperation, @@ -283,16 +261,9 @@ abstract contract ClearingStorageWrapper2 is _blockTimestamp() ); - _checkClearingCreateHoldSignature( - _protectedClearingOperation, - _hold, - _signature - ); + _checkClearingCreateHoldSignature(_protectedClearingOperation, _hold, _signature); - _setNounce( - _protectedClearingOperation.nonce, - _protectedClearingOperation.from - ); + _setNounce(_protectedClearingOperation.nonce, _protectedClearingOperation.from); (success_, clearingId_) = _clearingHoldCreationCreation( _protectedClearingOperation.clearingOperation, @@ -304,8 +275,7 @@ abstract contract ClearingStorageWrapper2 is } function _protectedClearingRedeemByPartition( - IClearing.ProtectedClearingOperation - calldata _protectedClearingOperation, + IClearing.ProtectedClearingOperation calldata _protectedClearingOperation, uint256 _amount, bytes calldata _signature ) internal returns (bool success_, uint256 clearingId_) { @@ -317,16 +287,9 @@ abstract contract ClearingStorageWrapper2 is _blockTimestamp() ); - _checkClearingRedeemSignature( - _protectedClearingOperation, - _amount, - _signature - ); + _checkClearingRedeemSignature(_protectedClearingOperation, _amount, _signature); - _setNounce( - _protectedClearingOperation.nonce, - _protectedClearingOperation.from - ); + _setNounce(_protectedClearingOperation.nonce, _protectedClearingOperation.from); (success_, clearingId_) = _clearingRedeemCreation( _protectedClearingOperation.clearingOperation, @@ -345,35 +308,22 @@ abstract contract ClearingStorageWrapper2 is ) internal returns (uint256 clearingId_) { bytes32 partition = _clearingOperation.partition; - IClearing.ClearingDataStorage - storage clearingDataStorage = _clearingStorage(); + IClearing.ClearingDataStorage storage clearingDataStorage = _clearingStorage(); unchecked { - clearingId_ = ++clearingDataStorage - .nextClearingIdByAccountPartitionAndType[_from][partition][ - _operationType - ]; + clearingId_ = ++clearingDataStorage.nextClearingIdByAccountPartitionAndType[_from][partition][ + _operationType + ]; } _beforeClearingOperation( - _buildClearingOperationIdentifier( - _from, - partition, - clearingId_, - _operationType - ), + _buildClearingOperationIdentifier(_from, partition, clearingId_, _operationType), address(0) ); _reduceBalanceByPartition(_from, _amount, partition); - _setClearingIdByPartitionAndType( - clearingDataStorage, - _from, - partition, - clearingId_, - _operationType - ); + _setClearingIdByPartitionAndType(clearingDataStorage, _from, partition, clearingId_, _operationType); _increaseClearedAmounts(_from, partition, _amount); } @@ -396,16 +346,9 @@ abstract contract ClearingStorageWrapper2 is IClearing.ClearingOperationType.Transfer ); - _clearingStorage().clearingTransferByAccountPartitionAndId[_from][ - _clearingOperation.partition - ][clearingId_] = _buildClearingTransferData( - _amount, - expirationTimestamp, - _to, - data, - _operatorData, - _thirdPartyType - ); + _clearingStorage().clearingTransferByAccountPartitionAndId[_from][_clearingOperation.partition][ + clearingId_ + ] = _buildClearingTransferData(_amount, expirationTimestamp, _to, data, _operatorData, _thirdPartyType); _emitClearedTransferEvent( _from, @@ -436,9 +379,9 @@ abstract contract ClearingStorageWrapper2 is IClearing.ClearingOperationType.Redeem ); - _clearingStorage().clearingRedeemByAccountPartitionAndId[_from][ - _clearingOperation.partition - ][clearingId_] = _buildClearingRedeemData( + _clearingStorage().clearingRedeemByAccountPartitionAndId[_from][_clearingOperation.partition][ + clearingId_ + ] = _buildClearingRedeemData( _amount, _clearingOperation.expirationTimestamp, _clearingOperation.data, @@ -474,9 +417,9 @@ abstract contract ClearingStorageWrapper2 is IClearing.ClearingOperationType.HoldCreation ); - _clearingStorage().clearingHoldCreationByAccountPartitionAndId[_from][ - _clearingOperation.partition - ][clearingId_] = _buildClearingHoldCreationData( + _clearingStorage().clearingHoldCreationByAccountPartitionAndId[_from][_clearingOperation.partition][ + clearingId_ + ] = _buildClearingHoldCreationData( _hold.amount, _clearingOperation.expirationTimestamp, _hold.expirationTimestamp, @@ -503,8 +446,7 @@ abstract contract ClearingStorageWrapper2 is } function _approveClearingOperationByPartition( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) internal returns (bool success_) { return _handleClearingOperationByPartition( @@ -514,8 +456,7 @@ abstract contract ClearingStorageWrapper2 is } function _cancelClearingOperationByPartition( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) internal returns (bool success_) { return _handleClearingOperationByPartition( @@ -525,8 +466,7 @@ abstract contract ClearingStorageWrapper2 is } function _reclaimClearingOperationByPartition( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) internal returns (bool success_) { return _handleClearingOperationByPartition( @@ -536,8 +476,7 @@ abstract contract ClearingStorageWrapper2 is } function _handleClearingOperationByPartition( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier, IClearingActions.ClearingActionType operationType ) internal returns (bool success_) { _beforeClearingOperation( @@ -546,30 +485,15 @@ abstract contract ClearingStorageWrapper2 is ); uint256 amount; ThirdPartyType operatorType; - (success_, amount, operatorType) = _operateClearingAction( - _clearingOperationIdentifier, - operationType - ); - _restoreAllowanceAndRemoveClearing( - operationType, - operatorType, - _clearingOperationIdentifier, - amount - ); + (success_, amount, operatorType) = _operateClearingAction(_clearingOperationIdentifier, operationType); + _restoreAllowanceAndRemoveClearing(operationType, operatorType, _clearingOperationIdentifier, amount); } function _operateClearingAction( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier, IClearingActions.ClearingActionType _operation - ) - internal - returns (bool success_, uint256 amount_, ThirdPartyType operatorType_) - { - if ( - _clearingOperationIdentifier.clearingOperationType == - IClearing.ClearingOperationType.Transfer - ) + ) internal returns (bool success_, uint256 amount_, ThirdPartyType operatorType_) { + if (_clearingOperationIdentifier.clearingOperationType == IClearing.ClearingOperationType.Transfer) return _clearingTransferExecution( _clearingOperationIdentifier.partition, @@ -578,10 +502,7 @@ abstract contract ClearingStorageWrapper2 is _operation ); - if ( - _clearingOperationIdentifier.clearingOperationType == - IClearing.ClearingOperationType.Redeem - ) + if (_clearingOperationIdentifier.clearingOperationType == IClearing.ClearingOperationType.Redeem) return _clearingRedeemExecution( _clearingOperationIdentifier.partition, @@ -599,11 +520,7 @@ abstract contract ClearingStorageWrapper2 is ); } - function _transferClearingBalance( - bytes32 _partition, - address _to, - uint256 _amount - ) internal { + function _transferClearingBalance(bytes32 _partition, address _to, uint256 _amount) internal { if (_validPartitionForReceiver(_partition, _to)) { _increaseBalanceByPartition(_to, _amount, _partition); return; @@ -611,67 +528,43 @@ abstract contract ClearingStorageWrapper2 is _addPartitionTo(_amount, _to, _partition); } - function _removeClearing( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier - ) internal { - IClearing.ClearingDataStorage - storage clearingStorage = _clearingStorage(); + function _removeClearing(IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier) internal { + IClearing.ClearingDataStorage storage clearingStorage = _clearingStorage(); - uint256 amount = _getClearingBasicInfo(_clearingOperationIdentifier) - .amount; + uint256 amount = _getClearingBasicInfo(_clearingOperationIdentifier).amount; - clearingStorage.totalClearedAmountByAccount[ - _clearingOperationIdentifier.tokenHolder + clearingStorage.totalClearedAmountByAccount[_clearingOperationIdentifier.tokenHolder] -= amount; + clearingStorage.totalClearedAmountByAccountAndPartition[_clearingOperationIdentifier.tokenHolder][ + _clearingOperationIdentifier.partition ] -= amount; - clearingStorage.totalClearedAmountByAccountAndPartition[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition] -= amount; clearingStorage - .clearingIdsByAccountAndPartitionAndTypes[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingOperationType - ].remove(_clearingOperationIdentifier.clearingId); - - delete clearingStorage.clearingThirdPartyByAccountPartitionTypeAndId[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingOperationType - ][_clearingOperationIdentifier.clearingId]; + .clearingIdsByAccountAndPartitionAndTypes[_clearingOperationIdentifier.tokenHolder][ + _clearingOperationIdentifier.partition + ][_clearingOperationIdentifier.clearingOperationType].remove(_clearingOperationIdentifier.clearingId); - if ( - _clearingOperationIdentifier.clearingOperationType == - IClearing.ClearingOperationType.Transfer - ) - delete clearingStorage.clearingTransferByAccountPartitionAndId[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingId - ]; - else if ( - _clearingOperationIdentifier.clearingOperationType == - IClearing.ClearingOperationType.Redeem - ) - delete clearingStorage.clearingRedeemByAccountPartitionAndId[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingId - ]; + delete clearingStorage.clearingThirdPartyByAccountPartitionTypeAndId[_clearingOperationIdentifier.tokenHolder][ + _clearingOperationIdentifier.partition + ][_clearingOperationIdentifier.clearingOperationType][_clearingOperationIdentifier.clearingId]; + + if (_clearingOperationIdentifier.clearingOperationType == IClearing.ClearingOperationType.Transfer) + delete clearingStorage.clearingTransferByAccountPartitionAndId[_clearingOperationIdentifier.tokenHolder][ + _clearingOperationIdentifier.partition + ][_clearingOperationIdentifier.clearingId]; + else if (_clearingOperationIdentifier.clearingOperationType == IClearing.ClearingOperationType.Redeem) + delete clearingStorage.clearingRedeemByAccountPartitionAndId[_clearingOperationIdentifier.tokenHolder][ + _clearingOperationIdentifier.partition + ][_clearingOperationIdentifier.clearingId]; else delete clearingStorage.clearingHoldCreationByAccountPartitionAndId[ _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingId - ]; + ][_clearingOperationIdentifier.partition][_clearingOperationIdentifier.clearingId]; _removeLabafClearing(_clearingOperationIdentifier); } function _beforeClearingOperation( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier, address _to ) internal { _adjustClearingBalances(_clearingOperationIdentifier, _to); @@ -683,112 +576,69 @@ abstract contract ClearingStorageWrapper2 is } function _adjustClearingBalances( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier, address _to ) internal { - _triggerAndSyncAll( - _clearingOperationIdentifier.partition, - _clearingOperationIdentifier.tokenHolder, - _to - ); + _triggerAndSyncAll(_clearingOperationIdentifier.partition, _clearingOperationIdentifier.tokenHolder, _to); _updateClearing( _clearingOperationIdentifier, - _updateTotalCleared( - _clearingOperationIdentifier.partition, - _clearingOperationIdentifier.tokenHolder - ) + _updateTotalCleared(_clearingOperationIdentifier.partition, _clearingOperationIdentifier.tokenHolder) ); } function _updateClearing( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier, uint256 _abaf ) internal { - uint256 clearingLabaf = _getClearingLabafByPartition( - _clearingOperationIdentifier - ); + uint256 clearingLabaf = _getClearingLabafByPartition(_clearingOperationIdentifier); if (_abaf == clearingLabaf) { return; } - _updateClearingAmountById( - _clearingOperationIdentifier, - _calculateFactor(_abaf, clearingLabaf) - ); + _updateClearingAmountById(_clearingOperationIdentifier, _calculateFactor(_abaf, clearingLabaf)); _setClearedLabafById(_clearingOperationIdentifier, _abaf); } function _updateClearingAmountById( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier, uint256 _factor ) internal { if (_factor == 1) return; - if ( - _clearingOperationIdentifier.clearingOperationType == - IClearing.ClearingOperationType.Transfer - ) { + if (_clearingOperationIdentifier.clearingOperationType == IClearing.ClearingOperationType.Transfer) { _clearingStorage() - .clearingTransferByAccountPartitionAndId[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingId - ].amount *= _factor; + .clearingTransferByAccountPartitionAndId[_clearingOperationIdentifier.tokenHolder][ + _clearingOperationIdentifier.partition + ][_clearingOperationIdentifier.clearingId].amount *= _factor; return; } - if ( - _clearingOperationIdentifier.clearingOperationType == - IClearing.ClearingOperationType.Redeem - ) { + if (_clearingOperationIdentifier.clearingOperationType == IClearing.ClearingOperationType.Redeem) { _clearingStorage() - .clearingRedeemByAccountPartitionAndId[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingId - ].amount *= _factor; + .clearingRedeemByAccountPartitionAndId[_clearingOperationIdentifier.tokenHolder][ + _clearingOperationIdentifier.partition + ][_clearingOperationIdentifier.clearingId].amount *= _factor; return; } _clearingStorage() - .clearingHoldCreationByAccountPartitionAndId[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingId - ].amount *= _factor; + .clearingHoldCreationByAccountPartitionAndId[_clearingOperationIdentifier.tokenHolder][ + _clearingOperationIdentifier.partition + ][_clearingOperationIdentifier.clearingId].amount *= _factor; } - function _increaseClearedAmounts( - address _tokenHolder, - bytes32 _partition, - uint256 _amount - ) internal { - _clearingStorage().totalClearedAmountByAccountAndPartition[ - _tokenHolder - ][_partition] += _amount; + function _increaseClearedAmounts(address _tokenHolder, bytes32 _partition, uint256 _amount) internal { + _clearingStorage().totalClearedAmountByAccountAndPartition[_tokenHolder][_partition] += _amount; _clearingStorage().totalClearedAmountByAccount[_tokenHolder] += _amount; } - function _updateTotalCleared( - bytes32 _partition, - address _tokenHolder - ) internal returns (uint256 abaf_) { + function _updateTotalCleared(bytes32 _partition, address _tokenHolder) internal returns (uint256 abaf_) { abaf_ = _getAbaf(); uint256 labaf = _getTotalClearedLabaf(_tokenHolder); - uint256 labafByPartition = _getTotalClearedLabafByPartition( - _partition, - _tokenHolder - ); + uint256 labafByPartition = _getTotalClearedLabafByPartition(_partition, _tokenHolder); if (abaf_ != labaf) { - _updateTotalClearedAmountAndLabaf( - _tokenHolder, - _calculateFactor(abaf_, labaf), - abaf_ - ); + _updateTotalClearedAmountAndLabaf(_tokenHolder, _calculateFactor(abaf_, labaf), abaf_); } if (abaf_ != labafByPartition) { @@ -801,11 +651,7 @@ abstract contract ClearingStorageWrapper2 is } } - function _updateTotalClearedAmountAndLabaf( - address _tokenHolder, - uint256 _factor, - uint256 _abaf - ) internal { + function _updateTotalClearedAmountAndLabaf(address _tokenHolder, uint256 _factor, uint256 _abaf) internal { if (_factor == 1) return; _clearingStorage().totalClearedAmountByAccount[_tokenHolder] *= _factor; @@ -820,9 +666,7 @@ abstract contract ClearingStorageWrapper2 is ) internal { if (_factor == 1) return; - _clearingStorage().totalClearedAmountByAccountAndPartition[ - _tokenHolder - ][_partition] *= _factor; + _clearingStorage().totalClearedAmountByAccountAndPartition[_tokenHolder][_partition] *= _factor; _setTotalClearedLabafByPartition(_partition, _tokenHolder, _abaf); } @@ -833,10 +677,9 @@ abstract contract ClearingStorageWrapper2 is uint256 _clearingId, IClearing.ClearingOperationType _operationType ) internal { - _clearingDataStorage - .clearingIdsByAccountAndPartitionAndTypes[_tokenHolder][_partition][ - _operationType - ].add(_clearingId); + _clearingDataStorage.clearingIdsByAccountAndPartitionAndTypes[_tokenHolder][_partition][_operationType].add( + _clearingId + ); } function _decreaseAllowedBalanceForClearing( @@ -848,18 +691,15 @@ abstract contract ClearingStorageWrapper2 is ) internal { address spender = _msgSender(); _decreaseAllowedBalance(_from, spender, _amount); - _clearingStorage().clearingThirdPartyByAccountPartitionTypeAndId[_from][ - _partition - ][_clearingOperationType][_clearingId] = spender; + _clearingStorage().clearingThirdPartyByAccountPartitionTypeAndId[_from][_partition][_clearingOperationType][ + _clearingId + ] = spender; } function _getClearedAmountForAdjusted( address _tokenHolder ) internal view virtual override returns (uint256 amount_) { - uint256 factor = _calculateFactor( - _getAbafAdjusted(), - _getTotalClearedLabaf(_tokenHolder) - ); + uint256 factor = _calculateFactor(_getAbafAdjusted(), _getTotalClearedLabaf(_tokenHolder)); return _getClearedAmountFor(_tokenHolder) * factor; } @@ -872,26 +712,15 @@ abstract contract ClearingStorageWrapper2 is _getAbafAdjusted(), _getTotalClearedLabafByPartition(_partition, _tokenHolder) ); - return - _getClearedAmountForByPartition(_partition, _tokenHolder) * factor; + return _getClearedAmountForByPartition(_partition, _tokenHolder) * factor; } function _getClearingTransferForByPartitionAdjusted( bytes32 _partition, address _tokenHolder, uint256 _clearingId - ) - internal - view - returns ( - IClearingTransfer.ClearingTransferData memory clearingTransferData_ - ) - { - clearingTransferData_ = _getClearingTransferForByPartition( - _partition, - _tokenHolder, - _clearingId - ); + ) internal view returns (IClearingTransfer.ClearingTransferData memory clearingTransferData_) { + clearingTransferData_ = _getClearingTransferForByPartition(_partition, _tokenHolder, _clearingId); clearingTransferData_.amount *= _calculateFactor( _getAbafAdjusted(), @@ -910,18 +739,8 @@ abstract contract ClearingStorageWrapper2 is bytes32 _partition, address _tokenHolder, uint256 _clearingId - ) - internal - view - returns ( - IClearingTransfer.ClearingRedeemData memory clearingRedeemData_ - ) - { - clearingRedeemData_ = _getClearingRedeemForByPartition( - _partition, - _tokenHolder, - _clearingId - ); + ) internal view returns (IClearingTransfer.ClearingRedeemData memory clearingRedeemData_) { + clearingRedeemData_ = _getClearingRedeemForByPartition(_partition, _tokenHolder, _clearingId); clearingRedeemData_.amount *= _calculateFactor( _getAbafAdjusted(), @@ -940,19 +759,8 @@ abstract contract ClearingStorageWrapper2 is bytes32 _partition, address _tokenHolder, uint256 _clearingId - ) - internal - view - returns ( - IClearingTransfer.ClearingHoldCreationData - memory clearingHoldCreationData_ - ) - { - clearingHoldCreationData_ = _getClearingHoldCreationForByPartition( - _partition, - _tokenHolder, - _clearingId - ); + ) internal view returns (IClearingTransfer.ClearingHoldCreationData memory clearingHoldCreationData_) { + clearingHoldCreationData_ = _getClearingHoldCreationForByPartition(_partition, _tokenHolder, _clearingId); clearingHoldCreationData_.amount *= _calculateFactor( _getAbafAdjusted(), @@ -968,8 +776,7 @@ abstract contract ClearingStorageWrapper2 is } function _getClearingLabafByPartition( - IClearing.ClearingOperationIdentifier - memory _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier memory _clearingOperationIdentifier ) internal view virtual returns (uint256); function _clearingTransferExecution( @@ -977,36 +784,25 @@ abstract contract ClearingStorageWrapper2 is address _tokenHolder, uint256 _clearingId, IClearingActions.ClearingActionType _operation - ) - private - returns (bool success_, uint256 amount_, ThirdPartyType operatorType_) - { - IClearing.ClearingTransferData - memory clearingTransferData = _getClearingTransferForByPartition( - _partition, - _tokenHolder, - _clearingId - ); + ) private returns (bool success_, uint256 amount_, ThirdPartyType operatorType_) { + IClearing.ClearingTransferData memory clearingTransferData = _getClearingTransferForByPartition( + _partition, + _tokenHolder, + _clearingId + ); address destination = _tokenHolder; if (_operation == IClearingActions.ClearingActionType.Approve) { _checkValidKycStatus(IKyc.KycStatus.GRANTED, _tokenHolder); - _checkValidKycStatus( - IKyc.KycStatus.GRANTED, - clearingTransferData.destination - ); + _checkValidKycStatus(IKyc.KycStatus.GRANTED, clearingTransferData.destination); _checkControlList(_tokenHolder); _checkControlList(clearingTransferData.destination); destination = clearingTransferData.destination; } - _transferClearingBalance( - _partition, - destination, - clearingTransferData.amount - ); + _transferClearingBalance(_partition, destination, clearingTransferData.amount); success_ = true; amount_ = clearingTransferData.amount; @@ -1018,26 +814,17 @@ abstract contract ClearingStorageWrapper2 is address _tokenHolder, uint256 _clearingId, IClearingActions.ClearingActionType _operation - ) - private - returns (bool success_, uint256 amount_, ThirdPartyType operatorType_) - { - IClearing.ClearingRedeemData - memory clearingRedeemData = _getClearingRedeemForByPartition( - _partition, - _tokenHolder, - _clearingId - ); + ) private returns (bool success_, uint256 amount_, ThirdPartyType operatorType_) { + IClearing.ClearingRedeemData memory clearingRedeemData = _getClearingRedeemForByPartition( + _partition, + _tokenHolder, + _clearingId + ); if (_operation == IClearingActions.ClearingActionType.Approve) { _checkValidKycStatus(IKyc.KycStatus.GRANTED, _tokenHolder); _checkControlList(_tokenHolder); - } else - _transferClearingBalance( - _partition, - _tokenHolder, - clearingRedeemData.amount - ); + } else _transferClearingBalance(_partition, _tokenHolder, clearingRedeemData.amount); success_ = true; amount_ = clearingRedeemData.amount; @@ -1049,23 +836,15 @@ abstract contract ClearingStorageWrapper2 is address _tokenHolder, uint256 _clearingId, IClearingActions.ClearingActionType _operation - ) - private - returns (bool success_, uint256 amount_, ThirdPartyType operatorType_) - { - IClearing.ClearingHoldCreationData - memory clearingHoldCreationData = _getClearingHoldCreationForByPartition( - _partition, - _tokenHolder, - _clearingId - ); - - _transferClearingBalance( + ) private returns (bool success_, uint256 amount_, ThirdPartyType operatorType_) { + IClearing.ClearingHoldCreationData memory clearingHoldCreationData = _getClearingHoldCreationForByPartition( _partition, _tokenHolder, - clearingHoldCreationData.amount + _clearingId ); + _transferClearingBalance(_partition, _tokenHolder, clearingHoldCreationData.amount); + if (_operation == IClearingActions.ClearingActionType.Approve) { _createHoldByPartition( _partition, @@ -1084,16 +863,10 @@ abstract contract ClearingStorageWrapper2 is function _restoreAllowanceAndRemoveClearing( IClearingActions.ClearingActionType _operation, ThirdPartyType _operatorType, - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier, uint256 _amount ) private { - _restoreClearingAllowance( - _operation, - _operatorType, - _clearingOperationIdentifier, - _amount - ); + _restoreClearingAllowance(_operation, _operatorType, _clearingOperationIdentifier, _amount); _removeClearing( _buildClearingOperationIdentifier( _clearingOperationIdentifier.tokenHolder, @@ -1107,22 +880,17 @@ abstract contract ClearingStorageWrapper2 is function _restoreClearingAllowance( IClearingActions.ClearingActionType _operation, ThirdPartyType _operatorType, - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier, + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier, uint256 _amount ) private { - if ( - !(_operation != IClearingActions.ClearingActionType.Approve && - _operatorType == ThirdPartyType.AUTHORIZED) - ) return; + if (!(_operation != IClearingActions.ClearingActionType.Approve && _operatorType == ThirdPartyType.AUTHORIZED)) + return; _increaseAllowedBalance( _clearingOperationIdentifier.tokenHolder, - _clearingStorage().clearingThirdPartyByAccountPartitionTypeAndId[ - _clearingOperationIdentifier.tokenHolder - ][_clearingOperationIdentifier.partition][ - _clearingOperationIdentifier.clearingOperationType - ][_clearingOperationIdentifier.clearingId], + _clearingStorage().clearingThirdPartyByAccountPartitionTypeAndId[_clearingOperationIdentifier.tokenHolder][ + _clearingOperationIdentifier.partition + ][_clearingOperationIdentifier.clearingOperationType][_clearingOperationIdentifier.clearingId], _amount ); } diff --git a/packages/ats/contracts/contracts/layer_0/common/libraries/ArrayLib.sol b/packages/ats/contracts/contracts/layer_0/common/libraries/ArrayLib.sol index 71b22aaa0..591f2ab8c 100644 --- a/packages/ats/contracts/contracts/layer_0/common/libraries/ArrayLib.sol +++ b/packages/ats/contracts/contracts/layer_0/common/libraries/ArrayLib.sol @@ -214,17 +214,12 @@ library ArrayLib { uint256 _itemIndex, uint256 _itemsSize ) internal pure returns (uint256) { - uint256 dynamicArrayBaseSlot = uint256( - keccak256(abi.encode(_dynamicArraySlot)) - ); + uint256 dynamicArrayBaseSlot = uint256(keccak256(abi.encode(_dynamicArraySlot))); return dynamicArrayBaseSlot + _itemIndex * _itemsSize; } - function checkUniqueValues( - address[] memory _addresses, - bool[] memory _bools - ) internal pure { + function checkUniqueValues(address[] memory _addresses, bool[] memory _bools) internal pure { uint256 length = _addresses.length; uint256 innerIndex; for (uint256 index; index < length; ) { @@ -232,10 +227,8 @@ library ArrayLib { innerIndex = index + 1; } for (; innerIndex < length; ) { - if ( - _addresses[index] == _addresses[innerIndex] && - _bools[index] != _bools[innerIndex] - ) revert ContradictoryValuesInArray(index, innerIndex); + if (_addresses[index] == _addresses[innerIndex] && _bools[index] != _bools[innerIndex]) + revert ContradictoryValuesInArray(index, innerIndex); unchecked { ++innerIndex; } @@ -246,10 +239,7 @@ library ArrayLib { } } - function checkUniqueValues( - bytes32[] memory _bytes32s, - bool[] memory _bools - ) internal pure { + function checkUniqueValues(bytes32[] memory _bytes32s, bool[] memory _bools) internal pure { uint256 length = _bytes32s.length; uint256 innerIndex; for (uint256 index; index < length; ) { @@ -257,10 +247,8 @@ library ArrayLib { innerIndex = index + 1; } for (; innerIndex < length; ) { - if ( - _bytes32s[index] == _bytes32s[innerIndex] && - _bools[index] != _bools[innerIndex] - ) revert ContradictoryValuesInArray(index, innerIndex); + if (_bytes32s[index] == _bytes32s[innerIndex] && _bools[index] != _bools[innerIndex]) + revert ContradictoryValuesInArray(index, innerIndex); unchecked { ++innerIndex; } diff --git a/packages/ats/contracts/contracts/layer_0/common/libraries/EnumerableSetBytes4.sol b/packages/ats/contracts/contracts/layer_0/common/libraries/EnumerableSetBytes4.sol index 054793cf9..67eb6c7e8 100644 --- a/packages/ats/contracts/contracts/layer_0/common/libraries/EnumerableSetBytes4.sol +++ b/packages/ats/contracts/contracts/layer_0/common/libraries/EnumerableSetBytes4.sol @@ -32,20 +32,14 @@ library EnumerableSetBytes4 { * Returns true if the value was removed from the set, that is if it was * present. */ - function remove( - Bytes4Set storage set, - bytes4 value - ) internal returns (bool) { + function remove(Bytes4Set storage set, bytes4 value) internal returns (bool) { return _remove(set._inner, value); } /** * @dev Returns true if the value is in the set. O(1). */ - function contains( - Bytes4Set storage set, - bytes4 value - ) internal view returns (bool) { + function contains(Bytes4Set storage set, bytes4 value) internal view returns (bool) { return _contains(set._inner, value); } @@ -66,10 +60,7 @@ library EnumerableSetBytes4 { * * - `index` must be strictly less than {length}. */ - function at( - Bytes4Set storage set, - uint256 index - ) internal view returns (bytes4) { + function at(Bytes4Set storage set, uint256 index) internal view returns (bytes4) { return _at(set._inner, index); } @@ -81,9 +72,7 @@ library EnumerableSetBytes4 { * this function has an unbounded cost, and using it as part of a state-changing function may render the function * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block. */ - function values( - Bytes4Set storage set - ) internal view returns (bytes4[] memory) { + function values(Bytes4Set storage set) internal view returns (bytes4[] memory) { bytes4[] memory store = _values(set._inner); bytes4[] memory result; @@ -157,10 +146,7 @@ library EnumerableSetBytes4 { /** * @dev Returns true if the value is in the set. O(1). */ - function _contains( - Set storage set, - bytes4 value - ) private view returns (bool) { + function _contains(Set storage set, bytes4 value) private view returns (bool) { return set._indexes[value] != 0; } diff --git a/packages/ats/contracts/contracts/layer_0/common/libraries/LibCommon.sol b/packages/ats/contracts/contracts/layer_0/common/libraries/LibCommon.sol index 9c2dcbe1b..7dab7263b 100644 --- a/packages/ats/contracts/contracts/layer_0/common/libraries/LibCommon.sol +++ b/packages/ats/contracts/contracts/layer_0/common/libraries/LibCommon.sol @@ -206,10 +206,8 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import {EnumerableSetBytes4} from './EnumerableSetBytes4.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { EnumerableSetBytes4 } from './EnumerableSetBytes4.sol'; library LibCommon { using EnumerableSet for EnumerableSet.Bytes32Set; @@ -278,11 +276,7 @@ library LibCommon { } } - function getSize( - uint256 _start, - uint256 _end, - uint256 _listCount - ) internal pure returns (uint256) { + function getSize(uint256 _start, uint256 _end, uint256 _listCount) internal pure returns (uint256) { if (_start >= _end) { return 0; } diff --git a/packages/ats/contracts/contracts/layer_0/context/LocalContext.sol b/packages/ats/contracts/contracts/layer_0/context/LocalContext.sol index 0cddb51db..12254449b 100644 --- a/packages/ats/contracts/contracts/layer_0/context/LocalContext.sol +++ b/packages/ats/contracts/contracts/layer_0/context/LocalContext.sol @@ -206,31 +206,24 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {Context} from '@openzeppelin/contracts/utils/Context.sol'; -import {ArrayLib} from '../common/libraries/ArrayLib.sol'; +import { Context } from '@openzeppelin/contracts/utils/Context.sol'; +import { ArrayLib } from '../common/libraries/ArrayLib.sol'; abstract contract LocalContext is Context { error ExpirationNotReached(); - modifier onlyConsistentActivations( - address[] calldata _controlLists, - bool[] calldata _actives - ) { + modifier onlyConsistentActivations(address[] calldata _controlLists, bool[] calldata _actives) { ArrayLib.checkUniqueValues(_controlLists, _actives); _; } - function _checkExpirationReached( - uint256 _expirationTimestamp - ) internal view { + function _checkExpirationReached(uint256 _expirationTimestamp) internal view { if (!_isExpired(_expirationTimestamp)) { revert ExpirationNotReached(); } } - function _isExpired( - uint256 _expirationTimestamp - ) internal view returns (bool) { + function _isExpired(uint256 _expirationTimestamp) internal view returns (bool) { return _blockTimestamp() > _expirationTimestamp; } @@ -238,12 +231,7 @@ abstract contract LocalContext is Context { chainid_ = block.chainid; } - function _blockTimestamp() - internal - view - virtual - returns (uint256 blockTimestamp_) - { + function _blockTimestamp() internal view virtual returns (uint256 blockTimestamp_) { blockTimestamp_ = block.timestamp; } } diff --git a/packages/ats/contracts/contracts/layer_0/core/accessControl/AccessControlStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/core/accessControl/AccessControlStorageWrapper.sol index 626426ae7..bd1c1d468 100644 --- a/packages/ats/contracts/contracts/layer_0/core/accessControl/AccessControlStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/core/accessControl/AccessControlStorageWrapper.sol @@ -206,21 +206,15 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {LibCommon} from '../../common/libraries/LibCommon.sol'; -import {ArrayLib} from '../../common/libraries/ArrayLib.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { LibCommon } from '../../common/libraries/LibCommon.sol'; +import { ArrayLib } from '../../common/libraries/ArrayLib.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; import { IAccessControlStorageWrapper } from '../../../layer_1/interfaces/accessControl/IAccessControlStorageWrapper.sol'; -import {LocalContext} from '../../context/LocalContext.sol'; -import { - BusinessLogicResolverWrapper -} from '../../../resolver/BusinessLogicResolverWrapper.sol'; -import { - _ACCESS_CONTROL_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; +import { LocalContext } from '../../context/LocalContext.sol'; +import { BusinessLogicResolverWrapper } from '../../../resolver/BusinessLogicResolverWrapper.sol'; +import { _ACCESS_CONTROL_STORAGE_POSITION } from '../../constants/storagePositions.sol'; abstract contract AccessControlStorageWrapper is IAccessControlStorageWrapper, @@ -253,34 +247,22 @@ abstract contract AccessControlStorageWrapper is _; } - modifier onlySameRolesAndActivesLength( - uint256 _rolesLength, - uint256 _activesLength - ) { + modifier onlySameRolesAndActivesLength(uint256 _rolesLength, uint256 _activesLength) { _checkSameRolesAndActivesLength(_rolesLength, _activesLength); _; } - modifier onlyConsistentRoles( - bytes32[] calldata _roles, - bool[] calldata _actives - ) { + modifier onlyConsistentRoles(bytes32[] calldata _roles, bool[] calldata _actives) { ArrayLib.checkUniqueValues(_roles, _actives); _; } // Internal - function _grantRole( - bytes32 _role, - address _account - ) internal returns (bool success_) { + function _grantRole(bytes32 _role, address _account) internal returns (bool success_) { success_ = _grant(_rolesStorage(), _role, _account); } - function _revokeRole( - bytes32 _role, - address _account - ) internal returns (bool success_) { + function _revokeRole(bytes32 _role, address _account) internal returns (bool success_) { success_ = _remove(_rolesStorage(), _role, _account); } @@ -295,15 +277,13 @@ abstract contract AccessControlStorageWrapper is for (uint256 index; index < length; ) { _checkRole(_getRoleAdmin(_roles[index]), sender); if (_actives[index]) { - if (!_has(roleDataStorage, _roles[index], _account)) - _grant(roleDataStorage, _roles[index], _account); + if (!_has(roleDataStorage, _roles[index], _account)) _grant(roleDataStorage, _roles[index], _account); unchecked { ++index; } continue; } - if (_has(roleDataStorage, _roles[index], _account)) - _remove(roleDataStorage, _roles[index], _account); + if (_has(roleDataStorage, _roles[index], _account)) _remove(roleDataStorage, _roles[index], _account); unchecked { ++index; } @@ -315,17 +295,11 @@ abstract contract AccessControlStorageWrapper is return _rolesStorage().roles[_role].roleAdmin; } - function _hasRole( - bytes32 _role, - address _account - ) internal view returns (bool) { + function _hasRole(bytes32 _role, address _account) internal view returns (bool) { return _has(_rolesStorage(), _role, _account); } - function _hasAnyRole( - bytes32[] memory _roles, - address _account - ) internal view returns (bool) { + function _hasAnyRole(bytes32[] memory _roles, address _account) internal view returns (bool) { for (uint256 i; i < _roles.length; i++) { if (_has(_rolesStorage(), _roles[i], _account)) { return true; @@ -334,9 +308,7 @@ abstract contract AccessControlStorageWrapper is return false; } - function _getRoleCountFor( - address _account - ) internal view returns (uint256 roleCount_) { + function _getRoleCountFor(address _account) internal view returns (uint256 roleCount_) { roleCount_ = _rolesStorage().memberRoles[_account].length(); } @@ -345,15 +317,10 @@ abstract contract AccessControlStorageWrapper is uint256 _pageIndex, uint256 _pageLength ) internal view returns (bytes32[] memory roles_) { - roles_ = _rolesStorage().memberRoles[_account].getFromSet( - _pageIndex, - _pageLength - ); + roles_ = _rolesStorage().memberRoles[_account].getFromSet(_pageIndex, _pageLength); } - function _getRoleMemberCount( - bytes32 _role - ) internal view returns (uint256 memberCount_) { + function _getRoleMemberCount(bytes32 _role) internal view returns (uint256 memberCount_) { memberCount_ = _rolesStorage().roles[_role].roleMembers.length(); } @@ -362,10 +329,7 @@ abstract contract AccessControlStorageWrapper is uint256 _pageIndex, uint256 _pageLength ) internal view returns (address[] memory members_) { - members_ = _rolesStorage().roles[_role].roleMembers.getFromSet( - _pageIndex, - _pageLength - ); + members_ = _rolesStorage().roles[_role].roleMembers.getFromSet(_pageIndex, _pageLength); } function _checkRole(bytes32 _role, address _account) internal view { @@ -374,10 +338,7 @@ abstract contract AccessControlStorageWrapper is } } - function _checkAnyRole( - bytes32[] memory _roles, - address _account - ) internal view { + function _checkAnyRole(bytes32[] memory _roles, address _account) internal view { if (!_hasAnyRole(_roles, _account)) { revert AccountHasNoRoles(_account, _roles); } @@ -391,11 +352,7 @@ abstract contract AccessControlStorageWrapper is hasRole_ = _rolesStorageData.memberRoles[_account].contains(_role); } - function _rolesStorage() - internal - pure - returns (RoleDataStorage storage roles_) - { + function _rolesStorage() internal pure returns (RoleDataStorage storage roles_) { bytes32 position = _ACCESS_CONTROL_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -423,10 +380,7 @@ abstract contract AccessControlStorageWrapper is _roleDataStorage.memberRoles[_account].remove(_role); } - function _checkSameRolesAndActivesLength( - uint256 _rolesLength, - uint256 _activesLength - ) private pure { + function _checkSameRolesAndActivesLength(uint256 _rolesLength, uint256 _activesLength) private pure { if (_rolesLength != _activesLength) { revert RolesAndActivesLengthMismatch(_rolesLength, _activesLength); } diff --git a/packages/ats/contracts/contracts/layer_0/core/controlList/ControlListStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/core/controlList/ControlListStorageWrapper.sol index 528446541..72a4fb3b1 100644 --- a/packages/ats/contracts/contracts/layer_0/core/controlList/ControlListStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/core/controlList/ControlListStorageWrapper.sol @@ -206,24 +206,15 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {LibCommon} from '../../common/libraries/LibCommon.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - IControlListStorageWrapper -} from '../../../layer_1/interfaces/controlList/IControlListStorageWrapper.sol'; -import { - _CONTROL_LIST_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; +import { LibCommon } from '../../common/libraries/LibCommon.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { IControlListStorageWrapper } from '../../../layer_1/interfaces/controlList/IControlListStorageWrapper.sol'; +import { _CONTROL_LIST_STORAGE_POSITION } from '../../constants/storagePositions.sol'; import { ExternalControlListManagementStorageWrapper } from '../externalControlLists/ExternalControlListManagementStorageWrapper.sol'; -abstract contract ControlListStorageWrapper is - IControlListStorageWrapper, - ExternalControlListManagementStorageWrapper -{ +abstract contract ControlListStorageWrapper is IControlListStorageWrapper, ExternalControlListManagementStorageWrapper { using LibCommon for EnumerableSet.AddressSet; using EnumerableSet for EnumerableSet.AddressSet; @@ -244,15 +235,11 @@ abstract contract ControlListStorageWrapper is } // Internal - function _addToControlList( - address _account - ) internal returns (bool success_) { + function _addToControlList(address _account) internal returns (bool success_) { success_ = _controlListStorage().list.add(_account); } - function _removeFromControlList( - address _account - ) internal returns (bool success_) { + function _removeFromControlList(address _account) internal returns (bool success_) { success_ = _controlListStorage().list.remove(_account); } @@ -260,11 +247,7 @@ abstract contract ControlListStorageWrapper is return _controlListStorage().isWhiteList; } - function _getControlListCount() - internal - view - returns (uint256 controlListCount_) - { + function _getControlListCount() internal view returns (uint256 controlListCount_) { controlListCount_ = _controlListStorage().list.length(); } @@ -280,8 +263,7 @@ abstract contract ControlListStorageWrapper is } function _isAbleToAccess(address _account) internal view returns (bool) { - return (_getControlListType() == _isInControlList(_account) && - _isExternallyAuthorized(_account)); + return (_getControlListType() == _isInControlList(_account) && _isExternallyAuthorized(_account)); } function _checkControlList(address _account) internal view { @@ -290,11 +272,7 @@ abstract contract ControlListStorageWrapper is } } - function _controlListStorage() - internal - pure - returns (ControlListStorage storage controlList_) - { + function _controlListStorage() internal pure returns (ControlListStorage storage controlList_) { bytes32 position = _CONTROL_LIST_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_0/core/externalControlLists/ExternalControlListManagementStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/core/externalControlLists/ExternalControlListManagementStorageWrapper.sol index 96f82ff7b..320dc1249 100644 --- a/packages/ats/contracts/contracts/layer_0/core/externalControlLists/ExternalControlListManagementStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/core/externalControlLists/ExternalControlListManagementStorageWrapper.sol @@ -206,41 +206,23 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - ProtectedPartitionsStorageWrapper -} from '../protectedPartitions/ProtectedPartitionsStorageWrapper.sol'; -import {LibCommon} from '../../common/libraries/LibCommon.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - IExternalControlList -} from '../../../layer_1/interfaces/externalControlLists/IExternalControlList.sol'; -import { - _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; - -abstract contract ExternalControlListManagementStorageWrapper is - ProtectedPartitionsStorageWrapper -{ +import { ProtectedPartitionsStorageWrapper } from '../protectedPartitions/ProtectedPartitionsStorageWrapper.sol'; +import { LibCommon } from '../../common/libraries/LibCommon.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { IExternalControlList } from '../../../layer_1/interfaces/externalControlLists/IExternalControlList.sol'; +import { _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION } from '../../constants/storagePositions.sol'; + +abstract contract ExternalControlListManagementStorageWrapper is ProtectedPartitionsStorageWrapper { using LibCommon for EnumerableSet.AddressSet; using EnumerableSet for EnumerableSet.AddressSet; - function _isExternallyAuthorized( - address _account - ) internal view returns (bool) { - ExternalListDataStorage - storage externalControlListStorage = _externalListStorage( - _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION - ); - uint256 length = _getExternalListsCount( + function _isExternallyAuthorized(address _account) internal view returns (bool) { + ExternalListDataStorage storage externalControlListStorage = _externalListStorage( _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION ); + uint256 length = _getExternalListsCount(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION); for (uint256 index; index < length; ) { - if ( - !IExternalControlList(externalControlListStorage.list.at(index)) - .isAuthorized(_account) - ) return false; + if (!IExternalControlList(externalControlListStorage.list.at(index)).isAuthorized(_account)) return false; unchecked { ++index; } diff --git a/packages/ats/contracts/contracts/layer_0/core/externalKycLists/ExternalKycListManagementStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/core/externalKycLists/ExternalKycListManagementStorageWrapper.sol index 8b7ad8808..6d4ad2fe0 100644 --- a/packages/ats/contracts/contracts/layer_0/core/externalKycLists/ExternalKycListManagementStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/core/externalKycLists/ExternalKycListManagementStorageWrapper.sol @@ -206,43 +206,23 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {LibCommon} from '../../common/libraries/LibCommon.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - IExternalKycList -} from '../../../layer_1/interfaces/externalKycLists/IExternalKycList.sol'; -import { - ExternalListManagementStorageWrapper -} from '../externalLists/ExternalListManagementStorageWrapper.sol'; -import { - _KYC_MANAGEMENT_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; - -abstract contract ExternalKycListManagementStorageWrapper is - ExternalListManagementStorageWrapper -{ +import { LibCommon } from '../../common/libraries/LibCommon.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { IExternalKycList } from '../../../layer_1/interfaces/externalKycLists/IExternalKycList.sol'; +import { ExternalListManagementStorageWrapper } from '../externalLists/ExternalListManagementStorageWrapper.sol'; +import { _KYC_MANAGEMENT_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; + +abstract contract ExternalKycListManagementStorageWrapper is ExternalListManagementStorageWrapper { using LibCommon for EnumerableSet.AddressSet; using EnumerableSet for EnumerableSet.AddressSet; - function _isExternallyGranted( - address _account, - IKyc.KycStatus _kycStatus - ) internal view returns (bool) { - ExternalListDataStorage - storage externalKycListStorage = _externalListStorage( - _KYC_MANAGEMENT_STORAGE_POSITION - ); - uint256 length = _getExternalListsCount( - _KYC_MANAGEMENT_STORAGE_POSITION - ); + function _isExternallyGranted(address _account, IKyc.KycStatus _kycStatus) internal view returns (bool) { + ExternalListDataStorage storage externalKycListStorage = _externalListStorage(_KYC_MANAGEMENT_STORAGE_POSITION); + uint256 length = _getExternalListsCount(_KYC_MANAGEMENT_STORAGE_POSITION); for (uint256 index; index < length; ) { - if ( - IExternalKycList(externalKycListStorage.list.at(index)) - .getKycStatus(_account) != _kycStatus - ) return false; + if (IExternalKycList(externalKycListStorage.list.at(index)).getKycStatus(_account) != _kycStatus) + return false; unchecked { ++index; } diff --git a/packages/ats/contracts/contracts/layer_0/core/externalLists/ExternalListManagementStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/core/externalLists/ExternalListManagementStorageWrapper.sol index bbc946a81..fe27c06af 100644 --- a/packages/ats/contracts/contracts/layer_0/core/externalLists/ExternalListManagementStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/core/externalLists/ExternalListManagementStorageWrapper.sol @@ -206,17 +206,11 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {LibCommon} from '../../common/libraries/LibCommon.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - SsiManagementStorageWrapper -} from '../ssi/SsiManagementStorageWrapper.sol'; - -abstract contract ExternalListManagementStorageWrapper is - SsiManagementStorageWrapper -{ +import { LibCommon } from '../../common/libraries/LibCommon.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { SsiManagementStorageWrapper } from '../ssi/SsiManagementStorageWrapper.sol'; + +abstract contract ExternalListManagementStorageWrapper is SsiManagementStorageWrapper { using LibCommon for EnumerableSet.AddressSet; using EnumerableSet for EnumerableSet.AddressSet; @@ -251,30 +245,19 @@ abstract contract ExternalListManagementStorageWrapper is success_ = true; } - function _addExternalList( - bytes32 _position, - address _list - ) internal returns (bool success_) { + function _addExternalList(bytes32 _position, address _list) internal returns (bool success_) { success_ = _externalListStorage(_position).list.add(_list); } - function _removeExternalList( - bytes32 _position, - address _list - ) internal returns (bool success_) { + function _removeExternalList(bytes32 _position, address _list) internal returns (bool success_) { success_ = _externalListStorage(_position).list.remove(_list); } - function _isExternalList( - bytes32 _position, - address _list - ) internal view returns (bool) { + function _isExternalList(bytes32 _position, address _list) internal view returns (bool) { return _externalListStorage(_position).list.contains(_list); } - function _getExternalListsCount( - bytes32 _position - ) internal view returns (uint256 count_) { + function _getExternalListsCount(bytes32 _position) internal view returns (uint256 count_) { count_ = _externalListStorage(_position).list.length(); } @@ -283,10 +266,7 @@ abstract contract ExternalListManagementStorageWrapper is uint256 _pageIndex, uint256 _pageLength ) internal view returns (address[] memory members_) { - members_ = _externalListStorage(_position).list.getFromSet( - _pageIndex, - _pageLength - ); + members_ = _externalListStorage(_position).list.getFromSet(_pageIndex, _pageLength); } function _externalListStorage( diff --git a/packages/ats/contracts/contracts/layer_0/core/externalPauses/ExternalPauseManagementStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/core/externalPauses/ExternalPauseManagementStorageWrapper.sol index 3060dcafc..b9a993bb9 100644 --- a/packages/ats/contracts/contracts/layer_0/core/externalPauses/ExternalPauseManagementStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/core/externalPauses/ExternalPauseManagementStorageWrapper.sol @@ -206,40 +206,24 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - ControlListStorageWrapper -} from '../controlList/ControlListStorageWrapper.sol'; -import {LibCommon} from '../../common/libraries/LibCommon.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - IExternalPause -} from '../../../layer_1/interfaces/externalPauses/IExternalPause.sol'; -import { - _PAUSE_MANAGEMENT_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; - -abstract contract ExternalPauseManagementStorageWrapper is - ControlListStorageWrapper -{ +import { ControlListStorageWrapper } from '../controlList/ControlListStorageWrapper.sol'; +import { LibCommon } from '../../common/libraries/LibCommon.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { IExternalPause } from '../../../layer_1/interfaces/externalPauses/IExternalPause.sol'; +import { _PAUSE_MANAGEMENT_STORAGE_POSITION } from '../../constants/storagePositions.sol'; + +abstract contract ExternalPauseManagementStorageWrapper is ControlListStorageWrapper { using LibCommon for EnumerableSet.AddressSet; using EnumerableSet for EnumerableSet.AddressSet; function _isExternallyPaused() internal view returns (bool) { - ExternalListDataStorage - storage externalPauseDataStorage = _externalListStorage( - _PAUSE_MANAGEMENT_STORAGE_POSITION - ); - uint256 length = _getExternalListsCount( + ExternalListDataStorage storage externalPauseDataStorage = _externalListStorage( _PAUSE_MANAGEMENT_STORAGE_POSITION ); + uint256 length = _getExternalListsCount(_PAUSE_MANAGEMENT_STORAGE_POSITION); for (uint256 index; index < length; ++index) { - if ( - IExternalPause(externalPauseDataStorage.list.at(index)) - .isPaused() - ) return true; + if (IExternalPause(externalPauseDataStorage.list.at(index)).isPaused()) return true; unchecked { ++index; } diff --git a/packages/ats/contracts/contracts/layer_0/core/kyc/KycStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/core/kyc/KycStorageWrapper.sol index 724222bd4..6151f75be 100644 --- a/packages/ats/contracts/contracts/layer_0/core/kyc/KycStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/core/kyc/KycStorageWrapper.sol @@ -206,21 +206,17 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; import { ExternalKycListManagementStorageWrapper } from '../externalKycLists/ExternalKycListManagementStorageWrapper.sol'; import { ExternalKycListManagementStorageWrapper } from '../externalKycLists/ExternalKycListManagementStorageWrapper.sol'; -import {_KYC_STORAGE_POSITION} from '../../constants/storagePositions.sol'; -import {LibCommon} from '../../common/libraries/LibCommon.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - IRevocationList -} from '../../../layer_1/interfaces/kyc/IRevocationList.sol'; +import { _KYC_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { LibCommon } from '../../common/libraries/LibCommon.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { IRevocationList } from '../../../layer_1/interfaces/kyc/IRevocationList.sol'; abstract contract KycStorageWrapper is ExternalKycListManagementStorageWrapper { using LibCommon for EnumerableSet.AddressSet; @@ -255,88 +251,53 @@ abstract contract KycStorageWrapper is ExternalKycListManagementStorageWrapper { uint256 _validTo, address _issuer ) internal returns (bool success_) { - _kycStorage().kyc[_account] = IKyc.KycData( - _validFrom, - _validTo, - _vcId, - _issuer, - IKyc.KycStatus.GRANTED - ); - _kycStorage().kycAddressesByStatus[IKyc.KycStatus.GRANTED].add( - _account - ); + _kycStorage().kyc[_account] = IKyc.KycData(_validFrom, _validTo, _vcId, _issuer, IKyc.KycStatus.GRANTED); + _kycStorage().kycAddressesByStatus[IKyc.KycStatus.GRANTED].add(_account); success_ = true; } function _revokeKyc(address _account) internal returns (bool success_) { delete _kycStorage().kyc[_account]; - _kycStorage().kycAddressesByStatus[IKyc.KycStatus.GRANTED].remove( - _account - ); + _kycStorage().kycAddressesByStatus[IKyc.KycStatus.GRANTED].remove(_account); success_ = true; } - function _getKycStatusFor( - address _account - ) internal view virtual returns (IKyc.KycStatus kycStatus_) { + function _getKycStatusFor(address _account) internal view virtual returns (IKyc.KycStatus kycStatus_) { IKyc.KycData memory kycFor = _getKycFor(_account); - if (kycFor.validTo < _blockTimestamp()) - return IKyc.KycStatus.NOT_GRANTED; - if (kycFor.validFrom > _blockTimestamp()) - return IKyc.KycStatus.NOT_GRANTED; + if (kycFor.validTo < _blockTimestamp()) return IKyc.KycStatus.NOT_GRANTED; + if (kycFor.validFrom > _blockTimestamp()) return IKyc.KycStatus.NOT_GRANTED; if (!_isIssuer(kycFor.issuer)) return IKyc.KycStatus.NOT_GRANTED; address revocationListAddress = _getRevocationRegistryAddress(); if ( revocationListAddress != address(0) && - IRevocationList(revocationListAddress).revoked( - kycFor.issuer, - kycFor.vcId - ) + IRevocationList(revocationListAddress).revoked(kycFor.issuer, kycFor.vcId) ) return IKyc.KycStatus.NOT_GRANTED; if (revocationListAddress != address(0)) { - if ( - IRevocationList(revocationListAddress).revoked( - kycFor.issuer, - kycFor.vcId - ) - ) return IKyc.KycStatus.NOT_GRANTED; + if (IRevocationList(revocationListAddress).revoked(kycFor.issuer, kycFor.vcId)) + return IKyc.KycStatus.NOT_GRANTED; } return kycFor.status; } - function _getKycFor( - address _account - ) internal view virtual returns (IKyc.KycData memory) { + function _getKycFor(address _account) internal view virtual returns (IKyc.KycData memory) { return _kycStorage().kyc[_account]; } - function _getKycAccountsCount( - IKyc.KycStatus _kycStatus - ) internal view virtual returns (uint256 kycAccountsCount_) { - kycAccountsCount_ = _kycStorage() - .kycAddressesByStatus[_kycStatus] - .length(); + function _getKycAccountsCount(IKyc.KycStatus _kycStatus) internal view virtual returns (uint256 kycAccountsCount_) { + kycAccountsCount_ = _kycStorage().kycAddressesByStatus[_kycStatus].length(); } function _getKycAccountsData( IKyc.KycStatus _kycStatus, uint256 _pageIndex, uint256 _pageLength - ) - internal - view - virtual - returns (address[] memory accounts_, IKyc.KycData[] memory kycData_) - { - accounts_ = _kycStorage().kycAddressesByStatus[_kycStatus].getFromSet( - _pageIndex, - _pageLength - ); + ) internal view virtual returns (address[] memory accounts_, IKyc.KycData[] memory kycData_) { + accounts_ = _kycStorage().kycAddressesByStatus[_kycStatus].getFromSet(_pageIndex, _pageLength); uint256 totalAccounts = accounts_.length; @@ -350,23 +311,15 @@ abstract contract KycStorageWrapper is ExternalKycListManagementStorageWrapper { } } - function _verifyKycStatus( - IKyc.KycStatus _kycStatus, - address _account - ) internal view virtual returns (bool) { + function _verifyKycStatus(IKyc.KycStatus _kycStatus, address _account) internal view virtual returns (bool) { KycStorage storage kycStorage = _kycStorage(); - bool internalKycValid = !kycStorage.internalKycActivated || - _getKycStatusFor(_account) == _kycStatus; + bool internalKycValid = !kycStorage.internalKycActivated || _getKycStatusFor(_account) == _kycStatus; return internalKycValid && _isExternallyGranted(_account, _kycStatus); } - function _checkValidKycStatus( - IKyc.KycStatus _kycStatus, - address _account - ) internal view { - if (!_verifyKycStatus(_kycStatus, _account)) - revert IKyc.InvalidKycStatus(); + function _checkValidKycStatus(IKyc.KycStatus _kycStatus, address _account) internal view { + if (!_verifyKycStatus(_kycStatus, _account)) revert IKyc.InvalidKycStatus(); } function _isInternalKycActivated() internal view returns (bool) { @@ -381,11 +334,7 @@ abstract contract KycStorageWrapper is ExternalKycListManagementStorageWrapper { } } - function _checkValidDates( - uint256 _validFrom, - uint256 _validTo - ) private view { - if (_validFrom > _validTo || _validTo < _blockTimestamp()) - revert IKyc.InvalidDates(); + function _checkValidDates(uint256 _validFrom, uint256 _validTo) private view { + if (_validFrom > _validTo || _validTo < _blockTimestamp()) revert IKyc.InvalidDates(); } } diff --git a/packages/ats/contracts/contracts/layer_0/core/pause/PauseStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/core/pause/PauseStorageWrapper.sol index b16a84a1c..9b96d1d93 100644 --- a/packages/ats/contracts/contracts/layer_0/core/pause/PauseStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/core/pause/PauseStorageWrapper.sol @@ -206,18 +206,11 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - IPauseStorageWrapper -} from '../../../layer_1/interfaces/pause/IPauseStorageWrapper.sol'; -import {_PAUSE_STORAGE_POSITION} from '../../constants/storagePositions.sol'; -import { - ExternalPauseManagementStorageWrapper -} from '../externalPauses/ExternalPauseManagementStorageWrapper.sol'; - -abstract contract PauseStorageWrapper is - IPauseStorageWrapper, - ExternalPauseManagementStorageWrapper -{ +import { IPauseStorageWrapper } from '../../../layer_1/interfaces/pause/IPauseStorageWrapper.sol'; +import { _PAUSE_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { ExternalPauseManagementStorageWrapper } from '../externalPauses/ExternalPauseManagementStorageWrapper.sol'; + +abstract contract PauseStorageWrapper is IPauseStorageWrapper, ExternalPauseManagementStorageWrapper { struct PauseDataStorage { bool paused; } @@ -253,12 +246,7 @@ abstract contract PauseStorageWrapper is } } - function _pauseStorage() - internal - pure - virtual - returns (PauseDataStorage storage pause_) - { + function _pauseStorage() internal pure virtual returns (PauseDataStorage storage pause_) { bytes32 position = _PAUSE_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_0/core/protectedPartitions/ProtectedPartitionsStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/core/protectedPartitions/ProtectedPartitionsStorageWrapper.sol index 6ba56ddd2..2dc3fbbb2 100644 --- a/packages/ats/contracts/contracts/layer_0/core/protectedPartitions/ProtectedPartitionsStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/core/protectedPartitions/ProtectedPartitionsStorageWrapper.sol @@ -206,16 +206,12 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {KycStorageWrapper} from '../kyc/KycStorageWrapper.sol'; +import { KycStorageWrapper } from '../kyc/KycStorageWrapper.sol'; import { IProtectedPartitionsStorageWrapper } from '../../../layer_1/interfaces/protectedPartitions/IProtectedPartitionsStorageWrapper.sol'; -import { - _PROTECTED_PARTITIONS_PARTICIPANT_ROLE -} from '../../constants/roles.sol'; -import { - _PROTECTED_PARTITIONS_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; +import { _PROTECTED_PARTITIONS_PARTICIPANT_ROLE } from '../../constants/roles.sol'; +import { _PROTECTED_PARTITIONS_STORAGE_POSITION } from '../../constants/storagePositions.sol'; import { getMessageHashTransfer, getMessageHashRedeem, @@ -225,13 +221,10 @@ import { getMessageHashClearingRedeem, verify } from '../../../layer_1/protectedPartitions/signatureVerification.sol'; -import {IHold} from '../../../layer_1/interfaces/hold/IHold.sol'; -import {IClearing} from '../../../layer_1/interfaces/clearing/IClearing.sol'; +import { IHold } from '../../../layer_1/interfaces/hold/IHold.sol'; +import { IClearing } from '../../../layer_1/interfaces/clearing/IClearing.sol'; -abstract contract ProtectedPartitionsStorageWrapper is - IProtectedPartitionsStorageWrapper, - KycStorageWrapper -{ +abstract contract ProtectedPartitionsStorageWrapper is IProtectedPartitionsStorageWrapper, KycStorageWrapper { struct ProtectedPartitionsDataStorage { bool initialized; bool arePartitionsProtected; @@ -281,17 +274,8 @@ abstract contract ProtectedPartitionsStorageWrapper is uint256 _nounce, bytes calldata _signature ) internal view { - if ( - !_isTransferSignatureValid( - _partition, - _from, - _to, - _amount, - _deadline, - _nounce, - _signature - ) - ) revert WrongSignature(); + if (!_isTransferSignatureValid(_partition, _from, _to, _amount, _deadline, _nounce, _signature)) + revert WrongSignature(); } function _isTransferSignatureValid( @@ -303,14 +287,7 @@ abstract contract ProtectedPartitionsStorageWrapper is uint256 _nounce, bytes calldata _signature ) internal view returns (bool) { - bytes32 functionHash = getMessageHashTransfer( - _partition, - _from, - _to, - _amount, - _deadline, - _nounce - ); + bytes32 functionHash = getMessageHashTransfer(_partition, _from, _to, _amount, _deadline, _nounce); return verify( _from, @@ -331,16 +308,8 @@ abstract contract ProtectedPartitionsStorageWrapper is uint256 _nounce, bytes calldata _signature ) internal view { - if ( - !_isRedeemSignatureValid( - _partition, - _from, - _amount, - _deadline, - _nounce, - _signature - ) - ) revert WrongSignature(); + if (!_isRedeemSignatureValid(_partition, _from, _amount, _deadline, _nounce, _signature)) + revert WrongSignature(); } function _isRedeemSignatureValid( @@ -351,13 +320,7 @@ abstract contract ProtectedPartitionsStorageWrapper is uint256 _nounce, bytes calldata _signature ) internal view returns (bool) { - bytes32 functionHash = getMessageHashRedeem( - _partition, - _from, - _amount, - _deadline, - _nounce - ); + bytes32 functionHash = getMessageHashRedeem(_partition, _from, _amount, _deadline, _nounce); return verify( _from, @@ -376,14 +339,7 @@ abstract contract ProtectedPartitionsStorageWrapper is IHold.ProtectedHold memory _protectedHold, bytes calldata _signature ) internal view { - if ( - !_isCreateHoldSignatureValid( - _partition, - _from, - _protectedHold, - _signature - ) - ) revert WrongSignature(); + if (!_isCreateHoldSignatureValid(_partition, _from, _protectedHold, _signature)) revert WrongSignature(); } function _isCreateHoldSignatureValid( @@ -392,11 +348,7 @@ abstract contract ProtectedPartitionsStorageWrapper is IHold.ProtectedHold memory _protectedHold, bytes calldata _signature ) internal view returns (bool) { - bytes32 functionHash = getMessageHashCreateHold( - _partition, - _from, - _protectedHold - ); + bytes32 functionHash = getMessageHashCreateHold(_partition, _from, _protectedHold); return verify( @@ -415,13 +367,8 @@ abstract contract ProtectedPartitionsStorageWrapper is IHold.Hold memory _hold, bytes calldata _signature ) internal view { - if ( - !_isClearingCreateHoldSignatureValid( - _protectedClearingOperation, - _hold, - _signature - ) - ) revert WrongSignature(); + if (!_isClearingCreateHoldSignatureValid(_protectedClearingOperation, _hold, _signature)) + revert WrongSignature(); } function _isClearingCreateHoldSignatureValid( @@ -429,10 +376,7 @@ abstract contract ProtectedPartitionsStorageWrapper is IHold.Hold memory _hold, bytes calldata _signature ) internal view returns (bool) { - bytes32 functionHash = getMessageHashClearingCreateHold( - _protectedClearingOperation, - _hold - ); + bytes32 functionHash = getMessageHashClearingCreateHold(_protectedClearingOperation, _hold); return verify( @@ -447,34 +391,22 @@ abstract contract ProtectedPartitionsStorageWrapper is } function _checkClearingTransferSignature( - IClearing.ProtectedClearingOperation - calldata _protectedClearingOperation, + IClearing.ProtectedClearingOperation calldata _protectedClearingOperation, uint256 _amount, address _to, bytes calldata _signature ) internal view { - if ( - !_isClearingTransferSignatureValid( - _protectedClearingOperation, - _to, - _amount, - _signature - ) - ) revert WrongSignature(); + if (!_isClearingTransferSignatureValid(_protectedClearingOperation, _to, _amount, _signature)) + revert WrongSignature(); } function _isClearingTransferSignatureValid( - IClearing.ProtectedClearingOperation - calldata _protectedClearingOperation, + IClearing.ProtectedClearingOperation calldata _protectedClearingOperation, address _to, uint256 _amount, bytes calldata _signature ) internal view returns (bool) { - bytes32 functionHash = getMessageHashClearingTransfer( - _protectedClearingOperation, - _to, - _amount - ); + bytes32 functionHash = getMessageHashClearingTransfer(_protectedClearingOperation, _to, _amount); return verify( @@ -489,30 +421,19 @@ abstract contract ProtectedPartitionsStorageWrapper is } function _checkClearingRedeemSignature( - IClearing.ProtectedClearingOperation - calldata _protectedClearingOperation, + IClearing.ProtectedClearingOperation calldata _protectedClearingOperation, uint256 _amount, bytes calldata _signature ) internal view { - if ( - !_isClearingRedeemSignatureValid( - _protectedClearingOperation, - _amount, - _signature - ) - ) revert WrongSignature(); + if (!_isClearingRedeemSignatureValid(_protectedClearingOperation, _amount, _signature)) revert WrongSignature(); } function _isClearingRedeemSignatureValid( - IClearing.ProtectedClearingOperation - calldata _protectedClearingOperation, + IClearing.ProtectedClearingOperation calldata _protectedClearingOperation, uint256 _amount, bytes calldata _signature ) internal view returns (bool) { - bytes32 functionHash = getMessageHashClearingRedeem( - _protectedClearingOperation, - _amount - ); + bytes32 functionHash = getMessageHashClearingRedeem(_protectedClearingOperation, _amount); return verify( @@ -526,10 +447,7 @@ abstract contract ProtectedPartitionsStorageWrapper is ); } - function _checkRoleForPartition( - bytes32 partition, - address account - ) internal view { + function _checkRoleForPartition(bytes32 partition, address account) internal view { _checkRole(_calculateRoleForPartition(partition), account); } @@ -537,24 +455,12 @@ abstract contract ProtectedPartitionsStorageWrapper is if (!_arePartitionsProtected()) revert PartitionsAreUnProtected(); } - function _protectedPartitionsRole( - bytes32 _partition - ) internal pure returns (bytes32) { - return - keccak256( - abi.encodePacked( - _PROTECTED_PARTITIONS_PARTICIPANT_ROLE, - _partition - ) - ); + function _protectedPartitionsRole(bytes32 _partition) internal pure returns (bytes32) { + return keccak256(abi.encodePacked(_PROTECTED_PARTITIONS_PARTICIPANT_ROLE, _partition)); } - function _calculateRoleForPartition( - bytes32 partition - ) internal pure returns (bytes32 role) { - role = keccak256( - abi.encode(_PROTECTED_PARTITIONS_PARTICIPANT_ROLE, partition) - ); + function _calculateRoleForPartition(bytes32 partition) internal pure returns (bytes32 role) { + role = keccak256(abi.encode(_PROTECTED_PARTITIONS_PARTICIPANT_ROLE, partition)); } function _protectedPartitionsStorage() @@ -570,7 +476,6 @@ abstract contract ProtectedPartitionsStorageWrapper is } function _checkValidPartition(bytes32 _partition) private view { - if (_arePartitionsProtected()) - _checkRoleForPartition(_partition, _msgSender()); + if (_arePartitionsProtected()) _checkRoleForPartition(_partition, _msgSender()); } } diff --git a/packages/ats/contracts/contracts/layer_0/core/ssi/SsiManagementStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/core/ssi/SsiManagementStorageWrapper.sol index 917bc6a92..b1e542070 100644 --- a/packages/ats/contracts/contracts/layer_0/core/ssi/SsiManagementStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/core/ssi/SsiManagementStorageWrapper.sol @@ -206,19 +206,11 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {LibCommon} from '../../common/libraries/LibCommon.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - AccessControlStorageWrapper -} from '../accessControl/AccessControlStorageWrapper.sol'; -import { - _SSI_MANAGEMENT_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; -import { - ISsiManagement -} from '../../../layer_1/interfaces/ssi/ISsiManagement.sol'; +import { LibCommon } from '../../common/libraries/LibCommon.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { AccessControlStorageWrapper } from '../accessControl/AccessControlStorageWrapper.sol'; +import { _SSI_MANAGEMENT_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { ISsiManagement } from '../../../layer_1/interfaces/ssi/ISsiManagement.sol'; abstract contract SsiManagementStorageWrapper is AccessControlStorageWrapper { using LibCommon for EnumerableSet.AddressSet; @@ -236,9 +228,7 @@ abstract contract SsiManagementStorageWrapper is AccessControlStorageWrapper { } // Internal - function _setRevocationRegistryAddress( - address _revocationRegistryAddress - ) internal returns (bool success_) { + function _setRevocationRegistryAddress(address _revocationRegistryAddress) internal returns (bool success_) { _ssiManagementStorage().revocationRegistry = _revocationRegistryAddress; return true; } @@ -251,19 +241,11 @@ abstract contract SsiManagementStorageWrapper is AccessControlStorageWrapper { success_ = _ssiManagementStorage().issuerList.remove(_issuer); } - function _getRevocationRegistryAddress() - internal - view - returns (address revocationRegistryAddress_) - { + function _getRevocationRegistryAddress() internal view returns (address revocationRegistryAddress_) { revocationRegistryAddress_ = _ssiManagementStorage().revocationRegistry; } - function _getIssuerListCount() - internal - view - returns (uint256 issuerListCount_) - { + function _getIssuerListCount() internal view returns (uint256 issuerListCount_) { issuerListCount_ = _ssiManagementStorage().issuerList.length(); } @@ -271,22 +253,14 @@ abstract contract SsiManagementStorageWrapper is AccessControlStorageWrapper { uint256 _pageIndex, uint256 _pageLength ) internal view returns (address[] memory members_) { - return - _ssiManagementStorage().issuerList.getFromSet( - _pageIndex, - _pageLength - ); + return _ssiManagementStorage().issuerList.getFromSet(_pageIndex, _pageLength); } function _isIssuer(address _issuer) internal view returns (bool) { return _ssiManagementStorage().issuerList.contains(_issuer); } - function _ssiManagementStorage() - internal - pure - returns (SsiManagementStorage storage ssiManagement_) - { + function _ssiManagementStorage() internal pure returns (SsiManagementStorage storage ssiManagement_) { bytes32 position = _SSI_MANAGEMENT_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -295,7 +269,6 @@ abstract contract SsiManagementStorageWrapper is AccessControlStorageWrapper { } function _checkIssuer(address _issuer) private view { - if (!_isIssuer(_issuer)) - revert ISsiManagement.AccountIsNotIssuer(_issuer); + if (!_isIssuer(_issuer)) revert ISsiManagement.AccountIsNotIssuer(_issuer); } } diff --git a/packages/ats/contracts/contracts/layer_0/corporateActions/CorporateActionsStorageWrapper1.sol b/packages/ats/contracts/contracts/layer_0/corporateActions/CorporateActionsStorageWrapper1.sol index 9096611fc..67f755a58 100644 --- a/packages/ats/contracts/contracts/layer_0/corporateActions/CorporateActionsStorageWrapper1.sol +++ b/packages/ats/contracts/contracts/layer_0/corporateActions/CorporateActionsStorageWrapper1.sol @@ -214,15 +214,11 @@ import { ICorporateActionsStorageWrapper, CorporateActionDataStorage } from '../../layer_1/interfaces/corporateActions/ICorporateActionsStorageWrapper.sol'; -import {LibCommon} from '../../layer_0/common/libraries/LibCommon.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - _CORPORATE_ACTION_STORAGE_POSITION -} from '../constants/storagePositions.sol'; -import {ClearingStorageWrapper1} from '../clearing/ClearingStorageWrapper1.sol'; -import {SNAPSHOT_RESULT_ID} from '../constants/values.sol'; +import { LibCommon } from '../../layer_0/common/libraries/LibCommon.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { _CORPORATE_ACTION_STORAGE_POSITION } from '../constants/storagePositions.sol'; +import { ClearingStorageWrapper1 } from '../clearing/ClearingStorageWrapper1.sol'; +import { SNAPSHOT_RESULT_ID } from '../constants/values.sol'; abstract contract CorporateActionsStorageWrapper1 is ClearingStorageWrapper1 { using LibCommon for EnumerableSet.Bytes32Set; @@ -233,42 +229,23 @@ abstract contract CorporateActionsStorageWrapper1 is ClearingStorageWrapper1 { _; } - function _onScheduledSnapshotTriggered( - uint256 _snapShotID, - bytes memory _data - ) internal { + function _onScheduledSnapshotTriggered(uint256 _snapShotID, bytes memory _data) internal { if (_data.length > 0) { bytes32 actionId = abi.decode(_data, (bytes32)); _addSnapshotToAction(actionId, _snapShotID); } } - function _addSnapshotToAction( - bytes32 _actionId, - uint256 _snapshotId - ) internal { - _updateCorporateActionResult( - _actionId, - SNAPSHOT_RESULT_ID, - abi.encodePacked(_snapshotId) - ); + function _addSnapshotToAction(bytes32 _actionId, uint256 _snapshotId) internal { + _updateCorporateActionResult(_actionId, SNAPSHOT_RESULT_ID, abi.encodePacked(_snapshotId)); } - function _updateCorporateActionResult( - bytes32 actionId, - uint256 resultId, - bytes memory newResult - ) internal { - CorporateActionDataStorage - storage corporateActions_ = _corporateActionsStorage(); - bytes[] memory results = corporateActions_ - .actionsData[actionId] - .results; + function _updateCorporateActionResult(bytes32 actionId, uint256 resultId, bytes memory newResult) internal { + CorporateActionDataStorage storage corporateActions_ = _corporateActionsStorage(); + bytes[] memory results = corporateActions_.actionsData[actionId].results; if (results.length > resultId) { - corporateActions_.actionsData[actionId].results[ - resultId - ] = newResult; + corporateActions_.actionsData[actionId].results[resultId] = newResult; return; } @@ -282,20 +259,12 @@ abstract contract CorporateActionsStorageWrapper1 is ClearingStorageWrapper1 { function _getCorporateAction( bytes32 _corporateActionId ) internal view returns (bytes32 actionType_, bytes memory data_) { - CorporateActionDataStorage - storage corporateActions_ = _corporateActionsStorage(); - actionType_ = corporateActions_ - .actionsData[_corporateActionId] - .actionType; + CorporateActionDataStorage storage corporateActions_ = _corporateActionsStorage(); + actionType_ = corporateActions_.actionsData[_corporateActionId].actionType; data_ = corporateActions_.actionsData[_corporateActionId].data; } - function _getCorporateActionCount() - internal - view - virtual - returns (uint256 corporateActionCount_) - { + function _getCorporateActionCount() internal view virtual returns (uint256 corporateActionCount_) { return _corporateActionsStorage().actions.length(); } @@ -303,15 +272,10 @@ abstract contract CorporateActionsStorageWrapper1 is ClearingStorageWrapper1 { uint256 _pageIndex, uint256 _pageLength ) internal view returns (bytes32[] memory corporateActionIds_) { - corporateActionIds_ = _corporateActionsStorage().actions.getFromSet( - _pageIndex, - _pageLength - ); + corporateActionIds_ = _corporateActionsStorage().actions.getFromSet(_pageIndex, _pageLength); } - function _getCorporateActionCountByType( - bytes32 _actionType - ) internal view returns (uint256 corporateActionCount_) { + function _getCorporateActionCountByType(bytes32 _actionType) internal view returns (uint256 corporateActionCount_) { return _corporateActionsStorage().actionsByType[_actionType].length(); } @@ -320,22 +284,15 @@ abstract contract CorporateActionsStorageWrapper1 is ClearingStorageWrapper1 { uint256 _pageIndex, uint256 _pageLength ) internal view returns (bytes32[] memory corporateActionIds_) { - corporateActionIds_ = _corporateActionsStorage() - .actionsByType[_actionType] - .getFromSet(_pageIndex, _pageLength); + corporateActionIds_ = _corporateActionsStorage().actionsByType[_actionType].getFromSet(_pageIndex, _pageLength); } - function _getResult( - bytes32 actionId, - uint256 resultId - ) internal view returns (bytes memory result_) { + function _getResult(bytes32 actionId, uint256 resultId) internal view returns (bytes memory result_) { if (_getCorporateActionResultCount(actionId) > resultId) result_ = _getCorporateActionResult(actionId, resultId); } - function _getCorporateActionResultCount( - bytes32 actionId - ) internal view returns (uint256) { + function _getCorporateActionResultCount(bytes32 actionId) internal view returns (uint256) { return _corporateActionsStorage().actionsData[actionId].results.length; } @@ -344,25 +301,15 @@ abstract contract CorporateActionsStorageWrapper1 is ClearingStorageWrapper1 { * * @param actionId The corporate action Id */ - function _getCorporateActionResult( - bytes32 actionId, - uint256 resultId - ) internal view returns (bytes memory) { - return - _corporateActionsStorage().actionsData[actionId].results[resultId]; + function _getCorporateActionResult(bytes32 actionId, uint256 resultId) internal view returns (bytes memory) { + return _corporateActionsStorage().actionsData[actionId].results[resultId]; } - function _getCorporateActionData( - bytes32 actionId - ) internal view returns (bytes memory) { + function _getCorporateActionData(bytes32 actionId) internal view returns (bytes memory) { return _corporateActionsStorage().actionsData[actionId].data; } - function _corporateActionsStorage() - internal - pure - returns (CorporateActionDataStorage storage corporateActions_) - { + function _corporateActionsStorage() internal pure returns (CorporateActionDataStorage storage corporateActions_) { bytes32 position = _CORPORATE_ACTION_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -372,10 +319,7 @@ abstract contract CorporateActionsStorageWrapper1 is ClearingStorageWrapper1 { function _checkDates(uint256 _firstDate, uint256 _secondDate) private pure { if (_secondDate < _firstDate) { - revert ICorporateActionsStorageWrapper.WrongDates( - _firstDate, - _secondDate - ); + revert ICorporateActionsStorageWrapper.WrongDates(_firstDate, _secondDate); } } } diff --git a/packages/ats/contracts/contracts/layer_0/corporateActions/CorporateActionsStorageWrapper2.sol b/packages/ats/contracts/contracts/layer_0/corporateActions/CorporateActionsStorageWrapper2.sol index 81828693c..c48a3b5af 100644 --- a/packages/ats/contracts/contracts/layer_0/corporateActions/CorporateActionsStorageWrapper2.sol +++ b/packages/ats/contracts/contracts/layer_0/corporateActions/CorporateActionsStorageWrapper2.sol @@ -206,10 +206,8 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {LibCommon} from '../../layer_0/common/libraries/LibCommon.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { LibCommon } from '../../layer_0/common/libraries/LibCommon.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; import { DIVIDEND_CORPORATE_ACTION_TYPE, VOTING_RIGHTS_CORPORATE_ACTION_TYPE, @@ -219,25 +217,17 @@ import { BALANCE_ADJUSTMENT_TASK_TYPE, SNAPSHOT_RESULT_ID } from '../constants/values.sol'; -import { - AdjustBalancesStorageWrapper2 -} from '../adjustBalances/AdjustBalancesStorageWrapper2.sol'; -import {IEquity} from '../../layer_2/interfaces/equity/IEquity.sol'; -import {IBond} from '../../layer_2/interfaces/bond/IBond.sol'; +import { AdjustBalancesStorageWrapper2 } from '../adjustBalances/AdjustBalancesStorageWrapper2.sol'; +import { IEquity } from '../../layer_2/interfaces/equity/IEquity.sol'; +import { IBond } from '../../layer_2/interfaces/bond/IBond.sol'; import { ICorporateActionsStorageWrapper, CorporateActionDataStorage } from '../../layer_1/interfaces/corporateActions/ICorporateActionsStorageWrapper.sol'; -import { - IEquityStorageWrapper -} from '../../layer_2/interfaces/equity/IEquityStorageWrapper.sol'; -import { - IBondStorageWrapper -} from '../../layer_2/interfaces/bond/IBondStorageWrapper.sol'; +import { IEquityStorageWrapper } from '../../layer_2/interfaces/equity/IEquityStorageWrapper.sol'; +import { IBondStorageWrapper } from '../../layer_2/interfaces/bond/IBondStorageWrapper.sol'; -abstract contract CorporateActionsStorageWrapper2 is - AdjustBalancesStorageWrapper2 -{ +abstract contract CorporateActionsStorageWrapper2 is AdjustBalancesStorageWrapper2 { using LibCommon for EnumerableSet.Bytes32Set; using EnumerableSet for EnumerableSet.Bytes32Set; @@ -250,30 +240,16 @@ abstract contract CorporateActionsStorageWrapper2 is function _addCorporateAction( bytes32 _actionType, bytes memory _data - ) - internal - returns ( - bool success_, - bytes32 corporateActionId_, - uint256 corporateActionIndexByType_ - ) - { - CorporateActionDataStorage - storage corporateActions_ = _corporateActionsStorage(); + ) internal returns (bool success_, bytes32 corporateActionId_, uint256 corporateActionIndexByType_) { + CorporateActionDataStorage storage corporateActions_ = _corporateActionsStorage(); corporateActionId_ = bytes32(corporateActions_.actions.length() + 1); // TODO: Review when it can return false. success_ = corporateActions_.actions.add(corporateActionId_) && - corporateActions_.actionsByType[_actionType].add( - corporateActionId_ - ); - corporateActions_ - .actionsData[corporateActionId_] - .actionType = _actionType; + corporateActions_.actionsByType[_actionType].add(corporateActionId_); + corporateActions_.actionsData[corporateActionId_].actionType = _actionType; corporateActions_.actionsData[corporateActionId_].data = _data; - corporateActionIndexByType_ = _getCorporateActionCountByType( - _actionType - ); + corporateActionIndexByType_ = _getCorporateActionCountByType(_actionType); _initByActionType(_actionType, success_, corporateActionId_, _data); } @@ -286,19 +262,14 @@ abstract contract CorporateActionsStorageWrapper2 is _triggerScheduledBalanceAdjustments(1); } - function _onScheduledBalanceAdjustmentTriggered( - bytes memory _data - ) internal { + function _onScheduledBalanceAdjustmentTriggered(bytes memory _data) internal { if (_data.length == 0) return; - (, bytes memory balanceAdjustmentData) = _getCorporateAction( - abi.decode(_data, (bytes32)) - ); + (, bytes memory balanceAdjustmentData) = _getCorporateAction(abi.decode(_data, (bytes32))); if (balanceAdjustmentData.length == 0) return; - IEquity.ScheduledBalanceAdjustment memory balanceAdjustment = abi - .decode( - balanceAdjustmentData, - (IEquity.ScheduledBalanceAdjustment) - ); + IEquity.ScheduledBalanceAdjustment memory balanceAdjustment = abi.decode( + balanceAdjustmentData, + (IEquity.ScheduledBalanceAdjustment) + ); _adjustBalances(balanceAdjustment.factor, balanceAdjustment.decimals); } @@ -339,32 +310,18 @@ abstract contract CorporateActionsStorageWrapper2 is } } - function _initDividend( - bool _success, - bytes32 _actionId, - bytes memory _data - ) private { + function _initDividend(bool _success, bytes32 _actionId, bytes memory _data) private { if (!_success) { revert IEquityStorageWrapper.DividendCreationFailed(); } - IEquity.Dividend memory newDividend = abi.decode( - _data, - (IEquity.Dividend) - ); + IEquity.Dividend memory newDividend = abi.decode(_data, (IEquity.Dividend)); - _addScheduledTask( - newDividend.recordDate, - abi.encode(SNAPSHOT_TASK_TYPE) - ); + _addScheduledTask(newDividend.recordDate, abi.encode(SNAPSHOT_TASK_TYPE)); _addScheduledSnapshot(newDividend.recordDate, abi.encode(_actionId)); } - function _initVotingRights( - bool _success, - bytes32 _actionId, - bytes memory _data - ) private { + function _initVotingRights(bool _success, bytes32 _actionId, bytes memory _data) private { if (!_success) { revert IEquityStorageWrapper.VotingRightsCreationFailed(); } @@ -375,11 +332,7 @@ abstract contract CorporateActionsStorageWrapper2 is _addScheduledSnapshot(newVoting.recordDate, abi.encode(_actionId)); } - function _initCoupon( - bool _success, - bytes32 _actionId, - bytes memory _data - ) private { + function _initCoupon(bool _success, bytes32 _actionId, bytes memory _data) private { if (!_success) { revert IBondStorageWrapper.CouponCreationFailed(); } @@ -390,36 +343,22 @@ abstract contract CorporateActionsStorageWrapper2 is _addScheduledSnapshot(newCoupon.recordDate, abi.encode(_actionId)); } - function _initBalanceAdjustment( - bool _success, - bytes32 _actionId, - bytes memory _data - ) private { + function _initBalanceAdjustment(bool _success, bytes32 _actionId, bytes memory _data) private { if (!_success) { revert IEquityStorageWrapper.BalanceAdjustmentCreationFailed(); } - IEquity.ScheduledBalanceAdjustment memory newBalanceAdjustment = abi - .decode(_data, (IEquity.ScheduledBalanceAdjustment)); - - _addScheduledTask( - newBalanceAdjustment.executionDate, - abi.encode(BALANCE_ADJUSTMENT_TASK_TYPE) - ); - _addScheduledBalanceAdjustment( - newBalanceAdjustment.executionDate, - abi.encode(_actionId) + IEquity.ScheduledBalanceAdjustment memory newBalanceAdjustment = abi.decode( + _data, + (IEquity.ScheduledBalanceAdjustment) ); + + _addScheduledTask(newBalanceAdjustment.executionDate, abi.encode(BALANCE_ADJUSTMENT_TASK_TYPE)); + _addScheduledBalanceAdjustment(newBalanceAdjustment.executionDate, abi.encode(_actionId)); } - function _checkMatchingActionType( - bytes32 _actionType, - uint256 _index - ) private view { + function _checkMatchingActionType(bytes32 _actionType, uint256 _index) private view { if (_getCorporateActionCountByType(_actionType) <= _index) - revert ICorporateActionsStorageWrapper.WrongIndexForAction( - _index, - _actionType - ); + revert ICorporateActionsStorageWrapper.WrongIndexForAction(_index, _actionType); } } diff --git a/packages/ats/contracts/contracts/layer_0/hold/HoldStorageWrapper1.sol b/packages/ats/contracts/contracts/layer_0/hold/HoldStorageWrapper1.sol index 9ab70aaa7..c97c1ff23 100644 --- a/packages/ats/contracts/contracts/layer_0/hold/HoldStorageWrapper1.sol +++ b/packages/ats/contracts/contracts/layer_0/hold/HoldStorageWrapper1.sol @@ -205,14 +205,12 @@ pragma solidity 0.8.18; -import {LibCommon} from '../common/libraries/LibCommon.sol'; -import {_HOLD_STORAGE_POSITION} from '../constants/storagePositions.sol'; -import {ERC3643StorageWrapper1} from '../ERC3643/ERC3643StorageWrapper1.sol'; -import {IHold} from '../../layer_1/interfaces/hold/IHold.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import {ThirdPartyType} from '../common/types/ThirdPartyType.sol'; +import { LibCommon } from '../common/libraries/LibCommon.sol'; +import { _HOLD_STORAGE_POSITION } from '../constants/storagePositions.sol'; +import { ERC3643StorageWrapper1 } from '../ERC3643/ERC3643StorageWrapper1.sol'; +import { IHold } from '../../layer_1/interfaces/hold/IHold.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { ThirdPartyType } from '../common/types/ThirdPartyType.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution @@ -220,30 +218,23 @@ abstract contract HoldStorageWrapper1 is ERC3643StorageWrapper1 { using LibCommon for EnumerableSet.UintSet; using EnumerableSet for EnumerableSet.UintSet; - modifier onlyWithValidHoldId(IHold.HoldIdentifier calldata _holdIdentifier) - { + modifier onlyWithValidHoldId(IHold.HoldIdentifier calldata _holdIdentifier) { _checkHoldId(_holdIdentifier); _; } - function _isHoldIdValid( - IHold.HoldIdentifier memory _holdIdentifier - ) internal view returns (bool) { + function _isHoldIdValid(IHold.HoldIdentifier memory _holdIdentifier) internal view returns (bool) { return _getHold(_holdIdentifier).id != 0; } - function _getHold( - IHold.HoldIdentifier memory _holdIdentifier - ) internal view returns (IHold.HoldData memory) { + function _getHold(IHold.HoldIdentifier memory _holdIdentifier) internal view returns (IHold.HoldData memory) { return - _holdStorage().holdsByAccountPartitionAndId[ - _holdIdentifier.tokenHolder - ][_holdIdentifier.partition][_holdIdentifier.holdId]; + _holdStorage().holdsByAccountPartitionAndId[_holdIdentifier.tokenHolder][_holdIdentifier.partition][ + _holdIdentifier.holdId + ]; } - function _getHeldAmountFor( - address _tokenHolder - ) internal view returns (uint256 amount_) { + function _getHeldAmountFor(address _tokenHolder) internal view returns (uint256 amount_) { return _holdStorage().totalHeldAmountByAccount[_tokenHolder]; } @@ -251,10 +242,7 @@ abstract contract HoldStorageWrapper1 is ERC3643StorageWrapper1 { bytes32 _partition, address _tokenHolder ) internal view returns (uint256 amount_) { - return - _holdStorage().totalHeldAmountByAccountAndPartition[_tokenHolder][ - _partition - ]; + return _holdStorage().totalHeldAmountByAccountAndPartition[_tokenHolder][_partition]; } function _getHoldsIdForByPartition( @@ -264,11 +252,7 @@ abstract contract HoldStorageWrapper1 is ERC3643StorageWrapper1 { uint256 _pageLength ) internal view returns (uint256[] memory holdsId_) { return - _holdStorage() - .holdIdsByAccountAndPartition[_tokenHolder][_partition].getFromSet( - _pageIndex, - _pageLength - ); + _holdStorage().holdIdsByAccountAndPartition[_tokenHolder][_partition].getFromSet(_pageIndex, _pageLength); } function _getHoldForByPartition( @@ -298,41 +282,23 @@ abstract contract HoldStorageWrapper1 is ERC3643StorageWrapper1 { ); } - function _getHoldCountForByPartition( - bytes32 _partition, - address _tokenHolder - ) internal view returns (uint256) { - return - _holdStorage() - .holdIdsByAccountAndPartition[_tokenHolder][_partition].length(); + function _getHoldCountForByPartition(bytes32 _partition, address _tokenHolder) internal view returns (uint256) { + return _holdStorage().holdIdsByAccountAndPartition[_tokenHolder][_partition].length(); } - function _isHoldExpired( - IHold.Hold memory _hold - ) internal view returns (bool) { + function _isHoldExpired(IHold.Hold memory _hold) internal view returns (bool) { return _blockTimestamp() > _hold.expirationTimestamp; } - function _isEscrow( - IHold.Hold memory _hold, - address _escrow - ) internal pure returns (bool) { + function _isEscrow(IHold.Hold memory _hold, address _escrow) internal pure returns (bool) { return _escrow == _hold.escrow; } - function _checkHoldAmount( - uint256 _amount, - IHold.HoldData memory holdData - ) internal pure { - if (_amount > holdData.hold.amount) - revert IHold.InsufficientHoldBalance(holdData.hold.amount, _amount); + function _checkHoldAmount(uint256 _amount, IHold.HoldData memory holdData) internal pure { + if (_amount > holdData.hold.amount) revert IHold.InsufficientHoldBalance(holdData.hold.amount, _amount); } - function _holdStorage() - internal - pure - returns (IHold.HoldDataStorage storage hold_) - { + function _holdStorage() internal pure returns (IHold.HoldDataStorage storage hold_) { bytes32 position = _HOLD_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -340,9 +306,7 @@ abstract contract HoldStorageWrapper1 is ERC3643StorageWrapper1 { } } - function _checkHoldId( - IHold.HoldIdentifier calldata _holdIdentifier - ) private view { + function _checkHoldId(IHold.HoldIdentifier calldata _holdIdentifier) private view { if (!_isHoldIdValid(_holdIdentifier)) revert IHold.WrongHoldId(); } } diff --git a/packages/ats/contracts/contracts/layer_0/hold/HoldStorageWrapper2.sol b/packages/ats/contracts/contracts/layer_0/hold/HoldStorageWrapper2.sol index 8b966ef3c..575b3f402 100644 --- a/packages/ats/contracts/contracts/layer_0/hold/HoldStorageWrapper2.sol +++ b/packages/ats/contracts/contracts/layer_0/hold/HoldStorageWrapper2.sol @@ -209,18 +209,12 @@ pragma solidity 0.8.18; import { ERC1410ProtectedPartitionsStorageWrapper } from '../ERC1400/ERC1410/ERC1410ProtectedPartitionsStorageWrapper.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import {IHold} from '../../layer_1/interfaces/hold/IHold.sol'; -import { - checkNounceAndDeadline -} from '../../layer_1/protectedPartitions/signatureVerification.sol'; -import {ThirdPartyType} from '../common/types/ThirdPartyType.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { IHold } from '../../layer_1/interfaces/hold/IHold.sol'; +import { checkNounceAndDeadline } from '../../layer_1/protectedPartitions/signatureVerification.sol'; +import { ThirdPartyType } from '../common/types/ThirdPartyType.sol'; -abstract contract HoldStorageWrapper2 is - ERC1410ProtectedPartitionsStorageWrapper -{ +abstract contract HoldStorageWrapper2 is ERC1410ProtectedPartitionsStorageWrapper { using EnumerableSet for EnumerableSet.UintSet; function _createHoldByPartition( @@ -239,27 +233,14 @@ abstract contract HoldStorageWrapper2 is IHold.HoldDataStorage storage holdStorage = _holdStorage(); - holdId_ = ++holdStorage.nextHoldIdByAccountAndPartition[_from][ - _partition - ]; + holdId_ = ++holdStorage.nextHoldIdByAccountAndPartition[_from][_partition]; - IHold.HoldData memory hold = IHold.HoldData( - holdId_, - _hold, - _operatorData, - _thirdPartyType - ); + IHold.HoldData memory hold = IHold.HoldData(holdId_, _hold, _operatorData, _thirdPartyType); _setHeldLabafById(_partition, _from, holdId_, abaf); - holdStorage.holdsByAccountPartitionAndId[_from][_partition][ - holdId_ - ] = hold; - holdStorage.holdIdsByAccountAndPartition[_from][_partition].add( - holdId_ - ); - holdStorage.totalHeldAmountByAccountAndPartition[_from][ - _partition - ] += _hold.amount; + holdStorage.holdsByAccountPartitionAndId[_from][_partition][holdId_] = hold; + holdStorage.holdIdsByAccountAndPartition[_from][_partition].add(holdId_); + holdStorage.totalHeldAmountByAccountAndPartition[_from][_partition] += _hold.amount; holdStorage.totalHeldAmountByAccount[_from] += _hold.amount; success_ = true; @@ -273,9 +254,7 @@ abstract contract HoldStorageWrapper2 is ) internal { address thirdPartyAddress = _msgSender(); _decreaseAllowedBalance(_from, thirdPartyAddress, _amount); - _holdStorage().holdThirdPartyByAccountPartitionAndId[_from][_partition][ - _holdId - ] = thirdPartyAddress; + _holdStorage().holdThirdPartyByAccountPartitionAndId[_from][_partition][_holdId] = thirdPartyAddress; } function _protectedCreateHoldByPartition( @@ -292,23 +271,11 @@ abstract contract HoldStorageWrapper2 is _blockTimestamp() ); - _checkCreateHoldSignature( - _partition, - _from, - _protectedHold, - _signature - ); + _checkCreateHoldSignature(_partition, _from, _protectedHold, _signature); _setNounce(_protectedHold.nonce, _from); - return - _createHoldByPartition( - _partition, - _from, - _protectedHold.hold, - '', - ThirdPartyType.PROTECTED - ); + return _createHoldByPartition(_partition, _from, _protectedHold.hold, '', ThirdPartyType.PROTECTED); } function _executeHoldByPartition( @@ -318,21 +285,12 @@ abstract contract HoldStorageWrapper2 is ) internal returns (bool success_) { _beforeExecuteHold(_holdIdentifier, _to); - success_ = _operateHoldByPartition( - _holdIdentifier, - _to, - _amount, - IHold.OperationType.Execute - ); + success_ = _operateHoldByPartition(_holdIdentifier, _to, _amount, IHold.OperationType.Execute); IHold.HoldData memory holdData = _getHold(_holdIdentifier); if (holdData.hold.amount == 0) { - _removeLabafHold( - _holdIdentifier.partition, - _holdIdentifier.tokenHolder, - _holdIdentifier.holdId - ); + _removeLabafHold(_holdIdentifier.partition, _holdIdentifier.tokenHolder, _holdIdentifier.holdId); } } @@ -344,11 +302,7 @@ abstract contract HoldStorageWrapper2 is IHold.HoldData memory holdData = _getHold(_holdIdentifier); - _restoreHoldAllowance( - holdData.thirdPartyType, - _holdIdentifier, - _amount - ); + _restoreHoldAllowance(holdData.thirdPartyType, _holdIdentifier, _amount); success_ = _operateHoldByPartition( _holdIdentifier, @@ -358,11 +312,7 @@ abstract contract HoldStorageWrapper2 is ); if (holdData.hold.amount == 0) { - _removeLabafHold( - _holdIdentifier.partition, - _holdIdentifier.tokenHolder, - _holdIdentifier.holdId - ); + _removeLabafHold(_holdIdentifier.partition, _holdIdentifier.tokenHolder, _holdIdentifier.holdId); } } @@ -374,11 +324,7 @@ abstract contract HoldStorageWrapper2 is IHold.HoldData memory holdData = _getHold(_holdIdentifier); amount_ = holdData.hold.amount; - _restoreHoldAllowance( - holdData.thirdPartyType, - _holdIdentifier, - amount_ - ); + _restoreHoldAllowance(holdData.thirdPartyType, _holdIdentifier, amount_); success_ = _operateHoldByPartition( _holdIdentifier, @@ -387,11 +333,7 @@ abstract contract HoldStorageWrapper2 is IHold.OperationType.Reclaim ); - _removeLabafHold( - _holdIdentifier.partition, - _holdIdentifier.tokenHolder, - _holdIdentifier.holdId - ); + _removeLabafHold(_holdIdentifier.partition, _holdIdentifier.tokenHolder, _holdIdentifier.holdId); } function _operateHoldByPartition( @@ -412,14 +354,9 @@ abstract contract HoldStorageWrapper2 is } } if (_operation != IHold.OperationType.Reclaim) { - if (_isHoldExpired(holdData.hold)) - revert IHold.HoldExpirationReached(); - if (!_isEscrow(holdData.hold, _msgSender())) - revert IHold.IsNotEscrow(); - } else if ( - _operation == IHold.OperationType.Reclaim && - !_isHoldExpired(holdData.hold) - ) { + if (_isHoldExpired(holdData.hold)) revert IHold.HoldExpirationReached(); + if (!_isEscrow(holdData.hold, _msgSender())) revert IHold.IsNotEscrow(); + } else if (_operation == IHold.OperationType.Reclaim && !_isHoldExpired(holdData.hold)) { revert IHold.HoldExpirationNotReached(); } @@ -430,20 +367,12 @@ abstract contract HoldStorageWrapper2 is success_ = true; } - function _transferHold( - IHold.HoldIdentifier calldata _holdIdentifier, - address _to, - uint256 _amount - ) internal { + function _transferHold(IHold.HoldIdentifier calldata _holdIdentifier, address _to, uint256 _amount) internal { if (_decreaseHeldAmount(_holdIdentifier, _amount) == 0) { _removeHold(_holdIdentifier); } if (_validPartitionForReceiver(_holdIdentifier.partition, _to)) { - _increaseBalanceByPartition( - _to, - _amount, - _holdIdentifier.partition - ); + _increaseBalanceByPartition(_to, _amount, _holdIdentifier.partition); return; } _addPartitionTo(_amount, _to, _holdIdentifier.partition); @@ -455,59 +384,44 @@ abstract contract HoldStorageWrapper2 is ) internal returns (uint256 newHoldBalance_) { IHold.HoldDataStorage storage holdStorage = _holdStorage(); - holdStorage.totalHeldAmountByAccount[ - _holdIdentifier.tokenHolder + holdStorage.totalHeldAmountByAccount[_holdIdentifier.tokenHolder] -= _amount; + holdStorage.totalHeldAmountByAccountAndPartition[_holdIdentifier.tokenHolder][ + _holdIdentifier.partition ] -= _amount; - holdStorage.totalHeldAmountByAccountAndPartition[ - _holdIdentifier.tokenHolder - ][_holdIdentifier.partition] -= _amount; holdStorage - .holdsByAccountPartitionAndId[_holdIdentifier.tokenHolder][ - _holdIdentifier.partition - ][_holdIdentifier.holdId].hold.amount -= _amount; + .holdsByAccountPartitionAndId[_holdIdentifier.tokenHolder][_holdIdentifier.partition][_holdIdentifier.holdId] + .hold + .amount -= _amount; newHoldBalance_ = holdStorage - .holdsByAccountPartitionAndId[_holdIdentifier.tokenHolder][ - _holdIdentifier.partition - ][_holdIdentifier.holdId].hold.amount; + .holdsByAccountPartitionAndId[_holdIdentifier.tokenHolder][_holdIdentifier.partition][_holdIdentifier.holdId] + .hold + .amount; } - function _removeHold( - IHold.HoldIdentifier calldata _holdIdentifier - ) internal { + function _removeHold(IHold.HoldIdentifier calldata _holdIdentifier) internal { IHold.HoldDataStorage storage holdStorage = _holdStorage(); - holdStorage - .holdIdsByAccountAndPartition[_holdIdentifier.tokenHolder][ - _holdIdentifier.partition - ].remove(_holdIdentifier.holdId); + holdStorage.holdIdsByAccountAndPartition[_holdIdentifier.tokenHolder][_holdIdentifier.partition].remove( + _holdIdentifier.holdId + ); - delete holdStorage.holdsByAccountPartitionAndId[ - _holdIdentifier.tokenHolder - ][_holdIdentifier.partition][_holdIdentifier.holdId]; + delete holdStorage.holdsByAccountPartitionAndId[_holdIdentifier.tokenHolder][_holdIdentifier.partition][ + _holdIdentifier.holdId + ]; - delete holdStorage.holdThirdPartyByAccountPartitionAndId[ - _holdIdentifier.tokenHolder - ][_holdIdentifier.partition][_holdIdentifier.holdId]; + delete holdStorage.holdThirdPartyByAccountPartitionAndId[_holdIdentifier.tokenHolder][ + _holdIdentifier.partition + ][_holdIdentifier.holdId]; - _removeLabafHold( - _holdIdentifier.partition, - _holdIdentifier.tokenHolder, - _holdIdentifier.holdId - ); + _removeLabafHold(_holdIdentifier.partition, _holdIdentifier.tokenHolder, _holdIdentifier.holdId); } - function _updateTotalHold( - bytes32 _partition, - address _tokenHolder - ) internal returns (uint256 abaf_) { + function _updateTotalHold(bytes32 _partition, address _tokenHolder) internal returns (uint256 abaf_) { abaf_ = _getAbaf(); uint256 labaf = _getTotalHeldLabaf(_tokenHolder); - uint256 labafByPartition = _getTotalHeldLabafByPartition( - _partition, - _tokenHolder - ); + uint256 labafByPartition = _getTotalHeldLabafByPartition(_partition, _tokenHolder); if (abaf_ != labaf) { uint256 factor = _calculateFactor(abaf_, labaf); @@ -516,25 +430,13 @@ abstract contract HoldStorageWrapper2 is } if (abaf_ != labafByPartition) { - uint256 factorByPartition = _calculateFactor( - abaf_, - labafByPartition - ); - - _updateTotalHeldAmountAndLabafByPartition( - _partition, - _tokenHolder, - factorByPartition, - abaf_ - ); + uint256 factorByPartition = _calculateFactor(abaf_, labafByPartition); + + _updateTotalHeldAmountAndLabafByPartition(_partition, _tokenHolder, factorByPartition, abaf_); } } - function _updateTotalHeldAmountAndLabaf( - address _tokenHolder, - uint256 _factor, - uint256 _abaf - ) internal { + function _updateTotalHeldAmountAndLabaf(address _tokenHolder, uint256 _factor, uint256 _abaf) internal { if (_factor == 1) return; _holdStorage().totalHeldAmountByAccount[_tokenHolder] *= _factor; @@ -549,9 +451,7 @@ abstract contract HoldStorageWrapper2 is ) internal { if (_factor == 1) return; - _holdStorage().totalHeldAmountByAccountAndPartition[_tokenHolder][ - _partition - ] *= _factor; + _holdStorage().totalHeldAmountByAccountAndPartition[_tokenHolder][_partition] *= _factor; _setTotalHeldLabafByPartition(_partition, _tokenHolder, _abaf); } @@ -560,76 +460,37 @@ abstract contract HoldStorageWrapper2 is _updateAccountHeldBalancesSnapshot(_tokenHolder, _partition); } - function _beforeExecuteHold( - IHold.HoldIdentifier calldata _holdIdentifier, - address _to - ) internal { + function _beforeExecuteHold(IHold.HoldIdentifier calldata _holdIdentifier, address _to) internal { _adjustHoldBalances(_holdIdentifier, _to); _updateAccountSnapshot(_to, _holdIdentifier.partition); - _updateAccountHeldBalancesSnapshot( - _holdIdentifier.tokenHolder, - _holdIdentifier.partition - ); + _updateAccountHeldBalancesSnapshot(_holdIdentifier.tokenHolder, _holdIdentifier.partition); } - function _beforeReleaseHold( - IHold.HoldIdentifier calldata _holdIdentifier - ) internal { + function _beforeReleaseHold(IHold.HoldIdentifier calldata _holdIdentifier) internal { _adjustHoldBalances(_holdIdentifier, _holdIdentifier.tokenHolder); _beforeExecuteHold(_holdIdentifier, _holdIdentifier.tokenHolder); } - function _beforeReclaimHold( - IHold.HoldIdentifier calldata _holdIdentifier - ) internal { + function _beforeReclaimHold(IHold.HoldIdentifier calldata _holdIdentifier) internal { _adjustHoldBalances(_holdIdentifier, _holdIdentifier.tokenHolder); _beforeExecuteHold(_holdIdentifier, _holdIdentifier.tokenHolder); } - function _adjustHoldBalances( - IHold.HoldIdentifier calldata _holdIdentifier, - address _to - ) internal { - _triggerAndSyncAll( - _holdIdentifier.partition, - _holdIdentifier.tokenHolder, - _to - ); + function _adjustHoldBalances(IHold.HoldIdentifier calldata _holdIdentifier, address _to) internal { + _triggerAndSyncAll(_holdIdentifier.partition, _holdIdentifier.tokenHolder, _to); - uint256 abaf = _updateTotalHold( - _holdIdentifier.partition, - _holdIdentifier.tokenHolder - ); + uint256 abaf = _updateTotalHold(_holdIdentifier.partition, _holdIdentifier.tokenHolder); - _updateHold( - _holdIdentifier.partition, - _holdIdentifier.holdId, - _holdIdentifier.tokenHolder, - abaf - ); + _updateHold(_holdIdentifier.partition, _holdIdentifier.holdId, _holdIdentifier.tokenHolder, abaf); } - function _updateHold( - bytes32 _partition, - uint256 _holdId, - address _tokenHolder, - uint256 _abaf - ) internal { - uint256 holdLabaf = _getHoldLabafByPartition( - _partition, - _holdId, - _tokenHolder - ); + function _updateHold(bytes32 _partition, uint256 _holdId, address _tokenHolder, uint256 _abaf) internal { + uint256 holdLabaf = _getHoldLabafByPartition(_partition, _holdId, _tokenHolder); if (_abaf != holdLabaf) { uint256 holdFactor = _calculateFactor(_abaf, holdLabaf); - _updateHoldAmountById( - _partition, - _holdId, - _tokenHolder, - holdFactor - ); + _updateHoldAmountById(_partition, _holdId, _tokenHolder, holdFactor); _setHeldLabafById(_partition, _tokenHolder, _holdId, _abaf); } } @@ -643,19 +504,11 @@ abstract contract HoldStorageWrapper2 is if (_factor == 1) return; IHold.HoldDataStorage storage holdStorage = _holdStorage(); - holdStorage - .holdsByAccountPartitionAndId[_tokenHolder][_partition][_holdId] - .hold - .amount *= _factor; + holdStorage.holdsByAccountPartitionAndId[_tokenHolder][_partition][_holdId].hold.amount *= _factor; } - function _getHeldAmountForAdjusted( - address _tokenHolder - ) internal view virtual override returns (uint256 amount_) { - uint256 factor = _calculateFactor( - _getAbafAdjusted(), - _getTotalHeldLabaf(_tokenHolder) - ); + function _getHeldAmountForAdjusted(address _tokenHolder) internal view virtual override returns (uint256 amount_) { + uint256 factor = _calculateFactor(_getAbafAdjusted(), _getTotalHeldLabaf(_tokenHolder)); return _getHeldAmountFor(_tokenHolder) * factor; } @@ -664,10 +517,7 @@ abstract contract HoldStorageWrapper2 is bytes32 _partition, address _tokenHolder ) internal view virtual override returns (uint256 amount_) { - uint256 factor = _calculateFactor( - _getAbafAdjusted(), - _getTotalHeldLabafByPartition(_partition, _tokenHolder) - ); + uint256 factor = _calculateFactor(_getAbafAdjusted(), _getTotalHeldLabafByPartition(_partition, _tokenHolder)); return _getHeldAmountForByPartition(_partition, _tokenHolder) * factor; } @@ -688,11 +538,7 @@ abstract contract HoldStorageWrapper2 is { uint256 factor = _calculateFactor( _getAbafAdjusted(), - _getHoldLabafByPartition( - _holdIdentifier.partition, - _holdIdentifier.holdId, - _holdIdentifier.tokenHolder - ) + _getHoldLabafByPartition(_holdIdentifier.partition, _holdIdentifier.holdId, _holdIdentifier.tokenHolder) ); ( @@ -712,9 +558,9 @@ abstract contract HoldStorageWrapper2 is ) internal view returns (address thirdParty_) { IHold.HoldDataStorage storage holdStorage = _holdStorage(); - thirdParty_ = holdStorage.holdThirdPartyByAccountPartitionAndId[ - _holdIdentifier.tokenHolder - ][_holdIdentifier.partition][_holdIdentifier.holdId]; + thirdParty_ = holdStorage.holdThirdPartyByAccountPartitionAndId[_holdIdentifier.tokenHolder][ + _holdIdentifier.partition + ][_holdIdentifier.holdId]; } function _getHoldLabafByPartition( @@ -731,9 +577,9 @@ abstract contract HoldStorageWrapper2 is if (_thirdPartyType != ThirdPartyType.AUTHORIZED) return; _increaseAllowedBalance( _holdIdentifier.tokenHolder, - _holdStorage().holdThirdPartyByAccountPartitionAndId[ - _holdIdentifier.tokenHolder - ][_holdIdentifier.partition][_holdIdentifier.holdId], + _holdStorage().holdThirdPartyByAccountPartitionAndId[_holdIdentifier.tokenHolder][ + _holdIdentifier.partition + ][_holdIdentifier.holdId], _amount ); } diff --git a/packages/ats/contracts/contracts/layer_0/lock/LockStorageWrapper1.sol b/packages/ats/contracts/contracts/layer_0/lock/LockStorageWrapper1.sol index 6a7cf5ec1..4171ce212 100644 --- a/packages/ats/contracts/contracts/layer_0/lock/LockStorageWrapper1.sol +++ b/packages/ats/contracts/contracts/layer_0/lock/LockStorageWrapper1.sol @@ -205,12 +205,10 @@ pragma solidity 0.8.18; -import {LibCommon} from '..//common/libraries/LibCommon.sol'; -import {_LOCK_STORAGE_POSITION} from '../constants/storagePositions.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import {CapStorageWrapper1} from '../cap/CapStorageWrapper1.sol'; +import { LibCommon } from '..//common/libraries/LibCommon.sol'; +import { _LOCK_STORAGE_POSITION } from '../constants/storagePositions.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { CapStorageWrapper1 } from '../cap/CapStorageWrapper1.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution @@ -241,41 +239,25 @@ abstract contract LockStorageWrapper1 is CapStorageWrapper1 { _; } - modifier onlyWithValidLockId( - bytes32 _partition, - address _tokenHolder, - uint256 _lockId - ) { + modifier onlyWithValidLockId(bytes32 _partition, address _tokenHolder, uint256 _lockId) { _checkValidLockId(_partition, _tokenHolder, _lockId); _; } - modifier onlyWithLockedExpirationTimestamp( - bytes32 _partition, - address _tokenHolder, - uint256 _lockId - ) { + modifier onlyWithLockedExpirationTimestamp(bytes32 _partition, address _tokenHolder, uint256 _lockId) { _checkLockedExpirationTimestamp(_partition, _tokenHolder, _lockId); _; } - function _getLockedAmountForByPartition( - bytes32 _partition, - address _tokenHolder - ) internal view returns (uint256) { - return - _lockStorage().totalLockedAmountByAccountAndPartition[_tokenHolder][ - _partition - ]; + function _getLockedAmountForByPartition(bytes32 _partition, address _tokenHolder) internal view returns (uint256) { + return _lockStorage().totalLockedAmountByAccountAndPartition[_tokenHolder][_partition]; } function _getLockCountForByPartition( bytes32 _partition, address _tokenHolder ) internal view returns (uint256 lockCount_) { - return - _lockStorage() - .lockIdsByAccountAndPartition[_tokenHolder][_partition].length(); + return _lockStorage().lockIdsByAccountAndPartition[_tokenHolder][_partition].length(); } function _getLocksIdForByPartition( @@ -285,11 +267,7 @@ abstract contract LockStorageWrapper1 is CapStorageWrapper1 { uint256 _pageLength ) internal view returns (uint256[] memory locksId_) { return - _lockStorage() - .lockIdsByAccountAndPartition[_tokenHolder][_partition].getFromSet( - _pageIndex, - _pageLength - ); + _lockStorage().lockIdsByAccountAndPartition[_tokenHolder][_partition].getFromSet(_pageIndex, _pageLength); } function _getLockForByPartition( @@ -307,22 +285,13 @@ abstract contract LockStorageWrapper1 is CapStorageWrapper1 { address _tokenHolder, uint256 _lockId ) internal view returns (uint256 amount_, uint256 expirationTimestamp_) { - uint256 factor = _calculateFactor( - _getAbafAdjusted(), - _getLockLabafById(_partition, _tokenHolder, _lockId) - ); - - (amount_, expirationTimestamp_) = _getLockForByPartition( - _partition, - _tokenHolder, - _lockId - ); + uint256 factor = _calculateFactor(_getAbafAdjusted(), _getLockLabafById(_partition, _tokenHolder, _lockId)); + + (amount_, expirationTimestamp_) = _getLockForByPartition(_partition, _tokenHolder, _lockId); amount_ *= factor; } - function _getLockedAmountFor( - address _tokenHolder - ) internal view returns (uint256 amount_) { + function _getLockedAmountFor(address _tokenHolder) internal view returns (uint256 amount_) { return _lockStorage().totalLockedAmountByAccount[_tokenHolder]; } @@ -331,10 +300,7 @@ abstract contract LockStorageWrapper1 is CapStorageWrapper1 { address tokenHolder, uint256 timestamp ) internal view returns (uint256 amount_) { - uint256 factor = _calculateFactorForLockedAmountByTokenHolderAdjustedAt( - tokenHolder, - timestamp - ); + uint256 factor = _calculateFactorForLockedAmountByTokenHolderAdjustedAt(tokenHolder, timestamp); return _getLockedAmountFor(tokenHolder) * factor; } @@ -342,12 +308,8 @@ abstract contract LockStorageWrapper1 is CapStorageWrapper1 { bytes32 _partition, address _tokenHolder ) internal view returns (uint256 amount_) { - uint256 factor = _calculateFactor( - _getAbafAdjusted(), - _getTotalLockLabafByPartition(_partition, _tokenHolder) - ); - return - _getLockedAmountForByPartition(_partition, _tokenHolder) * factor; + uint256 factor = _calculateFactor(_getAbafAdjusted(), _getTotalLockLabafByPartition(_partition, _tokenHolder)); + return _getLockedAmountForByPartition(_partition, _tokenHolder) * factor; } function _getLock( @@ -355,10 +317,7 @@ abstract contract LockStorageWrapper1 is CapStorageWrapper1 { address _tokenHolder, uint256 _lockId ) internal view returns (LockData memory) { - return - _lockStorage().locksByAccountPartitionAndId[_tokenHolder][ - _partition - ][_lockId]; + return _lockStorage().locksByAccountPartitionAndId[_tokenHolder][_partition][_lockId]; } function _getLockByIndex( @@ -372,19 +331,11 @@ abstract contract LockStorageWrapper1 is CapStorageWrapper1 { _lockIndex--; - assert( - _lockIndex < - lockStorage - .lockIdsByAccountAndPartition[_tokenHolder][_partition].length() - ); + assert(_lockIndex < lockStorage.lockIdsByAccountAndPartition[_tokenHolder][_partition].length()); - uint256 lockId = lockStorage - .lockIdsByAccountAndPartition[_tokenHolder][_partition].at(_lockIndex); + uint256 lockId = lockStorage.lockIdsByAccountAndPartition[_tokenHolder][_partition].at(_lockIndex); - return - lockStorage.locksByAccountPartitionAndId[_tokenHolder][_partition][ - lockId - ]; + return lockStorage.locksByAccountPartitionAndId[_tokenHolder][_partition][lockId]; } function _isLockedExpirationTimestamp( @@ -399,30 +350,15 @@ abstract contract LockStorageWrapper1 is CapStorageWrapper1 { return true; } - function _isLockIdValid( - bytes32 _partition, - address _tokenHolder, - uint256 _lockId - ) internal view returns (bool) { - return - _lockStorage() - .lockIdsByAccountAndPartition[_tokenHolder][_partition].contains( - _lockId - ); + function _isLockIdValid(bytes32 _partition, address _tokenHolder, uint256 _lockId) internal view returns (bool) { + return _lockStorage().lockIdsByAccountAndPartition[_tokenHolder][_partition].contains(_lockId); } - function _checkExpirationTimestamp( - uint256 _expirationTimestamp - ) internal view { - if (_expirationTimestamp < _blockTimestamp()) - revert WrongExpirationTimestamp(); + function _checkExpirationTimestamp(uint256 _expirationTimestamp) internal view { + if (_expirationTimestamp < _blockTimestamp()) revert WrongExpirationTimestamp(); } - function _lockStorage() - internal - pure - returns (LockDataStorage storage lock_) - { + function _lockStorage() internal pure returns (LockDataStorage storage lock_) { bytes32 position = _LOCK_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -430,21 +366,11 @@ abstract contract LockStorageWrapper1 is CapStorageWrapper1 { } } - function _checkValidLockId( - bytes32 _partition, - address _tokenHolder, - uint256 _lockId - ) private view { - if (!_isLockIdValid(_partition, _tokenHolder, _lockId)) - revert WrongLockId(); + function _checkValidLockId(bytes32 _partition, address _tokenHolder, uint256 _lockId) private view { + if (!_isLockIdValid(_partition, _tokenHolder, _lockId)) revert WrongLockId(); } - function _checkLockedExpirationTimestamp( - bytes32 _partition, - address _tokenHolder, - uint256 _lockId - ) private view { - if (!_isLockedExpirationTimestamp(_partition, _tokenHolder, _lockId)) - revert LockExpirationNotReached(); + function _checkLockedExpirationTimestamp(bytes32 _partition, address _tokenHolder, uint256 _lockId) private view { + if (!_isLockedExpirationTimestamp(_partition, _tokenHolder, _lockId)) revert LockExpirationNotReached(); } } diff --git a/packages/ats/contracts/contracts/layer_0/lock/LockStorageWrapper2.sol b/packages/ats/contracts/contracts/layer_0/lock/LockStorageWrapper2.sol index 2af22aa6f..1366e0dec 100644 --- a/packages/ats/contracts/contracts/layer_0/lock/LockStorageWrapper2.sol +++ b/packages/ats/contracts/contracts/layer_0/lock/LockStorageWrapper2.sol @@ -205,12 +205,8 @@ pragma solidity 0.8.18; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - CorporateActionsStorageWrapper2 -} from '../corporateActions/CorporateActionsStorageWrapper2.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { CorporateActionsStorageWrapper2 } from '../corporateActions/CorporateActionsStorageWrapper2.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution abstract contract LockStorageWrapper2 is CorporateActionsStorageWrapper2 { @@ -226,32 +222,19 @@ abstract contract LockStorageWrapper2 is CorporateActionsStorageWrapper2 { uint256 abaf = _updateTotalLock(_partition, _tokenHolder); - _updateLockedBalancesBeforeLock( - _partition, - _amount, - _tokenHolder, - _expirationTimestamp - ); + _updateLockedBalancesBeforeLock(_partition, _amount, _tokenHolder, _expirationTimestamp); _reduceBalanceByPartition(_tokenHolder, _amount, _partition); LockDataStorage storage lockStorage = _lockStorage(); - lockId_ = ++lockStorage.nextLockIdByAccountAndPartition[_tokenHolder][ - _partition - ]; + lockId_ = ++lockStorage.nextLockIdByAccountAndPartition[_tokenHolder][_partition]; LockData memory lock = LockData(lockId_, _amount, _expirationTimestamp); _setLockLabafById(_partition, _tokenHolder, lockId_, abaf); - lockStorage.locksByAccountPartitionAndId[_tokenHolder][_partition][ - lockId_ - ] = lock; - lockStorage.lockIdsByAccountAndPartition[_tokenHolder][_partition].add( - lockId_ - ); - lockStorage.totalLockedAmountByAccountAndPartition[_tokenHolder][ - _partition - ] += _amount; + lockStorage.locksByAccountPartitionAndId[_tokenHolder][_partition][lockId_] = lock; + lockStorage.lockIdsByAccountAndPartition[_tokenHolder][_partition].add(lockId_); + lockStorage.totalLockedAmountByAccountAndPartition[_tokenHolder][_partition] += _amount; lockStorage.totalLockedAmountByAccount[_tokenHolder] += _amount; success_ = true; @@ -273,16 +256,11 @@ abstract contract LockStorageWrapper2 is CorporateActionsStorageWrapper2 { uint256 lockAmount = _getLock(_partition, _tokenHolder, _lockId).amount; LockDataStorage storage lockStorage = _lockStorage(); - lockStorage.totalLockedAmountByAccountAndPartition[_tokenHolder][ - _partition - ] -= lockAmount; + lockStorage.totalLockedAmountByAccountAndPartition[_tokenHolder][_partition] -= lockAmount; lockStorage.totalLockedAmountByAccount[_tokenHolder] -= lockAmount; - lockStorage - .lockIdsByAccountAndPartition[_tokenHolder][_partition].remove(_lockId); + lockStorage.lockIdsByAccountAndPartition[_tokenHolder][_partition].remove(_lockId); - delete lockStorage.locksByAccountPartitionAndId[_tokenHolder][ - _partition - ][_lockId]; + delete lockStorage.locksByAccountPartitionAndId[_tokenHolder][_partition][_lockId]; _removeLabafLock(_partition, _tokenHolder, _lockId); if (!_validPartitionForReceiver(_partition, _tokenHolder)) { @@ -295,17 +273,11 @@ abstract contract LockStorageWrapper2 is CorporateActionsStorageWrapper2 { _removeLabafLock(_partition, _tokenHolder, _lockId); } - function _updateTotalLock( - bytes32 _partition, - address _tokenHolder - ) internal returns (uint256 abaf_) { + function _updateTotalLock(bytes32 _partition, address _tokenHolder) internal returns (uint256 abaf_) { abaf_ = _getAbaf(); uint256 labaf = _getTotalLockLabaf(_tokenHolder); - uint256 labafByPartition = _getTotalLockLabafByPartition( - _partition, - _tokenHolder - ); + uint256 labafByPartition = _getTotalLockLabafByPartition(_partition, _tokenHolder); if (abaf_ != labaf) { uint256 factor = _calculateFactor(abaf_, labaf); @@ -314,17 +286,9 @@ abstract contract LockStorageWrapper2 is CorporateActionsStorageWrapper2 { } if (abaf_ != labafByPartition) { - uint256 factorByPartition = _calculateFactor( - abaf_, - labafByPartition - ); - - _updateTotalLockedAmountAndLabafByPartition( - _partition, - _tokenHolder, - factorByPartition, - abaf_ - ); + uint256 factorByPartition = _calculateFactor(abaf_, labafByPartition); + + _updateTotalLockedAmountAndLabafByPartition(_partition, _tokenHolder, factorByPartition, abaf_); } } @@ -333,27 +297,13 @@ abstract contract LockStorageWrapper2 is CorporateActionsStorageWrapper2 { * LABAF (Locked Amount Before Adjustment Factor) for each lock is not updated * because the lock is deleted right after, optimizing gas usage. */ - function _updateLockByIndex( - bytes32 _partition, - uint256 _lockId, - address _tokenHolder, - uint256 _abaf - ) internal { - uint256 lockLabaf = _getLockLabafById( - _partition, - _tokenHolder, - _lockId - ); + function _updateLockByIndex(bytes32 _partition, uint256 _lockId, address _tokenHolder, uint256 _abaf) internal { + uint256 lockLabaf = _getLockLabafById(_partition, _tokenHolder, _lockId); if (_abaf != lockLabaf) { uint256 factorLock = _calculateFactor(_abaf, lockLabaf); - _updateLockAmountById( - _partition, - _lockId, - _tokenHolder, - factorLock - ); + _updateLockAmountById(_partition, _lockId, _tokenHolder, factorLock); } } @@ -364,16 +314,10 @@ abstract contract LockStorageWrapper2 is CorporateActionsStorageWrapper2 { uint256 _factor ) internal { if (_factor == 1) return; - _lockStorage() - .locksByAccountPartitionAndId[_tokenHolder][_partition][_lockId] - .amount *= _factor; + _lockStorage().locksByAccountPartitionAndId[_tokenHolder][_partition][_lockId].amount *= _factor; } - function _updateTotalLockedAmountAndLabaf( - address _tokenHolder, - uint256 _factor, - uint256 _abaf - ) internal { + function _updateTotalLockedAmountAndLabaf(address _tokenHolder, uint256 _factor, uint256 _abaf) internal { if (_factor == 1) return; LockDataStorage storage lockStorage = _lockStorage(); @@ -390,9 +334,7 @@ abstract contract LockStorageWrapper2 is CorporateActionsStorageWrapper2 { if (_factor == 1) return; LockDataStorage storage lockStorage = _lockStorage(); - lockStorage.totalLockedAmountByAccountAndPartition[_tokenHolder][ - _partition - ] *= _factor; + lockStorage.totalLockedAmountByAccountAndPartition[_tokenHolder][_partition] *= _factor; _setTotalLockLabafByPartition(_partition, _tokenHolder, _abaf); } diff --git a/packages/ats/contracts/contracts/layer_0/scheduledTasks/ScheduledTasksCommon.sol b/packages/ats/contracts/contracts/layer_0/scheduledTasks/ScheduledTasksCommon.sol index b7a856795..ece717459 100644 --- a/packages/ats/contracts/contracts/layer_0/scheduledTasks/ScheduledTasksCommon.sol +++ b/packages/ats/contracts/contracts/layer_0/scheduledTasks/ScheduledTasksCommon.sol @@ -206,9 +206,7 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - SnapshotsStorageWrapper1 -} from '../snapshots/SnapshotsStorageWrapper1.sol'; +import { SnapshotsStorageWrapper1 } from '../snapshots/SnapshotsStorageWrapper1.sol'; abstract contract ScheduledTasksCommon is SnapshotsStorageWrapper1 { error WrongTimestamp(uint256 timeStamp); diff --git a/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledBalanceAdjustments/ScheduledBalanceAdjustmentsStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledBalanceAdjustments/ScheduledBalanceAdjustmentsStorageWrapper.sol index 762e25376..3f99755fa 100644 --- a/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledBalanceAdjustments/ScheduledBalanceAdjustmentsStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledBalanceAdjustments/ScheduledBalanceAdjustmentsStorageWrapper.sol @@ -209,72 +209,35 @@ pragma solidity 0.8.18; import { IScheduledBalanceAdjustments } from '../../../layer_2/interfaces/scheduledTasks/scheduledBalanceAdjustments/IScheduledBalanceAdjustments.sol'; -import { - ScheduledSnapshotsStorageWrapperRead -} from '../scheduledSnapshots/ScheduledSnapshotsStorageWrapperRead.sol'; -import { - ScheduledTasksLib -} from '../../../layer_2/scheduledTasks/ScheduledTasksLib.sol'; -import { - _SCHEDULED_BALANCE_ADJUSTMENTS_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; -import {IEquity} from '../../../layer_2/interfaces/equity/IEquity.sol'; - -abstract contract ScheduledBalanceAdjustmentsStorageWrapper is - ScheduledSnapshotsStorageWrapperRead -{ - function _addScheduledBalanceAdjustment( - uint256 _newScheduledTimestamp, - bytes memory _newData - ) internal { - ScheduledTasksLib.addScheduledTask( - _scheduledBalanceAdjustmentStorage(), - _newScheduledTimestamp, - _newData - ); +import { ScheduledSnapshotsStorageWrapperRead } from '../scheduledSnapshots/ScheduledSnapshotsStorageWrapperRead.sol'; +import { ScheduledTasksLib } from '../../../layer_2/scheduledTasks/ScheduledTasksLib.sol'; +import { _SCHEDULED_BALANCE_ADJUSTMENTS_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { IEquity } from '../../../layer_2/interfaces/equity/IEquity.sol'; + +abstract contract ScheduledBalanceAdjustmentsStorageWrapper is ScheduledSnapshotsStorageWrapperRead { + function _addScheduledBalanceAdjustment(uint256 _newScheduledTimestamp, bytes memory _newData) internal { + ScheduledTasksLib.addScheduledTask(_scheduledBalanceAdjustmentStorage(), _newScheduledTimestamp, _newData); } - function _triggerScheduledBalanceAdjustments( - uint256 _max - ) internal returns (uint256) { + function _triggerScheduledBalanceAdjustments(uint256 _max) internal returns (uint256) { return ScheduledTasksLib.triggerScheduledTasks( _scheduledBalanceAdjustmentStorage(), - IScheduledBalanceAdjustments - .onScheduledBalanceAdjustmentTriggered - .selector, + IScheduledBalanceAdjustments.onScheduledBalanceAdjustmentTriggered.selector, _max, _blockTimestamp() ); } - function _getScheduledBalanceAdjustmentCount() - internal - view - returns (uint256) - { - return - ScheduledTasksLib.getScheduledTaskCount( - _scheduledBalanceAdjustmentStorage() - ); + function _getScheduledBalanceAdjustmentCount() internal view returns (uint256) { + return ScheduledTasksLib.getScheduledTaskCount(_scheduledBalanceAdjustmentStorage()); } function _getScheduledBalanceAdjustments( uint256 _pageIndex, uint256 _pageLength - ) - internal - view - returns ( - ScheduledTasksLib.ScheduledTask[] memory scheduledBalanceAdjustment_ - ) - { - return - ScheduledTasksLib.getScheduledTasks( - _scheduledBalanceAdjustmentStorage(), - _pageIndex, - _pageLength - ); + ) internal view returns (ScheduledTasksLib.ScheduledTask[] memory scheduledBalanceAdjustment_) { + return ScheduledTasksLib.getScheduledTasks(_scheduledBalanceAdjustmentStorage(), _pageIndex, _pageLength); } function _getPendingScheduledBalanceAdjustmentsAt( @@ -287,29 +250,25 @@ abstract contract ScheduledBalanceAdjustmentsStorageWrapper is ScheduledTasksLib.ScheduledTasksDataStorage storage scheduledBalanceAdjustments = _scheduledBalanceAdjustmentStorage(); - uint256 scheduledTaskCount = ScheduledTasksLib.getScheduledTaskCount( - scheduledBalanceAdjustments - ); + uint256 scheduledTaskCount = ScheduledTasksLib.getScheduledTaskCount(scheduledBalanceAdjustments); for (uint256 i = 1; i <= scheduledTaskCount; i++) { uint256 pos = scheduledTaskCount - i; - ScheduledTasksLib.ScheduledTask - memory scheduledTask = ScheduledTasksLib - .getScheduledTasksByIndex(scheduledBalanceAdjustments, pos); + ScheduledTasksLib.ScheduledTask memory scheduledTask = ScheduledTasksLib.getScheduledTasksByIndex( + scheduledBalanceAdjustments, + pos + ); if (scheduledTask.scheduledTimestamp < _timestamp) { bytes32 actionId = abi.decode(scheduledTask.data, (bytes32)); - bytes memory balanceAdjustmentData = _getCorporateActionData( - actionId - ); + bytes memory balanceAdjustmentData = _getCorporateActionData(actionId); - IEquity.ScheduledBalanceAdjustment - memory balanceAdjustment = abi.decode( - balanceAdjustmentData, - (IEquity.ScheduledBalanceAdjustment) - ); + IEquity.ScheduledBalanceAdjustment memory balanceAdjustment = abi.decode( + balanceAdjustmentData, + (IEquity.ScheduledBalanceAdjustment) + ); pendingABAF_ *= balanceAdjustment.factor; pendingDecimals_ += balanceAdjustment.decimals; } else { @@ -321,10 +280,7 @@ abstract contract ScheduledBalanceAdjustmentsStorageWrapper is function _scheduledBalanceAdjustmentStorage() internal pure - returns ( - ScheduledTasksLib.ScheduledTasksDataStorage - storage scheduledBalanceAdjustments_ - ) + returns (ScheduledTasksLib.ScheduledTasksDataStorage storage scheduledBalanceAdjustments_) { bytes32 position = _SCHEDULED_BALANCE_ADJUSTMENTS_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly diff --git a/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledSnapshots/ScheduledSnapshotsStorageWrapperRead.sol b/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledSnapshots/ScheduledSnapshotsStorageWrapperRead.sol index 58ab095d6..bd3a80a14 100644 --- a/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledSnapshots/ScheduledSnapshotsStorageWrapperRead.sol +++ b/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledSnapshots/ScheduledSnapshotsStorageWrapperRead.sol @@ -209,33 +209,16 @@ pragma solidity 0.8.18; import { IScheduledSnapshots } from '../../../layer_2/interfaces/scheduledTasks/scheduledSnapshots/IScheduledSnapshots.sol'; -import { - ScheduledTasksLib -} from '../../../layer_2/scheduledTasks/ScheduledTasksLib.sol'; -import { - ScheduledTasksStorageWrapper -} from '../scheduledTasks/ScheduledTasksStorageWrapper.sol'; -import { - _SCHEDULED_SNAPSHOTS_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; - -abstract contract ScheduledSnapshotsStorageWrapperRead is - ScheduledTasksStorageWrapper -{ - function _addScheduledSnapshot( - uint256 _newScheduledTimestamp, - bytes memory _newData - ) internal { - ScheduledTasksLib.addScheduledTask( - _scheduledSnapshotStorage(), - _newScheduledTimestamp, - _newData - ); +import { ScheduledTasksLib } from '../../../layer_2/scheduledTasks/ScheduledTasksLib.sol'; +import { ScheduledTasksStorageWrapper } from '../scheduledTasks/ScheduledTasksStorageWrapper.sol'; +import { _SCHEDULED_SNAPSHOTS_STORAGE_POSITION } from '../../constants/storagePositions.sol'; + +abstract contract ScheduledSnapshotsStorageWrapperRead is ScheduledTasksStorageWrapper { + function _addScheduledSnapshot(uint256 _newScheduledTimestamp, bytes memory _newData) internal { + ScheduledTasksLib.addScheduledTask(_scheduledSnapshotStorage(), _newScheduledTimestamp, _newData); } - function _triggerScheduledSnapshots( - uint256 _max - ) internal returns (uint256) { + function _triggerScheduledSnapshots(uint256 _max) internal returns (uint256) { return ScheduledTasksLib.triggerScheduledTasks( _scheduledSnapshotStorage(), @@ -246,35 +229,20 @@ abstract contract ScheduledSnapshotsStorageWrapperRead is } function _getScheduledSnapshotCount() internal view returns (uint256) { - return - ScheduledTasksLib.getScheduledTaskCount( - _scheduledSnapshotStorage() - ); + return ScheduledTasksLib.getScheduledTaskCount(_scheduledSnapshotStorage()); } function _getScheduledSnapshots( uint256 _pageIndex, uint256 _pageLength - ) - internal - view - returns (ScheduledTasksLib.ScheduledTask[] memory scheduledSnapshot_) - { - return - ScheduledTasksLib.getScheduledTasks( - _scheduledSnapshotStorage(), - _pageIndex, - _pageLength - ); + ) internal view returns (ScheduledTasksLib.ScheduledTask[] memory scheduledSnapshot_) { + return ScheduledTasksLib.getScheduledTasks(_scheduledSnapshotStorage(), _pageIndex, _pageLength); } function _scheduledSnapshotStorage() internal pure - returns ( - ScheduledTasksLib.ScheduledTasksDataStorage - storage scheduledSnapshots_ - ) + returns (ScheduledTasksLib.ScheduledTasksDataStorage storage scheduledSnapshots_) { bytes32 position = _SCHEDULED_SNAPSHOTS_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly diff --git a/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledTasks/ScheduledTasksStorageWrapper.sol b/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledTasks/ScheduledTasksStorageWrapper.sol index a84c9aab8..7ba71aaf3 100644 --- a/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledTasks/ScheduledTasksStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_0/scheduledTasks/scheduledTasks/ScheduledTasksStorageWrapper.sol @@ -206,27 +206,14 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - IScheduledTasks -} from '../../../layer_2/interfaces/scheduledTasks/scheduledTasks/IScheduledTasks.sol'; -import { - ScheduledTasksLib -} from '../../../layer_2/scheduledTasks/ScheduledTasksLib.sol'; -import { - _SCHEDULED_TASKS_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; -import {ScheduledTasksCommon} from '../ScheduledTasksCommon.sol'; +import { IScheduledTasks } from '../../../layer_2/interfaces/scheduledTasks/scheduledTasks/IScheduledTasks.sol'; +import { ScheduledTasksLib } from '../../../layer_2/scheduledTasks/ScheduledTasksLib.sol'; +import { _SCHEDULED_TASKS_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { ScheduledTasksCommon } from '../ScheduledTasksCommon.sol'; abstract contract ScheduledTasksStorageWrapper is ScheduledTasksCommon { - function _addScheduledTask( - uint256 _newScheduledTimestamp, - bytes memory _newData - ) internal { - ScheduledTasksLib.addScheduledTask( - _scheduledTaskStorage(), - _newScheduledTimestamp, - _newData - ); + function _addScheduledTask(uint256 _newScheduledTimestamp, bytes memory _newData) internal { + ScheduledTasksLib.addScheduledTask(_scheduledTaskStorage(), _newScheduledTimestamp, _newData); } function _triggerScheduledTasks(uint256 _max) internal returns (uint256) { @@ -246,25 +233,14 @@ abstract contract ScheduledTasksStorageWrapper is ScheduledTasksCommon { function _getScheduledTasks( uint256 _pageIndex, uint256 _pageLength - ) - internal - view - returns (ScheduledTasksLib.ScheduledTask[] memory scheduledTask_) - { - return - ScheduledTasksLib.getScheduledTasks( - _scheduledTaskStorage(), - _pageIndex, - _pageLength - ); + ) internal view returns (ScheduledTasksLib.ScheduledTask[] memory scheduledTask_) { + return ScheduledTasksLib.getScheduledTasks(_scheduledTaskStorage(), _pageIndex, _pageLength); } function _scheduledTaskStorage() internal pure - returns ( - ScheduledTasksLib.ScheduledTasksDataStorage storage scheduledTasks_ - ) + returns (ScheduledTasksLib.ScheduledTasksDataStorage storage scheduledTasks_) { bytes32 position = _SCHEDULED_TASKS_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly diff --git a/packages/ats/contracts/contracts/layer_0/snapshots/SnapshotsStorageWrapper1.sol b/packages/ats/contracts/contracts/layer_0/snapshots/SnapshotsStorageWrapper1.sol index 780b76e33..031a7131f 100644 --- a/packages/ats/contracts/contracts/layer_0/snapshots/SnapshotsStorageWrapper1.sol +++ b/packages/ats/contracts/contracts/layer_0/snapshots/SnapshotsStorageWrapper1.sol @@ -206,24 +206,13 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - CorporateActionsStorageWrapper1 -} from '../corporateActions/CorporateActionsStorageWrapper1.sol'; -import { - ArraysUpgradeable -} from '@openzeppelin/contracts-upgradeable/utils/ArraysUpgradeable.sol'; -import { - CountersUpgradeable -} from '@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol'; -import { - ISnapshotsStorageWrapper -} from '../../layer_1/interfaces/snapshots/ISnapshotsStorageWrapper.sol'; -import {_SNAPSHOT_STORAGE_POSITION} from '../constants/storagePositions.sol'; - -abstract contract SnapshotsStorageWrapper1 is - ISnapshotsStorageWrapper, - CorporateActionsStorageWrapper1 -{ +import { CorporateActionsStorageWrapper1 } from '../corporateActions/CorporateActionsStorageWrapper1.sol'; +import { ArraysUpgradeable } from '@openzeppelin/contracts-upgradeable/utils/ArraysUpgradeable.sol'; +import { CountersUpgradeable } from '@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol'; +import { ISnapshotsStorageWrapper } from '../../layer_1/interfaces/snapshots/ISnapshotsStorageWrapper.sol'; +import { _SNAPSHOT_STORAGE_POSITION } from '../constants/storagePositions.sol'; + +abstract contract SnapshotsStorageWrapper1 is ISnapshotsStorageWrapper, CorporateActionsStorageWrapper1 { using ArraysUpgradeable for uint256[]; using CountersUpgradeable for CountersUpgradeable.Counter; @@ -287,10 +276,7 @@ abstract contract SnapshotsStorageWrapper1 is return currentId; } - function _updateSnapshot( - Snapshots storage snapshots, - uint256 currentValue - ) internal { + function _updateSnapshot(Snapshots storage snapshots, uint256 currentValue) internal { uint256 currentId = _getCurrentSnapshotId(); if (_lastSnapshotId(snapshots.ids) < currentId) { snapshots.ids.push(currentId); @@ -313,9 +299,7 @@ abstract contract SnapshotsStorageWrapper1 is } if (_lastSnapshotId(partitionSnapshots.ids) < currentId) { partitionSnapshots.ids.push(currentId); - ListOfPartitions memory listOfPartitions = ListOfPartitions( - partitionIds - ); + ListOfPartitions memory listOfPartitions = ListOfPartitions(partitionIds); partitionSnapshots.values.push(listOfPartitions); } } @@ -324,19 +308,13 @@ abstract contract SnapshotsStorageWrapper1 is return _snapshotStorage().currentSnapshotId.current(); } - function _valueAt( - uint256 snapshotId, - Snapshots storage snapshots - ) internal view returns (bool, uint256) { + function _valueAt(uint256 snapshotId, Snapshots storage snapshots) internal view returns (bool, uint256) { (bool found, uint256 index) = _indexFor(snapshotId, snapshots.ids); return (found, found ? snapshots.values[index] : 0); } - function _indexFor( - uint256 snapshotId, - uint256[] storage ids - ) internal view returns (bool, uint256) { + function _indexFor(uint256 snapshotId, uint256[] storage ids) internal view returns (bool, uint256) { if (snapshotId == 0) { revert SnapshotIdNull(); } @@ -353,9 +331,7 @@ abstract contract SnapshotsStorageWrapper1 is } } - function _lastSnapshotId( - uint256[] storage ids - ) internal view returns (uint256) { + function _lastSnapshotId(uint256[] storage ids) internal view returns (uint256) { if (ids.length == 0) { return 0; } else { @@ -363,12 +339,7 @@ abstract contract SnapshotsStorageWrapper1 is } } - function _snapshotStorage() - internal - pure - virtual - returns (SnapshotStorage storage snapshotStorage_) - { + function _snapshotStorage() internal pure virtual returns (SnapshotStorage storage snapshotStorage_) { bytes32 position = _SNAPSHOT_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_0/snapshots/SnapshotsStorageWrapper2.sol b/packages/ats/contracts/contracts/layer_0/snapshots/SnapshotsStorageWrapper2.sol index b947c6aa0..068e7813c 100644 --- a/packages/ats/contracts/contracts/layer_0/snapshots/SnapshotsStorageWrapper2.sol +++ b/packages/ats/contracts/contracts/layer_0/snapshots/SnapshotsStorageWrapper2.sol @@ -206,15 +206,10 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - ISnapshotsStorageWrapper -} from '../../layer_1/interfaces/snapshots/ISnapshotsStorageWrapper.sol'; -import {ERC20StorageWrapper2} from '../ERC1400/ERC20/ERC20StorageWrapper2.sol'; - -abstract contract SnapshotsStorageWrapper2 is - ISnapshotsStorageWrapper, - ERC20StorageWrapper2 -{ +import { ISnapshotsStorageWrapper } from '../../layer_1/interfaces/snapshots/ISnapshotsStorageWrapper.sol'; +import { ERC20StorageWrapper2 } from '../ERC1400/ERC20/ERC20StorageWrapper2.sol'; + +abstract contract SnapshotsStorageWrapper2 is ISnapshotsStorageWrapper, ERC20StorageWrapper2 { function _updateAbafSnapshot() internal { _updateSnapshot(_snapshotStorage().abafSnapshots, _getAbaf()); } @@ -224,18 +219,12 @@ abstract contract SnapshotsStorageWrapper2 is } function _updateAssetTotalSupplySnapshot() internal { - _updateSnapshot( - _snapshotStorage().totalSupplySnapshots, - _totalSupply() - ); + _updateSnapshot(_snapshotStorage().totalSupplySnapshots, _totalSupply()); } // Update balance and/or total supply snapshots before the values are modified. This is implemented // in the _beforeTokenTransfer hook, which is executed for _mint, _burn, and _transfer operations. - function _updateAccountSnapshot( - address account, - bytes32 partition - ) internal override { + function _updateAccountSnapshot(address account, bytes32 partition) internal override { uint256 currentSnapshotId = _getCurrentSnapshotId(); if (currentSnapshotId == 0) return; @@ -247,9 +236,7 @@ abstract contract SnapshotsStorageWrapper2 is _updateAccountSnapshot( _snapshotStorage().accountBalanceSnapshots[account], _balanceOf(account), - _snapshotStorage().accountPartitionBalanceSnapshots[account][ - partition - ], + _snapshotStorage().accountPartitionBalanceSnapshots[account][partition], _snapshotStorage().accountPartitionMetadata[account], _balanceOfByPartition(partition, account), _partitionsOf(account) @@ -259,10 +246,7 @@ abstract contract SnapshotsStorageWrapper2 is if (abafAtCurrentSnapshot == 0) abafAtCurrentSnapshot = 1; uint256 balance = _balanceOfAdjusted(account); - uint256 balanceForPartition = _balanceOfByPartitionAdjusted( - partition, - account - ); + uint256 balanceForPartition = _balanceOfByPartitionAdjusted(partition, account); uint256 factor = abaf / abafAtCurrentSnapshot; balance /= factor; @@ -271,9 +255,7 @@ abstract contract SnapshotsStorageWrapper2 is _updateAccountSnapshot( _snapshotStorage().accountBalanceSnapshots[account], balance, - _snapshotStorage().accountPartitionBalanceSnapshots[account][ - partition - ], + _snapshotStorage().accountPartitionBalanceSnapshots[account][partition], _snapshotStorage().accountPartitionMetadata[account], balanceForPartition, _partitionsOf(account) @@ -297,107 +279,59 @@ abstract contract SnapshotsStorageWrapper2 is ); } - function _updateAccountLockedBalancesSnapshot( - address account, - bytes32 partition - ) internal { - _updateSnapshot( - _snapshotStorage().accountLockedBalanceSnapshots[account], - _getLockedAmountFor(account) - ); + function _updateAccountLockedBalancesSnapshot(address account, bytes32 partition) internal { + _updateSnapshot(_snapshotStorage().accountLockedBalanceSnapshots[account], _getLockedAmountFor(account)); _updateSnapshot( - _snapshotStorage().accountPartitionLockedBalanceSnapshots[account][ - partition - ], + _snapshotStorage().accountPartitionLockedBalanceSnapshots[account][partition], _getLockedAmountForByPartition(partition, account) ); } - function _updateAccountHeldBalancesSnapshot( - address account, - bytes32 partition - ) internal { + function _updateAccountHeldBalancesSnapshot(address account, bytes32 partition) internal { + _updateSnapshot(_snapshotStorage().accountHeldBalanceSnapshots[account], _getHeldAmountFor(account)); _updateSnapshot( - _snapshotStorage().accountHeldBalanceSnapshots[account], - _getHeldAmountFor(account) - ); - _updateSnapshot( - _snapshotStorage().accountPartitionHeldBalanceSnapshots[account][ - partition - ], + _snapshotStorage().accountPartitionHeldBalanceSnapshots[account][partition], _getHeldAmountForByPartition(partition, account) ); } - function _updateAccountFrozenBalancesSnapshot( - address account, - bytes32 partition - ) internal { - _updateSnapshot( - _snapshotStorage().accountFrozenBalanceSnapshots[account], - _getFrozenAmountFor(account) - ); + function _updateAccountFrozenBalancesSnapshot(address account, bytes32 partition) internal { + _updateSnapshot(_snapshotStorage().accountFrozenBalanceSnapshots[account], _getFrozenAmountFor(account)); _updateSnapshot( - _snapshotStorage().accountPartitionFrozenBalanceSnapshots[account][ - partition - ], + _snapshotStorage().accountPartitionFrozenBalanceSnapshots[account][partition], _getFrozenAmountForByPartition(partition, account) ); } - function _updateAccountClearedBalancesSnapshot( - address account, - bytes32 partition - ) internal { + function _updateAccountClearedBalancesSnapshot(address account, bytes32 partition) internal { + _updateSnapshot(_snapshotStorage().accountClearedBalanceSnapshots[account], _getClearedAmountFor(account)); _updateSnapshot( - _snapshotStorage().accountClearedBalanceSnapshots[account], - _getClearedAmountFor(account) - ); - _updateSnapshot( - _snapshotStorage().accountPartitionClearedBalanceSnapshots[account][ - partition - ], + _snapshotStorage().accountPartitionClearedBalanceSnapshots[account][partition], _getClearedAmountForByPartition(partition, account) ); } function _updateTotalSupplySnapshot(bytes32 partition) internal override { - _updateSnapshot( - _snapshotStorage().totalSupplySnapshots, - _totalSupply() - ); + _updateSnapshot(_snapshotStorage().totalSupplySnapshots, _totalSupply()); _updateSnapshot( _snapshotStorage().totalSupplyByPartitionSnapshots[partition], _totalSupplyByPartition(partition) ); } - function _abafAtSnapshot( - uint256 _snapshotID - ) internal view returns (uint256 abaf_) { - (bool snapshotted, uint256 value) = _valueAt( - _snapshotID, - _snapshotStorage().abafSnapshots - ); + function _abafAtSnapshot(uint256 _snapshotID) internal view returns (uint256 abaf_) { + (bool snapshotted, uint256 value) = _valueAt(_snapshotID, _snapshotStorage().abafSnapshots); return snapshotted ? value : _getAbaf(); } - function _decimalsAtSnapshot( - uint256 _snapshotID - ) internal view returns (uint8 decimals_) { - (bool snapshotted, uint256 value) = _valueAt( - _snapshotID, - _snapshotStorage().decimals - ); + function _decimalsAtSnapshot(uint256 _snapshotID) internal view returns (uint8 decimals_) { + (bool snapshotted, uint256 value) = _valueAt(_snapshotID, _snapshotStorage().decimals); return snapshotted ? uint8(value) : _decimalsAdjusted(); } - function _balanceOfAtSnapshot( - uint256 _snapshotID, - address _tokenHolder - ) internal view returns (uint256 balance_) { + function _balanceOfAtSnapshot(uint256 _snapshotID, address _tokenHolder) internal view returns (uint256 balance_) { return _balanceOfAt(_tokenHolder, _snapshotID); } @@ -413,13 +347,9 @@ abstract contract SnapshotsStorageWrapper2 is uint256 _snapshotID, address _tokenHolder ) internal view returns (bytes32[] memory) { - PartitionSnapshots storage partitionSnapshots = _snapshotStorage() - .accountPartitionMetadata[_tokenHolder]; + PartitionSnapshots storage partitionSnapshots = _snapshotStorage().accountPartitionMetadata[_tokenHolder]; - (bool found, uint256 index) = _indexFor( - _snapshotID, - partitionSnapshots.ids - ); + (bool found, uint256 index) = _indexFor(_snapshotID, partitionSnapshots.ids); if (!found) { return _partitionsOf(_tokenHolder); @@ -428,16 +358,11 @@ abstract contract SnapshotsStorageWrapper2 is return partitionSnapshots.values[index].partitions; } - function _totalSupplyAtSnapshot( - uint256 _snapshotID - ) internal view returns (uint256 totalSupply_) { + function _totalSupplyAtSnapshot(uint256 _snapshotID) internal view returns (uint256 totalSupply_) { return _totalSupplyAt(_snapshotID); } - function _balanceOfAt( - address account, - uint256 snapshotId - ) internal view returns (uint256) { + function _balanceOfAt(address account, uint256 snapshotId) internal view returns (uint256) { return _balanceOfAtAdjusted( snapshotId, @@ -454,9 +379,7 @@ abstract contract SnapshotsStorageWrapper2 is return _balanceOfAtAdjusted( snapshotId, - _snapshotStorage().accountPartitionBalanceSnapshots[account][ - _partition - ], + _snapshotStorage().accountPartitionBalanceSnapshots[account][_partition], _balanceOfByPartitionAdjusted(_partition, account) ); } @@ -493,9 +416,7 @@ abstract contract SnapshotsStorageWrapper2 is return _balanceOfAtAdjusted( _snapshotID, - _snapshotStorage().accountPartitionLockedBalanceSnapshots[ - _tokenHolder - ][_partition], + _snapshotStorage().accountPartitionLockedBalanceSnapshots[_tokenHolder][_partition], _getLockedAmountForByPartitionAdjusted(_partition, _tokenHolder) ); } @@ -520,9 +441,7 @@ abstract contract SnapshotsStorageWrapper2 is return _balanceOfAtAdjusted( _snapshotID, - _snapshotStorage().accountPartitionHeldBalanceSnapshots[ - _tokenHolder - ][_partition], + _snapshotStorage().accountPartitionHeldBalanceSnapshots[_tokenHolder][_partition], _getHeldAmountForByPartitionAdjusted(_partition, _tokenHolder) ); } @@ -547,9 +466,7 @@ abstract contract SnapshotsStorageWrapper2 is return _balanceOfAtAdjusted( _snapshotID, - _snapshotStorage().accountPartitionFrozenBalanceSnapshots[ - _tokenHolder - ][_partition], + _snapshotStorage().accountPartitionFrozenBalanceSnapshots[_tokenHolder][_partition], _getFrozenAmountForByPartitionAdjusted(_partition, _tokenHolder) ); } @@ -573,13 +490,8 @@ abstract contract SnapshotsStorageWrapper2 is return _balanceOfAtAdjusted( _snapshotID, - _snapshotStorage().accountPartitionClearedBalanceSnapshots[ - _tokenHolder - ][_partition], - _getClearedAmountForByPartitionAdjusted( - _partition, - _tokenHolder - ) + _snapshotStorage().accountPartitionClearedBalanceSnapshots[_tokenHolder][_partition], + _getClearedAmountForByPartitionAdjusted(_partition, _tokenHolder) ); } @@ -605,38 +517,27 @@ abstract contract SnapshotsStorageWrapper2 is /** * @dev Retrieves the total supply at the time `snapshotId` was created. */ - function _totalSupplyAt( - uint256 snapshotId - ) internal view returns (uint256) { - (bool snapshotted, uint256 value) = _valueAt( - snapshotId, - _snapshotStorage().totalSupplySnapshots - ); + function _totalSupplyAt(uint256 snapshotId) internal view returns (uint256) { + (bool snapshotted, uint256 value) = _valueAt(snapshotId, _snapshotStorage().totalSupplySnapshots); return snapshotted ? value : _totalSupply(); } - function _getHeldAmountForAdjusted( - address _tokenHolder - ) internal view virtual returns (uint256 amount_); + function _getHeldAmountForAdjusted(address _tokenHolder) internal view virtual returns (uint256 amount_); function _getHeldAmountForByPartitionAdjusted( bytes32 _partition, address _tokenHolder ) internal view virtual returns (uint256 amount_); - function _getFrozenAmountForAdjusted( - address _tokenHolder - ) internal view virtual returns (uint256 amount_); + function _getFrozenAmountForAdjusted(address _tokenHolder) internal view virtual returns (uint256 amount_); function _getFrozenAmountForByPartitionAdjusted( bytes32 _partition, address _tokenHolder ) internal view virtual returns (uint256 amount_); - function _getClearedAmountForAdjusted( - address _tokenHolder - ) internal view virtual returns (uint256 amount_); + function _getClearedAmountForAdjusted(address _tokenHolder) internal view virtual returns (uint256 amount_); function _getClearedAmountForByPartitionAdjusted( bytes32 _partition, diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Basic.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Basic.sol index a7fd70013..1d381eca8 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Basic.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Basic.sol @@ -206,9 +206,9 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IERC1410Basic} from '../../interfaces/ERC1400/IERC1410Basic.sol'; -import {Common} from '../../common/Common.sol'; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; +import { IERC1410Basic } from '../../interfaces/ERC1400/IERC1410Basic.sol'; +import { Common } from '../../common/Common.sol'; +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; abstract contract ERC1410Basic is IERC1410Basic, Common { // solhint-disable-next-line func-name-mixedcase @@ -254,15 +254,7 @@ abstract contract ERC1410Basic is IERC1410Basic, Common { // out of bound error). // Note- There is no operator used for the execution of this call so `_operator` value in // in event is address(0) same for the `_operatorData` - return - _transferByPartition( - msg.sender, - _basicTransferInfo, - _partition, - _data, - address(0), - '' - ); + return _transferByPartition(msg.sender, _basicTransferInfo, _partition, _data, address(0), ''); } /** @@ -277,9 +269,7 @@ abstract contract ERC1410Basic is IERC1410Basic, Common { /// @notice Use to get the list of partitions `_tokenHolder` is associated with /// @param _tokenHolder An address corresponds whom partition list is queried /// @return List of partitions - function partitionsOf( - address _tokenHolder - ) external view override returns (bytes32[] memory) { + function partitionsOf(address _tokenHolder) external view override returns (bytes32[] memory) { return _partitionsOf(_tokenHolder); } } diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Controller.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Controller.sol index 95781e755..7a9805f3a 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Controller.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Controller.sol @@ -206,13 +206,11 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {Common} from '../../common/Common.sol'; +import { Common } from '../../common/Common.sol'; -import {_CONTROLLER_ROLE, _AGENT_ROLE} from '../../constants/roles.sol'; -import { - IERC1410Controller -} from '../../interfaces/ERC1400/IERC1410Controller.sol'; -import {IERC1410Basic} from '../../interfaces/ERC1400/IERC1410Basic.sol'; +import { _CONTROLLER_ROLE, _AGENT_ROLE } from '../../constants/roles.sol'; +import { IERC1410Controller } from '../../interfaces/ERC1400/IERC1410Controller.sol'; +import { IERC1410Basic } from '../../interfaces/ERC1400/IERC1410Basic.sol'; abstract contract ERC1410Controller is IERC1410Controller, Common { function controllerTransferByPartition( @@ -222,13 +220,7 @@ abstract contract ERC1410Controller is IERC1410Controller, Common { uint256 _value, bytes calldata _data, bytes calldata _operatorData - ) - external - override - onlyUnpaused - onlyDefaultPartitionWithSinglePartition(_partition) - onlyControllable - { + ) external override onlyUnpaused onlyDefaultPartitionWithSinglePartition(_partition) onlyControllable { { bytes32[] memory roles = new bytes32[](2); roles[0] = _CONTROLLER_ROLE; @@ -251,27 +243,14 @@ abstract contract ERC1410Controller is IERC1410Controller, Common { uint256 _value, bytes calldata _data, bytes calldata _operatorData - ) - external - override - onlyUnpaused - onlyDefaultPartitionWithSinglePartition(_partition) - onlyControllable - { + ) external override onlyUnpaused onlyDefaultPartitionWithSinglePartition(_partition) onlyControllable { { bytes32[] memory roles = new bytes32[](2); roles[0] = _CONTROLLER_ROLE; roles[1] = _AGENT_ROLE; _checkAnyRole(roles, _msgSender()); } - _redeemByPartition( - _partition, - _tokenHolder, - _msgSender(), - _value, - _data, - _operatorData - ); + _redeemByPartition(_partition, _tokenHolder, _msgSender(), _value, _data, _operatorData); } function canTransferByPartition( @@ -282,14 +261,6 @@ abstract contract ERC1410Controller is IERC1410Controller, Common { bytes calldata _data, bytes calldata _operatorData ) external view override returns (bool, bytes1, bytes32) { - return - _canTransferByPartition( - _from, - _to, - _partition, - _value, - _data, - _operatorData - ); + return _canTransferByPartition(_from, _to, _partition, _value, _data, _operatorData); } } diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Operator.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Operator.sol index dc1ebb251..44ed6d274 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Operator.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Operator.sol @@ -206,12 +206,10 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IERC1410Operator} from '../../interfaces/ERC1400/IERC1410Operator.sol'; -import {Common} from '../../common/Common.sol'; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; -import { - IERC1410Operator -} from '../../../layer_1/interfaces/ERC1400/IERC1410Operator.sol'; +import { IERC1410Operator } from '../../interfaces/ERC1400/IERC1410Operator.sol'; +import { Common } from '../../common/Common.sol'; +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; +import { IERC1410Operator } from '../../../layer_1/interfaces/ERC1400/IERC1410Operator.sol'; abstract contract ERC1410Operator is IERC1410Operator, Common { /////////////////////// @@ -236,9 +234,7 @@ abstract contract ERC1410Operator is IERC1410Operator, Common { /// @notice Revokes authorisation of an operator previously given for all partitions of `msg.sender` /// @param _operator An address which is being de-authorised - function revokeOperator( - address _operator - ) external override onlyUnpaused onlyListedAllowed(_msgSender()) { + function revokeOperator(address _operator) external override onlyUnpaused onlyListedAllowed(_msgSender()) { _revokeOperator(_operator); } @@ -290,10 +286,7 @@ abstract contract ERC1410Operator is IERC1410Operator, Common { onlyListedAllowed(_msgSender()) onlyListedAllowed(_operatorTransferData.from) onlyListedAllowed(_operatorTransferData.to) - onlyOperator( - _operatorTransferData.partition, - _operatorTransferData.from - ) + onlyOperator(_operatorTransferData.partition, _operatorTransferData.from) onlyUnProtectedPartitionsOrWildCardRole onlyValidKycStatus(IKyc.KycStatus.GRANTED, _operatorTransferData.from) onlyValidKycStatus(IKyc.KycStatus.GRANTED, _operatorTransferData.to) @@ -312,10 +305,7 @@ abstract contract ERC1410Operator is IERC1410Operator, Common { /// @param _operator The operator to check /// @param _tokenHolder The token holder to check /// @return Whether the `_operator` is an operator for all partitions of `_tokenHolder` - function isOperator( - address _operator, - address _tokenHolder - ) public view override returns (bool) { + function isOperator(address _operator, address _tokenHolder) public view override returns (bool) { return _isOperator(_operator, _tokenHolder); } diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410ProtectedPartitions.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410ProtectedPartitions.sol index 13ddc3f56..53777d87f 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410ProtectedPartitions.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410ProtectedPartitions.sol @@ -206,16 +206,11 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - IERC1410ProtectedPartitions -} from '../../interfaces/ERC1400/IERC1410ProtectedPartitions.sol'; -import {Common} from '../../common/Common.sol'; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; - -abstract contract ERC1410ProtectedPartitions is - IERC1410ProtectedPartitions, - Common -{ +import { IERC1410ProtectedPartitions } from '../../interfaces/ERC1400/IERC1410ProtectedPartitions.sol'; +import { Common } from '../../common/Common.sol'; +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; + +abstract contract ERC1410ProtectedPartitions is IERC1410ProtectedPartitions, Common { function protectedTransferFromByPartition( bytes32 _partition, address _from, @@ -240,15 +235,7 @@ abstract contract ERC1410ProtectedPartitions is _checkRecoveredAddress(_from); _checkRecoveredAddress(_to); } - _protectedTransferFromByPartition( - _partition, - _from, - _to, - _amount, - _deadline, - _nounce, - _signature - ); + _protectedTransferFromByPartition(_partition, _from, _to, _amount, _deadline, _nounce, _signature); } function protectedRedeemFromByPartition( @@ -269,13 +256,6 @@ abstract contract ERC1410ProtectedPartitions is onlyProtectedPartitions onlyValidKycStatus(IKyc.KycStatus.GRANTED, _from) { - _protectedRedeemFromByPartition( - _partition, - _from, - _amount, - _deadline, - _nounce, - _signature - ); + _protectedRedeemFromByPartition(_partition, _from, _amount, _deadline, _nounce, _signature); } } diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410ScheduledTasks.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410ScheduledTasks.sol index 5fe02d4f2..02a99b5be 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410ScheduledTasks.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410ScheduledTasks.sol @@ -208,41 +208,25 @@ pragma solidity 0.8.18; -import { - IERC1410ScheduledTasks -} from '../../interfaces/ERC1400/IERC1410ScheduledTasks.sol'; -import {ERC1410Snapshot} from './ERC1410Snapshot.sol'; -import { - _ERC1410_RESOLVER_KEY -} from '../../../layer_1/constants/resolverKeys.sol'; -import {IERC1410} from '../../../layer_1/interfaces/ERC1400/IERC1410.sol'; +import { IERC1410ScheduledTasks } from '../../interfaces/ERC1400/IERC1410ScheduledTasks.sol'; +import { ERC1410Snapshot } from './ERC1410Snapshot.sol'; +import { _ERC1410_RESOLVER_KEY } from '../../../layer_1/constants/resolverKeys.sol'; +import { IERC1410 } from '../../../layer_1/interfaces/ERC1400/IERC1410.sol'; contract ERC1410ScheduledTasks is IERC1410ScheduledTasks, ERC1410Snapshot { - function triggerAndSyncAll( - bytes32 _partition, - address _from, - address _to - ) external onlyUnpaused { + function triggerAndSyncAll(bytes32 _partition, address _from, address _to) external onlyUnpaused { _triggerAndSyncAll(_partition, _from, _to); } - function balanceOfAt( - address _tokenHolder, - uint256 _timestamp - ) external view returns (uint256) { + function balanceOfAt(address _tokenHolder, uint256 _timestamp) external view returns (uint256) { return _balanceOfAdjustedAt(_tokenHolder, _timestamp); } - function balanceOf( - address _tokenHolder - ) external view override returns (uint256) { + function balanceOf(address _tokenHolder) external view override returns (uint256) { return _balanceOfAdjusted(_tokenHolder); } - function balanceOfByPartition( - bytes32 _partition, - address _tokenHolder - ) external view override returns (uint256) { + function balanceOfByPartition(bytes32 _partition, address _tokenHolder) external view override returns (uint256) { return _balanceOfByPartitionAdjusted(_partition, _tokenHolder); } @@ -250,105 +234,46 @@ contract ERC1410ScheduledTasks is IERC1410ScheduledTasks, ERC1410Snapshot { return _totalSupplyAdjusted(); } - function totalSupplyByPartition( - bytes32 _partition - ) external view override returns (uint256) { + function totalSupplyByPartition(bytes32 _partition) external view override returns (uint256) { return _totalSupplyByPartitionAdjusted(_partition); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _ERC1410_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { staticFunctionSelectors_ = new bytes4[](26); uint256 selectorIndex = 0; staticFunctionSelectors_[selectorIndex++] = this.balanceOfAt.selector; - staticFunctionSelectors_[selectorIndex++] = this - .initialize_ERC1410_Basic - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .transferByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .isMultiPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.initialize_ERC1410_Basic.selector; + staticFunctionSelectors_[selectorIndex++] = this.transferByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.isMultiPartition.selector; staticFunctionSelectors_[selectorIndex++] = this.balanceOf.selector; - staticFunctionSelectors_[selectorIndex++] = this - .balanceOfByPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.balanceOfByPartition.selector; staticFunctionSelectors_[selectorIndex++] = this.partitionsOf.selector; staticFunctionSelectors_[selectorIndex++] = this.totalSupply.selector; - staticFunctionSelectors_[selectorIndex++] = this - .totalSupplyByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .operatorTransferByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .authorizeOperator - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .revokeOperator - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .authorizeOperatorByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .revokeOperatorByPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.totalSupplyByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.operatorTransferByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.authorizeOperator.selector; + staticFunctionSelectors_[selectorIndex++] = this.revokeOperator.selector; + staticFunctionSelectors_[selectorIndex++] = this.authorizeOperatorByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.revokeOperatorByPartition.selector; staticFunctionSelectors_[selectorIndex++] = this.isOperator.selector; - staticFunctionSelectors_[selectorIndex++] = this - .isOperatorForPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .redeemByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .operatorRedeemByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .issueByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .controllerTransferByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .controllerRedeemByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .canTransferByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .canRedeemByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .triggerAndSyncAll - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .protectedTransferFromByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .protectedRedeemFromByPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.isOperatorForPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.redeemByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.operatorRedeemByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.issueByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.controllerTransferByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.controllerRedeemByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.canTransferByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.canRedeemByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.triggerAndSyncAll.selector; + staticFunctionSelectors_[selectorIndex++] = this.protectedTransferFromByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.protectedRedeemFromByPartition.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IERC1410).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Snapshot.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Snapshot.sol index 2bc2e3c1d..2db6eb2c5 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Snapshot.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Snapshot.sol @@ -206,15 +206,13 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {ERC1410ProtectedPartitions} from './ERC1410ProtectedPartitions.sol'; -import { - IStaticFunctionSelectors -} from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {ERC1410Basic} from './ERC1410Basic.sol'; -import {ERC1410Controller} from './ERC1410Controller.sol'; -import {ERC1410Operator} from './ERC1410Operator.sol'; - -import {ERC1410Standard} from './ERC1410Standard.sol'; +import { ERC1410ProtectedPartitions } from './ERC1410ProtectedPartitions.sol'; +import { IStaticFunctionSelectors } from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { ERC1410Basic } from './ERC1410Basic.sol'; +import { ERC1410Controller } from './ERC1410Controller.sol'; +import { ERC1410Operator } from './ERC1410Operator.sol'; + +import { ERC1410Standard } from './ERC1410Standard.sol'; // solhint-disable-next-line no-empty-blocks abstract contract ERC1410Snapshot is diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Standard.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Standard.sol index 675161da1..cdb32d9bd 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Standard.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1410/ERC1410Standard.sol @@ -206,11 +206,11 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IERC1410Standard} from '../../interfaces/ERC1400/IERC1410Standard.sol'; -import {Common} from '../../common/Common.sol'; +import { IERC1410Standard } from '../../interfaces/ERC1400/IERC1410Standard.sol'; +import { Common } from '../../common/Common.sol'; -import {_ISSUER_ROLE, _AGENT_ROLE} from '../../constants/roles.sol'; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; +import { _ISSUER_ROLE, _AGENT_ROLE } from '../../constants/roles.sol'; +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; abstract contract ERC1410Standard is IERC1410Standard, Common { function issueByPartition( @@ -257,14 +257,7 @@ abstract contract ERC1410Standard is IERC1410Standard, Common { onlyValidKycStatus(IKyc.KycStatus.GRANTED, _msgSender()) { // Add the function to validate the `_data` parameter - _redeemByPartition( - _partition, - _msgSender(), - address(0), - _value, - _data, - '' - ); + _redeemByPartition(_partition, _msgSender(), address(0), _value, _data, ''); } /// @notice Decreases totalSupply and the corresponding amount of the specified partition of tokenHolder @@ -296,14 +289,7 @@ abstract contract ERC1410Standard is IERC1410Standard, Common { _checkRecoveredAddress(_msgSender()); _checkRecoveredAddress(_tokenHolder); } - _redeemByPartition( - _partition, - _tokenHolder, - _msgSender(), - _value, - _data, - _operatorData - ); + _redeemByPartition(_partition, _tokenHolder, _msgSender(), _value, _data, _operatorData); } function canRedeemByPartition( @@ -313,13 +299,6 @@ abstract contract ERC1410Standard is IERC1410Standard, Common { bytes calldata _data, bytes calldata _operatorData ) external view override returns (bool, bytes1, bytes32) { - return - _canRedeemByPartition( - _from, - _partition, - _value, - _data, - _operatorData - ); + return _canRedeemByPartition(_from, _partition, _value, _data, _operatorData); } } diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1594/ERC1594.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1594/ERC1594.sol index fc3839c39..cea60009f 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1594/ERC1594.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1594/ERC1594.sol @@ -206,22 +206,16 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - IStaticFunctionSelectors -} from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_ERC1594_RESOLVER_KEY} from '../../constants/resolverKeys.sol'; -import {_ISSUER_ROLE, _AGENT_ROLE} from '../../constants/roles.sol'; -import {IERC1594} from '../../interfaces/ERC1400/IERC1594.sol'; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; -import {Common} from '../../common/Common.sol'; +import { IStaticFunctionSelectors } from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _ERC1594_RESOLVER_KEY } from '../../constants/resolverKeys.sol'; +import { _ISSUER_ROLE, _AGENT_ROLE } from '../../constants/roles.sol'; +import { IERC1594 } from '../../interfaces/ERC1400/IERC1594.sol'; +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; +import { Common } from '../../common/Common.sol'; contract ERC1594 is IERC1594, IStaticFunctionSelectors, Common { // solhint-disable-next-line func-name-mixedcase - function initialize_ERC1594() - external - override - onlyUninitialized(_erc1594Storage().initialized) - { + function initialize_ERC1594() external override onlyUninitialized(_erc1594Storage().initialized) { super._initialize_ERC1594(); } @@ -387,13 +381,7 @@ contract ERC1594 is IERC1594, IStaticFunctionSelectors, Common { address _to, uint256 _value, bytes calldata _data - ) - external - view - override - onlyWithoutMultiPartition - returns (bool, bytes1, bytes32) - { + ) external view override onlyWithoutMultiPartition returns (bool, bytes1, bytes32) { return _canTransfer(_to, _value, _data); } @@ -414,58 +402,29 @@ contract ERC1594 is IERC1594, IStaticFunctionSelectors, Common { address _to, uint256 _value, bytes calldata _data - ) - external - view - override - onlyWithoutMultiPartition - returns (bool, bytes1, bytes32) - { + ) external view override onlyWithoutMultiPartition returns (bool, bytes1, bytes32) { return _canTransferFrom(_from, _to, _value, _data); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _ERC1594_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { staticFunctionSelectors_ = new bytes4[](9); uint256 selectorsIndex; - staticFunctionSelectors_[selectorsIndex++] = this - .initialize_ERC1594 - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .transferWithData - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .transferFromWithData - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.initialize_ERC1594.selector; + staticFunctionSelectors_[selectorsIndex++] = this.transferWithData.selector; + staticFunctionSelectors_[selectorsIndex++] = this.transferFromWithData.selector; staticFunctionSelectors_[selectorsIndex++] = this.isIssuable.selector; staticFunctionSelectors_[selectorsIndex++] = this.issue.selector; staticFunctionSelectors_[selectorsIndex++] = this.redeem.selector; staticFunctionSelectors_[selectorsIndex++] = this.redeemFrom.selector; staticFunctionSelectors_[selectorsIndex++] = this.canTransfer.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .canTransferFrom - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.canTransferFrom.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IERC1594).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1643/ERC1643.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1643/ERC1643.sol index 15dec23e2..3f3e5efc4 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1643/ERC1643.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1643/ERC1643.sol @@ -206,14 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IERC1643} from '../../interfaces/ERC1400/IERC1643.sol'; -import {_DOCUMENTER_ROLE} from '../../constants/roles.sol'; -import {_ERC1643_STORAGE_POSITION} from '../../constants/storagePositions.sol'; -import {Common} from '../../common/Common.sol'; -import { - IStaticFunctionSelectors -} from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_ERC1643_RESOLVER_KEY} from '../../constants/resolverKeys.sol'; +import { IERC1643 } from '../../interfaces/ERC1400/IERC1643.sol'; +import { _DOCUMENTER_ROLE } from '../../constants/roles.sol'; +import { _ERC1643_STORAGE_POSITION } from '../../constants/storagePositions.sol'; +import { Common } from '../../common/Common.sol'; +import { IStaticFunctionSelectors } from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _ERC1643_RESOLVER_KEY } from '../../constants/resolverKeys.sol'; contract ERC1643 is IERC1643, IStaticFunctionSelectors, Common { struct Document { @@ -257,11 +255,7 @@ contract ERC1643 is IERC1643, IStaticFunctionSelectors, Common { erc1643Storage.docNames.push(_name); erc1643Storage.docIndexes[_name] = erc1643Storage.docNames.length; } - erc1643Storage.documents[_name] = Document( - _documentHash, - _blockTimestamp(), - _uri - ); + erc1643Storage.documents[_name] = Document(_documentHash, _blockTimestamp(), _uri); emit DocumentUpdated(_name, _uri, _documentHash); } @@ -270,28 +264,18 @@ contract ERC1643 is IERC1643, IStaticFunctionSelectors, Common { * @dev Can only be executed by the owner of the contract. * @param _name Name of the document. It should be unique always */ - function removeDocument( - bytes32 _name - ) external override onlyRole(_DOCUMENTER_ROLE) onlyUnpaused { + function removeDocument(bytes32 _name) external override onlyRole(_DOCUMENTER_ROLE) onlyUnpaused { ERC1643Storage storage erc1643Storage = _erc1643Storage(); if (erc1643Storage.documents[_name].lastModified == uint256(0)) { revert DocumentDoesNotExist(_name); } uint256 index = erc1643Storage.docIndexes[_name] - 1; if (index != erc1643Storage.docNames.length - 1) { - erc1643Storage.docNames[index] = erc1643Storage.docNames[ - erc1643Storage.docNames.length - 1 - ]; - erc1643Storage.docIndexes[erc1643Storage.docNames[index]] = - index + - 1; + erc1643Storage.docNames[index] = erc1643Storage.docNames[erc1643Storage.docNames.length - 1]; + erc1643Storage.docIndexes[erc1643Storage.docNames[index]] = index + 1; } erc1643Storage.docNames.pop(); - emit DocumentRemoved( - _name, - erc1643Storage.documents[_name].uri, - erc1643Storage.documents[_name].docHash - ); + emit DocumentRemoved(_name, erc1643Storage.documents[_name].uri, erc1643Storage.documents[_name].docHash); delete erc1643Storage.documents[_name]; } @@ -302,9 +286,7 @@ contract ERC1643 is IERC1643, IStaticFunctionSelectors, Common { * @return bytes32 The hash (of the contents) of the document. * @return uint256 the timestamp at which the document was last modified. */ - function getDocument( - bytes32 _name - ) external view override returns (string memory, bytes32, uint256) { + function getDocument(bytes32 _name) external view override returns (string memory, bytes32, uint256) { ERC1643Storage storage erc1643Storage = _erc1643Storage(); return ( erc1643Storage.documents[_name].uri, @@ -317,58 +299,30 @@ contract ERC1643 is IERC1643, IStaticFunctionSelectors, Common { * @notice Used to retrieve a full list of documents attached to the smart contract. * @return bytes32 List of all documents names present in the contract. */ - function getAllDocuments() - external - view - override - returns (bytes32[] memory) - { + function getAllDocuments() external view override returns (bytes32[] memory) { return _erc1643Storage().docNames; } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _ERC1643_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { staticFunctionSelectors_ = new bytes4[](4); uint256 selectorsIndex; staticFunctionSelectors_[selectorsIndex++] = this.getDocument.selector; staticFunctionSelectors_[selectorsIndex++] = this.setDocument.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .removeDocument - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getAllDocuments - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.removeDocument.selector; + staticFunctionSelectors_[selectorsIndex++] = this.getAllDocuments.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IERC1643).interfaceId; } - function _erc1643Storage() - internal - pure - returns (ERC1643Storage storage erc1643Storage) - { + function _erc1643Storage() internal pure returns (ERC1643Storage storage erc1643Storage) { bytes32 position = _ERC1643_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1644/ERC1644.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1644/ERC1644.sol index cb0a05aa8..720855f12 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1644/ERC1644.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC1644/ERC1644.sol @@ -206,23 +206,15 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IERC1644} from '../../interfaces/ERC1400/IERC1644.sol'; -import { - _DEFAULT_ADMIN_ROLE, - _CONTROLLER_ROLE, - _AGENT_ROLE -} from '../../constants/roles.sol'; -import { - IStaticFunctionSelectors -} from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_ERC1644_RESOLVER_KEY} from '../../constants/resolverKeys.sol'; -import {Common} from '../../common/Common.sol'; +import { IERC1644 } from '../../interfaces/ERC1400/IERC1644.sol'; +import { _DEFAULT_ADMIN_ROLE, _CONTROLLER_ROLE, _AGENT_ROLE } from '../../constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _ERC1644_RESOLVER_KEY } from '../../constants/resolverKeys.sol'; +import { Common } from '../../common/Common.sol'; contract ERC1644 is IERC1644, IStaticFunctionSelectors, Common { // solhint-disable-next-line func-name-mixedcase - function initialize_ERC1644( - bool _controllable - ) external override onlyUninitialized(_erc1644Storage().initialized) { + function initialize_ERC1644(bool _controllable) external override onlyUninitialized(_erc1644Storage().initialized) { _erc1644Storage().isControllable = _controllable; _erc1644Storage().initialized = true; } @@ -246,13 +238,7 @@ contract ERC1644 is IERC1644, IStaticFunctionSelectors, Common { uint256 _value, bytes calldata _data, bytes calldata _operatorData - ) - external - override - onlyUnpaused - onlyWithoutMultiPartition - onlyControllable - { + ) external override onlyUnpaused onlyWithoutMultiPartition onlyControllable { { bytes32[] memory roles = new bytes32[](2); roles[0] = _CONTROLLER_ROLE; @@ -279,13 +265,7 @@ contract ERC1644 is IERC1644, IStaticFunctionSelectors, Common { uint256 _value, bytes calldata _data, bytes calldata _operatorData - ) - external - override - onlyUnpaused - onlyWithoutMultiPartition - onlyControllable - { + ) external override onlyUnpaused onlyWithoutMultiPartition onlyControllable { { bytes32[] memory roles = new bytes32[](2); roles[0] = _CONTROLLER_ROLE; @@ -299,12 +279,7 @@ contract ERC1644 is IERC1644, IStaticFunctionSelectors, Common { * @notice It is used to end the controller feature from the token * @dev It only be called by the `owner/issuer` of the token */ - function finalizeControllable() - external - override - onlyRole(_DEFAULT_ADMIN_ROLE) - onlyControllable - { + function finalizeControllable() external override onlyRole(_DEFAULT_ADMIN_ROLE) onlyControllable { _finalizeControllable(); } @@ -319,46 +294,21 @@ contract ERC1644 is IERC1644, IStaticFunctionSelectors, Common { return _isControllable(); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _ERC1644_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { staticFunctionSelectors_ = new bytes4[](5); uint256 selectorsIndex; - staticFunctionSelectors_[selectorsIndex++] = this - .initialize_ERC1644 - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .isControllable - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .controllerTransfer - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .controllerRedeem - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .finalizeControllable - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.initialize_ERC1644.selector; + staticFunctionSelectors_[selectorsIndex++] = this.isControllable.selector; + staticFunctionSelectors_[selectorsIndex++] = this.controllerTransfer.selector; + staticFunctionSelectors_[selectorsIndex++] = this.controllerRedeem.selector; + staticFunctionSelectors_[selectorsIndex++] = this.finalizeControllable.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IERC1644).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC20/ERC20.sol b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC20/ERC20.sol index 7394b40a2..48a353ac9 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC1400/ERC20/ERC20.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC1400/ERC20/ERC20.sol @@ -207,13 +207,11 @@ // Contract copy-pasted form OZ and extended pragma solidity 0.8.18; -import {Common} from '../../common/Common.sol'; -import {IERC20} from '../../interfaces/ERC1400/IERC20.sol'; -import { - IStaticFunctionSelectors -} from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_ERC20_RESOLVER_KEY} from '../../constants/resolverKeys.sol'; -import {IKyc} from '../../../layer_1/interfaces/kyc/IKyc.sol'; +import { Common } from '../../common/Common.sol'; +import { IERC20 } from '../../interfaces/ERC1400/IERC20.sol'; +import { IStaticFunctionSelectors } from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _ERC20_RESOLVER_KEY } from '../../constants/resolverKeys.sol'; +import { IKyc } from '../../../layer_1/interfaces/kyc/IKyc.sol'; contract ERC20 is IERC20, IStaticFunctionSelectors, Common { // solhint-disable-next-line func-name-mixedcase @@ -322,10 +320,7 @@ contract ERC20 is IERC20, IStaticFunctionSelectors, Common { return _decreaseAllowance(spender, subtractedValue); } - function allowance( - address owner, - address spender - ) external view override returns (uint256) { + function allowance(address owner, address spender) external view override returns (uint256) { return _allowanceAdjusted(owner, spender); } @@ -333,9 +328,7 @@ contract ERC20 is IERC20, IStaticFunctionSelectors, Common { return _decimalsAdjusted(); } - function decimalsAdjustedAt( - uint256 _timestamp - ) external view returns (uint8) { + function decimalsAdjustedAt(uint256 _timestamp) external view returns (uint8) { return _decimalsAdjustedAt(_timestamp); } @@ -359,51 +352,28 @@ contract ERC20 is IERC20, IStaticFunctionSelectors, Common { return _getERC20MetadataAdjusted(); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _ERC20_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { staticFunctionSelectors_ = new bytes4[](12); uint256 selectorsIndex; - staticFunctionSelectors_[selectorsIndex++] = this - .initialize_ERC20 - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.initialize_ERC20.selector; staticFunctionSelectors_[selectorsIndex++] = this.approve.selector; staticFunctionSelectors_[selectorsIndex++] = this.transfer.selector; staticFunctionSelectors_[selectorsIndex++] = this.transferFrom.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .increaseAllowance - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .decreaseAllowance - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.increaseAllowance.selector; + staticFunctionSelectors_[selectorsIndex++] = this.decreaseAllowance.selector; staticFunctionSelectors_[selectorsIndex++] = this.allowance.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getERC20Metadata - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.getERC20Metadata.selector; staticFunctionSelectors_[selectorsIndex++] = this.name.selector; staticFunctionSelectors_[selectorsIndex++] = this.symbol.selector; staticFunctionSelectors_[selectorsIndex++] = this.decimals.selector; staticFunctionSelectors_[selectorsIndex++] = this.decimalsAt.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IERC20).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/ERC3643/ERC3643.sol b/packages/ats/contracts/contracts/layer_1/ERC3643/ERC3643.sol index 4c06957d6..014f67c4b 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC3643/ERC3643.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC3643/ERC3643.sol @@ -206,29 +206,20 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {Common} from '../common/Common.sol'; -import {IERC3643} from '../interfaces/ERC3643/IERC3643.sol'; -import {ICompliance} from '../interfaces/ERC3643/ICompliance.sol'; -import {IIdentityRegistry} from '../interfaces/ERC3643/IIdentityRegistry.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_ERC3643_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import { - _DEFAULT_ADMIN_ROLE, - _CONTROLLER_ROLE, - _ISSUER_ROLE, - _AGENT_ROLE -} from '../constants/roles.sol'; -import {IKyc} from '../interfaces/kyc/IKyc.sol'; +import { Common } from '../common/Common.sol'; +import { IERC3643 } from '../interfaces/ERC3643/IERC3643.sol'; +import { ICompliance } from '../interfaces/ERC3643/ICompliance.sol'; +import { IIdentityRegistry } from '../interfaces/ERC3643/IIdentityRegistry.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _ERC3643_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { _DEFAULT_ADMIN_ROLE, _CONTROLLER_ROLE, _ISSUER_ROLE, _AGENT_ROLE } from '../constants/roles.sol'; +import { IKyc } from '../interfaces/kyc/IKyc.sol'; contract ERC3643 is IERC3643, IStaticFunctionSelectors, Common { address private constant _ONCHAIN_ID = address(0); // ====== External functions (state-changing) ====== - function setName( - string calldata _name - ) external override onlyUnpaused onlyRole(_DEFAULT_ADMIN_ROLE) { + function setName(string calldata _name) external override onlyUnpaused onlyRole(_DEFAULT_ADMIN_ROLE) { ERC20Storage storage erc20Storage = _setName(_name); emit UpdatedTokenInformation( @@ -240,9 +231,7 @@ contract ERC3643 is IERC3643, IStaticFunctionSelectors, Common { ); } - function setSymbol( - string calldata _symbol - ) external override onlyUnpaused onlyRole(_DEFAULT_ADMIN_ROLE) { + function setSymbol(string calldata _symbol) external override onlyUnpaused onlyRole(_DEFAULT_ADMIN_ROLE) { ERC20Storage storage erc20Storage = _setSymbol(_symbol); emit UpdatedTokenInformation( @@ -254,9 +243,7 @@ contract ERC3643 is IERC3643, IStaticFunctionSelectors, Common { ); } - function setOnchainID( - address _onchainID - ) external override onlyUnpaused onlyRole(_DEFAULT_ADMIN_ROLE) { + function setOnchainID(address _onchainID) external override onlyUnpaused onlyRole(_DEFAULT_ADMIN_ROLE) { ERC20Storage storage erc20Storage = _erc20Storage(); _erc3643Storage().onchainID = _onchainID; @@ -276,23 +263,17 @@ contract ERC3643 is IERC3643, IStaticFunctionSelectors, Common { emit IdentityRegistryAdded(_identityRegistry); } - function setCompliance( - address _compliance - ) external override onlyUnpaused onlyRole(_DEFAULT_ADMIN_ROLE) { + function setCompliance(address _compliance) external override onlyUnpaused onlyRole(_DEFAULT_ADMIN_ROLE) { _setCompliance(_compliance); emit ComplianceAdded(_compliance); } - function addAgent( - address _agent - ) external onlyRole(_getRoleAdmin(_AGENT_ROLE)) onlyUnpaused { + function addAgent(address _agent) external onlyRole(_getRoleAdmin(_AGENT_ROLE)) onlyUnpaused { _addAgent(_agent); emit AgentAdded(_agent); } - function removeAgent( - address _agent - ) external onlyRole(_getRoleAdmin(_AGENT_ROLE)) onlyUnpaused { + function removeAgent(address _agent) external onlyRole(_getRoleAdmin(_AGENT_ROLE)) onlyUnpaused { _removeAgent(_agent); emit AgentRemoved(_agent); } @@ -352,13 +333,7 @@ contract ERC3643 is IERC3643, IStaticFunctionSelectors, Common { address _from, address _to, uint256 _amount - ) - external - onlyWithoutMultiPartition - onlyControllable - onlyUnpaused - returns (bool) - { + ) external onlyWithoutMultiPartition onlyControllable onlyUnpaused returns (bool) { { bytes32[] memory roles = new bytes32[](2); roles[0] = _CONTROLLER_ROLE; @@ -419,13 +394,7 @@ contract ERC3643 is IERC3643, IStaticFunctionSelectors, Common { function batchMint( address[] calldata _toList, uint256[] calldata _amounts - ) - external - onlyUnpaused - onlyValidInputAmountsArrayLength(_toList, _amounts) - onlyWithoutMultiPartition - onlyIssuable - { + ) external onlyUnpaused onlyValidInputAmountsArrayLength(_toList, _amounts) onlyWithoutMultiPartition onlyIssuable { { bytes32[] memory roles = new bytes32[](2); roles[0] = _ISSUER_ROLE; @@ -471,12 +440,7 @@ contract ERC3643 is IERC3643, IStaticFunctionSelectors, Common { return _hasRole(_AGENT_ROLE, _agent); } - function identityRegistry() - external - view - override - returns (IIdentityRegistry) - { + function identityRegistry() external view override returns (IIdentityRegistry) { return _getIdentityRegistry(); } @@ -496,70 +460,39 @@ contract ERC3643 is IERC3643, IStaticFunctionSelectors, Common { return _version(); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _ERC3643_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { staticFunctionSelectors_ = new bytes4[](23); uint256 selectorsIndex; staticFunctionSelectors_[selectorsIndex++] = this.burn.selector; staticFunctionSelectors_[selectorsIndex++] = this.compliance.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .forcedTransfer - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .identityRegistry - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.forcedTransfer.selector; + staticFunctionSelectors_[selectorsIndex++] = this.identityRegistry.selector; staticFunctionSelectors_[selectorsIndex++] = this.mint.selector; staticFunctionSelectors_[selectorsIndex++] = this.onchainID.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .setCompliance - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.setCompliance.selector; staticFunctionSelectors_[selectorsIndex++] = this.setName.selector; staticFunctionSelectors_[selectorsIndex++] = this.setOnchainID.selector; staticFunctionSelectors_[selectorsIndex++] = this.setSymbol.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .setIdentityRegistry - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.setIdentityRegistry.selector; staticFunctionSelectors_[selectorsIndex++] = this.setName.selector; staticFunctionSelectors_[selectorsIndex++] = this.setSymbol.selector; staticFunctionSelectors_[selectorsIndex++] = this.version.selector; staticFunctionSelectors_[selectorsIndex++] = this.addAgent.selector; staticFunctionSelectors_[selectorsIndex++] = this.removeAgent.selector; staticFunctionSelectors_[selectorsIndex++] = this.isAgent.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .recoveryAddress - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .isAddressRecovered - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .batchTransfer - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .batchForcedTransfer - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.recoveryAddress.selector; + staticFunctionSelectors_[selectorsIndex++] = this.isAddressRecovered.selector; + staticFunctionSelectors_[selectorsIndex++] = this.batchTransfer.selector; + staticFunctionSelectors_[selectorsIndex++] = this.batchForcedTransfer.selector; staticFunctionSelectors_[selectorsIndex++] = this.batchMint.selector; staticFunctionSelectors_[selectorsIndex++] = this.batchBurn.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IERC3643).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/ERC3643/FreezeFacet.sol b/packages/ats/contracts/contracts/layer_1/ERC3643/FreezeFacet.sol index 5ba78e28f..04a461ca2 100644 --- a/packages/ats/contracts/contracts/layer_1/ERC3643/FreezeFacet.sol +++ b/packages/ats/contracts/contracts/layer_1/ERC3643/FreezeFacet.sol @@ -206,14 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {Common} from '../common/Common.sol'; -import {IFreeze} from '../interfaces/ERC3643/IFreeze.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_FREEZE_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import {_FREEZE_MANAGER_ROLE, _AGENT_ROLE} from '../constants/roles.sol'; -import {_DEFAULT_PARTITION} from '../../layer_0/constants/values.sol'; +import { Common } from '../common/Common.sol'; +import { IFreeze } from '../interfaces/ERC3643/IFreeze.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _FREEZE_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { _FREEZE_MANAGER_ROLE, _AGENT_ROLE } from '../constants/roles.sol'; +import { _DEFAULT_PARTITION } from '../../layer_0/constants/values.sol'; contract FreezeFacet is IFreeze, IStaticFunctionSelectors, Common { // ====== External functions (state-changing) ====== @@ -256,13 +254,7 @@ contract FreezeFacet is IFreeze, IStaticFunctionSelectors, Common { function unfreezePartialTokens( address _userAddress, uint256 _amount - ) - external - override - onlyUnpaused - validateAddress(_userAddress) - onlyWithoutMultiPartition - { + ) external override onlyUnpaused validateAddress(_userAddress) onlyWithoutMultiPartition { { bytes32[] memory roles = new bytes32[](2); roles[0] = _FREEZE_MANAGER_ROLE; @@ -292,12 +284,7 @@ contract FreezeFacet is IFreeze, IStaticFunctionSelectors, Common { function batchFreezePartialTokens( address[] calldata _userAddresses, uint256[] calldata _amounts - ) - external - onlyUnpaused - onlyWithoutMultiPartition - onlyValidInputAmountsArrayLength(_userAddresses, _amounts) - { + ) external onlyUnpaused onlyWithoutMultiPartition onlyValidInputAmountsArrayLength(_userAddresses, _amounts) { { bytes32[] memory roles = new bytes32[](2); roles[0] = _FREEZE_MANAGER_ROLE; @@ -309,23 +296,14 @@ contract FreezeFacet is IFreeze, IStaticFunctionSelectors, Common { } for (uint256 i = 0; i < _userAddresses.length; i++) { _freezeTokens(_userAddresses[i], _amounts[i]); - emit TokensFrozen( - _userAddresses[i], - _amounts[i], - _DEFAULT_PARTITION - ); + emit TokensFrozen(_userAddresses[i], _amounts[i], _DEFAULT_PARTITION); } } function batchUnfreezePartialTokens( address[] calldata _userAddresses, uint256[] calldata _amounts - ) - external - onlyUnpaused - onlyWithoutMultiPartition - onlyValidInputAmountsArrayLength(_userAddresses, _amounts) - { + ) external onlyUnpaused onlyWithoutMultiPartition onlyValidInputAmountsArrayLength(_userAddresses, _amounts) { { bytes32[] memory roles = new bytes32[](2); roles[0] = _FREEZE_MANAGER_ROLE; @@ -334,67 +312,32 @@ contract FreezeFacet is IFreeze, IStaticFunctionSelectors, Common { } for (uint256 i = 0; i < _userAddresses.length; i++) { _unfreezeTokens(_userAddresses[i], _amounts[i]); - emit TokensUnfrozen( - _userAddresses[i], - _amounts[i], - _DEFAULT_PARTITION - ); + emit TokensUnfrozen(_userAddresses[i], _amounts[i], _DEFAULT_PARTITION); } } // ====== External functions (view/pure) ====== - function getFrozenTokens( - address _userAddress - ) external view override returns (uint256) { + function getFrozenTokens(address _userAddress) external view override returns (uint256) { return _getFrozenAmountForAdjusted(_userAddress); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _FREEZE_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { staticFunctionSelectors_ = new bytes4[](7); uint256 selectorsIndex; - staticFunctionSelectors_[selectorsIndex++] = this - .freezePartialTokens - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .unfreezePartialTokens - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFrozenTokens - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .setAddressFrozen - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .batchSetAddressFrozen - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .batchFreezePartialTokens - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .batchUnfreezePartialTokens - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.freezePartialTokens.selector; + staticFunctionSelectors_[selectorsIndex++] = this.unfreezePartialTokens.selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFrozenTokens.selector; + staticFunctionSelectors_[selectorsIndex++] = this.setAddressFrozen.selector; + staticFunctionSelectors_[selectorsIndex++] = this.batchSetAddressFrozen.selector; + staticFunctionSelectors_[selectorsIndex++] = this.batchFreezePartialTokens.selector; + staticFunctionSelectors_[selectorsIndex++] = this.batchUnfreezePartialTokens.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IFreeze).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/accessControl/AccessControl.sol b/packages/ats/contracts/contracts/layer_1/accessControl/AccessControl.sol index b38f5afeb..8031efc7f 100644 --- a/packages/ats/contracts/contracts/layer_1/accessControl/AccessControl.sol +++ b/packages/ats/contracts/contracts/layer_1/accessControl/AccessControl.sol @@ -206,20 +206,14 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {IAccessControl} from '../interfaces/accessControl/IAccessControl.sol'; -import {Common} from '../common/Common.sol'; +import { IAccessControl } from '../interfaces/accessControl/IAccessControl.sol'; +import { Common } from '../common/Common.sol'; abstract contract AccessControl is IAccessControl, Common { function grantRole( bytes32 _role, address _account - ) - external - override - onlyRole(_getRoleAdmin(_role)) - onlyUnpaused - returns (bool success_) - { + ) external override onlyRole(_getRoleAdmin(_role)) onlyUnpaused returns (bool success_) { if (!_grantRole(_role, _account)) { revert AccountAssignedToRole(_role, _account); } @@ -230,13 +224,7 @@ abstract contract AccessControl is IAccessControl, Common { function revokeRole( bytes32 _role, address _account - ) - external - override - onlyRole(_getRoleAdmin(_role)) - onlyUnpaused - returns (bool success_) - { + ) external override onlyRole(_getRoleAdmin(_role)) onlyUnpaused returns (bool success_) { success_ = _revokeRole(_role, _account); if (!success_) { revert AccountNotAssignedToRole(_role, _account); @@ -263,9 +251,7 @@ abstract contract AccessControl is IAccessControl, Common { emit RolesApplied(_roles, _actives, _account); } - function renounceRole( - bytes32 _role - ) external override onlyUnpaused returns (bool success_) { + function renounceRole(bytes32 _role) external override onlyUnpaused returns (bool success_) { address account = _msgSender(); success_ = _revokeRole(_role, account); if (!success_) { @@ -274,16 +260,11 @@ abstract contract AccessControl is IAccessControl, Common { emit RoleRenounced(account, _role); } - function hasRole( - bytes32 _role, - address _account - ) external view override returns (bool) { + function hasRole(bytes32 _role, address _account) external view override returns (bool) { return _hasRole(_role, _account); } - function getRoleCountFor( - address _account - ) external view override returns (uint256 roleCount_) { + function getRoleCountFor(address _account) external view override returns (uint256 roleCount_) { roleCount_ = _getRoleCountFor(_account); } @@ -295,9 +276,7 @@ abstract contract AccessControl is IAccessControl, Common { roles_ = _getRolesFor(_account, _pageIndex, _pageLength); } - function getRoleMemberCount( - bytes32 _role - ) external view override returns (uint256 memberCount_) { + function getRoleMemberCount(bytes32 _role) external view override returns (uint256 memberCount_) { memberCount_ = _getRoleMemberCount(_role); } diff --git a/packages/ats/contracts/contracts/layer_1/accessControl/AccessControlFacet.sol b/packages/ats/contracts/contracts/layer_1/accessControl/AccessControlFacet.sol index d5d7a9f65..ce7e40799 100644 --- a/packages/ats/contracts/contracts/layer_1/accessControl/AccessControlFacet.sol +++ b/packages/ats/contracts/contracts/layer_1/accessControl/AccessControlFacet.sol @@ -206,57 +206,33 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {IAccessControl} from '../interfaces/accessControl/IAccessControl.sol'; -import {AccessControl} from './AccessControl.sol'; -import {_ACCESS_CONTROL_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { IAccessControl } from '../interfaces/accessControl/IAccessControl.sol'; +import { AccessControl } from './AccessControl.sol'; +import { _ACCESS_CONTROL_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; contract AccessControlFacet is AccessControl, IStaticFunctionSelectors { - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _ACCESS_CONTROL_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](9); staticFunctionSelectors_[selectorIndex++] = this.grantRole.selector; staticFunctionSelectors_[selectorIndex++] = this.revokeRole.selector; staticFunctionSelectors_[selectorIndex++] = this.renounceRole.selector; staticFunctionSelectors_[selectorIndex++] = this.applyRoles.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getRoleCountFor - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getRoleCountFor.selector; staticFunctionSelectors_[selectorIndex++] = this.getRolesFor.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getRoleMemberCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getRoleMembers - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getRoleMemberCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getRoleMembers.selector; staticFunctionSelectors_[selectorIndex++] = this.hasRole.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(IAccessControl) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IAccessControl).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_1/cap/Cap.sol b/packages/ats/contracts/contracts/layer_1/cap/Cap.sol index 32575834c..64b2dd921 100644 --- a/packages/ats/contracts/contracts/layer_1/cap/Cap.sol +++ b/packages/ats/contracts/contracts/layer_1/cap/Cap.sol @@ -206,33 +206,24 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {ICap} from '../interfaces/cap/ICap.sol'; -import {_CAP_ROLE} from '../constants/roles.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_CAP_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import {Common} from '../common/Common.sol'; +import { ICap } from '../interfaces/cap/ICap.sol'; +import { _CAP_ROLE } from '../constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _CAP_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { Common } from '../common/Common.sol'; contract Cap is ICap, IStaticFunctionSelectors, Common { // solhint-disable-next-line func-name-mixedcase function initialize_Cap( uint256 maxSupply, PartitionCap[] calldata partitionCap - ) - external - override - onlyUninitialized(_capStorage().initialized) - onlyValidNewMaxSupply(maxSupply) - { + ) external override onlyUninitialized(_capStorage().initialized) onlyValidNewMaxSupply(maxSupply) { CapDataStorage storage capStorage = _capStorage(); capStorage.maxSupply = maxSupply; for (uint256 i = 0; i < partitionCap.length; i++) { - capStorage.maxSupplyByPartition[ - partitionCap[i].partition - ] = partitionCap[i].maxSupply; + capStorage.maxSupplyByPartition[partitionCap[i].partition] = partitionCap[i].maxSupply; } capStorage.initialized = true; @@ -240,14 +231,7 @@ contract Cap is ICap, IStaticFunctionSelectors, Common { function setMaxSupply( uint256 _maxSupply - ) - external - override - onlyUnpaused - onlyRole(_CAP_ROLE) - onlyValidNewMaxSupply(_maxSupply) - returns (bool success_) - { + ) external override onlyUnpaused onlyRole(_CAP_ROLE) onlyValidNewMaxSupply(_maxSupply) returns (bool success_) { _setMaxSupply(_maxSupply); success_ = true; } @@ -267,57 +251,29 @@ contract Cap is ICap, IStaticFunctionSelectors, Common { success_ = true; } - function getMaxSupply() - external - view - override - returns (uint256 maxSupply_) - { + function getMaxSupply() external view override returns (uint256 maxSupply_) { return _getMaxSupplyAdjusted(); } - function getMaxSupplyByPartition( - bytes32 _partition - ) external view override returns (uint256 maxSupply_) { + function getMaxSupplyByPartition(bytes32 _partition) external view override returns (uint256 maxSupply_) { return _getMaxSupplyByPartitionAdjusted(_partition); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _CAP_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](5); - staticFunctionSelectors_[selectorIndex++] = this - .initialize_Cap - .selector; + staticFunctionSelectors_[selectorIndex++] = this.initialize_Cap.selector; staticFunctionSelectors_[selectorIndex++] = this.setMaxSupply.selector; - staticFunctionSelectors_[selectorIndex++] = this - .setMaxSupplyByPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.setMaxSupplyByPartition.selector; staticFunctionSelectors_[selectorIndex++] = this.getMaxSupply.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getMaxSupplyByPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getMaxSupplyByPartition.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(ICap).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/clearing/ClearingActionsFacet.sol b/packages/ats/contracts/contracts/layer_1/clearing/ClearingActionsFacet.sol index c8885e081..3a34b67b1 100644 --- a/packages/ats/contracts/contracts/layer_1/clearing/ClearingActionsFacet.sol +++ b/packages/ats/contracts/contracts/layer_1/clearing/ClearingActionsFacet.sol @@ -206,70 +206,46 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {Common} from '../common/Common.sol'; -import {IClearingActions} from '../interfaces/clearing/IClearingActions.sol'; -import {IClearing} from '../interfaces/clearing/IClearing.sol'; -import {_CLEARING_VALIDATOR_ROLE} from '../constants/roles.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_CLEARING_ACTIONS_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import {IKyc} from '../interfaces/kyc/IKyc.sol'; -import {_CLEARING_ROLE} from '../constants/roles.sol'; - -contract ClearingActionsFacet is - IStaticFunctionSelectors, - IClearingActions, - Common -{ - function initializeClearing( - bool _clearingActive - ) external onlyUninitialized(_clearingStorage().initialized) { - IClearing.ClearingDataStorage - storage clearingStorage = _clearingStorage(); +import { Common } from '../common/Common.sol'; +import { IClearingActions } from '../interfaces/clearing/IClearingActions.sol'; +import { IClearing } from '../interfaces/clearing/IClearing.sol'; +import { _CLEARING_VALIDATOR_ROLE } from '../constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _CLEARING_ACTIONS_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { IKyc } from '../interfaces/kyc/IKyc.sol'; +import { _CLEARING_ROLE } from '../constants/roles.sol'; + +contract ClearingActionsFacet is IStaticFunctionSelectors, IClearingActions, Common { + function initializeClearing(bool _clearingActive) external onlyUninitialized(_clearingStorage().initialized) { + IClearing.ClearingDataStorage storage clearingStorage = _clearingStorage(); clearingStorage.initialized = true; clearingStorage.activated = _clearingActive; } - function activateClearing() - external - onlyRole(_CLEARING_ROLE) - onlyUnpaused - returns (bool success_) - { + function activateClearing() external onlyRole(_CLEARING_ROLE) onlyUnpaused returns (bool success_) { success_ = _setClearing(true); emit ClearingActivated(_msgSender()); } - function deactivateClearing() - external - onlyRole(_CLEARING_ROLE) - onlyUnpaused - returns (bool success_) - { + function deactivateClearing() external onlyRole(_CLEARING_ROLE) onlyUnpaused returns (bool success_) { success_ = _setClearing(false); emit ClearingDeactivated(_msgSender()); } function approveClearingOperationByPartition( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) external override onlyRole(_CLEARING_VALIDATOR_ROLE) onlyUnpaused - onlyDefaultPartitionWithSinglePartition( - _clearingOperationIdentifier.partition - ) + onlyDefaultPartitionWithSinglePartition(_clearingOperationIdentifier.partition) onlyWithValidClearingId(_clearingOperationIdentifier) onlyClearingActivated validateExpirationTimestamp(_clearingOperationIdentifier, false) returns (bool success_) { - success_ = _approveClearingOperationByPartition( - _clearingOperationIdentifier - ); + success_ = _approveClearingOperationByPartition(_clearingOperationIdentifier); emit ClearingOperationApproved( _msgSender(), @@ -281,24 +257,19 @@ contract ClearingActionsFacet is } function cancelClearingOperationByPartition( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) external override onlyRole(_CLEARING_VALIDATOR_ROLE) onlyUnpaused - onlyDefaultPartitionWithSinglePartition( - _clearingOperationIdentifier.partition - ) + onlyDefaultPartitionWithSinglePartition(_clearingOperationIdentifier.partition) onlyWithValidClearingId(_clearingOperationIdentifier) onlyClearingActivated validateExpirationTimestamp(_clearingOperationIdentifier, false) returns (bool success_) { - success_ = _cancelClearingOperationByPartition( - _clearingOperationIdentifier - ); + success_ = _cancelClearingOperationByPartition(_clearingOperationIdentifier); emit ClearingOperationCanceled( _msgSender(), _clearingOperationIdentifier.tokenHolder, @@ -309,27 +280,19 @@ contract ClearingActionsFacet is } function reclaimClearingOperationByPartition( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) external override onlyUnpaused - onlyDefaultPartitionWithSinglePartition( - _clearingOperationIdentifier.partition - ) + onlyDefaultPartitionWithSinglePartition(_clearingOperationIdentifier.partition) onlyWithValidClearingId(_clearingOperationIdentifier) - onlyValidKycStatus( - IKyc.KycStatus.GRANTED, - _clearingOperationIdentifier.tokenHolder - ) + onlyValidKycStatus(IKyc.KycStatus.GRANTED, _clearingOperationIdentifier.tokenHolder) onlyClearingActivated validateExpirationTimestamp(_clearingOperationIdentifier, true) returns (bool success_) { - success_ = _reclaimClearingOperationByPartition( - _clearingOperationIdentifier - ); + success_ = _reclaimClearingOperationByPartition(_clearingOperationIdentifier); emit ClearingOperationReclaimed( _msgSender(), _clearingOperationIdentifier.tokenHolder, @@ -343,52 +306,23 @@ contract ClearingActionsFacet is return _isClearingActivated(); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _CLEARING_ACTIONS_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](7); - staticFunctionSelectors_[selectorIndex++] = this - .initializeClearing - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .activateClearing - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .deactivateClearing - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .approveClearingOperationByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .cancelClearingOperationByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .reclaimClearingOperationByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .isClearingActivated - .selector; + staticFunctionSelectors_[selectorIndex++] = this.initializeClearing.selector; + staticFunctionSelectors_[selectorIndex++] = this.activateClearing.selector; + staticFunctionSelectors_[selectorIndex++] = this.deactivateClearing.selector; + staticFunctionSelectors_[selectorIndex++] = this.approveClearingOperationByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.cancelClearingOperationByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.reclaimClearingOperationByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.isClearingActivated.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IClearing).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/clearing/ClearingHoldCreationFacet.sol b/packages/ats/contracts/contracts/layer_1/clearing/ClearingHoldCreationFacet.sol index 5fb1bf542..43b22b061 100644 --- a/packages/ats/contracts/contracts/layer_1/clearing/ClearingHoldCreationFacet.sol +++ b/packages/ats/contracts/contracts/layer_1/clearing/ClearingHoldCreationFacet.sol @@ -206,24 +206,14 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {Common} from '../common/Common.sol'; -import { - IClearingHoldCreation -} from '../interfaces/clearing/IClearingHoldCreation.sol'; -import {IHold} from '../interfaces/hold/IHold.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import { - _CLEARING_HOLDCREATION_RESOLVER_KEY -} from '../constants/resolverKeys.sol'; -import {ThirdPartyType} from '../../layer_0/common/types/ThirdPartyType.sol'; - -contract ClearingHoldCreationFacet is - IStaticFunctionSelectors, - IClearingHoldCreation, - Common -{ +import { Common } from '../common/Common.sol'; +import { IClearingHoldCreation } from '../interfaces/clearing/IClearingHoldCreation.sol'; +import { IHold } from '../interfaces/hold/IHold.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _CLEARING_HOLDCREATION_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { ThirdPartyType } from '../../layer_0/common/types/ThirdPartyType.sol'; + +contract ClearingHoldCreationFacet is IStaticFunctionSelectors, IClearingHoldCreation, Common { function clearingCreateHoldByPartition( ClearingOperation calldata _clearingOperation, IHold.Hold calldata _hold @@ -262,12 +252,8 @@ contract ClearingHoldCreationFacet is onlyUnrecoveredAddress(_clearingOperationFrom.from) validateAddress(_hold.escrow) validateAddress(_clearingOperationFrom.from) - onlyDefaultPartitionWithSinglePartition( - _clearingOperationFrom.clearingOperation.partition - ) - onlyWithValidExpirationTimestamp( - _clearingOperationFrom.clearingOperation.expirationTimestamp - ) + onlyDefaultPartitionWithSinglePartition(_clearingOperationFrom.clearingOperation.partition) + onlyWithValidExpirationTimestamp(_clearingOperationFrom.clearingOperation.expirationTimestamp) onlyClearingActivated returns (bool success_, uint256 clearingId_) { @@ -305,20 +291,13 @@ contract ClearingHoldCreationFacet is onlyUnrecoveredAddress(_hold.to) validateAddress(_hold.escrow) validateAddress(_clearingOperationFrom.from) - onlyDefaultPartitionWithSinglePartition( - _clearingOperationFrom.clearingOperation.partition - ) - onlyWithValidExpirationTimestamp( - _clearingOperationFrom.clearingOperation.expirationTimestamp - ) + onlyDefaultPartitionWithSinglePartition(_clearingOperationFrom.clearingOperation.partition) + onlyWithValidExpirationTimestamp(_clearingOperationFrom.clearingOperation.expirationTimestamp) onlyClearingActivated returns (bool success_, uint256 clearingId_) { { - _checkOperator( - _clearingOperationFrom.clearingOperation.partition, - _clearingOperationFrom.from - ); + _checkOperator(_clearingOperationFrom.clearingOperation.partition, _clearingOperationFrom.from); _checkExpirationTimestamp(_hold.expirationTimestamp); _checkUnProtectedPartitionsOrWildCardRole(); } @@ -344,14 +323,8 @@ contract ClearingHoldCreationFacet is onlyUnrecoveredAddress(_hold.to) onlyProtectedPartitions validateAddress(_protectedClearingOperation.from) - onlyWithValidExpirationTimestamp( - _protectedClearingOperation.clearingOperation.expirationTimestamp - ) - onlyRole( - _protectedPartitionsRole( - _protectedClearingOperation.clearingOperation.partition - ) - ) + onlyWithValidExpirationTimestamp(_protectedClearingOperation.clearingOperation.expirationTimestamp) + onlyRole(_protectedPartitionsRole(_protectedClearingOperation.clearingOperation.partition)) onlyClearingActivated returns (bool success_, uint256 clearingId_) { @@ -366,63 +339,27 @@ contract ClearingHoldCreationFacet is bytes32 _partition, address _tokenHolder, uint256 _clearingId - ) - external - view - override - returns (ClearingHoldCreationData memory clearingHoldCreationData_) - { - return - _getClearingHoldCreationForByPartitionAdjusted( - _partition, - _tokenHolder, - _clearingId - ); + ) external view override returns (ClearingHoldCreationData memory clearingHoldCreationData_) { + return _getClearingHoldCreationForByPartitionAdjusted(_partition, _tokenHolder, _clearingId); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _CLEARING_HOLDCREATION_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](5); - staticFunctionSelectors_[selectorIndex++] = this - .clearingCreateHoldByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .clearingCreateHoldFromByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .operatorClearingCreateHoldByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .protectedClearingCreateHoldByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getClearingCreateHoldForByPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.clearingCreateHoldByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.clearingCreateHoldFromByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.operatorClearingCreateHoldByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.protectedClearingCreateHoldByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getClearingCreateHoldForByPartition.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(IClearingHoldCreation) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IClearingHoldCreation).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_1/clearing/ClearingReadFacet.sol b/packages/ats/contracts/contracts/layer_1/clearing/ClearingReadFacet.sol index a1772b3a3..1f85ee3aa 100644 --- a/packages/ats/contracts/contracts/layer_1/clearing/ClearingReadFacet.sol +++ b/packages/ats/contracts/contracts/layer_1/clearing/ClearingReadFacet.sol @@ -206,17 +206,13 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {Common} from '../common/Common.sol'; -import {IClearingRead} from '../interfaces/clearing/IClearingRead.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_CLEARING_READ_RESOLVER_KEY} from '../constants/resolverKeys.sol'; +import { Common } from '../common/Common.sol'; +import { IClearingRead } from '../interfaces/clearing/IClearingRead.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _CLEARING_READ_RESOLVER_KEY } from '../constants/resolverKeys.sol'; contract ClearingReadFacet is IStaticFunctionSelectors, IClearingRead, Common { - function getClearedAmountFor( - address _tokenHolder - ) external view returns (uint256 amount_) { + function getClearedAmountFor(address _tokenHolder) external view returns (uint256 amount_) { return _getClearedAmountForAdjusted(_tokenHolder); } @@ -224,8 +220,7 @@ contract ClearingReadFacet is IStaticFunctionSelectors, IClearingRead, Common { bytes32 _partition, address _tokenHolder ) external view returns (uint256 amount_) { - return - _getClearedAmountForByPartitionAdjusted(_partition, _tokenHolder); + return _getClearedAmountForByPartitionAdjusted(_partition, _tokenHolder); } function getClearingCountForByPartition( @@ -233,12 +228,7 @@ contract ClearingReadFacet is IStaticFunctionSelectors, IClearingRead, Common { address _tokenHolder, ClearingOperationType _clearingOperationType ) external view override returns (uint256 clearingCount_) { - return - _getClearingCountForByPartition( - _partition, - _tokenHolder, - _clearingOperationType - ); + return _getClearingCountForByPartition(_partition, _tokenHolder, _clearingOperationType); } function getClearingsIdForByPartition( @@ -248,14 +238,7 @@ contract ClearingReadFacet is IStaticFunctionSelectors, IClearingRead, Common { uint256 _pageIndex, uint256 _pageLength ) external view override returns (uint256[] memory clearingsId_) { - return - _getClearingsIdForByPartition( - _partition, - _tokenHolder, - _clearingOperationType, - _pageIndex, - _pageLength - ); + return _getClearingsIdForByPartition(_partition, _tokenHolder, _clearingOperationType, _pageIndex, _pageLength); } function getClearingThirdParty( @@ -264,54 +247,24 @@ contract ClearingReadFacet is IStaticFunctionSelectors, IClearingRead, Common { ClearingOperationType _clearingOpeartionType, uint256 _clearingId ) external view override returns (address thirdParty_) { - thirdParty_ = _getClearingThirdParty( - _partition, - _tokenHolder, - _clearingOpeartionType, - _clearingId - ); + thirdParty_ = _getClearingThirdParty(_partition, _tokenHolder, _clearingOpeartionType, _clearingId); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _CLEARING_READ_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](5); - staticFunctionSelectors_[selectorIndex++] = this - .getClearedAmountFor - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getClearedAmountForByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getClearingCountForByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getClearingsIdForByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getClearingThirdParty - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getClearedAmountFor.selector; + staticFunctionSelectors_[selectorIndex++] = this.getClearedAmountForByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getClearingCountForByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getClearingsIdForByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getClearingThirdParty.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IClearingRead).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/clearing/ClearingRedeemFacet.sol b/packages/ats/contracts/contracts/layer_1/clearing/ClearingRedeemFacet.sol index 949b28288..766c43292 100644 --- a/packages/ats/contracts/contracts/layer_1/clearing/ClearingRedeemFacet.sol +++ b/packages/ats/contracts/contracts/layer_1/clearing/ClearingRedeemFacet.sol @@ -206,19 +206,13 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {Common} from '../common/Common.sol'; -import {IClearingRedeem} from '../interfaces/clearing/IClearingRedeem.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_CLEARING_REDEEM_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import {ThirdPartyType} from '../../layer_0/common/types/ThirdPartyType.sol'; - -contract ClearingRedeemFacet is - IStaticFunctionSelectors, - IClearingRedeem, - Common -{ +import { Common } from '../common/Common.sol'; +import { IClearingRedeem } from '../interfaces/clearing/IClearingRedeem.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _CLEARING_REDEEM_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { ThirdPartyType } from '../../layer_0/common/types/ThirdPartyType.sol'; + +contract ClearingRedeemFacet is IStaticFunctionSelectors, IClearingRedeem, Common { function clearingRedeemByPartition( ClearingOperation calldata _clearingOperation, uint256 _amount @@ -250,13 +244,9 @@ contract ClearingRedeemFacet is override onlyUnpaused onlyUnrecoveredAddress(_clearingOperationFrom.from) - onlyDefaultPartitionWithSinglePartition( - _clearingOperationFrom.clearingOperation.partition - ) + onlyDefaultPartitionWithSinglePartition(_clearingOperationFrom.clearingOperation.partition) onlyUnProtectedPartitionsOrWildCardRole - onlyWithValidExpirationTimestamp( - _clearingOperationFrom.clearingOperation.expirationTimestamp - ) + onlyWithValidExpirationTimestamp(_clearingOperationFrom.clearingOperation.expirationTimestamp) onlyUnrecoveredAddress(_msgSender()) validateAddress(_clearingOperationFrom.from) onlyClearingActivated @@ -286,23 +276,16 @@ contract ClearingRedeemFacet is override onlyUnpaused onlyUnrecoveredAddress(_clearingOperationFrom.from) - onlyDefaultPartitionWithSinglePartition( - _clearingOperationFrom.clearingOperation.partition - ) + onlyDefaultPartitionWithSinglePartition(_clearingOperationFrom.clearingOperation.partition) onlyUnProtectedPartitionsOrWildCardRole - onlyWithValidExpirationTimestamp( - _clearingOperationFrom.clearingOperation.expirationTimestamp - ) + onlyWithValidExpirationTimestamp(_clearingOperationFrom.clearingOperation.expirationTimestamp) validateAddress(_clearingOperationFrom.from) onlyUnrecoveredAddress(_msgSender()) onlyClearingActivated returns (bool success_, uint256 clearingId_) { { - _checkOperator( - _clearingOperationFrom.clearingOperation.partition, - _clearingOperationFrom.from - ); + _checkOperator(_clearingOperationFrom.clearingOperation.partition, _clearingOperationFrom.from); } (success_, clearingId_) = _clearingRedeemCreation( @@ -324,86 +307,40 @@ contract ClearingRedeemFacet is onlyUnpaused onlyProtectedPartitions validateAddress(_protectedClearingOperation.from) - onlyWithValidExpirationTimestamp( - _protectedClearingOperation.clearingOperation.expirationTimestamp - ) - onlyRole( - _protectedPartitionsRole( - _protectedClearingOperation.clearingOperation.partition - ) - ) + onlyWithValidExpirationTimestamp(_protectedClearingOperation.clearingOperation.expirationTimestamp) + onlyRole(_protectedPartitionsRole(_protectedClearingOperation.clearingOperation.partition)) onlyClearingActivated onlyUnrecoveredAddress(_protectedClearingOperation.from) returns (bool success_, uint256 clearingId_) { - (success_, clearingId_) = _protectedClearingRedeemByPartition( - _protectedClearingOperation, - _amount, - _signature - ); + (success_, clearingId_) = _protectedClearingRedeemByPartition(_protectedClearingOperation, _amount, _signature); } function getClearingRedeemForByPartition( bytes32 _partition, address _tokenHolder, uint256 _clearingId - ) - external - view - override - returns (ClearingRedeemData memory clearingRedeemData_) - { - return - _getClearingRedeemForByPartitionAdjusted( - _partition, - _tokenHolder, - _clearingId - ); + ) external view override returns (ClearingRedeemData memory clearingRedeemData_) { + return _getClearingRedeemForByPartitionAdjusted(_partition, _tokenHolder, _clearingId); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _CLEARING_REDEEM_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](5); - staticFunctionSelectors_[selectorIndex++] = this - .clearingRedeemByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .clearingRedeemFromByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .operatorClearingRedeemByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .protectedClearingRedeemByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getClearingRedeemForByPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.clearingRedeemByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.clearingRedeemFromByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.operatorClearingRedeemByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.protectedClearingRedeemByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getClearingRedeemForByPartition.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(IClearingRedeem) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IClearingRedeem).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_1/clearing/ClearingTransferFacet.sol b/packages/ats/contracts/contracts/layer_1/clearing/ClearingTransferFacet.sol index 2be6f0a63..25b3b71c7 100644 --- a/packages/ats/contracts/contracts/layer_1/clearing/ClearingTransferFacet.sol +++ b/packages/ats/contracts/contracts/layer_1/clearing/ClearingTransferFacet.sol @@ -206,19 +206,13 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {Common} from '../common/Common.sol'; -import {IClearingTransfer} from '../interfaces/clearing/IClearingTransfer.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_CLEARING_TRANSFER_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import {ThirdPartyType} from '../../layer_0/common/types/ThirdPartyType.sol'; - -contract ClearingTransferFacet is - IStaticFunctionSelectors, - IClearingTransfer, - Common -{ +import { Common } from '../common/Common.sol'; +import { IClearingTransfer } from '../interfaces/clearing/IClearingTransfer.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _CLEARING_TRANSFER_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { ThirdPartyType } from '../../layer_0/common/types/ThirdPartyType.sol'; + +contract ClearingTransferFacet is IStaticFunctionSelectors, IClearingTransfer, Common { function clearingTransferByPartition( ClearingOperation calldata _clearingOperation, uint256 _amount, @@ -254,13 +248,9 @@ contract ClearingTransferFacet is external override onlyUnpaused - onlyDefaultPartitionWithSinglePartition( - _clearingOperationFrom.clearingOperation.partition - ) + onlyDefaultPartitionWithSinglePartition(_clearingOperationFrom.clearingOperation.partition) onlyUnProtectedPartitionsOrWildCardRole - onlyWithValidExpirationTimestamp( - _clearingOperationFrom.clearingOperation.expirationTimestamp - ) + onlyWithValidExpirationTimestamp(_clearingOperationFrom.clearingOperation.expirationTimestamp) onlyClearingActivated returns (bool success_, uint256 clearingId_) { @@ -296,23 +286,16 @@ contract ClearingTransferFacet is external override onlyUnpaused - onlyDefaultPartitionWithSinglePartition( - _clearingOperationFrom.clearingOperation.partition - ) + onlyDefaultPartitionWithSinglePartition(_clearingOperationFrom.clearingOperation.partition) onlyUnProtectedPartitionsOrWildCardRole - onlyWithValidExpirationTimestamp( - _clearingOperationFrom.clearingOperation.expirationTimestamp - ) + onlyWithValidExpirationTimestamp(_clearingOperationFrom.clearingOperation.expirationTimestamp) onlyClearingActivated returns (bool success_, uint256 clearingId_) { { _checkValidAddress(_clearingOperationFrom.from); _checkValidAddress(_to); - _checkOperator( - _clearingOperationFrom.clearingOperation.partition, - _clearingOperationFrom.from - ); + _checkOperator(_clearingOperationFrom.clearingOperation.partition, _clearingOperationFrom.from); _checkRecoveredAddress(_msgSender()); _checkRecoveredAddress(_to); _checkRecoveredAddress(_clearingOperationFrom.from); @@ -342,14 +325,8 @@ contract ClearingTransferFacet is validateAddress(_to) onlyUnrecoveredAddress(_protectedClearingOperation.from) onlyUnrecoveredAddress(_to) - onlyWithValidExpirationTimestamp( - _protectedClearingOperation.clearingOperation.expirationTimestamp - ) - onlyRole( - _protectedPartitionsRole( - _protectedClearingOperation.clearingOperation.partition - ) - ) + onlyWithValidExpirationTimestamp(_protectedClearingOperation.clearingOperation.expirationTimestamp) + onlyRole(_protectedPartitionsRole(_protectedClearingOperation.clearingOperation.partition)) onlyClearingActivated returns (bool success_, uint256 clearingId_) { @@ -365,63 +342,27 @@ contract ClearingTransferFacet is bytes32 _partition, address _tokenHolder, uint256 _clearingId - ) - external - view - override - returns (ClearingTransferData memory clearingTransferData_) - { - return - _getClearingTransferForByPartitionAdjusted( - _partition, - _tokenHolder, - _clearingId - ); + ) external view override returns (ClearingTransferData memory clearingTransferData_) { + return _getClearingTransferForByPartitionAdjusted(_partition, _tokenHolder, _clearingId); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _CLEARING_TRANSFER_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](5); - staticFunctionSelectors_[selectorIndex++] = this - .clearingTransferByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .clearingTransferFromByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .operatorClearingTransferByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .protectedClearingTransferByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getClearingTransferForByPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.clearingTransferByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.clearingTransferFromByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.operatorClearingTransferByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.protectedClearingTransferByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getClearingTransferForByPartition.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(IClearingTransfer) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IClearingTransfer).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_1/common/Common.sol b/packages/ats/contracts/contracts/layer_1/common/Common.sol index 3db28d6e5..9a0547aa1 100644 --- a/packages/ats/contracts/contracts/layer_1/common/Common.sol +++ b/packages/ats/contracts/contracts/layer_1/common/Common.sol @@ -206,11 +206,9 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {_WILD_CARD_ROLE} from '../constants/roles.sol'; -import {IClearing} from '../interfaces/clearing/IClearing.sol'; -import { - ERC1594StorageWrapper -} from '../../layer_0/ERC1400/ERC1594/ERC1594StorageWrapper.sol'; +import { _WILD_CARD_ROLE } from '../constants/roles.sol'; +import { IClearing } from '../interfaces/clearing/IClearing.sol'; +import { ERC1594StorageWrapper } from '../../layer_0/ERC1400/ERC1594/ERC1594StorageWrapper.sol'; abstract contract Common is ERC1594StorageWrapper { error AlreadyInitialized(); @@ -237,14 +235,8 @@ abstract contract Common is ERC1594StorageWrapper { } function _checkUnProtectedPartitionsOrWildCardRole() internal view { - if ( - _arePartitionsProtected() && - !_hasRole(_WILD_CARD_ROLE, _msgSender()) - ) { - revert PartitionsAreProtectedAndNoRole( - _msgSender(), - _WILD_CARD_ROLE - ); + if (_arePartitionsProtected() && !_hasRole(_WILD_CARD_ROLE, _msgSender())) { + revert PartitionsAreProtectedAndNoRole(_msgSender(), _WILD_CARD_ROLE); } } diff --git a/packages/ats/contracts/contracts/layer_1/controlList/ControlList.sol b/packages/ats/contracts/contracts/layer_1/controlList/ControlList.sol index f31c4ffca..baffc58f1 100644 --- a/packages/ats/contracts/contracts/layer_1/controlList/ControlList.sol +++ b/packages/ats/contracts/contracts/layer_1/controlList/ControlList.sol @@ -206,13 +206,11 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {IControlList} from '../interfaces/controlList/IControlList.sol'; -import {Common} from '../common/Common.sol'; -import {_CONTROL_LIST_ROLE} from '../constants/roles.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_CONTROL_LIST_RESOLVER_KEY} from '../constants/resolverKeys.sol'; +import { IControlList } from '../interfaces/controlList/IControlList.sol'; +import { Common } from '../common/Common.sol'; +import { _CONTROL_LIST_ROLE } from '../constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _CONTROL_LIST_RESOLVER_KEY } from '../constants/resolverKeys.sol'; contract ControlList is IControlList, IStaticFunctionSelectors, Common { // TODO: UNPAUSED @@ -227,13 +225,7 @@ contract ControlList is IControlList, IStaticFunctionSelectors, Common { function addToControlList( address _account - ) - external - override - onlyRole(_CONTROL_LIST_ROLE) - onlyUnpaused - returns (bool success_) - { + ) external override onlyRole(_CONTROL_LIST_ROLE) onlyUnpaused returns (bool success_) { success_ = _addToControlList(_account); if (!success_) { revert ListedAccount(_account); @@ -243,13 +235,7 @@ contract ControlList is IControlList, IStaticFunctionSelectors, Common { function removeFromControlList( address _account - ) - external - override - onlyRole(_CONTROL_LIST_ROLE) - onlyUnpaused - returns (bool success_) - { + ) external override onlyRole(_CONTROL_LIST_ROLE) onlyUnpaused returns (bool success_) { success_ = _removeFromControlList(_account); if (!success_) { revert UnlistedAccount(_account); @@ -261,18 +247,11 @@ contract ControlList is IControlList, IStaticFunctionSelectors, Common { return _getControlListType(); } - function isInControlList( - address _account - ) external view override returns (bool) { + function isInControlList(address _account) external view override returns (bool) { return _isInControlList(_account); } - function getControlListCount() - external - view - override - returns (uint256 controlListCount_) - { + function getControlListCount() external view override returns (uint256 controlListCount_) { controlListCount_ = _getControlListCount(); } @@ -284,52 +263,23 @@ contract ControlList is IControlList, IStaticFunctionSelectors, Common { members_ = _getControlListMembers(_pageIndex, _pageLength); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _CONTROL_LIST_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](7); - staticFunctionSelectors_[selectorIndex++] = this - .initialize_ControlList - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .addToControlList - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .removeFromControlList - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .isInControlList - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getControlListType - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getControlListCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getControlListMembers - .selector; + staticFunctionSelectors_[selectorIndex++] = this.initialize_ControlList.selector; + staticFunctionSelectors_[selectorIndex++] = this.addToControlList.selector; + staticFunctionSelectors_[selectorIndex++] = this.removeFromControlList.selector; + staticFunctionSelectors_[selectorIndex++] = this.isInControlList.selector; + staticFunctionSelectors_[selectorIndex++] = this.getControlListType.selector; + staticFunctionSelectors_[selectorIndex++] = this.getControlListCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getControlListMembers.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IControlList).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/corporateActions/CorporateActions.sol b/packages/ats/contracts/contracts/layer_1/corporateActions/CorporateActions.sol index 6013e4352..9b8d5202e 100644 --- a/packages/ats/contracts/contracts/layer_1/corporateActions/CorporateActions.sol +++ b/packages/ats/contracts/contracts/layer_1/corporateActions/CorporateActions.sol @@ -206,21 +206,13 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - ICorporateActions -} from '../interfaces/corporateActions/ICorporateActions.sol'; -import {Common} from '../common/Common.sol'; -import {_CORPORATE_ACTION_ROLE} from '../constants/roles.sol'; -import {_CORPORATE_ACTIONS_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; - -contract CorporateActions is - ICorporateActions, - IStaticFunctionSelectors, - Common -{ +import { ICorporateActions } from '../interfaces/corporateActions/ICorporateActions.sol'; +import { Common } from '../common/Common.sol'; +import { _CORPORATE_ACTION_ROLE } from '../constants/roles.sol'; +import { _CORPORATE_ACTIONS_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; + +contract CorporateActions is ICorporateActions, IStaticFunctionSelectors, Common { function addCorporateAction( bytes32 _actionType, bytes memory _data @@ -229,28 +221,14 @@ contract CorporateActions is override onlyUnpaused onlyRole(_CORPORATE_ACTION_ROLE) - returns ( - bool success_, - bytes32 corporateActionId_, - uint256 corporateActionIndexByType_ - ) + returns (bool success_, bytes32 corporateActionId_, uint256 corporateActionIndexByType_) { - ( - success_, - corporateActionId_, - corporateActionIndexByType_ - ) = _addCorporateAction(_actionType, _data); + (success_, corporateActionId_, corporateActionIndexByType_) = _addCorporateAction(_actionType, _data); if (!success_) { revert DuplicatedCorporateAction(_actionType, _data); } - emit CorporateActionAdded( - _msgSender(), - _actionType, - corporateActionId_, - corporateActionIndexByType_, - _data - ); + emit CorporateActionAdded(_msgSender(), _actionType, corporateActionId_, corporateActionIndexByType_, _data); } function getCorporateAction( @@ -259,12 +237,7 @@ contract CorporateActions is (actionType_, data_) = _getCorporateAction(_corporateActionId); } - function getCorporateActionCount() - external - view - override - returns (uint256 corporateActionCount_) - { + function getCorporateActionCount() external view override returns (uint256 corporateActionCount_) { corporateActionCount_ = _getCorporateActionCount(); } @@ -286,59 +259,27 @@ contract CorporateActions is uint256 _pageIndex, uint256 _pageLength ) external view override returns (bytes32[] memory corporateActionIds_) { - corporateActionIds_ = _getCorporateActionIdsByType( - _actionType, - _pageIndex, - _pageLength - ); + corporateActionIds_ = _getCorporateActionIdsByType(_actionType, _pageIndex, _pageLength); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _CORPORATE_ACTIONS_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](6); - staticFunctionSelectors_[selectorIndex++] = this - .addCorporateAction - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getCorporateAction - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getCorporateActionCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getCorporateActionIds - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getCorporateActionCountByType - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getCorporateActionIdsByType - .selector; + staticFunctionSelectors_[selectorIndex++] = this.addCorporateAction.selector; + staticFunctionSelectors_[selectorIndex++] = this.getCorporateAction.selector; + staticFunctionSelectors_[selectorIndex++] = this.getCorporateActionCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getCorporateActionIds.selector; + staticFunctionSelectors_[selectorIndex++] = this.getCorporateActionCountByType.selector; + staticFunctionSelectors_[selectorIndex++] = this.getCorporateActionIdsByType.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(ICorporateActions) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(ICorporateActions).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_1/externalControlLists/ExternalControlListManagement.sol b/packages/ats/contracts/contracts/layer_1/externalControlLists/ExternalControlListManagement.sol index 5004474e1..cdedf863e 100644 --- a/packages/ats/contracts/contracts/layer_1/externalControlLists/ExternalControlListManagement.sol +++ b/packages/ats/contracts/contracts/layer_1/externalControlLists/ExternalControlListManagement.sol @@ -206,47 +206,24 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - IExternalControlListManagement -} from '../interfaces/externalControlLists/IExternalControlListManagement.sol'; -import {Common} from '../common/Common.sol'; -import {_CONTROL_LIST_MANAGER_ROLE} from '../constants/roles.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import { - _CONTROL_LIST_MANAGEMENT_RESOLVER_KEY -} from '../constants/resolverKeys.sol'; -import { - _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION -} from '../../layer_0/constants/storagePositions.sol'; - -contract ExternalControlListManagement is - IExternalControlListManagement, - IStaticFunctionSelectors, - Common -{ +import { IExternalControlListManagement } from '../interfaces/externalControlLists/IExternalControlListManagement.sol'; +import { Common } from '../common/Common.sol'; +import { _CONTROL_LIST_MANAGER_ROLE } from '../constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _CONTROL_LIST_MANAGEMENT_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION } from '../../layer_0/constants/storagePositions.sol'; + +contract ExternalControlListManagement is IExternalControlListManagement, IStaticFunctionSelectors, Common { // solhint-disable-next-line func-name-mixedcase function initialize_ExternalControlLists( address[] calldata _controlLists - ) - external - override - onlyUninitialized( - _externalListStorage(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION) - .initialized - ) - { - ExternalListDataStorage - storage externalControlListDataStorage = _externalListStorage( - _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION - ); + ) external override onlyUninitialized(_externalListStorage(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION).initialized) { + ExternalListDataStorage storage externalControlListDataStorage = _externalListStorage( + _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION + ); uint256 length = _controlLists.length; for (uint256 index; index < length; ) { - _addExternalList( - _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, - _controlLists[index] - ); + _addExternalList(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, _controlLists[index]); unchecked { ++index; } @@ -265,11 +242,7 @@ contract ExternalControlListManagement is onlyConsistentActivations(_controlLists, _actives) returns (bool success_) { - success_ = _updateExternalLists( - _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, - _controlLists, - _actives - ); + success_ = _updateExternalLists(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, _controlLists, _actives); if (!success_) { revert ExternalControlListsNotUpdated(_controlLists, _actives); } @@ -278,17 +251,8 @@ contract ExternalControlListManagement is function addExternalControlList( address _controlList - ) - external - override - onlyRole(_CONTROL_LIST_MANAGER_ROLE) - onlyUnpaused - returns (bool success_) - { - success_ = _addExternalList( - _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, - _controlList - ); + ) external override onlyRole(_CONTROL_LIST_MANAGER_ROLE) onlyUnpaused returns (bool success_) { + success_ = _addExternalList(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, _controlList); if (!success_) { revert ListedControlList(_controlList); } @@ -297,105 +261,48 @@ contract ExternalControlListManagement is function removeExternalControlList( address _controlList - ) - external - override - onlyRole(_CONTROL_LIST_MANAGER_ROLE) - onlyUnpaused - returns (bool success_) - { - success_ = _removeExternalList( - _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, - _controlList - ); + ) external override onlyRole(_CONTROL_LIST_MANAGER_ROLE) onlyUnpaused returns (bool success_) { + success_ = _removeExternalList(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, _controlList); if (!success_) { revert UnlistedControlList(_controlList); } emit RemovedFromExternalControlLists(_msgSender(), _controlList); } - function isExternalControlList( - address _controlList - ) external view override returns (bool) { - return - _isExternalList( - _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, - _controlList - ); + function isExternalControlList(address _controlList) external view override returns (bool) { + return _isExternalList(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, _controlList); } - function getExternalControlListsCount() - external - view - override - returns (uint256 externalControlListsCount_) - { - return - _getExternalListsCount(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION); + function getExternalControlListsCount() external view override returns (uint256 externalControlListsCount_) { + return _getExternalListsCount(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION); } function getExternalControlListsMembers( uint256 _pageIndex, uint256 _pageLength ) external view override returns (address[] memory members_) { - return - _getExternalListsMembers( - _CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, - _pageIndex, - _pageLength - ); + return _getExternalListsMembers(_CONTROL_LIST_MANAGEMENT_STORAGE_POSITION, _pageIndex, _pageLength); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _CONTROL_LIST_MANAGEMENT_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](7); - staticFunctionSelectors_[selectorIndex++] = this - .initialize_ExternalControlLists - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .updateExternalControlLists - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .addExternalControlList - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .removeExternalControlList - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .isExternalControlList - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getExternalControlListsCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getExternalControlListsMembers - .selector; + staticFunctionSelectors_[selectorIndex++] = this.initialize_ExternalControlLists.selector; + staticFunctionSelectors_[selectorIndex++] = this.updateExternalControlLists.selector; + staticFunctionSelectors_[selectorIndex++] = this.addExternalControlList.selector; + staticFunctionSelectors_[selectorIndex++] = this.removeExternalControlList.selector; + staticFunctionSelectors_[selectorIndex++] = this.isExternalControlList.selector; + staticFunctionSelectors_[selectorIndex++] = this.getExternalControlListsCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getExternalControlListsMembers.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type( - IExternalControlListManagement - ).interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IExternalControlListManagement).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_1/externalKycLists/ExternalKycListManagement.sol b/packages/ats/contracts/contracts/layer_1/externalKycLists/ExternalKycListManagement.sol index 1a8df3df6..e64910b98 100644 --- a/packages/ats/contracts/contracts/layer_1/externalKycLists/ExternalKycListManagement.sol +++ b/packages/ats/contracts/contracts/layer_1/externalKycLists/ExternalKycListManagement.sol @@ -206,45 +206,25 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - IExternalKycListManagement -} from '../interfaces/externalKycLists/IExternalKycListManagement.sol'; -import {Common} from '../common/Common.sol'; -import {_KYC_MANAGER_ROLE} from '../constants/roles.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_KYC_MANAGEMENT_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import { - _KYC_MANAGEMENT_STORAGE_POSITION -} from '../../layer_0/constants/storagePositions.sol'; -import {IKyc} from '../interfaces/kyc/IKyc.sol'; - -contract ExternalKycListManagement is - IExternalKycListManagement, - IStaticFunctionSelectors, - Common -{ +import { IExternalKycListManagement } from '../interfaces/externalKycLists/IExternalKycListManagement.sol'; +import { Common } from '../common/Common.sol'; +import { _KYC_MANAGER_ROLE } from '../constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _KYC_MANAGEMENT_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { _KYC_MANAGEMENT_STORAGE_POSITION } from '../../layer_0/constants/storagePositions.sol'; +import { IKyc } from '../interfaces/kyc/IKyc.sol'; + +contract ExternalKycListManagement is IExternalKycListManagement, IStaticFunctionSelectors, Common { // solhint-disable-next-line func-name-mixedcase function initialize_ExternalKycLists( address[] calldata _kycLists - ) - external - override - onlyUninitialized( - _externalListStorage(_KYC_MANAGEMENT_STORAGE_POSITION).initialized - ) - { - ExternalListDataStorage - storage externalKycListDataStorage = _externalListStorage( - _KYC_MANAGEMENT_STORAGE_POSITION - ); + ) external override onlyUninitialized(_externalListStorage(_KYC_MANAGEMENT_STORAGE_POSITION).initialized) { + ExternalListDataStorage storage externalKycListDataStorage = _externalListStorage( + _KYC_MANAGEMENT_STORAGE_POSITION + ); uint256 length = _kycLists.length; for (uint256 index; index < length; ) { - _addExternalList( - _KYC_MANAGEMENT_STORAGE_POSITION, - _kycLists[index] - ); + _addExternalList(_KYC_MANAGEMENT_STORAGE_POSITION, _kycLists[index]); unchecked { ++index; } @@ -263,11 +243,7 @@ contract ExternalKycListManagement is onlyConsistentActivations(_kycLists, _actives) returns (bool success_) { - success_ = _updateExternalLists( - _KYC_MANAGEMENT_STORAGE_POSITION, - _kycLists, - _actives - ); + success_ = _updateExternalLists(_KYC_MANAGEMENT_STORAGE_POSITION, _kycLists, _actives); if (!success_) { revert ExternalKycListsNotUpdated(_kycLists, _actives); } @@ -276,17 +252,8 @@ contract ExternalKycListManagement is function addExternalKycList( address _kycLists - ) - external - override - onlyRole(_KYC_MANAGER_ROLE) - onlyUnpaused - returns (bool success_) - { - success_ = _addExternalList( - _KYC_MANAGEMENT_STORAGE_POSITION, - _kycLists - ); + ) external override onlyRole(_KYC_MANAGER_ROLE) onlyUnpaused returns (bool success_) { + success_ = _addExternalList(_KYC_MANAGEMENT_STORAGE_POSITION, _kycLists); if (!success_) { revert ListedKycList(_kycLists); } @@ -295,42 +262,23 @@ contract ExternalKycListManagement is function removeExternalKycList( address _kycLists - ) - external - override - onlyRole(_KYC_MANAGER_ROLE) - onlyUnpaused - returns (bool success_) - { - success_ = _removeExternalList( - _KYC_MANAGEMENT_STORAGE_POSITION, - _kycLists - ); + ) external override onlyRole(_KYC_MANAGER_ROLE) onlyUnpaused returns (bool success_) { + success_ = _removeExternalList(_KYC_MANAGEMENT_STORAGE_POSITION, _kycLists); if (!success_) { revert UnlistedKycList(_kycLists); } emit RemovedFromExternalKycLists(_msgSender(), _kycLists); } - function isExternalKycList( - address _kycList - ) external view override returns (bool) { + function isExternalKycList(address _kycList) external view override returns (bool) { return _isExternalList(_KYC_MANAGEMENT_STORAGE_POSITION, _kycList); } - function isExternallyGranted( - address _account, - IKyc.KycStatus _kycStatus - ) external view override returns (bool) { + function isExternallyGranted(address _account, IKyc.KycStatus _kycStatus) external view override returns (bool) { return _isExternallyGranted(_account, _kycStatus); } - function getExternalKycListsCount() - external - view - override - returns (uint256 externalKycListsCount_) - { + function getExternalKycListsCount() external view override returns (uint256 externalKycListsCount_) { return _getExternalListsCount(_KYC_MANAGEMENT_STORAGE_POSITION); } @@ -338,66 +286,29 @@ contract ExternalKycListManagement is uint256 _pageIndex, uint256 _pageLength ) external view override returns (address[] memory members_) { - return - _getExternalListsMembers( - _KYC_MANAGEMENT_STORAGE_POSITION, - _pageIndex, - _pageLength - ); + return _getExternalListsMembers(_KYC_MANAGEMENT_STORAGE_POSITION, _pageIndex, _pageLength); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _KYC_MANAGEMENT_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](8); - staticFunctionSelectors_[selectorIndex++] = this - .initialize_ExternalKycLists - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .updateExternalKycLists - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .addExternalKycList - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .removeExternalKycList - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .isExternalKycList - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .isExternallyGranted - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getExternalKycListsCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getExternalKycListsMembers - .selector; + staticFunctionSelectors_[selectorIndex++] = this.initialize_ExternalKycLists.selector; + staticFunctionSelectors_[selectorIndex++] = this.updateExternalKycLists.selector; + staticFunctionSelectors_[selectorIndex++] = this.addExternalKycList.selector; + staticFunctionSelectors_[selectorIndex++] = this.removeExternalKycList.selector; + staticFunctionSelectors_[selectorIndex++] = this.isExternalKycList.selector; + staticFunctionSelectors_[selectorIndex++] = this.isExternallyGranted.selector; + staticFunctionSelectors_[selectorIndex++] = this.getExternalKycListsCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getExternalKycListsMembers.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(IExternalKycListManagement) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IExternalKycListManagement).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_1/externalPauses/ExternalPauseManagement.sol b/packages/ats/contracts/contracts/layer_1/externalPauses/ExternalPauseManagement.sol index 53dd48a30..9fcdab1b2 100644 --- a/packages/ats/contracts/contracts/layer_1/externalPauses/ExternalPauseManagement.sol +++ b/packages/ats/contracts/contracts/layer_1/externalPauses/ExternalPauseManagement.sol @@ -206,44 +206,24 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - IExternalPauseManagement -} from '../interfaces/externalPauses/IExternalPauseManagement.sol'; -import {Common} from '../common/Common.sol'; -import {_PAUSE_MANAGER_ROLE} from '../constants/roles.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_PAUSE_MANAGEMENT_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import { - _PAUSE_MANAGEMENT_STORAGE_POSITION -} from '../../layer_0/constants/storagePositions.sol'; - -contract ExternalPauseManagement is - IExternalPauseManagement, - IStaticFunctionSelectors, - Common -{ +import { IExternalPauseManagement } from '../interfaces/externalPauses/IExternalPauseManagement.sol'; +import { Common } from '../common/Common.sol'; +import { _PAUSE_MANAGER_ROLE } from '../constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _PAUSE_MANAGEMENT_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { _PAUSE_MANAGEMENT_STORAGE_POSITION } from '../../layer_0/constants/storagePositions.sol'; + +contract ExternalPauseManagement is IExternalPauseManagement, IStaticFunctionSelectors, Common { // solhint-disable-next-line func-name-mixedcase function initialize_ExternalPauses( address[] calldata _pauses - ) - external - override - onlyUninitialized( - _externalListStorage(_PAUSE_MANAGEMENT_STORAGE_POSITION).initialized - ) - { - ExternalListDataStorage - storage externalPauseDataStorage = _externalListStorage( - _PAUSE_MANAGEMENT_STORAGE_POSITION - ); + ) external override onlyUninitialized(_externalListStorage(_PAUSE_MANAGEMENT_STORAGE_POSITION).initialized) { + ExternalListDataStorage storage externalPauseDataStorage = _externalListStorage( + _PAUSE_MANAGEMENT_STORAGE_POSITION + ); uint256 length = _pauses.length; for (uint256 index; index < length; ) { - _addExternalList( - _PAUSE_MANAGEMENT_STORAGE_POSITION, - _pauses[index] - ); + _addExternalList(_PAUSE_MANAGEMENT_STORAGE_POSITION, _pauses[index]); unchecked { ++index; } @@ -262,11 +242,7 @@ contract ExternalPauseManagement is onlyConsistentActivations(_pauses, _actives) returns (bool success_) { - success_ = _updateExternalLists( - _PAUSE_MANAGEMENT_STORAGE_POSITION, - _pauses, - _actives - ); + success_ = _updateExternalLists(_PAUSE_MANAGEMENT_STORAGE_POSITION, _pauses, _actives); if (!success_) { revert ExternalPausesNotUpdated(_pauses, _actives); } @@ -275,13 +251,7 @@ contract ExternalPauseManagement is function addExternalPause( address _pause - ) - external - override - onlyRole(_PAUSE_MANAGER_ROLE) - onlyUnpaused - returns (bool success_) - { + ) external override onlyRole(_PAUSE_MANAGER_ROLE) onlyUnpaused returns (bool success_) { success_ = _addExternalList(_PAUSE_MANAGEMENT_STORAGE_POSITION, _pause); if (!success_) { revert ListedPause(_pause); @@ -291,35 +261,19 @@ contract ExternalPauseManagement is function removeExternalPause( address _pause - ) - external - override - onlyRole(_PAUSE_MANAGER_ROLE) - onlyUnpaused - returns (bool success_) - { - success_ = _removeExternalList( - _PAUSE_MANAGEMENT_STORAGE_POSITION, - _pause - ); + ) external override onlyRole(_PAUSE_MANAGER_ROLE) onlyUnpaused returns (bool success_) { + success_ = _removeExternalList(_PAUSE_MANAGEMENT_STORAGE_POSITION, _pause); if (!success_) { revert UnlistedPause(_pause); } emit RemovedFromExternalPauses(_msgSender(), _pause); } - function isExternalPause( - address _pause - ) external view override returns (bool) { + function isExternalPause(address _pause) external view override returns (bool) { return _isExternalList(_PAUSE_MANAGEMENT_STORAGE_POSITION, _pause); } - function getExternalPausesCount() - external - view - override - returns (uint256 externalPausesCount_) - { + function getExternalPausesCount() external view override returns (uint256 externalPausesCount_) { return _getExternalListsCount(_PAUSE_MANAGEMENT_STORAGE_POSITION); } @@ -327,63 +281,28 @@ contract ExternalPauseManagement is uint256 _pageIndex, uint256 _pageLength ) external view override returns (address[] memory members_) { - return - _getExternalListsMembers( - _PAUSE_MANAGEMENT_STORAGE_POSITION, - _pageIndex, - _pageLength - ); + return _getExternalListsMembers(_PAUSE_MANAGEMENT_STORAGE_POSITION, _pageIndex, _pageLength); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _PAUSE_MANAGEMENT_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](7); - staticFunctionSelectors_[selectorIndex++] = this - .initialize_ExternalPauses - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .updateExternalPauses - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .addExternalPause - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .removeExternalPause - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .isExternalPause - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getExternalPausesCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getExternalPausesMembers - .selector; + staticFunctionSelectors_[selectorIndex++] = this.initialize_ExternalPauses.selector; + staticFunctionSelectors_[selectorIndex++] = this.updateExternalPauses.selector; + staticFunctionSelectors_[selectorIndex++] = this.addExternalPause.selector; + staticFunctionSelectors_[selectorIndex++] = this.removeExternalPause.selector; + staticFunctionSelectors_[selectorIndex++] = this.isExternalPause.selector; + staticFunctionSelectors_[selectorIndex++] = this.getExternalPausesCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getExternalPausesMembers.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(IExternalPauseManagement) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IExternalPauseManagement).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_1/hold/Hold.sol b/packages/ats/contracts/contracts/layer_1/hold/Hold.sol index 2ae0dc88e..538680b1e 100644 --- a/packages/ats/contracts/contracts/layer_1/hold/Hold.sol +++ b/packages/ats/contracts/contracts/layer_1/hold/Hold.sol @@ -205,15 +205,13 @@ pragma solidity 0.8.18; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {IHold} from '../interfaces/hold/IHold.sol'; -import {Common} from '../common/Common.sol'; -import {_CONTROLLER_ROLE} from '../constants/roles.sol'; -import {_HOLD_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import {IKyc} from '../../layer_1/interfaces/kyc/IKyc.sol'; -import {ThirdPartyType} from '../../layer_0/common/types/ThirdPartyType.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { IHold } from '../interfaces/hold/IHold.sol'; +import { Common } from '../common/Common.sol'; +import { _CONTROLLER_ROLE } from '../constants/roles.sol'; +import { _HOLD_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { IKyc } from '../../layer_1/interfaces/kyc/IKyc.sol'; +import { ThirdPartyType } from '../../layer_0/common/types/ThirdPartyType.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution @@ -234,22 +232,9 @@ contract Hold is IHold, IStaticFunctionSelectors, Common { onlyClearingDisabled returns (bool success_, uint256 holdId_) { - (success_, holdId_) = _createHoldByPartition( - _partition, - _msgSender(), - _hold, - '', - ThirdPartyType.NULL - ); + (success_, holdId_) = _createHoldByPartition(_partition, _msgSender(), _hold, '', ThirdPartyType.NULL); - emit HeldByPartition( - _msgSender(), - _msgSender(), - _partition, - holdId_, - _hold, - '' - ); + emit HeldByPartition(_msgSender(), _msgSender(), _partition, holdId_, _hold, ''); } function createHoldFromByPartition( @@ -282,21 +267,9 @@ contract Hold is IHold, IStaticFunctionSelectors, Common { ThirdPartyType.AUTHORIZED ); - _decreaseAllowedBalanceForHold( - _partition, - _from, - _hold.amount, - holdId_ - ); + _decreaseAllowedBalanceForHold(_partition, _from, _hold.amount, holdId_); - emit HeldFromByPartition( - _msgSender(), - _from, - _partition, - holdId_, - _hold, - _operatorData - ); + emit HeldFromByPartition(_msgSender(), _from, _partition, holdId_, _hold, _operatorData); } function operatorCreateHoldByPartition( @@ -322,22 +295,9 @@ contract Hold is IHold, IStaticFunctionSelectors, Common { _checkRecoveredAddress(_hold.to); _checkRecoveredAddress(_from); } - (success_, holdId_) = _createHoldByPartition( - _partition, - _from, - _hold, - _operatorData, - ThirdPartyType.OPERATOR - ); + (success_, holdId_) = _createHoldByPartition(_partition, _from, _hold, _operatorData, ThirdPartyType.OPERATOR); - emit OperatorHeldByPartition( - _msgSender(), - _from, - _partition, - holdId_, - _hold, - _operatorData - ); + emit OperatorHeldByPartition(_msgSender(), _from, _partition, holdId_, _hold, _operatorData); } function controllerCreateHoldByPartition( @@ -365,14 +325,7 @@ contract Hold is IHold, IStaticFunctionSelectors, Common { ThirdPartyType.CONTROLLER ); - emit ControllerHeldByPartition( - _msgSender(), - _from, - _partition, - holdId_, - _hold, - _operatorData - ); + emit ControllerHeldByPartition(_msgSender(), _from, _partition, holdId_, _hold, _operatorData); } function protectedCreateHoldByPartition( @@ -390,27 +343,13 @@ contract Hold is IHold, IStaticFunctionSelectors, Common { onlyUnrecoveredAddress(_from) onlyUnrecoveredAddress(_protectedHold.hold.to) onlyRole(_protectedPartitionsRole(_partition)) - onlyWithValidExpirationTimestamp( - _protectedHold.hold.expirationTimestamp - ) + onlyWithValidExpirationTimestamp(_protectedHold.hold.expirationTimestamp) onlyProtectedPartitions returns (bool success_, uint256 holdId_) { - (success_, holdId_) = _protectedCreateHoldByPartition( - _partition, - _from, - _protectedHold, - _signature - ); + (success_, holdId_) = _protectedCreateHoldByPartition(_partition, _from, _protectedHold, _signature); - emit ProtectedHeldByPartition( - _msgSender(), - _from, - _partition, - holdId_, - _protectedHold.hold, - '' - ); + emit ProtectedHeldByPartition(_msgSender(), _from, _partition, holdId_, _protectedHold.hold, ''); } function executeHoldByPartition( @@ -481,9 +420,7 @@ contract Hold is IHold, IStaticFunctionSelectors, Common { ); } - function getHeldAmountFor( - address _tokenHolder - ) external view override returns (uint256 amount_) { + function getHeldAmountFor(address _tokenHolder) external view override returns (uint256 amount_) { return _getHeldAmountForAdjusted(_tokenHolder); } @@ -507,13 +444,7 @@ contract Hold is IHold, IStaticFunctionSelectors, Common { uint256 _pageIndex, uint256 _pageLength ) external view override returns (uint256[] memory holdsId_) { - return - _getHoldsIdForByPartition( - _partition, - _tokenHolder, - _pageIndex, - _pageLength - ); + return _getHoldsIdForByPartition(_partition, _tokenHolder, _pageIndex, _pageLength); } function getHoldForByPartition( @@ -535,79 +466,34 @@ contract Hold is IHold, IStaticFunctionSelectors, Common { return _getHoldForByPartitionAdjusted(_holdIdentifier); } - function getHoldThirdParty( - HoldIdentifier calldata _holdIdentifier - ) external view override returns (address) { + function getHoldThirdParty(HoldIdentifier calldata _holdIdentifier) external view override returns (address) { return _getHoldThirdParty(_holdIdentifier); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _HOLD_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](14); - staticFunctionSelectors_[selectorIndex++] = this - .createHoldByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .createHoldFromByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .operatorCreateHoldByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .controllerCreateHoldByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .protectedCreateHoldByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .executeHoldByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .releaseHoldByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .reclaimHoldByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getHeldAmountForByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getHoldCountForByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getHoldsIdForByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getHoldForByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getHeldAmountFor - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getHoldThirdParty - .selector; + staticFunctionSelectors_[selectorIndex++] = this.createHoldByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.createHoldFromByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.operatorCreateHoldByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.controllerCreateHoldByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.protectedCreateHoldByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.executeHoldByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.releaseHoldByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.reclaimHoldByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getHeldAmountForByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getHoldCountForByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getHoldsIdForByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getHoldForByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getHeldAmountFor.selector; + staticFunctionSelectors_[selectorIndex++] = this.getHoldThirdParty.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IHold).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410.sol index 9b05c1ea4..483e71c7e 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410.sol @@ -206,15 +206,10 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IERC1410Basic} from './IERC1410Basic.sol'; -import {IERC1410Controller} from './IERC1410Controller.sol'; -import {IERC1410Operator} from './IERC1410Operator.sol'; -import {IERC1410Standard} from './IERC1410Standard.sol'; +import { IERC1410Basic } from './IERC1410Basic.sol'; +import { IERC1410Controller } from './IERC1410Controller.sol'; +import { IERC1410Operator } from './IERC1410Operator.sol'; +import { IERC1410Standard } from './IERC1410Standard.sol'; // solhint-disable no-empty-blocks -interface IERC1410 is - IERC1410Basic, - IERC1410Controller, - IERC1410Operator, - IERC1410Standard -{} +interface IERC1410 is IERC1410Basic, IERC1410Controller, IERC1410Operator, IERC1410Standard {} diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Basic.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Basic.sol index 40e78de31..8125d9a94 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Basic.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Basic.sol @@ -223,20 +223,13 @@ interface IERC1410Basic { function balanceOf(address _tokenHolder) external view returns (uint256); - function balanceOfByPartition( - bytes32 _partition, - address _tokenHolder - ) external view returns (uint256); + function balanceOfByPartition(bytes32 _partition, address _tokenHolder) external view returns (uint256); - function partitionsOf( - address _tokenHolder - ) external view returns (bytes32[] memory); + function partitionsOf(address _tokenHolder) external view returns (bytes32[] memory); function totalSupply() external view returns (uint256); function isMultiPartition() external view returns (bool); - function totalSupplyByPartition( - bytes32 _partition - ) external view returns (uint256); + function totalSupplyByPartition(bytes32 _partition) external view returns (uint256); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Operator.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Operator.sol index e14d7919c..fa5ae924e 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Operator.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Operator.sol @@ -224,21 +224,12 @@ interface IERC1410Operator { function revokeOperator(address _operator) external; - function authorizeOperatorByPartition( - bytes32 _partition, - address _operator - ) external; + function authorizeOperatorByPartition(bytes32 _partition, address _operator) external; - function revokeOperatorByPartition( - bytes32 _partition, - address _operator - ) external; + function revokeOperatorByPartition(bytes32 _partition, address _operator) external; // Operator Information - function isOperator( - address _operator, - address _tokenHolder - ) external view returns (bool); + function isOperator(address _operator, address _tokenHolder) external view returns (bool); function isOperatorForPartition( bytes32 _partition, diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410ScheduledTasks.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410ScheduledTasks.sol index 4c6ce8199..f82923365 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410ScheduledTasks.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410ScheduledTasks.sol @@ -209,14 +209,7 @@ pragma solidity 0.8.18; interface IERC1410ScheduledTasks { - function triggerAndSyncAll( - bytes32 _partition, - address _from, - address _to - ) external; - - function balanceOfAt( - address _tokenHolder, - uint256 _timestamp - ) external view returns (uint256); + function triggerAndSyncAll(bytes32 _partition, address _from, address _to) external; + + function balanceOfAt(address _tokenHolder, uint256 _timestamp) external view returns (uint256); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Standard.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Standard.sol index d7fb127aa..77d35e639 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Standard.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410Standard.sol @@ -214,11 +214,7 @@ interface IERC1410Standard { bytes data; } - function redeemByPartition( - bytes32 _partition, - uint256 _value, - bytes calldata _data - ) external; + function redeemByPartition(bytes32 _partition, uint256 _value, bytes calldata _data) external; function operatorRedeemByPartition( bytes32 _partition, @@ -228,9 +224,7 @@ interface IERC1410Standard { bytes calldata _operatorData ) external; - function issueByPartition( - IERC1410Standard.IssueData calldata _issueData - ) external; + function issueByPartition(IERC1410Standard.IssueData calldata _issueData) external; function canRedeemByPartition( address _from, diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410StorageWrapper.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410StorageWrapper.sol index 63de6525c..f5a8258fd 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410StorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1410StorageWrapper.sol @@ -219,24 +219,14 @@ interface IERC1410StorageWrapper { ); // Operator Events - event AuthorizedOperator( - address indexed operator, - address indexed tokenHolder - ); - event RevokedOperator( - address indexed operator, - address indexed tokenHolder - ); + event AuthorizedOperator(address indexed operator, address indexed tokenHolder); + event RevokedOperator(address indexed operator, address indexed tokenHolder); event AuthorizedOperatorByPartition( bytes32 indexed partition, address indexed operator, address indexed tokenHolder ); - event RevokedOperatorByPartition( - bytes32 indexed partition, - address indexed operator, - address indexed tokenHolder - ); + event RevokedOperatorByPartition(bytes32 indexed partition, address indexed operator, address indexed tokenHolder); // Issuance / Redemption Events event IssuedByPartition( @@ -261,15 +251,6 @@ interface IERC1410StorageWrapper { error ZeroPartition(); error ZeroValue(); error InvalidPartition(address account, bytes32 partition); - error InsufficientBalance( - address account, - uint256 balance, - uint256 value, - bytes32 partition - ); - error Unauthorized( - address operator, - address tokenHolder, - bytes32 partition - ); + error InsufficientBalance(address account, uint256 balance, uint256 value, bytes32 partition); + error Unauthorized(address operator, address tokenHolder, bytes32 partition); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1594.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1594.sol index f83544268..b7047957c 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1594.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1594.sol @@ -221,11 +221,7 @@ interface IERC1594 { * for the token contract to interpret or record. This could be signed data authorising the transfer * (e.g. a dynamic whitelist) but is flexible enough to accomadate other use-cases. */ - function transferWithData( - address _to, - uint256 _value, - bytes calldata _data - ) external; + function transferWithData(address _to, uint256 _value, bytes calldata _data) external; /** * @notice Transfer restrictions can take many forms and typically involve on-chain rules or whitelists. @@ -240,28 +236,15 @@ interface IERC1594 { * for the token contract to interpret or record. This could be signed data authorising the transfer * (e.g. a dynamic whitelist) but is flexible enough to accomadate other use-cases. */ - function transferFromWithData( - address _from, - address _to, - uint256 _value, - bytes calldata _data - ) external; + function transferFromWithData(address _from, address _to, uint256 _value, bytes calldata _data) external; // Token Issuance - function issue( - address _tokenHolder, - uint256 _value, - bytes calldata _data - ) external; + function issue(address _tokenHolder, uint256 _value, bytes calldata _data) external; // Token Redemption function redeem(uint256 _value, bytes calldata _data) external; - function redeemFrom( - address _tokenHolder, - uint256 _value, - bytes calldata _data - ) external; + function redeemFrom(address _tokenHolder, uint256 _value, bytes calldata _data) external; function isIssuable() external view returns (bool); diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1594StorageWrapper.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1594StorageWrapper.sol index 42393d66b..1724922ed 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1594StorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1594StorageWrapper.sol @@ -207,17 +207,7 @@ pragma solidity 0.8.18; interface IERC1594StorageWrapper { - event Issued( - address indexed _operator, - address indexed _to, - uint256 _value, - bytes _data - ); - event Redeemed( - address indexed _operator, - address indexed _from, - uint256 _value, - bytes _data - ); + event Issued(address indexed _operator, address indexed _to, uint256 _value, bytes _data); + event Redeemed(address indexed _operator, address indexed _from, uint256 _value, bytes _data); error IssuanceIsClosed(); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1643.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1643.sol index 328836334..59a3c258b 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1643.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC1643.sol @@ -208,16 +208,8 @@ pragma solidity 0.8.18; interface IERC1643 { // Document Events - event DocumentRemoved( - bytes32 indexed name, - string uri, - bytes32 documentHash - ); - event DocumentUpdated( - bytes32 indexed name, - string uri, - bytes32 documentHash - ); + event DocumentRemoved(bytes32 indexed name, string uri, bytes32 documentHash); + event DocumentUpdated(bytes32 indexed name, string uri, bytes32 documentHash); error EmptyName(); error EmptyURI(); @@ -225,17 +217,11 @@ interface IERC1643 { error DocumentDoesNotExist(bytes32 name); // Document Management - function setDocument( - bytes32 _name, - string calldata _uri, - bytes32 _documentHash - ) external; + function setDocument(bytes32 _name, string calldata _uri, bytes32 _documentHash) external; function removeDocument(bytes32 _name) external; - function getDocument( - bytes32 _name - ) external view returns (string memory, bytes32, uint256); + function getDocument(bytes32 _name) external view returns (string memory, bytes32, uint256); function getAllDocuments() external view returns (bytes32[] memory); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC20.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC20.sol index 0c98dd73c..f9423635f 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC20.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC20.sol @@ -208,8 +208,8 @@ pragma solidity 0.8.18; -import {IERC20StorageWrapper} from './IERC20StorageWrapper.sol'; -import {IFactory} from '../../../interfaces/factory/IFactory.sol'; +import { IERC20StorageWrapper } from './IERC20StorageWrapper.sol'; +import { IFactory } from '../../../interfaces/factory/IFactory.sol'; interface IERC20 is IERC20StorageWrapper { struct ERC20MetadataInfo { @@ -261,11 +261,7 @@ interface IERC20 is IERC20StorageWrapper { * * Emits a {Transfer} event. */ - function transferFrom( - address from, - address to, - uint256 amount - ) external returns (bool); + function transferFrom(address from, address to, uint256 amount) external returns (bool); function name() external view returns (string memory); @@ -280,10 +276,7 @@ interface IERC20 is IERC20StorageWrapper { * * This value changes when {approve} or {transferFrom} are called. */ - function allowance( - address owner, - address spender - ) external view returns (uint256); + function allowance(address owner, address spender) external view returns (uint256); function decimalsAt(uint256 _timestamp) external view returns (uint8); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC20StorageWrapper.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC20StorageWrapper.sol index 6ac82bf50..284baac37 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC20StorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC1400/IERC20StorageWrapper.sol @@ -211,11 +211,7 @@ pragma solidity 0.8.18; interface IERC20StorageWrapper { event Transfer(address indexed from, address indexed to, uint256 value); - event Approval( - address indexed owner, - address indexed spender, - uint256 value - ); + event Approval(address indexed owner, address indexed spender, uint256 value); error InsufficientAllowance(address spender, address from); error SpenderWithZeroAddress(); diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC3643/IERC3643.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC3643/IERC3643.sol index c2b7f6740..2540df743 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC3643/IERC3643.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC3643/IERC3643.sol @@ -206,8 +206,8 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {ICompliance} from './ICompliance.sol'; -import {IIdentityRegistry} from './IIdentityRegistry.sol'; +import { ICompliance } from './ICompliance.sol'; +import { IIdentityRegistry } from './IIdentityRegistry.sol'; interface IERC3643 { struct ERC3643Storage { @@ -261,11 +261,7 @@ interface IERC3643 { * @param _newWallet Address of the new wallet * @param _investorOnchainID OnchainID */ - event RecoverySuccess( - address _lostWallet, - address _newWallet, - address _investorOnchainID - ); + event RecoverySuccess(address _lostWallet, address _newWallet, address _investorOnchainID); /** * @notice Thrown when calling from a recovered wallet @@ -321,11 +317,7 @@ interface IERC3643 { * * Emits a ControllerTransfer event. */ - function forcedTransfer( - address _from, - address _to, - uint256 _amount - ) external returns (bool); + function forcedTransfer(address _from, address _to, uint256 _amount) external returns (bool); /** * @dev Sets the identity registry contract address. diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ERC3643/IFreeze.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ERC3643/IFreeze.sol index 2d2da2ee1..b3f57d6ca 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ERC3643/IFreeze.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ERC3643/IFreeze.sol @@ -210,20 +210,12 @@ interface IFreeze { /** * @notice This event is emitted when a certain amount of tokens is frozen on a wallet */ - event TokensFrozen( - address indexed account, - uint256 amount, - bytes32 partition - ); + event TokensFrozen(address indexed account, uint256 amount, bytes32 partition); /** * @notice This event is emitted when a certain amount of tokens is unfrozen on a wallet */ - event TokensUnfrozen( - address indexed account, - uint256 amount, - bytes32 partition - ); + event TokensUnfrozen(address indexed account, uint256 amount, bytes32 partition); /** * @dev This event is emitted when the wallet of an investor is frozen or unfrozen @@ -232,43 +224,28 @@ interface IFreeze { * @param isFrozen Is the freezing status of the wallet * @param owner Is the address of the agent who called the function to freeze the wallet */ - event AddressFrozen( - address indexed userAddress, - bool indexed isFrozen, - address indexed owner - ); + event AddressFrozen(address indexed userAddress, bool indexed isFrozen, address indexed owner); /* * @dev Freezes a partial amount of the user's tokens across all partitions. * Emits a TokensFrozen event. */ - function freezePartialTokens( - address _userAddress, - uint256 _amount - ) external; + function freezePartialTokens(address _userAddress, uint256 _amount) external; /* * @dev Unfreezes a partial amount of the user's previously frozen tokens across all partitions. * Emits a TokensUnfrozen event. */ - function unfreezePartialTokens( - address _userAddress, - uint256 _amount - ) external; + function unfreezePartialTokens(address _userAddress, uint256 _amount) external; /* * @dev Freezes the user's address entirely, disabling all token operations. * Emits a TokensFrozen event. */ - function setAddressFrozen( - address _userAddress, - bool _freezeStatus - ) external; + function setAddressFrozen(address _userAddress, bool _freezeStatus) external; /* * @dev Returns the total amount of tokens currently frozen for the given user across all partitions. */ - function getFrozenTokens( - address _userAddress - ) external view returns (uint256); + function getFrozenTokens(address _userAddress) external view returns (uint256); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/accessControl/IAccessControl.sol b/packages/ats/contracts/contracts/layer_1/interfaces/accessControl/IAccessControl.sol index 4d0f5ee9c..f06a580d5 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/accessControl/IAccessControl.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/accessControl/IAccessControl.sol @@ -215,11 +215,7 @@ interface IAccessControl { * @param account The account for which the role is to be granted * @param operator The caller of the function that emitted the event */ - event RoleGranted( - address indexed operator, - address indexed account, - bytes32 indexed role - ); + event RoleGranted(address indexed operator, address indexed account, bytes32 indexed role); /** * @dev Emitted when a role is revoked from an account @@ -228,11 +224,7 @@ interface IAccessControl { * @param account The account for which the role is to be revoked * @param operator The caller of the function that emitted the event */ - event RoleRevoked( - address indexed operator, - address indexed account, - bytes32 indexed role - ); + event RoleRevoked(address indexed operator, address indexed account, bytes32 indexed role); /** * @dev Emitted when a role is renounced by an account @@ -262,10 +254,7 @@ interface IAccessControl { * @param _account The account address * @return success_ true or false */ - function grantRole( - bytes32 _role, - address _account - ) external returns (bool success_); + function grantRole(bytes32 _role, address _account) external returns (bool success_); /** * @dev Revokes a role @@ -274,10 +263,7 @@ interface IAccessControl { * @param _account The account address * @return success_ true or false */ - function revokeRole( - bytes32 _role, - address _account - ) external returns (bool success_); + function revokeRole(bytes32 _role, address _account) external returns (bool success_); /** * @dev Renounces a role @@ -307,9 +293,7 @@ interface IAccessControl { * @param _account The account address * @return roleCount_ The number of roles */ - function getRoleCountFor( - address _account - ) external view returns (uint256 roleCount_); + function getRoleCountFor(address _account) external view returns (uint256 roleCount_); /** * @dev Returns an array of roles the account currently has @@ -331,9 +315,7 @@ interface IAccessControl { * @param _role The role id * @return memberCount_ The number of members */ - function getRoleMemberCount( - bytes32 _role - ) external view returns (uint256 memberCount_); + function getRoleMemberCount(bytes32 _role) external view returns (uint256 memberCount_); /** * @dev Returns an array of members the role currently has @@ -356,8 +338,5 @@ interface IAccessControl { * @param _account the account address * @return bool true or false */ - function hasRole( - bytes32 _role, - address _account - ) external view returns (bool); + function hasRole(bytes32 _role, address _account) external view returns (bool); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/accessControl/IAccessControlStorageWrapper.sol b/packages/ats/contracts/contracts/layer_1/interfaces/accessControl/IAccessControlStorageWrapper.sol index d44ac0fc0..413236a2f 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/accessControl/IAccessControlStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/accessControl/IAccessControlStorageWrapper.sol @@ -215,11 +215,7 @@ interface IAccessControlStorageWrapper { * @param previousAdminRole The legacy administrative role. * @param newAdminRole The new administrative role. */ - event RoleAdminChanged( - bytes32 indexed role, - bytes32 indexed previousAdminRole, - bytes32 indexed newAdminRole - ); + event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole); /** * @dev Emitted when the provided account is not granted the role @@ -245,8 +241,5 @@ interface IAccessControlStorageWrapper { * @param rolesLength The length of roles array * @param activesLength The length of actives array */ - error RolesAndActivesLengthMismatch( - uint256 rolesLength, - uint256 activesLength - ); + error RolesAndActivesLengthMismatch(uint256 rolesLength, uint256 activesLength); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/cap/ICap.sol b/packages/ats/contracts/contracts/layer_1/interfaces/cap/ICap.sol index d17f6c01e..d6b109e02 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/cap/ICap.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/cap/ICap.sol @@ -213,10 +213,7 @@ interface ICap { } // solhint-disable-next-line func-name-mixedcase - function initialize_Cap( - uint256 maxSupply, - PartitionCap[] calldata partitionCap - ) external; + function initialize_Cap(uint256 maxSupply, PartitionCap[] calldata partitionCap) external; /** * @dev Set a max supply for the token @@ -232,10 +229,7 @@ interface ICap { * @param _maxSupply to set as maximum value * @return success_ true or false */ - function setMaxSupplyByPartition( - bytes32 _partition, - uint256 _maxSupply - ) external returns (bool success_); + function setMaxSupplyByPartition(bytes32 _partition, uint256 _maxSupply) external returns (bool success_); /** * @dev returns the max supply for the token @@ -249,7 +243,5 @@ interface ICap { * * @return maxSupply_ max supply amount for the partition */ - function getMaxSupplyByPartition( - bytes32 _partition - ) external view returns (uint256 maxSupply_); + function getMaxSupplyByPartition(bytes32 _partition) external view returns (uint256 maxSupply_); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/cap/ICapStorageWrapper.sol b/packages/ats/contracts/contracts/layer_1/interfaces/cap/ICapStorageWrapper.sol index 891e1ece3..a73f456dc 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/cap/ICapStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/cap/ICapStorageWrapper.sol @@ -212,11 +212,7 @@ interface ICapStorageWrapper { * * @param operator The caller of the function that emitted the event */ - event MaxSupplySet( - address indexed operator, - uint256 newMaxSupply, - uint256 previousMaxSupply - ); + event MaxSupplySet(address indexed operator, uint256 newMaxSupply, uint256 previousMaxSupply); /** * @dev Emitted when the token max supply is set for a partition @@ -257,18 +253,10 @@ interface ICapStorageWrapper { * @dev Emitted when the token new max supply is less than the total supply * */ - error NewMaxSupplyForPartitionTooLow( - bytes32 partition, - uint256 maxSupply, - uint256 totalSupply - ); + error NewMaxSupplyForPartitionTooLow(bytes32 partition, uint256 maxSupply, uint256 totalSupply); /** * @dev Emitted when the new total max supply by partition is set to ZERO */ - error NewMaxSupplyByPartitionTooHigh( - bytes32 partition, - uint256 newMaxSupplyByPartition, - uint256 maxSupply - ); + error NewMaxSupplyByPartitionTooHigh(bytes32 partition, uint256 newMaxSupplyByPartition, uint256 maxSupply); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearing.sol b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearing.sol index 7dd7907ba..9682a2109 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearing.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearing.sol @@ -206,10 +206,8 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import {ThirdPartyType} from '../../../layer_0/common/types/ThirdPartyType.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { ThirdPartyType } from '../../../layer_0/common/types/ThirdPartyType.sol'; interface IClearing { enum ClearingOperationType { diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingActions.sol b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingActions.sol index 4db38e66b..36ee7ed14 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingActions.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingActions.sol @@ -206,7 +206,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IClearing} from './IClearing.sol'; +import { IClearing } from './IClearing.sol'; interface IClearingActions { enum ClearingActionType { @@ -249,18 +249,15 @@ interface IClearingActions { function deactivateClearing() external returns (bool success_); function approveClearingOperationByPartition( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) external returns (bool success_); function cancelClearingOperationByPartition( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) external returns (bool success_); function reclaimClearingOperationByPartition( - IClearing.ClearingOperationIdentifier - calldata _clearingOperationIdentifier + IClearing.ClearingOperationIdentifier calldata _clearingOperationIdentifier ) external returns (bool success_); function isClearingActivated() external view returns (bool); diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingHoldCreation.sol b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingHoldCreation.sol index b8ddefb1d..86147deab 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingHoldCreation.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingHoldCreation.sol @@ -206,8 +206,8 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IHold} from '../hold/IHold.sol'; -import {IClearing} from './IClearing.sol'; +import { IHold } from '../hold/IHold.sol'; +import { IClearing } from './IClearing.sol'; interface IClearingHoldCreation is IClearing { function clearingCreateHoldByPartition( @@ -235,8 +235,5 @@ interface IClearingHoldCreation is IClearing { bytes32 _partition, address _tokenHolder, uint256 _clearingId - ) - external - view - returns (ClearingHoldCreationData memory clearingHoldCreationData_); + ) external view returns (ClearingHoldCreationData memory clearingHoldCreationData_); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingRead.sol b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingRead.sol index 4f2a31fcc..e2d92021d 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingRead.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingRead.sol @@ -206,12 +206,10 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IClearing} from './IClearing.sol'; +import { IClearing } from './IClearing.sol'; interface IClearingRead is IClearing { - function getClearedAmountFor( - address _tokenHolder - ) external view returns (uint256 amount_); + function getClearedAmountFor(address _tokenHolder) external view returns (uint256 amount_); function getClearedAmountForByPartition( bytes32 _partition, diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingRedeem.sol b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingRedeem.sol index ca7664669..69e4806f4 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingRedeem.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingRedeem.sol @@ -206,7 +206,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IClearing} from './IClearing.sol'; +import { IClearing } from './IClearing.sol'; interface IClearingRedeem is IClearing { function clearingRedeemByPartition( diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingStorageWrapper.sol b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingStorageWrapper.sol index 8a76381e3..f68ffb7cf 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingStorageWrapper.sol @@ -206,7 +206,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IHold} from '../hold/IHold.sol'; +import { IHold } from '../hold/IHold.sol'; interface IClearingStorageWrapper { event ClearedRedeemByPartition( diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingTransfer.sol b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingTransfer.sol index 3ba6c5653..8f32e7b2d 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingTransfer.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/clearing/IClearingTransfer.sol @@ -206,7 +206,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IClearing} from './IClearing.sol'; +import { IClearing } from './IClearing.sol'; interface IClearingTransfer is IClearing { function clearingTransferByPartition( diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/controlList/IControlList.sol b/packages/ats/contracts/contracts/layer_1/interfaces/controlList/IControlList.sol index 16feff0e0..23406a71a 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/controlList/IControlList.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/controlList/IControlList.sol @@ -221,10 +221,7 @@ interface IControlList { * @param account The account that was removed from the controllist * @param operator The caller of the function that emitted the event */ - event RemovedFromControlList( - address indexed operator, - address indexed account - ); + event RemovedFromControlList(address indexed operator, address indexed account); error ListedAccount(address account); error UnlistedAccount(address account); @@ -243,9 +240,7 @@ interface IControlList { * @param _account account address * @return success_ true or false */ - function addToControlList( - address _account - ) external returns (bool success_); + function addToControlList(address _account) external returns (bool success_); /** * @dev Remove an account from the control list @@ -253,9 +248,7 @@ interface IControlList { * @param _account account address * @return success_ true or false */ - function removeFromControlList( - address _account - ) external returns (bool success_); + function removeFromControlList(address _account) external returns (bool success_); /** * @dev Checks if an account is in the control list @@ -277,10 +270,7 @@ interface IControlList { * * @return controlListCount_ The number of members */ - function getControlListCount() - external - view - returns (uint256 controlListCount_); + function getControlListCount() external view returns (uint256 controlListCount_); /** * @dev Returns an array of members the controllist currently has diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/corporateActions/ICorporateActions.sol b/packages/ats/contracts/contracts/layer_1/interfaces/corporateActions/ICorporateActions.sol index b134e8a48..b0a1e545a 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/corporateActions/ICorporateActions.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/corporateActions/ICorporateActions.sol @@ -229,13 +229,7 @@ interface ICorporateActions { function addCorporateAction( bytes32 _actionType, bytes memory _data - ) - external - returns ( - bool success_, - bytes32 corporateActionId_, - uint256 corporateActionIndexByType_ - ); + ) external returns (bool success_, bytes32 corporateActionId_, uint256 corporateActionIndexByType_); /** * @dev Returns a corporate action info @@ -253,10 +247,7 @@ interface ICorporateActions { * * @return corporateActionCount_ The number of corporate actions */ - function getCorporateActionCount() - external - view - returns (uint256 corporateActionCount_); + function getCorporateActionCount() external view returns (uint256 corporateActionCount_); /** * @dev Returns an array of corporte actions ids the token currently has @@ -276,9 +267,7 @@ interface ICorporateActions { * @param _actionType The corporate action type * @return corporateActionCount_ The number of corporate actions of that specific type */ - function getCorporateActionCountByType( - bytes32 _actionType - ) external view returns (uint256 corporateActionCount_); + function getCorporateActionCountByType(bytes32 _actionType) external view returns (uint256 corporateActionCount_); /** * @dev Returns an array of corporte actions ids by type the token currently has diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/corporateActions/ICorporateActionsStorageWrapper.sol b/packages/ats/contracts/contracts/layer_1/interfaces/corporateActions/ICorporateActionsStorageWrapper.sol index 978a9df67..925f56bef 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/corporateActions/ICorporateActionsStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/corporateActions/ICorporateActionsStorageWrapper.sol @@ -206,9 +206,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; struct ActionData { bytes32 actionType; diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/externalControlLists/IExternalControlListManagement.sol b/packages/ats/contracts/contracts/layer_1/interfaces/externalControlLists/IExternalControlListManagement.sol index a45240ec4..d761924de 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/externalControlLists/IExternalControlListManagement.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/externalControlLists/IExternalControlListManagement.sol @@ -207,55 +207,31 @@ pragma solidity 0.8.18; interface IExternalControlListManagement { - event ExternalControlListsUpdated( - address indexed operator, - address[] controlLists, - bool[] actives - ); - event AddedToExternalControlLists( - address indexed operator, - address controlList - ); - event RemovedFromExternalControlLists( - address indexed operator, - address controlList - ); + event ExternalControlListsUpdated(address indexed operator, address[] controlLists, bool[] actives); + event AddedToExternalControlLists(address indexed operator, address controlList); + event RemovedFromExternalControlLists(address indexed operator, address controlList); error ListedControlList(address controlList); error UnlistedControlList(address controlList); - error ExternalControlListsNotUpdated( - address[] controlLista, - bool[] actives - ); + error ExternalControlListsNotUpdated(address[] controlLista, bool[] actives); // solhint-disable-next-line func-name-mixedcase - function initialize_ExternalControlLists( - address[] calldata _controlLists - ) external; + function initialize_ExternalControlLists(address[] calldata _controlLists) external; function updateExternalControlLists( address[] calldata _controlLists, bool[] calldata _actives ) external returns (bool success_); - function addExternalControlList( - address _controlList - ) external returns (bool success_); + function addExternalControlList(address _controlList) external returns (bool success_); - function removeExternalControlList( - address _controlList - ) external returns (bool success_); + function removeExternalControlList(address _controlList) external returns (bool success_); - function isExternalControlList( - address _controlList - ) external view returns (bool); + function isExternalControlList(address _controlList) external view returns (bool); - function getExternalControlListsCount() - external - view - returns (uint256 externalControlListsCount_); + function getExternalControlListsCount() external view returns (uint256 externalControlListsCount_); function getExternalControlListsMembers( uint256 _pageIndex, diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/externalKycLists/IExternalKycList.sol b/packages/ats/contracts/contracts/layer_1/interfaces/externalKycLists/IExternalKycList.sol index 0ce503244..b32b9ca52 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/externalKycLists/IExternalKycList.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/externalKycLists/IExternalKycList.sol @@ -206,10 +206,8 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IKyc} from '../kyc/IKyc.sol'; +import { IKyc } from '../kyc/IKyc.sol'; interface IExternalKycList { - function getKycStatus( - address account - ) external view returns (IKyc.KycStatus); + function getKycStatus(address account) external view returns (IKyc.KycStatus); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/externalKycLists/IExternalKycListManagement.sol b/packages/ats/contracts/contracts/layer_1/interfaces/externalKycLists/IExternalKycListManagement.sol index bdaf7588e..ec1f17190 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/externalKycLists/IExternalKycListManagement.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/externalKycLists/IExternalKycListManagement.sol @@ -206,19 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IKyc} from '../kyc/IKyc.sol'; +import { IKyc } from '../kyc/IKyc.sol'; interface IExternalKycListManagement { - event ExternalKycListsUpdated( - address indexed operator, - address[] kycLists, - bool[] actives - ); + event ExternalKycListsUpdated(address indexed operator, address[] kycLists, bool[] actives); event AddedToExternalKycLists(address indexed operator, address kycList); - event RemovedFromExternalKycLists( - address indexed operator, - address kycList - ); + event RemovedFromExternalKycLists(address indexed operator, address kycList); error ListedKycList(address kycList); @@ -234,25 +227,15 @@ interface IExternalKycListManagement { bool[] calldata _actives ) external returns (bool success_); - function addExternalKycList( - address _kycList - ) external returns (bool success_); + function addExternalKycList(address _kycList) external returns (bool success_); - function removeExternalKycList( - address _kycList - ) external returns (bool success_); + function removeExternalKycList(address _kycList) external returns (bool success_); function isExternalKycList(address _kycList) external view returns (bool); - function isExternallyGranted( - address _account, - IKyc.KycStatus _kycStatus - ) external view returns (bool); + function isExternallyGranted(address _account, IKyc.KycStatus _kycStatus) external view returns (bool); - function getExternalKycListsCount() - external - view - returns (uint256 externalKycListsCount_); + function getExternalKycListsCount() external view returns (uint256 externalKycListsCount_); function getExternalKycListsMembers( uint256 _pageIndex, diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/externalPauses/IExternalPauseManagement.sol b/packages/ats/contracts/contracts/layer_1/interfaces/externalPauses/IExternalPauseManagement.sol index d1fda60de..3353f849b 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/externalPauses/IExternalPauseManagement.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/externalPauses/IExternalPauseManagement.sol @@ -207,11 +207,7 @@ pragma solidity 0.8.18; interface IExternalPauseManagement { - event ExternalPausesUpdated( - address indexed operator, - address[] pauses, - bool[] actives - ); + event ExternalPausesUpdated(address indexed operator, address[] pauses, bool[] actives); event AddedToExternalPauses(address indexed operator, address pause); event RemovedFromExternalPauses(address indexed operator, address pause); @@ -231,16 +227,11 @@ interface IExternalPauseManagement { function addExternalPause(address _pause) external returns (bool success_); - function removeExternalPause( - address _pause - ) external returns (bool success_); + function removeExternalPause(address _pause) external returns (bool success_); function isExternalPause(address _pause) external view returns (bool); - function getExternalPausesCount() - external - view - returns (uint256 externalPausesCount_); + function getExternalPausesCount() external view returns (uint256 externalPausesCount_); function getExternalPausesMembers( uint256 _pageIndex, diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/hold/IHold.sol b/packages/ats/contracts/contracts/layer_1/interfaces/hold/IHold.sol index 48ac1be89..63ded5622 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/hold/IHold.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/hold/IHold.sol @@ -206,10 +206,8 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import {ThirdPartyType} from '../../../layer_0/common/types/ThirdPartyType.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { ThirdPartyType } from '../../../layer_0/common/types/ThirdPartyType.sol'; interface IHold { enum OperationType { @@ -373,13 +371,9 @@ interface IHold { uint256 _amount ) external returns (bool success_); - function reclaimHoldByPartition( - HoldIdentifier calldata _holdIdentifier - ) external returns (bool success_); + function reclaimHoldByPartition(HoldIdentifier calldata _holdIdentifier) external returns (bool success_); - function getHeldAmountFor( - address _tokenHolder - ) external view returns (uint256 amount_); + function getHeldAmountFor(address _tokenHolder) external view returns (uint256 amount_); function getHeldAmountForByPartition( bytes32 _partition, @@ -413,7 +407,5 @@ interface IHold { ThirdPartyType thirdPartyType_ ); - function getHoldThirdParty( - HoldIdentifier calldata _holdIdentifier - ) external view returns (address thirdParty_); + function getHoldThirdParty(HoldIdentifier calldata _holdIdentifier) external view returns (address thirdParty_); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/kyc/IKyc.sol b/packages/ats/contracts/contracts/layer_1/interfaces/kyc/IKyc.sol index 7d5263d7a..c9452ee9a 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/kyc/IKyc.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/kyc/IKyc.sol @@ -305,9 +305,7 @@ interface IKyc { * @return kycStatus_ GRANTED or NOT_GRANTED */ - function getKycStatusFor( - address _account - ) external view returns (KycStatus kycStatus_); + function getKycStatusFor(address _account) external view returns (KycStatus kycStatus_); /** * @dev Get all the info of the Kyc for an account @@ -316,9 +314,7 @@ interface IKyc { * @return kyc_ */ - function getKycFor( - address _account - ) external view returns (KycData memory kyc_); + function getKycFor(address _account) external view returns (KycData memory kyc_); /** * @dev Get the count of accounts with a given Kyc status @@ -327,9 +323,7 @@ interface IKyc { * @return kycAccountsCount_ count of accounts with the given Kyc status */ - function getKycAccountsCount( - KycStatus _kycStatus - ) external view returns (uint256 kycAccountsCount_); + function getKycAccountsCount(KycStatus _kycStatus) external view returns (uint256 kycAccountsCount_); /** * @dev Get the internal kyc flag @@ -353,8 +347,5 @@ interface IKyc { KycStatus _kycStatus, uint256 _pageIndex, uint256 _pageLength - ) - external - view - returns (address[] memory accounts_, KycData[] memory kycData_); + ) external view returns (address[] memory accounts_, KycData[] memory kycData_); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/lock/ILock.sol b/packages/ats/contracts/contracts/layer_1/interfaces/lock/ILock.sol index 908f3c3d2..d63efc815 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/lock/ILock.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/lock/ILock.sol @@ -243,10 +243,7 @@ interface ILock { uint256 _expirationTimestamp ) external returns (bool success_, uint256 lockId_); - function release( - uint256 _lockId, - address _tokenHolder - ) external returns (bool success_); + function release(uint256 _lockId, address _tokenHolder) external returns (bool success_); function getLockedAmountForByPartition( bytes32 _partition, @@ -271,13 +268,9 @@ interface ILock { uint256 _lockId ) external view returns (uint256 amount_, uint256 expirationTimestamp_); - function getLockedAmountFor( - address _tokenHolder - ) external view returns (uint256 amount_); + function getLockedAmountFor(address _tokenHolder) external view returns (uint256 amount_); - function getLockCountFor( - address _tokenHolder - ) external view returns (uint256 lockCount_); + function getLockCountFor(address _tokenHolder) external view returns (uint256 lockCount_); function getLocksIdFor( address _tokenHolder, diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/protectedPartitions/IProtectedPartitions.sol b/packages/ats/contracts/contracts/layer_1/interfaces/protectedPartitions/IProtectedPartitions.sol index 4416891cc..5a9b00e0d 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/protectedPartitions/IProtectedPartitions.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/protectedPartitions/IProtectedPartitions.sol @@ -4,9 +4,7 @@ pragma solidity 0.8.18; interface IProtectedPartitions { // solhint-disable-next-line func-name-mixedcase - function initialize_ProtectedPartitions( - bool _arePartitionsProtected - ) external returns (bool success_); + function initialize_ProtectedPartitions(bool _arePartitionsProtected) external returns (bool success_); function protectPartitions() external returns (bool success_); @@ -16,7 +14,5 @@ interface IProtectedPartitions { function getNounceFor(address account) external view returns (uint256); - function calculateRoleForPartition( - bytes32 _partition - ) external pure returns (bytes32 roleForPartition_); + function calculateRoleForPartition(bytes32 _partition) external pure returns (bytes32 roleForPartition_); } diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/snapshots/ISnapshots.sol b/packages/ats/contracts/contracts/layer_1/interfaces/snapshots/ISnapshots.sol index 7027635b7..06f5fca59 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/snapshots/ISnapshots.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/snapshots/ISnapshots.sol @@ -209,14 +209,9 @@ pragma solidity 0.8.18; interface ISnapshots { function takeSnapshot() external returns (uint256 snapshotID_); - function decimalsAtSnapshot( - uint256 _snapshotID - ) external view returns (uint8 decimals_); + function decimalsAtSnapshot(uint256 _snapshotID) external view returns (uint8 decimals_); - function balanceOfAtSnapshot( - uint256 _snapshotID, - address _tokenHolder - ) external view returns (uint256 balance_); + function balanceOfAtSnapshot(uint256 _snapshotID, address _tokenHolder) external view returns (uint256 balance_); function balanceOfAtSnapshotByPartition( bytes32 _partition, @@ -224,14 +219,9 @@ interface ISnapshots { address _tokenHolder ) external view returns (uint256 balance_); - function partitionsOfAtSnapshot( - uint256 _snapshotID, - address _tokenHolder - ) external view returns (bytes32[] memory); + function partitionsOfAtSnapshot(uint256 _snapshotID, address _tokenHolder) external view returns (bytes32[] memory); - function totalSupplyAtSnapshot( - uint256 _snapshotID - ) external view returns (uint256 totalSupply_); + function totalSupplyAtSnapshot(uint256 _snapshotID) external view returns (uint256 totalSupply_); function totalSupplyAtSnapshotByPartition( bytes32 _partition, diff --git a/packages/ats/contracts/contracts/layer_1/interfaces/ssi/ISsiManagement.sol b/packages/ats/contracts/contracts/layer_1/interfaces/ssi/ISsiManagement.sol index d87aa1b60..f24baee88 100644 --- a/packages/ats/contracts/contracts/layer_1/interfaces/ssi/ISsiManagement.sol +++ b/packages/ats/contracts/contracts/layer_1/interfaces/ssi/ISsiManagement.sol @@ -213,10 +213,7 @@ interface ISsiManagement { * @param oldRegistryAddress previous revocation list address * @param newRegistryAddress new revocation list address */ - event RevocationRegistryUpdated( - address indexed oldRegistryAddress, - address indexed newRegistryAddress - ); + event RevocationRegistryUpdated(address indexed oldRegistryAddress, address indexed newRegistryAddress); /** * @dev Emitted when an issuer is added to the issuerlist @@ -232,10 +229,7 @@ interface ISsiManagement { * @param issuer The issuer that was removed from the issuerlist * @param operator The caller of the function that emitted the event */ - event RemovedFromIssuerList( - address indexed operator, - address indexed issuer - ); + event RemovedFromIssuerList(address indexed operator, address indexed issuer); error ListedIssuer(address issuer); error UnlistedIssuer(address issuer); @@ -247,9 +241,7 @@ interface ISsiManagement { * @param _revocationRegistryAddress revocation list address * @return success_ true or false */ - function setRevocationRegistryAddress( - address _revocationRegistryAddress - ) external returns (bool success_); + function setRevocationRegistryAddress(address _revocationRegistryAddress) external returns (bool success_); /** * @dev Adds an issuer to the issuer list @@ -272,10 +264,7 @@ interface ISsiManagement { * * @return revocationRegistryAddress_ */ - function getRevocationRegistryAddress() - external - view - returns (address revocationRegistryAddress_); + function getRevocationRegistryAddress() external view returns (address revocationRegistryAddress_); /** * @dev Checks if an issuer is in the issuer list @@ -290,10 +279,7 @@ interface ISsiManagement { * * @return issuerListCount_ The number of members */ - function getIssuerListCount() - external - view - returns (uint256 issuerListCount_); + function getIssuerListCount() external view returns (uint256 issuerListCount_); /** * @dev Returns an array of members the issuerlist currently has diff --git a/packages/ats/contracts/contracts/layer_1/kyc/Kyc.sol b/packages/ats/contracts/contracts/layer_1/kyc/Kyc.sol index e23673837..d74b0ff3d 100644 --- a/packages/ats/contracts/contracts/layer_1/kyc/Kyc.sol +++ b/packages/ats/contracts/contracts/layer_1/kyc/Kyc.sol @@ -206,29 +206,20 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {_KYC_ROLE, _INTERNAL_KYC_MANAGER_ROLE} from '../constants/roles.sol'; -import {IKyc} from '../interfaces/kyc/IKyc.sol'; -import {_KYC_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {Common} from '../common/Common.sol'; +import { _KYC_ROLE, _INTERNAL_KYC_MANAGER_ROLE } from '../constants/roles.sol'; +import { IKyc } from '../interfaces/kyc/IKyc.sol'; +import { _KYC_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { Common } from '../common/Common.sol'; contract Kyc is IKyc, IStaticFunctionSelectors, Common { - function initializeInternalKyc( - bool _internalKycActivated - ) external onlyUninitialized(_kycStorage().initialized) { + function initializeInternalKyc(bool _internalKycActivated) external onlyUninitialized(_kycStorage().initialized) { KycStorage storage kycStorage = _kycStorage(); kycStorage.initialized = true; kycStorage.internalKycActivated = _internalKycActivated; } - function activateInternalKyc() - external - onlyRole(_INTERNAL_KYC_MANAGER_ROLE) - onlyUnpaused - returns (bool success_) - { + function activateInternalKyc() external onlyRole(_INTERNAL_KYC_MANAGER_ROLE) onlyUnpaused returns (bool success_) { success_ = _setInternalKyc(true); emit InternalKycStatusUpdated(_msgSender(), true); } @@ -267,28 +258,16 @@ contract Kyc is IKyc, IStaticFunctionSelectors, Common { function revokeKyc( address _account - ) - external - virtual - override - onlyRole(_KYC_ROLE) - onlyUnpaused - validateAddress(_account) - returns (bool success_) - { + ) external virtual override onlyRole(_KYC_ROLE) onlyUnpaused validateAddress(_account) returns (bool success_) { success_ = _revokeKyc(_account); emit KycRevoked(_account, _msgSender()); } - function getKycStatusFor( - address _account - ) external view virtual override returns (KycStatus kycStatus_) { + function getKycStatusFor(address _account) external view virtual override returns (KycStatus kycStatus_) { kycStatus_ = _getKycStatusFor(_account); } - function getKycFor( - address _account - ) external view virtual override returns (KycData memory kyc_) { + function getKycFor(address _account) external view virtual override returns (KycData memory kyc_) { kyc_ = _getKycFor(_account); } @@ -302,80 +281,34 @@ contract Kyc is IKyc, IStaticFunctionSelectors, Common { KycStatus _kycStatus, uint256 _pageIndex, uint256 _pageLength - ) - external - view - virtual - override - returns (address[] memory accounts_, KycData[] memory kycData_) - { - (accounts_, kycData_) = _getKycAccountsData( - _kycStatus, - _pageIndex, - _pageLength - ); + ) external view virtual override returns (address[] memory accounts_, KycData[] memory kycData_) { + (accounts_, kycData_) = _getKycAccountsData(_kycStatus, _pageIndex, _pageLength); } - function isInternalKycActivated() - external - view - virtual - override - returns (bool) - { + function isInternalKycActivated() external view virtual override returns (bool) { return _isInternalKycActivated(); } - function getStaticResolverKey() - external - pure - virtual - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure virtual override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _KYC_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](10); - staticFunctionSelectors_[selectorIndex++] = this - .initializeInternalKyc - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .activateInternalKyc - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .deactivateInternalKyc - .selector; + staticFunctionSelectors_[selectorIndex++] = this.initializeInternalKyc.selector; + staticFunctionSelectors_[selectorIndex++] = this.activateInternalKyc.selector; + staticFunctionSelectors_[selectorIndex++] = this.deactivateInternalKyc.selector; staticFunctionSelectors_[selectorIndex++] = this.grantKyc.selector; staticFunctionSelectors_[selectorIndex++] = this.revokeKyc.selector; staticFunctionSelectors_[selectorIndex++] = this.getKycFor.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getKycStatusFor - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getKycAccountsCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getKycAccountsData - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .isInternalKycActivated - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getKycStatusFor.selector; + staticFunctionSelectors_[selectorIndex++] = this.getKycAccountsCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getKycAccountsData.selector; + staticFunctionSelectors_[selectorIndex++] = this.isInternalKycActivated.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IKyc).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/lock/Lock.sol b/packages/ats/contracts/contracts/layer_1/lock/Lock.sol index ffe7a4622..e303e55be 100644 --- a/packages/ats/contracts/contracts/layer_1/lock/Lock.sol +++ b/packages/ats/contracts/contracts/layer_1/lock/Lock.sol @@ -205,14 +205,12 @@ pragma solidity 0.8.18; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_DEFAULT_PARTITION} from '../../layer_0/constants/values.sol'; -import {_LOCKER_ROLE} from '../constants/roles.sol'; -import {ILock} from '../interfaces/lock/ILock.sol'; -import {Common} from '../common/Common.sol'; -import {_LOCK_RESOLVER_KEY} from '../constants/resolverKeys.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _DEFAULT_PARTITION } from '../../layer_0/constants/values.sol'; +import { _LOCKER_ROLE } from '../constants/roles.sol'; +import { ILock } from '../interfaces/lock/ILock.sol'; +import { Common } from '../common/Common.sol'; +import { _LOCK_RESOLVER_KEY } from '../constants/resolverKeys.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution contract Lock is ILock, IStaticFunctionSelectors, Common { @@ -232,20 +230,8 @@ contract Lock is ILock, IStaticFunctionSelectors, Common { onlyWithValidExpirationTimestamp(_expirationTimestamp) returns (bool success_, uint256 lockId_) { - (success_, lockId_) = _lockByPartition( - _partition, - _amount, - _tokenHolder, - _expirationTimestamp - ); - emit LockedByPartition( - _msgSender(), - _tokenHolder, - _partition, - lockId_, - _amount, - _expirationTimestamp - ); + (success_, lockId_) = _lockByPartition(_partition, _amount, _tokenHolder, _expirationTimestamp); + emit LockedByPartition(_msgSender(), _tokenHolder, _partition, lockId_, _amount, _expirationTimestamp); } function releaseByPartition( @@ -262,12 +248,7 @@ contract Lock is ILock, IStaticFunctionSelectors, Common { returns (bool success_) { success_ = _releaseByPartition(_partition, _lockId, _tokenHolder); - emit LockByPartitionReleased( - _msgSender(), - _tokenHolder, - _partition, - _lockId - ); + emit LockByPartitionReleased(_msgSender(), _tokenHolder, _partition, _lockId); } // Uses default parititon in case Multipartition is not activated @@ -285,20 +266,8 @@ contract Lock is ILock, IStaticFunctionSelectors, Common { onlyWithValidExpirationTimestamp(_expirationTimestamp) returns (bool success_, uint256 lockId_) { - (success_, lockId_) = _lockByPartition( - _DEFAULT_PARTITION, - _amount, - _tokenHolder, - _expirationTimestamp - ); - emit LockedByPartition( - _msgSender(), - _tokenHolder, - _DEFAULT_PARTITION, - lockId_, - _amount, - _expirationTimestamp - ); + (success_, lockId_) = _lockByPartition(_DEFAULT_PARTITION, _amount, _tokenHolder, _expirationTimestamp); + emit LockedByPartition(_msgSender(), _tokenHolder, _DEFAULT_PARTITION, lockId_, _amount, _expirationTimestamp); } function release( @@ -310,24 +279,11 @@ contract Lock is ILock, IStaticFunctionSelectors, Common { onlyUnpaused onlyWithoutMultiPartition onlyWithValidLockId(_DEFAULT_PARTITION, _tokenHolder, _lockId) - onlyWithLockedExpirationTimestamp( - _DEFAULT_PARTITION, - _tokenHolder, - _lockId - ) + onlyWithLockedExpirationTimestamp(_DEFAULT_PARTITION, _tokenHolder, _lockId) returns (bool success_) { - success_ = _releaseByPartition( - _DEFAULT_PARTITION, - _lockId, - _tokenHolder - ); - emit LockByPartitionReleased( - _msgSender(), - _tokenHolder, - _DEFAULT_PARTITION, - _lockId - ); + success_ = _releaseByPartition(_DEFAULT_PARTITION, _lockId, _tokenHolder); + emit LockByPartitionReleased(_msgSender(), _tokenHolder, _DEFAULT_PARTITION, _lockId); } function getLockedAmountForByPartition( @@ -350,42 +306,22 @@ contract Lock is ILock, IStaticFunctionSelectors, Common { uint256 _pageIndex, uint256 _pageLength ) external view override returns (uint256[] memory locksId_) { - return - _getLocksIdForByPartition( - _partition, - _tokenHolder, - _pageIndex, - _pageLength - ); + return _getLocksIdForByPartition(_partition, _tokenHolder, _pageIndex, _pageLength); } function getLockForByPartition( bytes32 _partition, address _tokenHolder, uint256 _lockId - ) - external - view - override - returns (uint256 amount_, uint256 expirationTimestamp_) - { - return - _getLockForByPartitionAdjusted(_partition, _tokenHolder, _lockId); + ) external view override returns (uint256 amount_, uint256 expirationTimestamp_) { + return _getLockForByPartitionAdjusted(_partition, _tokenHolder, _lockId); } - function getLockedAmountFor( - address _tokenHolder - ) external view override returns (uint256 amount_) { - return - _getLockedAmountForByPartitionAdjusted( - _DEFAULT_PARTITION, - _tokenHolder - ); + function getLockedAmountFor(address _tokenHolder) external view override returns (uint256 amount_) { + return _getLockedAmountForByPartitionAdjusted(_DEFAULT_PARTITION, _tokenHolder); } - function getLockCountFor( - address _tokenHolder - ) external view override returns (uint256 lockCount_) { + function getLockCountFor(address _tokenHolder) external view override returns (uint256 lockCount_) { return _getLockCountForByPartition(_DEFAULT_PARTITION, _tokenHolder); } @@ -394,85 +330,38 @@ contract Lock is ILock, IStaticFunctionSelectors, Common { uint256 _pageIndex, uint256 _pageLength ) external view override returns (uint256[] memory locksId_) { - return - _getLocksIdForByPartition( - _DEFAULT_PARTITION, - _tokenHolder, - _pageIndex, - _pageLength - ); + return _getLocksIdForByPartition(_DEFAULT_PARTITION, _tokenHolder, _pageIndex, _pageLength); } function getLockFor( address _tokenHolder, uint256 _lockId - ) - external - view - override - returns (uint256 amount_, uint256 expirationTimestamp_) - { - return - _getLockForByPartitionAdjusted( - _DEFAULT_PARTITION, - _tokenHolder, - _lockId - ); + ) external view override returns (uint256 amount_, uint256 expirationTimestamp_) { + return _getLockForByPartitionAdjusted(_DEFAULT_PARTITION, _tokenHolder, _lockId); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _LOCK_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](12); - staticFunctionSelectors_[selectorIndex++] = this - .lockByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .releaseByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getLockedAmountForByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getLockCountForByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getLocksIdForByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getLockForByPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.lockByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.releaseByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getLockedAmountForByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getLockCountForByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getLocksIdForByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.getLockForByPartition.selector; staticFunctionSelectors_[selectorIndex++] = this.lock.selector; staticFunctionSelectors_[selectorIndex++] = this.release.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getLockedAmountFor - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getLockCountFor - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getLockedAmountFor.selector; + staticFunctionSelectors_[selectorIndex++] = this.getLockCountFor.selector; staticFunctionSelectors_[selectorIndex++] = this.getLocksIdFor.selector; staticFunctionSelectors_[selectorIndex++] = this.getLockFor.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(ILock).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/pause/Pause.sol b/packages/ats/contracts/contracts/layer_1/pause/Pause.sol index 26edb0aa2..98c94636d 100644 --- a/packages/ats/contracts/contracts/layer_1/pause/Pause.sol +++ b/packages/ats/contracts/contracts/layer_1/pause/Pause.sol @@ -206,29 +206,17 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {IPause} from '../interfaces/pause/IPause.sol'; -import {_PAUSER_ROLE} from '../constants/roles.sol'; -import {Common} from '../common/Common.sol'; +import { IPause } from '../interfaces/pause/IPause.sol'; +import { _PAUSER_ROLE } from '../constants/roles.sol'; +import { Common } from '../common/Common.sol'; abstract contract Pause is IPause, Common { - function pause() - external - override - onlyRole(_PAUSER_ROLE) - onlyUnpaused - returns (bool success_) - { + function pause() external override onlyRole(_PAUSER_ROLE) onlyUnpaused returns (bool success_) { _setPause(true); success_ = true; } - function unpause() - external - override - onlyRole(_PAUSER_ROLE) - onlyPaused - returns (bool success_) - { + function unpause() external override onlyRole(_PAUSER_ROLE) onlyPaused returns (bool success_) { _setPause(false); success_ = true; } diff --git a/packages/ats/contracts/contracts/layer_1/pause/PauseFacet.sol b/packages/ats/contracts/contracts/layer_1/pause/PauseFacet.sol index 4a894c097..739842f29 100644 --- a/packages/ats/contracts/contracts/layer_1/pause/PauseFacet.sol +++ b/packages/ats/contracts/contracts/layer_1/pause/PauseFacet.sol @@ -206,29 +206,17 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {IPause} from '../interfaces/pause/IPause.sol'; -import {Pause} from './Pause.sol'; -import {_PAUSE_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { IPause } from '../interfaces/pause/IPause.sol'; +import { Pause } from './Pause.sol'; +import { _PAUSE_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; contract PauseFacet is Pause, IStaticFunctionSelectors { - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _PAUSE_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](3); staticFunctionSelectors_[selectorIndex++] = this.pause.selector; @@ -236,12 +224,7 @@ contract PauseFacet is Pause, IStaticFunctionSelectors { staticFunctionSelectors_[selectorIndex++] = this.isPaused.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IPause).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/protectedPartitions/ProtectedPartitions.sol b/packages/ats/contracts/contracts/layer_1/protectedPartitions/ProtectedPartitions.sol index 1c0fbd1e1..7d1970e88 100644 --- a/packages/ats/contracts/contracts/layer_1/protectedPartitions/ProtectedPartitions.sol +++ b/packages/ats/contracts/contracts/layer_1/protectedPartitions/ProtectedPartitions.sol @@ -1,35 +1,19 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {Common} from '../common/Common.sol'; -import { - IProtectedPartitions -} from '../interfaces/protectedPartitions/IProtectedPartitions.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import { - _PROTECTED_PARTITIONS_RESOLVER_KEY -} from '../constants/resolverKeys.sol'; -import {_CONTRACT_NAME, _CONTRACT_VERSION} from '../constants/values.sol'; -import {_PROTECTED_PARTITIONS_ROLE} from '../constants/roles.sol'; +import { Common } from '../common/Common.sol'; +import { IProtectedPartitions } from '../interfaces/protectedPartitions/IProtectedPartitions.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _PROTECTED_PARTITIONS_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { _CONTRACT_NAME, _CONTRACT_VERSION } from '../constants/values.sol'; +import { _PROTECTED_PARTITIONS_ROLE } from '../constants/roles.sol'; -contract ProtectedPartitions is - IProtectedPartitions, - IStaticFunctionSelectors, - Common -{ +contract ProtectedPartitions is IProtectedPartitions, IStaticFunctionSelectors, Common { // solhint-disable-next-line func-name-mixedcase function initialize_ProtectedPartitions( bool _protectPartitions - ) - external - override - onlyUninitialized(_protectedPartitionsStorage().initialized) - returns (bool success_) - { - ProtectedPartitionsDataStorage - storage protectedPartitionsStorage = _protectedPartitionsStorage(); + ) external override onlyUninitialized(_protectedPartitionsStorage().initialized) returns (bool success_) { + ProtectedPartitionsDataStorage storage protectedPartitionsStorage = _protectedPartitionsStorage(); protectedPartitionsStorage.arePartitionsProtected = _protectPartitions; protectedPartitionsStorage.contractName = _CONTRACT_NAME; protectedPartitionsStorage.contractVersion = _CONTRACT_VERSION; @@ -63,62 +47,32 @@ contract ProtectedPartitions is return _arePartitionsProtected(); } - function getNounceFor( - address account - ) external view override returns (uint256) { + function getNounceFor(address account) external view override returns (uint256) { return _getNounceFor(account); } - function calculateRoleForPartition( - bytes32 partition - ) external pure override returns (bytes32 role) { + function calculateRoleForPartition(bytes32 partition) external pure override returns (bytes32 role) { role = _calculateRoleForPartition(partition); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _PROTECTED_PARTITIONS_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](6); - staticFunctionSelectors_[selectorIndex++] = this - .initialize_ProtectedPartitions - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .protectPartitions - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .unprotectPartitions - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .arePartitionsProtected - .selector; + staticFunctionSelectors_[selectorIndex++] = this.initialize_ProtectedPartitions.selector; + staticFunctionSelectors_[selectorIndex++] = this.protectPartitions.selector; + staticFunctionSelectors_[selectorIndex++] = this.unprotectPartitions.selector; + staticFunctionSelectors_[selectorIndex++] = this.arePartitionsProtected.selector; staticFunctionSelectors_[selectorIndex++] = this.getNounceFor.selector; - staticFunctionSelectors_[selectorIndex++] = this - .calculateRoleForPartition - .selector; + staticFunctionSelectors_[selectorIndex++] = this.calculateRoleForPartition.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(IProtectedPartitions) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IProtectedPartitions).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_1/protectedPartitions/signatureVerification.sol b/packages/ats/contracts/contracts/layer_1/protectedPartitions/signatureVerification.sol index 156d55967..ea8b4e339 100644 --- a/packages/ats/contracts/contracts/layer_1/protectedPartitions/signatureVerification.sol +++ b/packages/ats/contracts/contracts/layer_1/protectedPartitions/signatureVerification.sol @@ -16,8 +16,8 @@ import { _PROTECTED_CLEARING_CREATE_HOLD_FROM_PARTITION_TYPEHASH, _PROTECTED_CLEARING_OPERATION_TYPEHASH } from '../constants/values.sol'; -import {IHold} from '../interfaces/hold/IHold.sol'; -import {IClearing} from '../interfaces/clearing/IClearing.sol'; +import { IHold } from '../interfaces/hold/IHold.sol'; +import { IClearing } from '../interfaces/clearing/IClearing.sol'; error WrongSignatureLength(); error WrongNounce(uint256 nounce, address account); @@ -33,15 +33,7 @@ function getMessageHashTransfer( ) pure returns (bytes32) { return keccak256( - abi.encode( - _PROTECTED_TRANSFER_FROM_PARTITION_TYPEHASH, - _partition, - _from, - _to, - _amount, - _deadline, - _nounce - ) + abi.encode(_PROTECTED_TRANSFER_FROM_PARTITION_TYPEHASH, _partition, _from, _to, _amount, _deadline, _nounce) ); } @@ -54,14 +46,7 @@ function getMessageHashRedeem( ) pure returns (bytes32) { return keccak256( - abi.encode( - _PROTECTED_REDEEM_FROM_PARTITION_TYPEHASH, - _partition, - _from, - _amount, - _deadline, - _nounce - ) + abi.encode(_PROTECTED_REDEEM_FROM_PARTITION_TYPEHASH, _partition, _from, _amount, _deadline, _nounce) ); } @@ -113,12 +98,8 @@ function getMessageHashClearingTransfer( abi.encode( _CLEARING_OPERATION_TYPEHASH, _protectedClearing.clearingOperation.partition, - _protectedClearing - .clearingOperation - .expirationTimestamp, - keccak256( - _protectedClearing.clearingOperation.data - ) + _protectedClearing.clearingOperation.expirationTimestamp, + keccak256(_protectedClearing.clearingOperation.data) ) ), _protectedClearing.from, @@ -146,17 +127,9 @@ function getMessageHashClearingCreateHold( keccak256( abi.encode( _CLEARING_OPERATION_TYPEHASH, - _protectedClearingOperation - .clearingOperation - .partition, - _protectedClearingOperation - .clearingOperation - .expirationTimestamp, - keccak256( - _protectedClearingOperation - .clearingOperation - .data - ) + _protectedClearingOperation.clearingOperation.partition, + _protectedClearingOperation.clearingOperation.expirationTimestamp, + keccak256(_protectedClearingOperation.clearingOperation.data) ) ), _protectedClearingOperation.from, @@ -193,12 +166,8 @@ function getMessageHashClearingRedeem( abi.encode( _CLEARING_OPERATION_TYPEHASH, _protectedClearing.clearingOperation.partition, - _protectedClearing - .clearingOperation - .expirationTimestamp, - keccak256( - _protectedClearing.clearingOperation.data - ) + _protectedClearing.clearingOperation.expirationTimestamp, + keccak256(_protectedClearing.clearingOperation.data) ) ), _protectedClearing.from, @@ -218,23 +187,15 @@ function checkNounceAndDeadline( uint256 _deadline, uint256 _blockTimestamp ) pure { - if (!isDeadlineValid(_deadline, _blockTimestamp)) - revert ExpiredDeadline(_deadline); - if (!isNounceValid(_nounce, _currentNounce)) - revert WrongNounce(_nounce, _account); + if (!isDeadlineValid(_deadline, _blockTimestamp)) revert ExpiredDeadline(_deadline); + if (!isNounceValid(_nounce, _currentNounce)) revert WrongNounce(_nounce, _account); } -function isDeadlineValid( - uint256 _deadline, - uint256 _blockTimestamp -) pure returns (bool) { +function isDeadlineValid(uint256 _deadline, uint256 _blockTimestamp) pure returns (bool) { return _deadline >= _blockTimestamp; } -function isNounceValid( - uint256 _nounce, - uint256 _currentNounce -) pure returns (bool) { +function isNounceValid(uint256 _nounce, uint256 _currentNounce) pure returns (bool) { return _currentNounce < _nounce; } @@ -247,15 +208,8 @@ function verify( uint256 _chainid, address _contractAddress ) pure returns (bool) { - bytes32 domainHash = getDomainHash( - _contractName, - _contractVersion, - _chainid, - _contractAddress - ); - bytes32 prefixedHash = keccak256( - abi.encodePacked(_SALT, domainHash, _functionHash) - ); + bytes32 domainHash = getDomainHash(_contractName, _contractVersion, _chainid, _contractAddress); + bytes32 prefixedHash = keccak256(abi.encodePacked(_SALT, domainHash, _functionHash)); return (recoverSigner(prefixedHash, _signature) == _signer); } @@ -277,17 +231,12 @@ function getDomainHash( ); } -function recoverSigner( - bytes32 _prefixedHash, - bytes memory _signature -) pure returns (address) { +function recoverSigner(bytes32 _prefixedHash, bytes memory _signature) pure returns (address) { (bytes32 r, bytes32 s, uint8 v) = splitSignature(_signature); return ecrecover(_prefixedHash, v, r, s); } -function splitSignature( - bytes memory sig -) pure returns (bytes32 r, bytes32 s, uint8 v) { +function splitSignature(bytes memory sig) pure returns (bytes32 r, bytes32 s, uint8 v) { if (sig.length != 65) revert WrongSignatureLength(); // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_1/snapshots/Snapshots.sol b/packages/ats/contracts/contracts/layer_1/snapshots/Snapshots.sol index 65091d82c..78f0e739b 100644 --- a/packages/ats/contracts/contracts/layer_1/snapshots/Snapshots.sol +++ b/packages/ats/contracts/contracts/layer_1/snapshots/Snapshots.sol @@ -206,31 +206,19 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - _SNAPSHOTS_RESOLVER_KEY -} from '../../layer_1/constants/resolverKeys.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {ISnapshots} from '../interfaces/snapshots/ISnapshots.sol'; -import {Common} from '../common/Common.sol'; -import {_SNAPSHOT_ROLE} from '../constants/roles.sol'; +import { _SNAPSHOTS_RESOLVER_KEY } from '../../layer_1/constants/resolverKeys.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { ISnapshots } from '../interfaces/snapshots/ISnapshots.sol'; +import { Common } from '../common/Common.sol'; +import { _SNAPSHOT_ROLE } from '../constants/roles.sol'; contract Snapshots is IStaticFunctionSelectors, ISnapshots, Common { - function takeSnapshot() - external - override - onlyUnpaused - onlyRole(_SNAPSHOT_ROLE) - returns (uint256 snapshotID_) - { + function takeSnapshot() external override onlyUnpaused onlyRole(_SNAPSHOT_ROLE) returns (uint256 snapshotID_) { _triggerScheduledTasks(0); snapshotID_ = _takeSnapshot(); } - function decimalsAtSnapshot( - uint256 _snapshotID - ) external view returns (uint8 decimals_) { + function decimalsAtSnapshot(uint256 _snapshotID) external view returns (uint8 decimals_) { decimals_ = _decimalsAtSnapshot(_snapshotID); } @@ -246,11 +234,7 @@ contract Snapshots is IStaticFunctionSelectors, ISnapshots, Common { uint256 _snapshotID, address _tokenHolder ) external view override returns (uint256 balance_) { - balance_ = _balanceOfAtSnapshotByPartition( - _partition, - _snapshotID, - _tokenHolder - ); + balance_ = _balanceOfAtSnapshotByPartition(_partition, _snapshotID, _tokenHolder); } function partitionsOfAtSnapshot( @@ -260,9 +244,7 @@ contract Snapshots is IStaticFunctionSelectors, ISnapshots, Common { return _partitionsOfAtSnapshot(_snapshotID, _tokenHolder); } - function totalSupplyAtSnapshot( - uint256 _snapshotID - ) external view override returns (uint256 totalSupply_) { + function totalSupplyAtSnapshot(uint256 _snapshotID) external view override returns (uint256 totalSupply_) { totalSupply_ = _totalSupplyAtSnapshot(_snapshotID); } @@ -270,10 +252,7 @@ contract Snapshots is IStaticFunctionSelectors, ISnapshots, Common { bytes32 _partition, uint256 _snapshotID ) external view override returns (uint256 totalSupply_) { - totalSupply_ = _totalSupplyAtSnapshotByPartition( - _partition, - _snapshotID - ); + totalSupply_ = _totalSupplyAtSnapshotByPartition(_partition, _snapshotID); } function lockedBalanceOfAtSnapshot( @@ -288,11 +267,7 @@ contract Snapshots is IStaticFunctionSelectors, ISnapshots, Common { uint256 _snapshotID, address _tokenHolder ) external view override returns (uint256 balance_) { - balance_ = _lockedBalanceOfAtSnapshotByPartition( - _partition, - _snapshotID, - _tokenHolder - ); + balance_ = _lockedBalanceOfAtSnapshotByPartition(_partition, _snapshotID, _tokenHolder); } function heldBalanceOfAtSnapshot( @@ -307,11 +282,7 @@ contract Snapshots is IStaticFunctionSelectors, ISnapshots, Common { uint256 _snapshotID, address _tokenHolder ) external view returns (uint256 balance_) { - balance_ = _heldBalanceOfAtSnapshotByPartition( - _partition, - _snapshotID, - _tokenHolder - ); + balance_ = _heldBalanceOfAtSnapshotByPartition(_partition, _snapshotID, _tokenHolder); } function clearedBalanceOfAtSnapshot( @@ -326,75 +297,32 @@ contract Snapshots is IStaticFunctionSelectors, ISnapshots, Common { uint256 _snapshotID, address _tokenHolder ) external view returns (uint256 balance_) { - balance_ = _clearedBalanceOfAtSnapshotByPartition( - _partition, - _snapshotID, - _tokenHolder - ); + balance_ = _clearedBalanceOfAtSnapshotByPartition(_partition, _snapshotID, _tokenHolder); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _SNAPSHOTS_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](13); staticFunctionSelectors_[selectorIndex++] = this.takeSnapshot.selector; - staticFunctionSelectors_[selectorIndex++] = this - .balanceOfAtSnapshot - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .totalSupplyAtSnapshot - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .balanceOfAtSnapshotByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .partitionsOfAtSnapshot - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .totalSupplyAtSnapshotByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .lockedBalanceOfAtSnapshot - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .lockedBalanceOfAtSnapshotByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .heldBalanceOfAtSnapshot - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .heldBalanceOfAtSnapshotByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .clearedBalanceOfAtSnapshot - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .clearedBalanceOfAtSnapshotByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .decimalsAtSnapshot - .selector; + staticFunctionSelectors_[selectorIndex++] = this.balanceOfAtSnapshot.selector; + staticFunctionSelectors_[selectorIndex++] = this.totalSupplyAtSnapshot.selector; + staticFunctionSelectors_[selectorIndex++] = this.balanceOfAtSnapshotByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.partitionsOfAtSnapshot.selector; + staticFunctionSelectors_[selectorIndex++] = this.totalSupplyAtSnapshotByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.lockedBalanceOfAtSnapshot.selector; + staticFunctionSelectors_[selectorIndex++] = this.lockedBalanceOfAtSnapshotByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.heldBalanceOfAtSnapshot.selector; + staticFunctionSelectors_[selectorIndex++] = this.heldBalanceOfAtSnapshotByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.clearedBalanceOfAtSnapshot.selector; + staticFunctionSelectors_[selectorIndex++] = this.clearedBalanceOfAtSnapshotByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.decimalsAtSnapshot.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(ISnapshots).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_1/ssi/SsiManagement.sol b/packages/ats/contracts/contracts/layer_1/ssi/SsiManagement.sol index 51d621ad9..52c94f8e7 100644 --- a/packages/ats/contracts/contracts/layer_1/ssi/SsiManagement.sol +++ b/packages/ats/contracts/contracts/layer_1/ssi/SsiManagement.sol @@ -206,41 +206,24 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {Common} from '../common/Common.sol'; -import {_SSI_MANAGER_ROLE} from '../constants/roles.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_SSI_MANAGEMENT_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import {ISsiManagement} from '../interfaces/ssi/ISsiManagement.sol'; +import { Common } from '../common/Common.sol'; +import { _SSI_MANAGER_ROLE } from '../constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _SSI_MANAGEMENT_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { ISsiManagement } from '../interfaces/ssi/ISsiManagement.sol'; contract SsiManagement is ISsiManagement, IStaticFunctionSelectors, Common { function setRevocationRegistryAddress( address _revocationRegistryAddress - ) - external - override - onlyRole(_SSI_MANAGER_ROLE) - onlyUnpaused - returns (bool success_) - { + ) external override onlyRole(_SSI_MANAGER_ROLE) onlyUnpaused returns (bool success_) { address oldRevocationRegistryAddress = _getRevocationRegistryAddress(); success_ = _setRevocationRegistryAddress(_revocationRegistryAddress); - emit RevocationRegistryUpdated( - oldRevocationRegistryAddress, - _getRevocationRegistryAddress() - ); + emit RevocationRegistryUpdated(oldRevocationRegistryAddress, _getRevocationRegistryAddress()); } function addIssuer( address _issuer - ) - external - override - onlyRole(_SSI_MANAGER_ROLE) - onlyUnpaused - returns (bool success_) - { + ) external override onlyRole(_SSI_MANAGER_ROLE) onlyUnpaused returns (bool success_) { success_ = _addIssuer(_issuer); if (!success_) { revert ListedIssuer(_issuer); @@ -250,13 +233,7 @@ contract SsiManagement is ISsiManagement, IStaticFunctionSelectors, Common { function removeIssuer( address _issuer - ) - external - override - onlyRole(_SSI_MANAGER_ROLE) - onlyUnpaused - returns (bool success_) - { + ) external override onlyRole(_SSI_MANAGER_ROLE) onlyUnpaused returns (bool success_) { success_ = _removeIssuer(_issuer); if (!success_) { revert UnlistedIssuer(_issuer); @@ -264,12 +241,7 @@ contract SsiManagement is ISsiManagement, IStaticFunctionSelectors, Common { emit RemovedFromIssuerList(_msgSender(), _issuer); } - function getRevocationRegistryAddress() - external - view - override - returns (address revocationRegistryAddress_) - { + function getRevocationRegistryAddress() external view override returns (address revocationRegistryAddress_) { return _getRevocationRegistryAddress(); } @@ -277,12 +249,7 @@ contract SsiManagement is ISsiManagement, IStaticFunctionSelectors, Common { return _isIssuer(_issuer); } - function getIssuerListCount() - external - view - override - returns (uint256 issuerListCount_) - { + function getIssuerListCount() external view override returns (uint256 issuerListCount_) { return _getIssuerListCount(); } @@ -293,13 +260,7 @@ contract SsiManagement is ISsiManagement, IStaticFunctionSelectors, Common { return _getIssuerListMembers(_pageIndex, _pageLength); } - function getStaticResolverKey() - external - pure - virtual - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure virtual override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _SSI_MANAGEMENT_RESOLVER_KEY; } @@ -312,33 +273,18 @@ contract SsiManagement is ISsiManagement, IStaticFunctionSelectors, Common { { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](7); - staticFunctionSelectors_[selectorIndex++] = this - .setRevocationRegistryAddress - .selector; + staticFunctionSelectors_[selectorIndex++] = this.setRevocationRegistryAddress.selector; staticFunctionSelectors_[selectorIndex++] = this.addIssuer.selector; staticFunctionSelectors_[selectorIndex++] = this.removeIssuer.selector; staticFunctionSelectors_[selectorIndex++] = this.isIssuer.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getRevocationRegistryAddress - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getIssuerListCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getIssuerListMembers - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getRevocationRegistryAddress.selector; + staticFunctionSelectors_[selectorIndex++] = this.getIssuerListCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getIssuerListMembers.selector; } - function getStaticInterfaceIds() - external - pure - virtual - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure virtual override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(ISsiManagement) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(ISsiManagement).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_2/adjustBalances/AdjustBalances.sol b/packages/ats/contracts/contracts/layer_2/adjustBalances/AdjustBalances.sol index 735b1a940..d4c9289cb 100644 --- a/packages/ats/contracts/contracts/layer_2/adjustBalances/AdjustBalances.sol +++ b/packages/ats/contracts/contracts/layer_2/adjustBalances/AdjustBalances.sol @@ -205,64 +205,35 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - IAdjustBalances -} from '../interfaces/adjustBalances/IAdjustBalances.sol'; -import {Common} from '../../layer_1/common/Common.sol'; -import {_BALANCE_ADJUSTMENTS_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import {_ADJUSTMENT_BALANCE_ROLE} from '../constants/roles.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { IAdjustBalances } from '../interfaces/adjustBalances/IAdjustBalances.sol'; +import { Common } from '../../layer_1/common/Common.sol'; +import { _BALANCE_ADJUSTMENTS_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { _ADJUSTMENT_BALANCE_ROLE } from '../constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; contract AdjustBalances is IAdjustBalances, IStaticFunctionSelectors, Common { function adjustBalances( uint256 factor, uint8 decimals - ) - external - override - onlyUnpaused - onlyRole(_ADJUSTMENT_BALANCE_ROLE) - validateFactor(factor) - returns (bool success_) - { + ) external override onlyUnpaused onlyRole(_ADJUSTMENT_BALANCE_ROLE) validateFactor(factor) returns (bool success_) { _triggerScheduledTasks(0); _adjustBalances(factor, decimals); success_ = true; } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _BALANCE_ADJUSTMENTS_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](1); - staticFunctionSelectors_[selectorIndex++] = this - .adjustBalances - .selector; + staticFunctionSelectors_[selectorIndex++] = this.adjustBalances.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(IAdjustBalances) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IAdjustBalances).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_2/bond/Bond.sol b/packages/ats/contracts/contracts/layer_2/bond/Bond.sol index e66d0b2d1..f4d13e6aa 100644 --- a/packages/ats/contracts/contracts/layer_2/bond/Bond.sol +++ b/packages/ats/contracts/contracts/layer_2/bond/Bond.sol @@ -206,16 +206,11 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import {IBond} from '../interfaces/bond/IBond.sol'; -import {BondStorageWrapper} from './BondStorageWrapper.sol'; -import {COUPON_CORPORATE_ACTION_TYPE} from '../constants/values.sol'; -import { - _CORPORATE_ACTION_ROLE, - _BOND_MANAGER_ROLE -} from '../../layer_1/constants/roles.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { IBond } from '../interfaces/bond/IBond.sol'; +import { BondStorageWrapper } from './BondStorageWrapper.sol'; +import { COUPON_CORPORATE_ACTION_TYPE } from '../constants/values.sol'; +import { _CORPORATE_ACTION_ROLE, _BOND_MANAGER_ROLE } from '../../layer_1/constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; abstract contract Bond is IBond, IStaticFunctionSelectors, BondStorageWrapper { function setCoupon( @@ -255,30 +250,16 @@ abstract contract Bond is IBond, IStaticFunctionSelectors, BondStorageWrapper { onlyAfterCurrentMaturityDate(_newMaturityDate) returns (bool success_) { - emit MaturityDateUpdated( - address(this), - _newMaturityDate, - _getMaturityDate() - ); + emit MaturityDateUpdated(address(this), _newMaturityDate, _getMaturityDate()); success_ = _setMaturityDate(_newMaturityDate); return success_; } - function getBondDetails() - external - view - override - returns (BondDetailsData memory bondDetailsData_) - { + function getBondDetails() external view override returns (BondDetailsData memory bondDetailsData_) { return _getBondDetails(); } - function getCouponDetails() - external - view - override - returns (CouponDetailsData memory couponDetails_) - { + function getCouponDetails() external view override returns (CouponDetailsData memory couponDetails_) { return _getCouponDetails(); } @@ -307,12 +288,7 @@ abstract contract Bond is IBond, IStaticFunctionSelectors, BondStorageWrapper { return _getCouponFor(_couponID, _account); } - function getCouponCount() - external - view - override - returns (uint256 couponCount_) - { + function getCouponCount() external view override returns (uint256 couponCount_) { return _getCouponCount(); } @@ -322,19 +298,12 @@ abstract contract Bond is IBond, IStaticFunctionSelectors, BondStorageWrapper { CouponDetailsData calldata _couponDetailsData ) internal - validateDates( - _bondDetailsData.startingDate, - _bondDetailsData.maturityDate - ) + validateDates(_bondDetailsData.startingDate, _bondDetailsData.maturityDate) onlyValidTimestamp(_bondDetailsData.startingDate) { BondDataStorage storage bondStorage = _bondStorage(); bondStorage.initialized = true; _storeBondDetails(_bondDetailsData); - _storeCouponDetails( - _couponDetailsData, - _bondDetailsData.startingDate, - _bondDetailsData.maturityDate - ); + _storeCouponDetails(_couponDetailsData, _bondDetailsData.startingDate, _bondDetailsData.maturityDate); } } diff --git a/packages/ats/contracts/contracts/layer_2/bond/BondStorageWrapper.sol b/packages/ats/contracts/contracts/layer_2/bond/BondStorageWrapper.sol index 64f825307..35fd2a293 100644 --- a/packages/ats/contracts/contracts/layer_2/bond/BondStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_2/bond/BondStorageWrapper.sol @@ -206,14 +206,12 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import {_BOND_STORAGE_POSITION} from '../constants/storagePositions.sol'; -import {COUPON_CORPORATE_ACTION_TYPE} from '../constants/values.sol'; -import {IBond} from '../interfaces/bond/IBond.sol'; -import {Common} from '../../layer_1/common/Common.sol'; -import {IBondStorageWrapper} from '../interfaces/bond/IBondStorageWrapper.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { _BOND_STORAGE_POSITION } from '../constants/storagePositions.sol'; +import { COUPON_CORPORATE_ACTION_TYPE } from '../constants/values.sol'; +import { IBond } from '../interfaces/bond/IBond.sol'; +import { Common } from '../../layer_1/common/Common.sol'; +import { IBondStorageWrapper } from '../interfaces/bond/IBondStorageWrapper.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; abstract contract BondStorageWrapper is IBondStorageWrapper, Common { using EnumerableSet for EnumerableSet.Bytes32Set; @@ -235,9 +233,7 @@ abstract contract BondStorageWrapper is IBondStorageWrapper, Common { _; } - function _storeBondDetails( - IBond.BondDetailsData memory _bondDetails - ) internal { + function _storeBondDetails(IBond.BondDetailsData memory _bondDetails) internal { _bondStorage().bondDetail = _bondDetails; } @@ -248,10 +244,8 @@ abstract contract BondStorageWrapper is IBondStorageWrapper, Common { ) internal { _bondStorage().couponDetail = _couponDetails; if (_couponDetails.firstCouponDate == 0) return; - if ( - _couponDetails.firstCouponDate < _startingDate || - _couponDetails.firstCouponDate > _maturityDate - ) revert CouponFirstDateWrong(); + if (_couponDetails.firstCouponDate < _startingDate || _couponDetails.firstCouponDate > _maturityDate) + revert CouponFirstDateWrong(); if (_couponDetails.couponFrequency == 0) revert CouponFrequencyWrong(); _setFixedCoupons( @@ -264,10 +258,7 @@ abstract contract BondStorageWrapper is IBondStorageWrapper, Common { function _setCoupon( IBond.Coupon memory _newCoupon - ) - internal - returns (bool success_, bytes32 corporateActionId_, uint256 couponID_) - { + ) internal returns (bool success_, bytes32 corporateActionId_, uint256 couponID_) { (success_, corporateActionId_, couponID_) = _addCorporateAction( COUPON_CORPORATE_ACTION_TYPE, abi.encode(_newCoupon) @@ -279,26 +270,16 @@ abstract contract BondStorageWrapper is IBondStorageWrapper, Common { * @param _maturityDate The new maturity date to be set. * @return success_ True if the maturity date was set successfully. */ - function _setMaturityDate( - uint256 _maturityDate - ) internal returns (bool success_) { + function _setMaturityDate(uint256 _maturityDate) internal returns (bool success_) { _bondStorage().bondDetail.maturityDate = _maturityDate; return true; } - function _getBondDetails() - internal - view - returns (IBond.BondDetailsData memory bondDetails_) - { + function _getBondDetails() internal view returns (IBond.BondDetailsData memory bondDetails_) { bondDetails_ = _bondStorage().bondDetail; } - function _getCouponDetails() - internal - view - returns (IBond.CouponDetailsData memory couponDetails_) - { + function _getCouponDetails() internal view returns (IBond.CouponDetailsData memory couponDetails_) { couponDetails_ = _bondStorage().couponDetail; } @@ -306,12 +287,8 @@ abstract contract BondStorageWrapper is IBondStorageWrapper, Common { return _bondStorage().bondDetail.maturityDate; } - function _getCoupon( - uint256 _couponID - ) internal view returns (IBond.RegisteredCoupon memory registeredCoupon_) { - bytes32 actionId = _corporateActionsStorage() - .actionsByType[COUPON_CORPORATE_ACTION_TYPE] - .at(_couponID - 1); + function _getCoupon(uint256 _couponID) internal view returns (IBond.RegisteredCoupon memory registeredCoupon_) { + bytes32 actionId = _corporateActionsStorage().actionsByType[COUPON_CORPORATE_ACTION_TYPE].at(_couponID - 1); (, bytes memory data) = _getCorporateAction(actionId); @@ -337,21 +314,10 @@ abstract contract BondStorageWrapper is IBondStorageWrapper, Common { couponFor_.tokenBalance = (registeredCoupon.snapshotId != 0) ? (_balanceOfAtSnapshot(registeredCoupon.snapshotId, _account) + - _lockedBalanceOfAtSnapshot( - registeredCoupon.snapshotId, - _account - ) + - _heldBalanceOfAtSnapshot( - registeredCoupon.snapshotId, - _account - )) + - _clearedBalanceOfAtSnapshot( - registeredCoupon.snapshotId, - _account - ) - : (_balanceOf(_account) + - _getLockedAmountFor(_account) + - _getHeldAmountFor(_account)) + + _lockedBalanceOfAtSnapshot(registeredCoupon.snapshotId, _account) + + _heldBalanceOfAtSnapshot(registeredCoupon.snapshotId, _account)) + + _clearedBalanceOfAtSnapshot(registeredCoupon.snapshotId, _account) + : (_balanceOf(_account) + _getLockedAmountFor(_account) + _getHeldAmountFor(_account)) + _getClearedAmountFor(_account); couponFor_.decimals = _decimalsAdjusted(); @@ -362,11 +328,7 @@ abstract contract BondStorageWrapper is IBondStorageWrapper, Common { return _getCorporateActionCountByType(COUPON_CORPORATE_ACTION_TYPE); } - function _bondStorage() - internal - pure - returns (BondDataStorage storage bondData_) - { + function _bondStorage() internal pure returns (BondDataStorage storage bondData_) { bytes32 position = _BOND_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -380,8 +342,7 @@ abstract contract BondStorageWrapper is IBondStorageWrapper, Common { uint256 _maturityDate, uint256 _rate ) private returns (bool) { - uint256 numberOfSubsequentCoupons = (_maturityDate - _firstCouponDate) / - _couponFrequency; + uint256 numberOfSubsequentCoupons = (_maturityDate - _firstCouponDate) / _couponFrequency; bool success; for (uint256 i = 0; i <= numberOfSubsequentCoupons; i++) { uint256 runDate = _firstCouponDate + i * _couponFrequency; diff --git a/packages/ats/contracts/contracts/layer_2/equity/Equity.sol b/packages/ats/contracts/contracts/layer_2/equity/Equity.sol index 580b52df8..822bfeec1 100644 --- a/packages/ats/contracts/contracts/layer_2/equity/Equity.sol +++ b/packages/ats/contracts/contracts/layer_2/equity/Equity.sol @@ -206,26 +206,18 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_CORPORATE_ACTION_ROLE} from '../../layer_1/constants/roles.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _CORPORATE_ACTION_ROLE } from '../../layer_1/constants/roles.sol'; import { DIVIDEND_CORPORATE_ACTION_TYPE, VOTING_RIGHTS_CORPORATE_ACTION_TYPE, BALANCE_ADJUSTMENT_CORPORATE_ACTION_TYPE } from '../constants/values.sol'; -import {IEquity} from '../interfaces/equity/IEquity.sol'; -import {EquityStorageWrapper} from './EquityStorageWrapper.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; - -abstract contract Equity is - IEquity, - IStaticFunctionSelectors, - EquityStorageWrapper -{ +import { IEquity } from '../interfaces/equity/IEquity.sol'; +import { EquityStorageWrapper } from './EquityStorageWrapper.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; + +abstract contract Equity is IEquity, IStaticFunctionSelectors, EquityStorageWrapper { using EnumerableSet for EnumerableSet.Bytes32Set; function setDividends( @@ -240,9 +232,7 @@ abstract contract Equity is returns (bool success_, uint256 dividendID_) { bytes32 corporateActionID; - (success_, corporateActionID, dividendID_) = _setDividends( - _newDividend - ); + (success_, corporateActionID, dividendID_) = _setDividends(_newDividend); emit DividendSet( corporateActionID, dividendID_, @@ -265,13 +255,7 @@ abstract contract Equity is { bytes32 corporateActionID; (success_, corporateActionID, voteID_) = _setVoting(_newVoting); - emit VotingSet( - corporateActionID, - voteID_, - _msgSender(), - _newVoting.recordDate, - _newVoting.data - ); + emit VotingSet(corporateActionID, voteID_, _msgSender(), _newVoting.recordDate, _newVoting.data); } function setScheduledBalanceAdjustment( @@ -286,11 +270,7 @@ abstract contract Equity is returns (bool success_, uint256 balanceAdjustmentID_) { bytes32 corporateActionID; - ( - success_, - corporateActionID, - balanceAdjustmentID_ - ) = _setScheduledBalanceAdjustment(_newBalanceAdjustment); + (success_, corporateActionID, balanceAdjustmentID_) = _setScheduledBalanceAdjustment(_newBalanceAdjustment); emit ScheduledBalanceAdjustmentSet( corporateActionID, balanceAdjustmentID_, @@ -301,12 +281,7 @@ abstract contract Equity is ); } - function getEquityDetails() - external - view - override - returns (EquityDetailsData memory equityDetailsData_) - { + function getEquityDetails() external view override returns (EquityDetailsData memory equityDetailsData_) { return _getEquityDetails(); } @@ -350,12 +325,7 @@ abstract contract Equity is * @dev returns the dividends count. * */ - function getDividendsCount() - external - view - override - returns (uint256 dividendCount_) - { + function getDividendsCount() external view override returns (uint256 dividendCount_) { return _getDividendsCount(); } @@ -384,12 +354,7 @@ abstract contract Equity is return _getVotingFor(_voteID, _account); } - function getVotingCount() - external - view - override - returns (uint256 votingCount_) - { + function getVotingCount() external view override returns (uint256 votingCount_) { return _getVotingCount(); } @@ -399,28 +364,18 @@ abstract contract Equity is external view override - onlyMatchingActionType( - BALANCE_ADJUSTMENT_CORPORATE_ACTION_TYPE, - _balanceAdjustmentID - 1 - ) + onlyMatchingActionType(BALANCE_ADJUSTMENT_CORPORATE_ACTION_TYPE, _balanceAdjustmentID - 1) returns (ScheduledBalanceAdjustment memory balanceAdjustment_) { return _getScheduledBalanceAdjusment(_balanceAdjustmentID); } - function getScheduledBalanceAdjustmentCount() - external - view - override - returns (uint256 balanceAdjustmentCount_) - { + function getScheduledBalanceAdjustmentCount() external view override returns (uint256 balanceAdjustmentCount_) { return _getScheduledBalanceAdjustmentsCount(); } // solhint-disable-next-line func-name-mixedcase - function _initializeEquity( - EquityDetailsData calldata _equityDetailsData - ) internal { + function _initializeEquity(EquityDetailsData calldata _equityDetailsData) internal { EquityDataStorage storage equityStorage = _equityStorage(); equityStorage.initialized = true; _storeEquityDetails(_equityDetailsData); diff --git a/packages/ats/contracts/contracts/layer_2/equity/EquityStorageWrapper.sol b/packages/ats/contracts/contracts/layer_2/equity/EquityStorageWrapper.sol index 13b289258..f41d3bcfe 100644 --- a/packages/ats/contracts/contracts/layer_2/equity/EquityStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_2/equity/EquityStorageWrapper.sol @@ -206,20 +206,16 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import {Common} from '../../layer_1/common/Common.sol'; -import {_EQUITY_STORAGE_POSITION} from '../constants/storagePositions.sol'; +import { Common } from '../../layer_1/common/Common.sol'; +import { _EQUITY_STORAGE_POSITION } from '../constants/storagePositions.sol'; import { DIVIDEND_CORPORATE_ACTION_TYPE, VOTING_RIGHTS_CORPORATE_ACTION_TYPE, BALANCE_ADJUSTMENT_CORPORATE_ACTION_TYPE } from '../constants/values.sol'; -import {IEquity} from '../interfaces/equity/IEquity.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; -import { - IEquityStorageWrapper -} from '../interfaces/equity/IEquityStorageWrapper.sol'; +import { IEquity } from '../interfaces/equity/IEquity.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { IEquityStorageWrapper } from '../interfaces/equity/IEquityStorageWrapper.sol'; abstract contract EquityStorageWrapper is IEquityStorageWrapper, Common { using EnumerableSet for EnumerableSet.Bytes32Set; @@ -229,18 +225,13 @@ abstract contract EquityStorageWrapper is IEquityStorageWrapper, Common { bool initialized; } - function _storeEquityDetails( - IEquity.EquityDetailsData memory _equityDetailsData - ) internal { + function _storeEquityDetails(IEquity.EquityDetailsData memory _equityDetailsData) internal { _equityStorage().equityDetailsData = _equityDetailsData; } function _setDividends( IEquity.Dividend calldata _newDividend - ) - internal - returns (bool success_, bytes32 corporateActionId_, uint256 dividendId_) - { + ) internal returns (bool success_, bytes32 corporateActionId_, uint256 dividendId_) { (success_, corporateActionId_, dividendId_) = _addCorporateAction( DIVIDEND_CORPORATE_ACTION_TYPE, abi.encode(_newDividend) @@ -249,10 +240,7 @@ abstract contract EquityStorageWrapper is IEquityStorageWrapper, Common { function _setVoting( IEquity.Voting calldata _newVoting - ) - internal - returns (bool success_, bytes32 corporateActionId_, uint256 voteID_) - { + ) internal returns (bool success_, bytes32 corporateActionId_, uint256 voteID_) { (success_, corporateActionId_, voteID_) = _addCorporateAction( VOTING_RIGHTS_CORPORATE_ACTION_TYPE, abi.encode(_newVoting) @@ -261,29 +249,14 @@ abstract contract EquityStorageWrapper is IEquityStorageWrapper, Common { function _setScheduledBalanceAdjustment( IEquity.ScheduledBalanceAdjustment calldata _newBalanceAdjustment - ) - internal - returns ( - bool success_, - bytes32 corporateActionId_, - uint256 balanceAdjustmentID_ - ) - { - ( - success_, - corporateActionId_, - balanceAdjustmentID_ - ) = _addCorporateAction( + ) internal returns (bool success_, bytes32 corporateActionId_, uint256 balanceAdjustmentID_) { + (success_, corporateActionId_, balanceAdjustmentID_) = _addCorporateAction( BALANCE_ADJUSTMENT_CORPORATE_ACTION_TYPE, abi.encode(_newBalanceAdjustment) ); } - function _getEquityDetails() - internal - view - returns (IEquity.EquityDetailsData memory equityDetails_) - { + function _getEquityDetails() internal view returns (IEquity.EquityDetailsData memory equityDetails_) { equityDetails_ = _equityStorage().equityDetailsData; } @@ -295,22 +268,13 @@ abstract contract EquityStorageWrapper is IEquityStorageWrapper, Common { */ function _getDividends( uint256 _dividendID - ) - internal - view - returns (IEquity.RegisteredDividend memory registeredDividend_) - { - bytes32 actionId = _corporateActionsStorage() - .actionsByType[DIVIDEND_CORPORATE_ACTION_TYPE] - .at(_dividendID - 1); + ) internal view returns (IEquity.RegisteredDividend memory registeredDividend_) { + bytes32 actionId = _corporateActionsStorage().actionsByType[DIVIDEND_CORPORATE_ACTION_TYPE].at(_dividendID - 1); (, bytes memory data) = _getCorporateAction(actionId); if (data.length > 0) { - (registeredDividend_.dividend) = abi.decode( - data, - (IEquity.Dividend) - ); + (registeredDividend_.dividend) = abi.decode(data, (IEquity.Dividend)); } registeredDividend_.snapshotId = _getSnapshotID(actionId); @@ -327,9 +291,7 @@ abstract contract EquityStorageWrapper is IEquityStorageWrapper, Common { uint256 _dividendID, address _account ) internal view returns (IEquity.DividendFor memory dividendFor_) { - IEquity.RegisteredDividend memory registeredDividend = _getDividends( - _dividendID - ); + IEquity.RegisteredDividend memory registeredDividend = _getDividends(_dividendID); dividendFor_.amount = registeredDividend.dividend.amount; dividendFor_.recordDate = registeredDividend.dividend.recordDate; @@ -346,24 +308,14 @@ abstract contract EquityStorageWrapper is IEquityStorageWrapper, Common { ); } - function _getDividendsCount() - internal - view - returns (uint256 dividendCount_) - { + function _getDividendsCount() internal view returns (uint256 dividendCount_) { return _getCorporateActionCountByType(DIVIDEND_CORPORATE_ACTION_TYPE); } - function _getVoting( - uint256 _voteID - ) - internal - view - returns (IEquity.RegisteredVoting memory registeredVoting_) - { - bytes32 actionId = _corporateActionsStorage() - .actionsByType[VOTING_RIGHTS_CORPORATE_ACTION_TYPE] - .at(_voteID - 1); + function _getVoting(uint256 _voteID) internal view returns (IEquity.RegisteredVoting memory registeredVoting_) { + bytes32 actionId = _corporateActionsStorage().actionsByType[VOTING_RIGHTS_CORPORATE_ACTION_TYPE].at( + _voteID - 1 + ); (, bytes memory data) = _getCorporateAction(actionId); @@ -402,51 +354,32 @@ abstract contract EquityStorageWrapper is IEquityStorageWrapper, Common { } function _getVotingCount() internal view returns (uint256 votingCount_) { - return - _getCorporateActionCountByType(VOTING_RIGHTS_CORPORATE_ACTION_TYPE); + return _getCorporateActionCountByType(VOTING_RIGHTS_CORPORATE_ACTION_TYPE); } function _getScheduledBalanceAdjusment( uint256 _balanceAdjustmentID - ) - internal - view - returns (IEquity.ScheduledBalanceAdjustment memory balanceAdjustment_) - { - bytes32 actionId = _corporateActionsStorage() - .actionsByType[BALANCE_ADJUSTMENT_CORPORATE_ACTION_TYPE] - .at(_balanceAdjustmentID - 1); + ) internal view returns (IEquity.ScheduledBalanceAdjustment memory balanceAdjustment_) { + bytes32 actionId = _corporateActionsStorage().actionsByType[BALANCE_ADJUSTMENT_CORPORATE_ACTION_TYPE].at( + _balanceAdjustmentID - 1 + ); (, bytes memory data) = _getCorporateAction(actionId); if (data.length > 0) { - (balanceAdjustment_) = abi.decode( - data, - (IEquity.ScheduledBalanceAdjustment) - ); + (balanceAdjustment_) = abi.decode(data, (IEquity.ScheduledBalanceAdjustment)); } } - function _getScheduledBalanceAdjustmentsCount() - internal - view - returns (uint256 balanceAdjustmentCount_) - { - return - _getCorporateActionCountByType( - BALANCE_ADJUSTMENT_CORPORATE_ACTION_TYPE - ); + function _getScheduledBalanceAdjustmentsCount() internal view returns (uint256 balanceAdjustmentCount_) { + return _getCorporateActionCountByType(BALANCE_ADJUSTMENT_CORPORATE_ACTION_TYPE); } function _getSnapshotBalanceForIfDateReached( uint256 _date, uint256 _snapshotId, address _account - ) - internal - view - returns (uint256 balance_, uint8 decimals_, bool dateReached_) - { + ) internal view returns (uint256 balance_, uint8 decimals_, bool dateReached_) { if (_date < _blockTimestamp()) { dateReached_ = true; @@ -460,17 +393,11 @@ abstract contract EquityStorageWrapper is IEquityStorageWrapper, Common { _getHeldAmountForAdjusted(_account) + _getClearedAmountForAdjusted(_account)); - decimals_ = (_snapshotId != 0) - ? _decimalsAtSnapshot(_snapshotId) - : _decimalsAdjustedAt(_date); + decimals_ = (_snapshotId != 0) ? _decimalsAtSnapshot(_snapshotId) : _decimalsAdjustedAt(_date); } } - function _equityStorage() - internal - pure - returns (EquityDataStorage storage equityData_) - { + function _equityStorage() internal pure returns (EquityDataStorage storage equityData_) { bytes32 position = _EQUITY_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_2/interfaces/adjustBalances/IAdjustBalances.sol b/packages/ats/contracts/contracts/layer_2/interfaces/adjustBalances/IAdjustBalances.sol index b8dc0b0b5..d0d12c0f6 100644 --- a/packages/ats/contracts/contracts/layer_2/interfaces/adjustBalances/IAdjustBalances.sol +++ b/packages/ats/contracts/contracts/layer_2/interfaces/adjustBalances/IAdjustBalances.sol @@ -208,8 +208,5 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution interface IAdjustBalances { - function adjustBalances( - uint256 factor, - uint8 decimals - ) external returns (bool success_); + function adjustBalances(uint256 factor, uint8 decimals) external returns (bool success_); } diff --git a/packages/ats/contracts/contracts/layer_2/interfaces/adjustBalances/IAdjustBalancesStorageWrapper.sol b/packages/ats/contracts/contracts/layer_2/interfaces/adjustBalances/IAdjustBalancesStorageWrapper.sol index 58e8dcb73..864616284 100644 --- a/packages/ats/contracts/contracts/layer_2/interfaces/adjustBalances/IAdjustBalancesStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_2/interfaces/adjustBalances/IAdjustBalancesStorageWrapper.sol @@ -207,11 +207,7 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution interface IAdjustBalancesStorageWrapper { - event AdjustmentBalanceSet( - address indexed operator, - uint256 factor, - uint8 decimals - ); + event AdjustmentBalanceSet(address indexed operator, uint256 factor, uint8 decimals); error FactorIsZero(); } diff --git a/packages/ats/contracts/contracts/layer_2/interfaces/bond/IBond.sol b/packages/ats/contracts/contracts/layer_2/interfaces/bond/IBond.sol index b1627a8fe..2611a0d0e 100644 --- a/packages/ats/contracts/contracts/layer_2/interfaces/bond/IBond.sol +++ b/packages/ats/contracts/contracts/layer_2/interfaces/bond/IBond.sol @@ -240,32 +240,17 @@ interface IBond { bool recordDateReached; } - function setCoupon( - Coupon calldata _newCoupon - ) external returns (bool success_, uint256 couponID_); - - function updateMaturityDate( - uint256 _maturityDate - ) external returns (bool success_); - - function getBondDetails() - external - view - returns (BondDetailsData memory bondDetailsData_); - - function getCouponDetails() - external - view - returns (CouponDetailsData memory couponDetails_); - - function getCoupon( - uint256 _couponID - ) external view returns (RegisteredCoupon memory registeredCoupon_); - - function getCouponFor( - uint256 _couponID, - address _account - ) external view returns (CouponFor memory couponFor_); + function setCoupon(Coupon calldata _newCoupon) external returns (bool success_, uint256 couponID_); + + function updateMaturityDate(uint256 _maturityDate) external returns (bool success_); + + function getBondDetails() external view returns (BondDetailsData memory bondDetailsData_); + + function getCouponDetails() external view returns (CouponDetailsData memory couponDetails_); + + function getCoupon(uint256 _couponID) external view returns (RegisteredCoupon memory registeredCoupon_); + + function getCouponFor(uint256 _couponID, address _account) external view returns (CouponFor memory couponFor_); function getCouponCount() external view returns (uint256 couponCount_); } diff --git a/packages/ats/contracts/contracts/layer_2/interfaces/equity/IEquity.sol b/packages/ats/contracts/contracts/layer_2/interfaces/equity/IEquity.sol index 4870696e2..70d54c99d 100644 --- a/packages/ats/contracts/contracts/layer_2/interfaces/equity/IEquity.sol +++ b/packages/ats/contracts/contracts/layer_2/interfaces/equity/IEquity.sol @@ -270,26 +270,17 @@ interface IEquity { uint8 decimals; } - function setDividends( - Dividend calldata _newDividend - ) external returns (bool success_, uint256 dividendID_); + function setDividends(Dividend calldata _newDividend) external returns (bool success_, uint256 dividendID_); - function setVoting( - Voting calldata _newVoting - ) external returns (bool success_, uint256 voteID_); + function setVoting(Voting calldata _newVoting) external returns (bool success_, uint256 voteID_); function setScheduledBalanceAdjustment( ScheduledBalanceAdjustment calldata _newBalanceAdjustment ) external returns (bool success_, uint256 balanceAdjustmentID_); - function getEquityDetails() - external - view - returns (EquityDetailsData memory equityDetailsData_); + function getEquityDetails() external view returns (EquityDetailsData memory equityDetailsData_); - function getDividends( - uint256 _dividendID - ) external view returns (RegisteredDividend memory registeredDividend_); + function getDividends(uint256 _dividendID) external view returns (RegisteredDividend memory registeredDividend_); function getDividendsFor( uint256 _dividendID, @@ -298,26 +289,15 @@ interface IEquity { function getDividendsCount() external view returns (uint256 dividendCount_); - function getVoting( - uint256 _voteID - ) external view returns (RegisteredVoting memory registeredVoting_); + function getVoting(uint256 _voteID) external view returns (RegisteredVoting memory registeredVoting_); - function getVotingFor( - uint256 _voteID, - address _account - ) external view returns (VotingFor memory votingFor_); + function getVotingFor(uint256 _voteID, address _account) external view returns (VotingFor memory votingFor_); function getVotingCount() external view returns (uint256 votingCount_); function getScheduledBalanceAdjustment( uint256 _balanceAdjustmentID - ) - external - view - returns (ScheduledBalanceAdjustment memory balanceAdjustment_); - - function getScheduledBalanceAdjustmentCount() - external - view - returns (uint256 balanceAdjustmentCount_); + ) external view returns (ScheduledBalanceAdjustment memory balanceAdjustment_); + + function getScheduledBalanceAdjustmentCount() external view returns (uint256 balanceAdjustmentCount_); } diff --git a/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledBalanceAdjustments/IScheduledBalanceAdjustments.sol b/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledBalanceAdjustments/IScheduledBalanceAdjustments.sol index 4687ebb11..d57875903 100644 --- a/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledBalanceAdjustments/IScheduledBalanceAdjustments.sol +++ b/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledBalanceAdjustments/IScheduledBalanceAdjustments.sol @@ -206,7 +206,7 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import {ScheduledTasksLib} from '../../../scheduledTasks/ScheduledTasksLib.sol'; +import { ScheduledTasksLib } from '../../../scheduledTasks/ScheduledTasksLib.sol'; interface IScheduledBalanceAdjustments { function onScheduledBalanceAdjustmentTriggered( @@ -220,10 +220,5 @@ interface IScheduledBalanceAdjustments { function getScheduledBalanceAdjustments( uint256 _pageIndex, uint256 _pageLength - ) - external - view - returns ( - ScheduledTasksLib.ScheduledTask[] memory scheduledBalanceAdjustment_ - ); + ) external view returns (ScheduledTasksLib.ScheduledTask[] memory scheduledBalanceAdjustment_); } diff --git a/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledSnapshots/IScheduledSnapshots.sol b/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledSnapshots/IScheduledSnapshots.sol index e1b4eb9d4..41a649906 100644 --- a/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledSnapshots/IScheduledSnapshots.sol +++ b/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledSnapshots/IScheduledSnapshots.sol @@ -206,22 +206,15 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import {ScheduledTasksLib} from '../../../scheduledTasks/ScheduledTasksLib.sol'; +import { ScheduledTasksLib } from '../../../scheduledTasks/ScheduledTasksLib.sol'; interface IScheduledSnapshots { - function onScheduledSnapshotTriggered( - uint256 _pos, - uint256 _scheduledTasksLength, - bytes memory _data - ) external; + function onScheduledSnapshotTriggered(uint256 _pos, uint256 _scheduledTasksLength, bytes memory _data) external; function scheduledSnapshotCount() external view returns (uint256); function getScheduledSnapshots( uint256 _pageIndex, uint256 _pageLength - ) - external - view - returns (ScheduledTasksLib.ScheduledTask[] memory scheduledSnapshot_); + ) external view returns (ScheduledTasksLib.ScheduledTask[] memory scheduledSnapshot_); } diff --git a/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledTasks/IScheduledTasks.sol b/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledTasks/IScheduledTasks.sol index 7b642be0b..c875dd066 100644 --- a/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledTasks/IScheduledTasks.sol +++ b/packages/ats/contracts/contracts/layer_2/interfaces/scheduledTasks/scheduledTasks/IScheduledTasks.sol @@ -206,7 +206,7 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import {ScheduledTasksLib} from '../../../scheduledTasks/ScheduledTasksLib.sol'; +import { ScheduledTasksLib } from '../../../scheduledTasks/ScheduledTasksLib.sol'; struct ScheduledTask { uint256 scheduledTimestamp; @@ -214,11 +214,7 @@ struct ScheduledTask { } interface IScheduledTasks { - function onScheduledTaskTriggered( - uint256 _pos, - uint256 _scheduledTasksLength, - bytes memory _data - ) external; + function onScheduledTaskTriggered(uint256 _pos, uint256 _scheduledTasksLength, bytes memory _data) external; function triggerPendingScheduledTasks() external returns (uint256); @@ -229,8 +225,5 @@ interface IScheduledTasks { function getScheduledTasks( uint256 _pageIndex, uint256 _pageLength - ) - external - view - returns (ScheduledTasksLib.ScheduledTask[] memory scheduledTask_); + ) external view returns (ScheduledTasksLib.ScheduledTask[] memory scheduledTask_); } diff --git a/packages/ats/contracts/contracts/layer_2/scheduledTasks/ScheduledTasksLib.sol b/packages/ats/contracts/contracts/layer_2/scheduledTasks/ScheduledTasksLib.sol index 8fe4d4e08..d9b111338 100644 --- a/packages/ats/contracts/contracts/layer_2/scheduledTasks/ScheduledTasksLib.sol +++ b/packages/ats/contracts/contracts/layer_2/scheduledTasks/ScheduledTasksLib.sol @@ -206,7 +206,7 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import {LibCommon} from '../../layer_0/common/libraries/LibCommon.sol'; +import { LibCommon } from '../../layer_0/common/libraries/LibCommon.sol'; library ScheduledTasksLib { struct ScheduledTask { @@ -225,10 +225,7 @@ library ScheduledTasksLib { uint256 _newScheduledTimestamp, bytes memory _newData ) internal { - ScheduledTask memory newScheduledTask = ScheduledTask( - _newScheduledTimestamp, - _newData - ); + ScheduledTask memory newScheduledTask = ScheduledTask(_newScheduledTimestamp, _newData); uint256 scheduledTasksLength = getScheduledTaskCount(_scheduledTasks); @@ -240,22 +237,11 @@ library ScheduledTasksLib { for (uint256 index = 1; index <= scheduledTasksLength; index++) { uint256 scheduledTaskPosition = scheduledTasksLength - index; - if ( - _scheduledTasks - .scheduledTasks[scheduledTaskPosition] - .scheduledTimestamp < _newScheduledTimestamp - ) { - _slideScheduledTasks( - _scheduledTasks, - scheduledTaskPosition - ); + if (_scheduledTasks.scheduledTasks[scheduledTaskPosition].scheduledTimestamp < _newScheduledTimestamp) { + _slideScheduledTasks(_scheduledTasks, scheduledTaskPosition); } else { newScheduledTaskId = scheduledTaskPosition + 1; - _insertScheduledTask( - _scheduledTasks, - newScheduledTaskId, - newScheduledTask - ); + _insertScheduledTask(_scheduledTasks, newScheduledTaskId, newScheduledTask); added = true; break; } @@ -289,11 +275,7 @@ library ScheduledTasksLib { for (uint256 j = 1; j <= max; j++) { uint256 pos = scheduledTasksLength - j; - ScheduledTask - memory currentScheduledTask = getScheduledTasksByIndex( - _scheduledTasks, - pos - ); + ScheduledTask memory currentScheduledTask = getScheduledTasksByIndex(_scheduledTasks, pos); if (currentScheduledTask.scheduledTimestamp < _timestamp) { _popScheduledTask(_scheduledTasks); @@ -318,9 +300,7 @@ library ScheduledTasksLib { } } else { // solhint-disable-next-line custom-errors - revert( - 'onScheduledTaskTriggered method failed without reason' - ); + revert('onScheduledTaskTriggered method failed without reason'); } } @@ -333,9 +313,7 @@ library ScheduledTasksLib { return newTaskID; } - function getScheduledTaskCount( - ScheduledTasksDataStorage storage _scheduledTasks - ) internal view returns (uint256) { + function getScheduledTaskCount(ScheduledTasksDataStorage storage _scheduledTasks) internal view returns (uint256) { return _scheduledTasks.scheduledTaskCount; } @@ -351,39 +329,20 @@ library ScheduledTasksLib { uint256 _pageIndex, uint256 _pageLength ) internal view returns (ScheduledTask[] memory scheduledTask_) { - (uint256 start, uint256 end) = LibCommon.getStartAndEnd( - _pageIndex, - _pageLength - ); - - scheduledTask_ = new ScheduledTask[]( - LibCommon.getSize( - start, - end, - getScheduledTaskCount(_scheduledTasks) - ) - ); + (uint256 start, uint256 end) = LibCommon.getStartAndEnd(_pageIndex, _pageLength); + + scheduledTask_ = new ScheduledTask[](LibCommon.getSize(start, end, getScheduledTaskCount(_scheduledTasks))); for (uint256 i = 0; i < scheduledTask_.length; i++) { - scheduledTask_[i] = getScheduledTasksByIndex( - _scheduledTasks, - start + i - ); + scheduledTask_[i] = getScheduledTasksByIndex(_scheduledTasks, start + i); } } - function _slideScheduledTasks( - ScheduledTasksDataStorage storage _scheduledTasks, - uint256 _pos - ) private { - _scheduledTasks - .scheduledTasks[_pos + 1] - .scheduledTimestamp = _scheduledTasks + function _slideScheduledTasks(ScheduledTasksDataStorage storage _scheduledTasks, uint256 _pos) private { + _scheduledTasks.scheduledTasks[_pos + 1].scheduledTimestamp = _scheduledTasks .scheduledTasks[_pos] .scheduledTimestamp; - _scheduledTasks.scheduledTasks[_pos + 1].data = _scheduledTasks - .scheduledTasks[_pos] - .data; + _scheduledTasks.scheduledTasks[_pos + 1].data = _scheduledTasks.scheduledTasks[_pos].data; } function _insertScheduledTask( @@ -391,16 +350,12 @@ library ScheduledTasksLib { uint256 _pos, ScheduledTask memory scheduledTaskToInsert ) private { - _scheduledTasks - .scheduledTasks[_pos] - .scheduledTimestamp = scheduledTaskToInsert.scheduledTimestamp; + _scheduledTasks.scheduledTasks[_pos].scheduledTimestamp = scheduledTaskToInsert.scheduledTimestamp; _scheduledTasks.scheduledTasks[_pos].data = scheduledTaskToInsert.data; _scheduledTasks.scheduledTaskCount++; } - function _popScheduledTask( - ScheduledTasksDataStorage storage _scheduledTasks - ) private { + function _popScheduledTask(ScheduledTasksDataStorage storage _scheduledTasks) private { uint256 scheduledTasksLength = getScheduledTaskCount(_scheduledTasks); if (scheduledTasksLength == 0) { return; diff --git a/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledBalanceAdjustments/ScheduledBalanceAdjustments.sol b/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledBalanceAdjustments/ScheduledBalanceAdjustments.sol index 236f199ab..6968d096f 100644 --- a/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledBalanceAdjustments/ScheduledBalanceAdjustments.sol +++ b/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledBalanceAdjustments/ScheduledBalanceAdjustments.sol @@ -206,105 +206,53 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - IStaticFunctionSelectors -} from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {Common} from '../../../layer_1/common/Common.sol'; -import { - _SCHEDULED_BALANCE_ADJUSTMENTS_RESOLVER_KEY -} from '../../constants/resolverKeys.sol'; -import {Common} from '../../../layer_1/common/Common.sol'; +import { IStaticFunctionSelectors } from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { Common } from '../../../layer_1/common/Common.sol'; +import { _SCHEDULED_BALANCE_ADJUSTMENTS_RESOLVER_KEY } from '../../constants/resolverKeys.sol'; +import { Common } from '../../../layer_1/common/Common.sol'; import { IScheduledBalanceAdjustments } from '../../interfaces/scheduledTasks/scheduledBalanceAdjustments/IScheduledBalanceAdjustments.sol'; -import {ScheduledTasksLib} from '../ScheduledTasksLib.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; - -contract ScheduledBalanceAdjustments is - IStaticFunctionSelectors, - IScheduledBalanceAdjustments, - Common -{ +import { ScheduledTasksLib } from '../ScheduledTasksLib.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; + +contract ScheduledBalanceAdjustments is IStaticFunctionSelectors, IScheduledBalanceAdjustments, Common { using EnumerableSet for EnumerableSet.Bytes32Set; function onScheduledBalanceAdjustmentTriggered( uint256 /*_pos*/, uint256 /*_scheduledTasksLength*/, bytes memory _data - ) - external - override - onlyAutoCalling(_scheduledBalanceAdjustmentStorage().autoCalling) - { + ) external override onlyAutoCalling(_scheduledBalanceAdjustmentStorage().autoCalling) { _onScheduledBalanceAdjustmentTriggered(_data); } - function scheduledBalanceAdjustmentCount() - external - view - override - returns (uint256) - { + function scheduledBalanceAdjustmentCount() external view override returns (uint256) { return _getScheduledBalanceAdjustmentCount(); } function getScheduledBalanceAdjustments( uint256 _pageIndex, uint256 _pageLength - ) - external - view - override - returns ( - ScheduledTasksLib.ScheduledTask[] memory scheduledBalanceAdjustment_ - ) - { - scheduledBalanceAdjustment_ = _getScheduledBalanceAdjustments( - _pageIndex, - _pageLength - ); + ) external view override returns (ScheduledTasksLib.ScheduledTask[] memory scheduledBalanceAdjustment_) { + scheduledBalanceAdjustment_ = _getScheduledBalanceAdjustments(_pageIndex, _pageLength); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _SCHEDULED_BALANCE_ADJUSTMENTS_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](3); - staticFunctionSelectors_[selectorIndex++] = this - .scheduledBalanceAdjustmentCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getScheduledBalanceAdjustments - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .onScheduledBalanceAdjustmentTriggered - .selector; + staticFunctionSelectors_[selectorIndex++] = this.scheduledBalanceAdjustmentCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getScheduledBalanceAdjustments.selector; + staticFunctionSelectors_[selectorIndex++] = this.onScheduledBalanceAdjustmentTriggered.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type( - IScheduledBalanceAdjustments - ).interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IScheduledBalanceAdjustments).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledSnapshots/ScheduledSnapshots.sol b/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledSnapshots/ScheduledSnapshots.sol index 275cb9882..b44f5eb77 100644 --- a/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledSnapshots/ScheduledSnapshots.sol +++ b/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledSnapshots/ScheduledSnapshots.sol @@ -206,37 +206,21 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - IStaticFunctionSelectors -} from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {Common} from '../../../layer_1/common/Common.sol'; -import { - _SCHEDULED_SNAPSHOTS_RESOLVER_KEY -} from '../../constants/resolverKeys.sol'; -import { - IScheduledSnapshots -} from '../../interfaces/scheduledTasks/scheduledSnapshots/IScheduledSnapshots.sol'; -import {ScheduledTasksLib} from '../ScheduledTasksLib.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; - -contract ScheduledSnapshots is - IStaticFunctionSelectors, - IScheduledSnapshots, - Common -{ +import { IStaticFunctionSelectors } from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { Common } from '../../../layer_1/common/Common.sol'; +import { _SCHEDULED_SNAPSHOTS_RESOLVER_KEY } from '../../constants/resolverKeys.sol'; +import { IScheduledSnapshots } from '../../interfaces/scheduledTasks/scheduledSnapshots/IScheduledSnapshots.sol'; +import { ScheduledTasksLib } from '../ScheduledTasksLib.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; + +contract ScheduledSnapshots is IStaticFunctionSelectors, IScheduledSnapshots, Common { using EnumerableSet for EnumerableSet.Bytes32Set; function onScheduledSnapshotTriggered( uint256 _pos, uint256 _scheduledTasksLength, bytes memory _data - ) - external - override - onlyAutoCalling(_scheduledSnapshotStorage().autoCalling) - { + ) external override onlyAutoCalling(_scheduledSnapshotStorage().autoCalling) { uint256 newSnapShotID; if (_pos == _scheduledTasksLength - 1) { newSnapShotID = _snapshot(); @@ -252,52 +236,25 @@ contract ScheduledSnapshots is function getScheduledSnapshots( uint256 _pageIndex, uint256 _pageLength - ) - external - view - override - returns (ScheduledTasksLib.ScheduledTask[] memory scheduledSnapshot_) - { + ) external view override returns (ScheduledTasksLib.ScheduledTask[] memory scheduledSnapshot_) { scheduledSnapshot_ = _getScheduledSnapshots(_pageIndex, _pageLength); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _SCHEDULED_SNAPSHOTS_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](3); - staticFunctionSelectors_[selectorIndex++] = this - .scheduledSnapshotCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getScheduledSnapshots - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .onScheduledSnapshotTriggered - .selector; + staticFunctionSelectors_[selectorIndex++] = this.scheduledSnapshotCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getScheduledSnapshots.selector; + staticFunctionSelectors_[selectorIndex++] = this.onScheduledSnapshotTriggered.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(IScheduledSnapshots) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IScheduledSnapshots).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledTasks/ScheduledTasks.sol b/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledTasks/ScheduledTasks.sol index 551a26a1f..d78ed9708 100644 --- a/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledTasks/ScheduledTasks.sol +++ b/packages/ats/contracts/contracts/layer_2/scheduledTasks/scheduledTasks/ScheduledTasks.sol @@ -206,18 +206,12 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - IStaticFunctionSelectors -} from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {Common} from '../../../layer_1/common/Common.sol'; -import {_SCHEDULED_TASKS_RESOLVER_KEY} from '../../constants/resolverKeys.sol'; -import { - IScheduledTasks -} from '../../interfaces/scheduledTasks/scheduledTasks/IScheduledTasks.sol'; -import {ScheduledTasksLib} from '../ScheduledTasksLib.sol'; -import { - EnumerableSet -} from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; +import { IStaticFunctionSelectors } from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { Common } from '../../../layer_1/common/Common.sol'; +import { _SCHEDULED_TASKS_RESOLVER_KEY } from '../../constants/resolverKeys.sol'; +import { IScheduledTasks } from '../../interfaces/scheduledTasks/scheduledTasks/IScheduledTasks.sol'; +import { ScheduledTasksLib } from '../ScheduledTasksLib.sol'; +import { EnumerableSet } from '@openzeppelin/contracts/utils/structs/EnumerableSet.sol'; contract ScheduledTasks is IStaticFunctionSelectors, IScheduledTasks, Common { using EnumerableSet for EnumerableSet.Bytes32Set; @@ -230,18 +224,11 @@ contract ScheduledTasks is IStaticFunctionSelectors, IScheduledTasks, Common { _onScheduledTaskTriggered(_data); } - function triggerPendingScheduledTasks() - external - override - onlyUnpaused - returns (uint256) - { + function triggerPendingScheduledTasks() external override onlyUnpaused returns (uint256) { return _triggerScheduledTasks(0); } - function triggerScheduledTasks( - uint256 _max - ) external override onlyUnpaused returns (uint256) { + function triggerScheduledTasks(uint256 _max) external override onlyUnpaused returns (uint256) { return _triggerScheduledTasks(_max); } @@ -252,58 +239,27 @@ contract ScheduledTasks is IStaticFunctionSelectors, IScheduledTasks, Common { function getScheduledTasks( uint256 _pageIndex, uint256 _pageLength - ) - external - view - override - returns (ScheduledTasksLib.ScheduledTask[] memory scheduledTask_) - { + ) external view override returns (ScheduledTasksLib.ScheduledTask[] memory scheduledTask_) { scheduledTask_ = _getScheduledTasks(_pageIndex, _pageLength); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _SCHEDULED_TASKS_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](5); - staticFunctionSelectors_[selectorIndex++] = this - .triggerPendingScheduledTasks - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .triggerScheduledTasks - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .scheduledTaskCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getScheduledTasks - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .onScheduledTaskTriggered - .selector; + staticFunctionSelectors_[selectorIndex++] = this.triggerPendingScheduledTasks.selector; + staticFunctionSelectors_[selectorIndex++] = this.triggerScheduledTasks.selector; + staticFunctionSelectors_[selectorIndex++] = this.scheduledTaskCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getScheduledTasks.selector; + staticFunctionSelectors_[selectorIndex++] = this.onScheduledTaskTriggered.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(IScheduledTasks) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(IScheduledTasks).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_3/bondUSA/BondUSA.sol b/packages/ats/contracts/contracts/layer_3/bondUSA/BondUSA.sol index 32ef96779..7409e68fc 100644 --- a/packages/ats/contracts/contracts/layer_3/bondUSA/BondUSA.sol +++ b/packages/ats/contracts/contracts/layer_3/bondUSA/BondUSA.sol @@ -206,16 +206,13 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {Bond} from '../../layer_2/bond/Bond.sol'; -import {Security} from '../security/Security.sol'; -import {IBondUSA} from '../interfaces/IBondUSA.sol'; -import { - RegulationData, - AdditionalSecurityData -} from '../constants/regulation.sol'; -import {_BOND_RESOLVER_KEY} from '../../layer_2/constants/resolverKeys.sol'; -import {IBond} from '../../layer_2/interfaces/bond/IBond.sol'; -import {ISecurity} from '../interfaces/ISecurity.sol'; +import { Bond } from '../../layer_2/bond/Bond.sol'; +import { Security } from '../security/Security.sol'; +import { IBondUSA } from '../interfaces/IBondUSA.sol'; +import { RegulationData, AdditionalSecurityData } from '../constants/regulation.sol'; +import { _BOND_RESOLVER_KEY } from '../../layer_2/constants/resolverKeys.sol'; +import { IBond } from '../../layer_2/interfaces/bond/IBond.sol'; +import { ISecurity } from '../interfaces/ISecurity.sol'; contract BondUSA is IBondUSA, Bond, Security { // solhint-disable func-name-mixedcase @@ -230,52 +227,25 @@ contract BondUSA is IBondUSA, Bond, Security { _initializeSecurity(_regulationData, _additionalSecurityData); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _BOND_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](9); - staticFunctionSelectors_[selectorIndex++] = this - ._initialize_bondUSA - .selector; + staticFunctionSelectors_[selectorIndex++] = this._initialize_bondUSA.selector; staticFunctionSelectors_[selectorIndex++] = this.setCoupon.selector; - staticFunctionSelectors_[selectorIndex++] = this - .updateMaturityDate - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getBondDetails - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getCouponDetails - .selector; + staticFunctionSelectors_[selectorIndex++] = this.updateMaturityDate.selector; + staticFunctionSelectors_[selectorIndex++] = this.getBondDetails.selector; + staticFunctionSelectors_[selectorIndex++] = this.getCouponDetails.selector; staticFunctionSelectors_[selectorIndex++] = this.getCoupon.selector; staticFunctionSelectors_[selectorIndex++] = this.getCouponFor.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getCouponCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getSecurityRegulationData - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getCouponCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getSecurityRegulationData.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](3); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IBond).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_3/constants/regulation.sol b/packages/ats/contracts/contracts/layer_3/constants/regulation.sol index 8aa15dc35..7eaad2bfb 100644 --- a/packages/ats/contracts/contracts/layer_3/constants/regulation.sol +++ b/packages/ats/contracts/contracts/layer_3/constants/regulation.sol @@ -207,37 +207,28 @@ pragma solidity 0.8.18; uint256 constant _REGS_DEAL_SIZE = 0; -AccreditedInvestors constant _REGS_ACCREDITED_INVESTORS = AccreditedInvestors - .ACCREDITATION_REQUIRED; +AccreditedInvestors constant _REGS_ACCREDITED_INVESTORS = AccreditedInvestors.ACCREDITATION_REQUIRED; uint256 constant _REGS_MAX_NON_ACCREDITED_INVESTORS = 0; ManualInvestorVerification constant _REGS_MANUAL_INVESTOR_VERIFICATION = ManualInvestorVerification .VERIFICATION_INVESTORS_FINANCIAL_DOCUMENTS_REQUIRED; -InternationalInvestors constant _REGS_INTERNATIONAL_INVESTORS = InternationalInvestors - .ALLOWED; -ResaleHoldPeriod constant _REGS_RESALE_HOLD_PERIOD = ResaleHoldPeriod - .NOT_APPLICABLE; +InternationalInvestors constant _REGS_INTERNATIONAL_INVESTORS = InternationalInvestors.ALLOWED; +ResaleHoldPeriod constant _REGS_RESALE_HOLD_PERIOD = ResaleHoldPeriod.NOT_APPLICABLE; uint256 constant _REGD_506_B_DEAL_SIZE = 0; -AccreditedInvestors constant _REGD_506_B_ACCREDITED_INVESTORS = AccreditedInvestors - .ACCREDITATION_REQUIRED; +AccreditedInvestors constant _REGD_506_B_ACCREDITED_INVESTORS = AccreditedInvestors.ACCREDITATION_REQUIRED; uint256 constant _REGD_506_B_MAX_NON_ACCREDITED_INVESTORS = 35; ManualInvestorVerification constant _REGD_506_B_MANUAL_INVESTOR_VERIFICATION = ManualInvestorVerification .VERIFICATION_INVESTORS_FINANCIAL_DOCUMENTS_REQUIRED; -InternationalInvestors constant _REGD_506_B_INTERNATIONAL_INVESTORS = InternationalInvestors - .NOT_ALLOWED; -ResaleHoldPeriod constant _REGD_506_B_RESALE_HOLD_PERIOD = ResaleHoldPeriod - .APPLICABLE_FROM_6_MOTHS_TO_1_YEAR; +InternationalInvestors constant _REGD_506_B_INTERNATIONAL_INVESTORS = InternationalInvestors.NOT_ALLOWED; +ResaleHoldPeriod constant _REGD_506_B_RESALE_HOLD_PERIOD = ResaleHoldPeriod.APPLICABLE_FROM_6_MOTHS_TO_1_YEAR; uint256 constant _REGD_506_C_DEAL_SIZE = 0; -AccreditedInvestors constant _REGD_506_C_ACCREDITED_INVESTORS = AccreditedInvestors - .ACCREDITATION_REQUIRED; +AccreditedInvestors constant _REGD_506_C_ACCREDITED_INVESTORS = AccreditedInvestors.ACCREDITATION_REQUIRED; uint256 constant _REGD_506_C_MAX_NON_ACCREDITED_INVESTORS = 0; ManualInvestorVerification constant _REGD_506_C_MANUAL_INVESTOR_VERIFICATION = ManualInvestorVerification .VERIFICATION_INVESTORS_FINANCIAL_DOCUMENTS_REQUIRED; -InternationalInvestors constant _REGD_506_C_INTERNATIONAL_INVESTORS = InternationalInvestors - .NOT_ALLOWED; -ResaleHoldPeriod constant _REGD_506_C_RESALE_HOLD_PERIOD = ResaleHoldPeriod - .APPLICABLE_FROM_6_MOTHS_TO_1_YEAR; +InternationalInvestors constant _REGD_506_C_INTERNATIONAL_INVESTORS = InternationalInvestors.NOT_ALLOWED; +ResaleHoldPeriod constant _REGD_506_C_RESALE_HOLD_PERIOD = ResaleHoldPeriod.APPLICABLE_FROM_6_MOTHS_TO_1_YEAR; enum RegulationType { NONE, @@ -294,10 +285,7 @@ struct RegulationData { ResaleHoldPeriod resaleHoldPeriod; } -error RegulationTypeAndSubTypeForbidden( - RegulationType regulationType, - RegulationSubType regulationSubType -); +error RegulationTypeAndSubTypeForbidden(RegulationType regulationType, RegulationSubType regulationSubType); function buildRegulationData( RegulationType _regulationType, @@ -307,26 +295,11 @@ function buildRegulationData( regulationType: _regulationType, regulationSubType: _regulationSubType, dealSize: buildDealSize(_regulationType, _regulationSubType), - accreditedInvestors: buildAccreditedInvestors( - _regulationType, - _regulationSubType - ), - maxNonAccreditedInvestors: buildMaxNonAccreditedInvestors( - _regulationType, - _regulationSubType - ), - manualInvestorVerification: buildManualInvestorVerification( - _regulationType, - _regulationSubType - ), - internationalInvestors: buildInternationalInvestors( - _regulationType, - _regulationSubType - ), - resaleHoldPeriod: buildResaleHoldPeriod( - _regulationType, - _regulationSubType - ) + accreditedInvestors: buildAccreditedInvestors(_regulationType, _regulationSubType), + maxNonAccreditedInvestors: buildMaxNonAccreditedInvestors(_regulationType, _regulationSubType), + manualInvestorVerification: buildManualInvestorVerification(_regulationType, _regulationSubType), + internationalInvestors: buildInternationalInvestors(_regulationType, _regulationSubType), + resaleHoldPeriod: buildResaleHoldPeriod(_regulationType, _regulationSubType) }); } @@ -408,17 +381,11 @@ function buildResaleHoldPeriod( resaleHoldPeriod_ = _REGD_506_C_RESALE_HOLD_PERIOD; } -function checkRegulationTypeAndSubType( - RegulationType _regulationType, - RegulationSubType _regulationSubType -) pure { +function checkRegulationTypeAndSubType(RegulationType _regulationType, RegulationSubType _regulationSubType) pure { if (isValidTypeAndSubType(_regulationType, _regulationSubType)) { return; } - revert RegulationTypeAndSubTypeForbidden( - _regulationType, - _regulationSubType - ); + revert RegulationTypeAndSubTypeForbidden(_regulationType, _regulationSubType); } function isValidTypeAndSubType( @@ -434,16 +401,12 @@ function isValidTypeAndSubTypeForRegS( RegulationType _regulationType, RegulationSubType _regulationSubType ) pure returns (bool isValid_) { - isValid_ = - _regulationType == RegulationType.REG_S && - _regulationSubType == RegulationSubType.NONE; + isValid_ = _regulationType == RegulationType.REG_S && _regulationSubType == RegulationSubType.NONE; } function isValidTypeAndSubTypeForRegD( RegulationType _regulationType, RegulationSubType _regulationSubType ) pure returns (bool isValid_) { - isValid_ = - _regulationType == RegulationType.REG_D && - _regulationSubType != RegulationSubType.NONE; + isValid_ = _regulationType == RegulationType.REG_D && _regulationSubType != RegulationSubType.NONE; } diff --git a/packages/ats/contracts/contracts/layer_3/equityUSA/EquityUSA.sol b/packages/ats/contracts/contracts/layer_3/equityUSA/EquityUSA.sol index a81505fd5..df52b6250 100644 --- a/packages/ats/contracts/contracts/layer_3/equityUSA/EquityUSA.sol +++ b/packages/ats/contracts/contracts/layer_3/equityUSA/EquityUSA.sol @@ -206,16 +206,13 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {Security} from '../security/Security.sol'; -import {IEquityUSA} from '../interfaces/IEquityUSA.sol'; -import {Equity} from '../../layer_2/equity/Equity.sol'; -import { - RegulationData, - AdditionalSecurityData -} from '../constants/regulation.sol'; -import {_EQUITY_RESOLVER_KEY} from '../../layer_2/constants/resolverKeys.sol'; -import {IEquity} from '../../layer_2/interfaces/equity/IEquity.sol'; -import {ISecurity} from '../interfaces/ISecurity.sol'; +import { Security } from '../security/Security.sol'; +import { IEquityUSA } from '../interfaces/IEquityUSA.sol'; +import { Equity } from '../../layer_2/equity/Equity.sol'; +import { RegulationData, AdditionalSecurityData } from '../constants/regulation.sol'; +import { _EQUITY_RESOLVER_KEY } from '../../layer_2/constants/resolverKeys.sol'; +import { IEquity } from '../../layer_2/interfaces/equity/IEquity.sol'; +import { ISecurity } from '../interfaces/ISecurity.sol'; contract EquityUSA is IEquityUSA, Equity, Security { // solhint-disable func-name-mixedcase @@ -229,63 +226,30 @@ contract EquityUSA is IEquityUSA, Equity, Security { _initializeSecurity(_regulationData, _additionalSecurityData); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _EQUITY_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](14); - staticFunctionSelectors_[selectorIndex++] = this - ._initialize_equityUSA - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getEquityDetails - .selector; + staticFunctionSelectors_[selectorIndex++] = this._initialize_equityUSA.selector; + staticFunctionSelectors_[selectorIndex++] = this.getEquityDetails.selector; staticFunctionSelectors_[selectorIndex++] = this.setDividends.selector; staticFunctionSelectors_[selectorIndex++] = this.getDividends.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getDividendsFor - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getDividendsCount - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getDividendsFor.selector; + staticFunctionSelectors_[selectorIndex++] = this.getDividendsCount.selector; staticFunctionSelectors_[selectorIndex++] = this.setVoting.selector; staticFunctionSelectors_[selectorIndex++] = this.getVoting.selector; staticFunctionSelectors_[selectorIndex++] = this.getVotingFor.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getVotingCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .setScheduledBalanceAdjustment - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getScheduledBalanceAdjustment - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getScheduledBalanceAdjustmentCount - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getSecurityRegulationData - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getVotingCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.setScheduledBalanceAdjustment.selector; + staticFunctionSelectors_[selectorIndex++] = this.getScheduledBalanceAdjustment.selector; + staticFunctionSelectors_[selectorIndex++] = this.getScheduledBalanceAdjustmentCount.selector; + staticFunctionSelectors_[selectorIndex++] = this.getSecurityRegulationData.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](3); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IEquity).interfaceId; diff --git a/packages/ats/contracts/contracts/layer_3/interfaces/IBondUSA.sol b/packages/ats/contracts/contracts/layer_3/interfaces/IBondUSA.sol index cfcbb0b08..f2f6d2453 100644 --- a/packages/ats/contracts/contracts/layer_3/interfaces/IBondUSA.sol +++ b/packages/ats/contracts/contracts/layer_3/interfaces/IBondUSA.sol @@ -206,12 +206,9 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IBond} from '../../layer_2/interfaces/bond/IBond.sol'; -import {ISecurity} from './ISecurity.sol'; -import { - RegulationData, - AdditionalSecurityData -} from '../constants/regulation.sol'; +import { IBond } from '../../layer_2/interfaces/bond/IBond.sol'; +import { ISecurity } from './ISecurity.sol'; +import { RegulationData, AdditionalSecurityData } from '../constants/regulation.sol'; interface IBondUSA is IBond, ISecurity { // solhint-disable func-name-mixedcase diff --git a/packages/ats/contracts/contracts/layer_3/interfaces/IEquityUSA.sol b/packages/ats/contracts/contracts/layer_3/interfaces/IEquityUSA.sol index 1be139b27..99039a02c 100644 --- a/packages/ats/contracts/contracts/layer_3/interfaces/IEquityUSA.sol +++ b/packages/ats/contracts/contracts/layer_3/interfaces/IEquityUSA.sol @@ -206,12 +206,9 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {IEquity} from '../../layer_2/interfaces/equity/IEquity.sol'; -import {ISecurity} from './ISecurity.sol'; -import { - RegulationData, - AdditionalSecurityData -} from '../constants/regulation.sol'; +import { IEquity } from '../../layer_2/interfaces/equity/IEquity.sol'; +import { ISecurity } from './ISecurity.sol'; +import { RegulationData, AdditionalSecurityData } from '../constants/regulation.sol'; interface IEquityUSA is IEquity, ISecurity { // solhint-disable func-name-mixedcase diff --git a/packages/ats/contracts/contracts/layer_3/interfaces/ISecurity.sol b/packages/ats/contracts/contracts/layer_3/interfaces/ISecurity.sol index 68f6ada21..0a0ee1602 100644 --- a/packages/ats/contracts/contracts/layer_3/interfaces/ISecurity.sol +++ b/packages/ats/contracts/contracts/layer_3/interfaces/ISecurity.sol @@ -205,10 +205,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - RegulationData, - AdditionalSecurityData -} from '../constants/regulation.sol'; +import { RegulationData, AdditionalSecurityData } from '../constants/regulation.sol'; interface ISecurity { struct SecurityRegulationData { @@ -216,8 +213,5 @@ interface ISecurity { AdditionalSecurityData additionalSecurityData; } - function getSecurityRegulationData() - external - view - returns (SecurityRegulationData memory securityRegulationData_); + function getSecurityRegulationData() external view returns (SecurityRegulationData memory securityRegulationData_); } diff --git a/packages/ats/contracts/contracts/layer_3/security/Security.sol b/packages/ats/contracts/contracts/layer_3/security/Security.sol index 65671cc5d..15cfa0e8c 100644 --- a/packages/ats/contracts/contracts/layer_3/security/Security.sol +++ b/packages/ats/contracts/contracts/layer_3/security/Security.sol @@ -206,13 +206,10 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {ISecurity} from '../interfaces/ISecurity.sol'; -import {SecurityStorageWrapper} from './SecurityStorageWrapper.sol'; -import { - RegulationData, - AdditionalSecurityData -} from '../constants/regulation.sol'; -import {Common} from '../../layer_1/common/Common.sol'; +import { ISecurity } from '../interfaces/ISecurity.sol'; +import { SecurityStorageWrapper } from './SecurityStorageWrapper.sol'; +import { RegulationData, AdditionalSecurityData } from '../constants/regulation.sol'; +import { Common } from '../../layer_1/common/Common.sol'; abstract contract Security is ISecurity, SecurityStorageWrapper, Common { function getSecurityRegulationData() diff --git a/packages/ats/contracts/contracts/layer_3/security/SecurityStorageWrapper.sol b/packages/ats/contracts/contracts/layer_3/security/SecurityStorageWrapper.sol index fea4989a7..66ba1ad59 100644 --- a/packages/ats/contracts/contracts/layer_3/security/SecurityStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_3/security/SecurityStorageWrapper.sol @@ -206,12 +206,9 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - RegulationData, - AdditionalSecurityData -} from '../constants/regulation.sol'; -import {_SECURITY_STORAGE_POSITION} from '../constants/storagePositions.sol'; -import {ISecurity} from '../interfaces/ISecurity.sol'; +import { RegulationData, AdditionalSecurityData } from '../constants/regulation.sol'; +import { _SECURITY_STORAGE_POSITION } from '../constants/storagePositions.sol'; +import { ISecurity } from '../interfaces/ISecurity.sol'; contract SecurityStorageWrapper { function _storeRegulationData( @@ -226,18 +223,12 @@ contract SecurityStorageWrapper { function _getSecurityRegulationData() internal pure - returns ( - ISecurity.SecurityRegulationData memory securityRegulationData_ - ) + returns (ISecurity.SecurityRegulationData memory securityRegulationData_) { securityRegulationData_ = _securityStorage(); } - function _securityStorage() - internal - pure - returns (ISecurity.SecurityRegulationData storage securityStorage_) - { + function _securityStorage() internal pure returns (ISecurity.SecurityRegulationData storage securityStorage_) { bytes32 position = _SECURITY_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/layer_3/transferAndLock/TransferAndLock.sol b/packages/ats/contracts/contracts/layer_3/transferAndLock/TransferAndLock.sol index 4d018f55a..1627f613b 100644 --- a/packages/ats/contracts/contracts/layer_3/transferAndLock/TransferAndLock.sol +++ b/packages/ats/contracts/contracts/layer_3/transferAndLock/TransferAndLock.sol @@ -206,24 +206,15 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {ITransferAndLock} from '../interfaces/ITransferAndLock.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {_LOCKER_ROLE} from '../../layer_1/constants/roles.sol'; -import {_DEFAULT_PARTITION} from '../../layer_0/constants/values.sol'; -import {_TRANSFER_AND_LOCK_RESOLVER_KEY} from '../constants/resolverKeys.sol'; -import { - TransferAndLockStorageWrapper -} from './TransferAndLockStorageWrapper.sol'; -import { - IERC1410Basic -} from '../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; - -contract TransferAndLock is - IStaticFunctionSelectors, - TransferAndLockStorageWrapper -{ +import { ITransferAndLock } from '../interfaces/ITransferAndLock.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { _LOCKER_ROLE } from '../../layer_1/constants/roles.sol'; +import { _DEFAULT_PARTITION } from '../../layer_0/constants/values.sol'; +import { _TRANSFER_AND_LOCK_RESOLVER_KEY } from '../constants/resolverKeys.sol'; +import { TransferAndLockStorageWrapper } from './TransferAndLockStorageWrapper.sol'; +import { IERC1410Basic } from '../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; + +contract TransferAndLock is IStaticFunctionSelectors, TransferAndLockStorageWrapper { function transferAndLockByPartition( bytes32 _partition, address _to, @@ -248,12 +239,7 @@ contract TransferAndLock is _msgSender(), '' ); - (success_, lockId_) = _lockByPartition( - _partition, - _amount, - _to, - _expirationTimestamp - ); + (success_, lockId_) = _lockByPartition(_partition, _amount, _to, _expirationTimestamp); emit PartitionTransferredAndLocked( _partition, _msgSender(), @@ -288,12 +274,7 @@ contract TransferAndLock is _msgSender(), '' ); - (success_, lockId_) = _lockByPartition( - _DEFAULT_PARTITION, - _amount, - _to, - _expirationTimestamp - ); + (success_, lockId_) = _lockByPartition(_DEFAULT_PARTITION, _amount, _to, _expirationTimestamp); emit PartitionTransferredAndLocked( _DEFAULT_PARTITION, _msgSender(), @@ -318,20 +299,11 @@ contract TransferAndLock is onlyRole(_protectedPartitionsRole(_partition)) onlyUnpaused onlyDefaultPartitionWithSinglePartition(_partition) - onlyWithValidExpirationTimestamp( - _transferAndLockData.expirationTimestamp - ) + onlyWithValidExpirationTimestamp(_transferAndLockData.expirationTimestamp) onlyProtectedPartitions returns (bool success_, uint256 lockId_) { - return - _protectedTransferAndLockByPartition( - _partition, - _transferAndLockData, - _deadline, - _nounce, - _signature - ); + return _protectedTransferAndLockByPartition(_partition, _transferAndLockData, _deadline, _nounce, _signature); } function protectedTransferAndLock( @@ -346,55 +318,27 @@ contract TransferAndLock is onlyRole(_protectedPartitionsRole(_DEFAULT_PARTITION)) onlyUnpaused onlyWithoutMultiPartition - onlyWithValidExpirationTimestamp( - _transferAndLockData.expirationTimestamp - ) + onlyWithValidExpirationTimestamp(_transferAndLockData.expirationTimestamp) onlyProtectedPartitions returns (bool success_, uint256 lockId_) { - return - _protectedTransferAndLock( - _transferAndLockData, - _deadline, - _nounce, - _signature - ); + return _protectedTransferAndLock(_transferAndLockData, _deadline, _nounce, _signature); } - function getStaticResolverKey() - external - pure - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _TRANSFER_AND_LOCK_RESOLVER_KEY; } - function getStaticFunctionSelectors() - external - pure - override - returns (bytes4[] memory staticFunctionSelectors_) - { + function getStaticFunctionSelectors() external pure override returns (bytes4[] memory staticFunctionSelectors_) { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](2); - staticFunctionSelectors_[selectorIndex++] = this - .transferAndLockByPartition - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .transferAndLock - .selector; + staticFunctionSelectors_[selectorIndex++] = this.transferAndLockByPartition.selector; + staticFunctionSelectors_[selectorIndex++] = this.transferAndLock.selector; } - function getStaticInterfaceIds() - external - pure - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; - staticInterfaceIds_[selectorsIndex++] = type(ITransferAndLock) - .interfaceId; + staticInterfaceIds_[selectorsIndex++] = type(ITransferAndLock).interfaceId; } } diff --git a/packages/ats/contracts/contracts/layer_3/transferAndLock/TransferAndLockStorageWrapper.sol b/packages/ats/contracts/contracts/layer_3/transferAndLock/TransferAndLockStorageWrapper.sol index 6602d12ab..e41910da4 100644 --- a/packages/ats/contracts/contracts/layer_3/transferAndLock/TransferAndLockStorageWrapper.sol +++ b/packages/ats/contracts/contracts/layer_3/transferAndLock/TransferAndLockStorageWrapper.sol @@ -205,20 +205,12 @@ pragma solidity 0.8.18; -import {Common} from '../../layer_1/common/Common.sol'; -import { - checkNounceAndDeadline, - verify -} from '../../layer_1/protectedPartitions/signatureVerification.sol'; -import {ITransferAndLock} from '../interfaces/ITransferAndLock.sol'; -import {_DEFAULT_PARTITION} from '../../layer_0/constants/values.sol'; -import { - getMessageHashTransferAndLockByPartition, - getMessageHashTransferAndLock -} from './signatureVerification.sol'; -import { - IERC1410Basic -} from '../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; +import { Common } from '../../layer_1/common/Common.sol'; +import { checkNounceAndDeadline, verify } from '../../layer_1/protectedPartitions/signatureVerification.sol'; +import { ITransferAndLock } from '../interfaces/ITransferAndLock.sol'; +import { _DEFAULT_PARTITION } from '../../layer_0/constants/values.sol'; +import { getMessageHashTransferAndLockByPartition, getMessageHashTransferAndLock } from './signatureVerification.sol'; +import { IERC1410Basic } from '../../layer_1/interfaces/ERC1400/IERC1410Basic.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution @@ -238,22 +230,13 @@ abstract contract TransferAndLockStorageWrapper is ITransferAndLock, Common { _blockTimestamp() ); - _checkTransferAndLockByPartitionSignature( - _partition, - _transferAndLock, - _deadline, - _nounce, - _signature - ); + _checkTransferAndLockByPartitionSignature(_partition, _transferAndLock, _deadline, _nounce, _signature); _setNounce(_nounce, _transferAndLock.from); _transferByPartition( _msgSender(), - IERC1410Basic.BasicTransferInfo( - _transferAndLock.to, - _transferAndLock.amount - ), + IERC1410Basic.BasicTransferInfo(_transferAndLock.to, _transferAndLock.amount), _partition, _transferAndLock.data, _msgSender(), @@ -290,21 +273,13 @@ abstract contract TransferAndLockStorageWrapper is ITransferAndLock, Common { _blockTimestamp() ); - _checkTransferAndLockSignature( - _transferAndLock, - _deadline, - _nounce, - _signature - ); + _checkTransferAndLockSignature(_transferAndLock, _deadline, _nounce, _signature); _setNounce(_nounce, _transferAndLock.from); _transferByPartition( _msgSender(), - IERC1410Basic.BasicTransferInfo( - _transferAndLock.to, - _transferAndLock.amount - ), + IERC1410Basic.BasicTransferInfo(_transferAndLock.to, _transferAndLock.amount), _DEFAULT_PARTITION, _transferAndLock.data, _msgSender(), @@ -334,15 +309,8 @@ abstract contract TransferAndLockStorageWrapper is ITransferAndLock, Common { uint256 _nounce, bytes calldata _signature ) internal view { - if ( - !_isTransferAndLockByPartitionSignatureValid( - _partition, - _transferAndLock, - _deadline, - _nounce, - _signature - ) - ) revert WrongSignature(); + if (!_isTransferAndLockByPartitionSignatureValid(_partition, _transferAndLock, _deadline, _nounce, _signature)) + revert WrongSignature(); } function _isTransferAndLockByPartitionSignatureValid( @@ -380,14 +348,8 @@ abstract contract TransferAndLockStorageWrapper is ITransferAndLock, Common { uint256 _nounce, bytes calldata _signature ) internal view { - if ( - !_isTransferAndLockSignatureValid( - _transferAndLock, - _deadline, - _nounce, - _signature - ) - ) revert WrongSignature(); + if (!_isTransferAndLockSignatureValid(_transferAndLock, _deadline, _nounce, _signature)) + revert WrongSignature(); } function _isTransferAndLockSignatureValid( diff --git a/packages/ats/contracts/contracts/mocks/MockedExternalBlacklist.sol b/packages/ats/contracts/contracts/mocks/MockedExternalBlacklist.sol index 2c51ed14c..edca356d8 100644 --- a/packages/ats/contracts/contracts/mocks/MockedExternalBlacklist.sol +++ b/packages/ats/contracts/contracts/mocks/MockedExternalBlacklist.sol @@ -1,9 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - IExternalControlList -} from '../layer_1/interfaces/externalControlLists/IExternalControlList.sol'; +import { IExternalControlList } from '../layer_1/interfaces/externalControlLists/IExternalControlList.sol'; contract MockedBlacklist is IExternalControlList { mapping(address => bool) private _blacklist; diff --git a/packages/ats/contracts/contracts/mocks/MockedExternalKycList.sol b/packages/ats/contracts/contracts/mocks/MockedExternalKycList.sol index 471f2c445..c304f1614 100644 --- a/packages/ats/contracts/contracts/mocks/MockedExternalKycList.sol +++ b/packages/ats/contracts/contracts/mocks/MockedExternalKycList.sol @@ -1,10 +1,8 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - IExternalKycList -} from '../layer_1/interfaces/externalKycLists/IExternalKycList.sol'; -import {IKyc} from '../layer_1/interfaces/kyc/IKyc.sol'; +import { IExternalKycList } from '../layer_1/interfaces/externalKycLists/IExternalKycList.sol'; +import { IKyc } from '../layer_1/interfaces/kyc/IKyc.sol'; contract MockedExternalKycList is IExternalKycList { mapping(address => IKyc.KycStatus) private _kycStatus; @@ -22,9 +20,7 @@ contract MockedExternalKycList is IExternalKycList { emit KycRevoked(account); } - function getKycStatus( - address account - ) external view override returns (IKyc.KycStatus) { + function getKycStatus(address account) external view override returns (IKyc.KycStatus) { return _kycStatus[account]; } } diff --git a/packages/ats/contracts/contracts/mocks/MockedExternalPause.sol b/packages/ats/contracts/contracts/mocks/MockedExternalPause.sol index 56078df70..e5ec4d5ea 100644 --- a/packages/ats/contracts/contracts/mocks/MockedExternalPause.sol +++ b/packages/ats/contracts/contracts/mocks/MockedExternalPause.sol @@ -1,9 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - IExternalPause -} from '../layer_1/interfaces/externalPauses/IExternalPause.sol'; +import { IExternalPause } from '../layer_1/interfaces/externalPauses/IExternalPause.sol'; contract MockedExternalPause is IExternalPause { bool private _paused; diff --git a/packages/ats/contracts/contracts/mocks/MockedExternalWhitelist.sol b/packages/ats/contracts/contracts/mocks/MockedExternalWhitelist.sol index 70bb1ba45..15ab0a36e 100644 --- a/packages/ats/contracts/contracts/mocks/MockedExternalWhitelist.sol +++ b/packages/ats/contracts/contracts/mocks/MockedExternalWhitelist.sol @@ -1,9 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - IExternalControlList -} from '../layer_1/interfaces/externalControlLists/IExternalControlList.sol'; +import { IExternalControlList } from '../layer_1/interfaces/externalControlLists/IExternalControlList.sol'; contract MockedWhitelist is IExternalControlList { mapping(address => bool) private _whitelist; diff --git a/packages/ats/contracts/contracts/proxies/Proxies.sol b/packages/ats/contracts/contracts/proxies/Proxies.sol index b7fc9f649..2d654f160 100644 --- a/packages/ats/contracts/contracts/proxies/Proxies.sol +++ b/packages/ats/contracts/contracts/proxies/Proxies.sol @@ -208,11 +208,7 @@ pragma solidity 0.8.18; // solhint-disable no-unused-import // solhint-disable no-empty-blocks -import { - ProxyAdmin -} from '@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol'; -import { - TransparentUpgradeableProxy -} from '@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol'; +import { ProxyAdmin } from '@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol'; +import { TransparentUpgradeableProxy } from '@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol'; contract Proxies {} diff --git a/packages/ats/contracts/contracts/resolver/BusinessLogicResolver.sol b/packages/ats/contracts/contracts/resolver/BusinessLogicResolver.sol index 48e63c526..9e584cabb 100644 --- a/packages/ats/contracts/contracts/resolver/BusinessLogicResolver.sol +++ b/packages/ats/contracts/contracts/resolver/BusinessLogicResolver.sol @@ -206,11 +206,9 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - IBusinessLogicResolver -} from '../interfaces/resolver/IBusinessLogicResolver.sol'; -import {DiamondCutManager} from './diamondCutManager/DiamondCutManager.sol'; -import {_DEFAULT_ADMIN_ROLE} from '../layer_1/constants/roles.sol'; +import { IBusinessLogicResolver } from '../interfaces/resolver/IBusinessLogicResolver.sol'; +import { DiamondCutManager } from './diamondCutManager/DiamondCutManager.sol'; +import { _DEFAULT_ADMIN_ROLE } from '../layer_1/constants/roles.sol'; contract BusinessLogicResolver is IBusinessLogicResolver, DiamondCutManager { error Unimplemented(); @@ -230,13 +228,7 @@ contract BusinessLogicResolver is IBusinessLogicResolver, DiamondCutManager { function registerBusinessLogics( BusinessLogicRegistryData[] calldata _businessLogics - ) - external - override - onlyValidKeys(_businessLogics) - onlyRole(_DEFAULT_ADMIN_ROLE) - onlyUnpaused - { + ) external override onlyValidKeys(_businessLogics) onlyRole(_DEFAULT_ADMIN_ROLE) onlyUnpaused { uint256 latestVersion = _registerBusinessLogics(_businessLogics); emit BusinessLogicsRegistered(_businessLogics, latestVersion); @@ -258,22 +250,11 @@ contract BusinessLogicResolver is IBusinessLogicResolver, DiamondCutManager { function getVersionStatus( uint256 _version - ) - external - view - override - validVersion(_version) - returns (VersionStatus status_) - { + ) external view override validVersion(_version) returns (VersionStatus status_) { status_ = _getVersionStatus(_version); } - function getLatestVersion() - external - view - override - returns (uint256 latestVersion_) - { + function getLatestVersion() external view override returns (uint256 latestVersion_) { latestVersion_ = _getLatestVersion(); } @@ -286,25 +267,11 @@ contract BusinessLogicResolver is IBusinessLogicResolver, DiamondCutManager { function resolveBusinessLogicByVersion( bytes32 _businessLogicKey, uint256 _version - ) - external - view - override - validVersion(_version) - returns (address businessLogicAddress_) - { - businessLogicAddress_ = _resolveBusinessLogicByVersion( - _businessLogicKey, - _version - ); + ) external view override validVersion(_version) returns (address businessLogicAddress_) { + businessLogicAddress_ = _resolveBusinessLogicByVersion(_businessLogicKey, _version); } - function getBusinessLogicCount() - external - view - override - returns (uint256 businessLogicCount_) - { + function getBusinessLogicCount() external view override returns (uint256 businessLogicCount_) { businessLogicCount_ = _getBusinessLogicCount(); } @@ -320,7 +287,6 @@ contract BusinessLogicResolver is IBusinessLogicResolver, DiamondCutManager { uint256 _pageIndex, uint256 _pageLength ) external view override returns (bytes4[] memory selectors_) { - return - _getSelectorsBlacklist(_configurationId, _pageIndex, _pageLength); + return _getSelectorsBlacklist(_configurationId, _pageIndex, _pageLength); } } diff --git a/packages/ats/contracts/contracts/resolver/BusinessLogicResolverWrapper.sol b/packages/ats/contracts/contracts/resolver/BusinessLogicResolverWrapper.sol index b3faae428..ef6c56f8e 100644 --- a/packages/ats/contracts/contracts/resolver/BusinessLogicResolverWrapper.sol +++ b/packages/ats/contracts/contracts/resolver/BusinessLogicResolverWrapper.sol @@ -206,26 +206,14 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - IBusinessLogicResolver -} from '../interfaces/resolver/IBusinessLogicResolver.sol'; -import {LibCommon} from '../layer_0/common/libraries/LibCommon.sol'; -import { - EnumerableSetBytes4 -} from '../layer_0/common/libraries/EnumerableSetBytes4.sol'; -import { - IBusinessLogicResolverWrapper -} from '../interfaces/resolver/IBusinessLogicResolverWrapper.sol'; -import { - IBusinessLogicResolver -} from '../interfaces/resolver/IBusinessLogicResolver.sol'; -import { - _BUSINESS_LOGIC_RESOLVER_STORAGE_POSITION -} from '../constants/storagePositions.sol'; - -abstract contract BusinessLogicResolverWrapper is - IBusinessLogicResolverWrapper -{ +import { IBusinessLogicResolver } from '../interfaces/resolver/IBusinessLogicResolver.sol'; +import { LibCommon } from '../layer_0/common/libraries/LibCommon.sol'; +import { EnumerableSetBytes4 } from '../layer_0/common/libraries/EnumerableSetBytes4.sol'; +import { IBusinessLogicResolverWrapper } from '../interfaces/resolver/IBusinessLogicResolverWrapper.sol'; +import { IBusinessLogicResolver } from '../interfaces/resolver/IBusinessLogicResolver.sol'; +import { _BUSINESS_LOGIC_RESOLVER_STORAGE_POSITION } from '../constants/storagePositions.sol'; + +abstract contract BusinessLogicResolverWrapper is IBusinessLogicResolverWrapper { struct BusinessLogicResolverDataStorage { uint256 latestVersion; // list of facetIds @@ -247,36 +235,22 @@ abstract contract BusinessLogicResolverWrapper is _; } - modifier onlyValidKeys( - IBusinessLogicResolver.BusinessLogicRegistryData[] - calldata _businessLogicsRegistryDatas - ) { + modifier onlyValidKeys(IBusinessLogicResolver.BusinessLogicRegistryData[] calldata _businessLogicsRegistryDatas) { _checkValidKeys(_businessLogicsRegistryDatas); _; } function _registerBusinessLogics( - IBusinessLogicResolver.BusinessLogicRegistryData[] - calldata _businessLogicsRegistryDatas + IBusinessLogicResolver.BusinessLogicRegistryData[] calldata _businessLogicsRegistryDatas ) internal returns (uint256 latestVersion_) { - BusinessLogicResolverDataStorage - storage businessLogicResolverDataStorage = _businessLogicResolverStorage(); + BusinessLogicResolverDataStorage storage businessLogicResolverDataStorage = _businessLogicResolverStorage(); businessLogicResolverDataStorage.latestVersion++; - IBusinessLogicResolver.BusinessLogicRegistryData - memory _businessLogicsRegistryData; - for ( - uint256 index; - index < _businessLogicsRegistryDatas.length; - index++ - ) { + IBusinessLogicResolver.BusinessLogicRegistryData memory _businessLogicsRegistryData; + for (uint256 index; index < _businessLogicsRegistryDatas.length; index++) { _businessLogicsRegistryData = _businessLogicsRegistryDatas[index]; - if ( - !businessLogicResolverDataStorage.businessLogicActive[ - _businessLogicsRegistryData.businessLogicKey - ] - ) { + if (!businessLogicResolverDataStorage.businessLogicActive[_businessLogicsRegistryData.businessLogicKey]) { businessLogicResolverDataStorage.businessLogicActive[ _businessLogicsRegistryData.businessLogicKey ] = true; @@ -285,11 +259,8 @@ abstract contract BusinessLogicResolverWrapper is ); } - IBusinessLogicResolver.BusinessLogicVersion[] - storage versions = businessLogicResolverDataStorage - .businessLogics[ - _businessLogicsRegistryData.businessLogicKey - ]; + IBusinessLogicResolver.BusinessLogicVersion[] storage versions = businessLogicResolverDataStorage + .businessLogics[_businessLogicsRegistryData.businessLogicKey]; versions.push( IBusinessLogicResolver.BusinessLogicVersion({ @@ -297,8 +268,7 @@ abstract contract BusinessLogicResolverWrapper is version: businessLogicResolverDataStorage.latestVersion, status: IBusinessLogicResolver.VersionStatus.ACTIVATED }), - businessLogicAddress: _businessLogicsRegistryData - .businessLogicAddress + businessLogicAddress: _businessLogicsRegistryData.businessLogicAddress }) ); businessLogicResolverDataStorage.businessLogicVersionIndex[ @@ -318,13 +288,10 @@ abstract contract BusinessLogicResolverWrapper is return businessLogicResolverDataStorage.latestVersion; } - function _addSelectorsToBlacklist( - bytes32 _configurationId, - bytes4[] calldata _selectors - ) internal { - EnumerableSetBytes4.Bytes4Set - storage selectorBlacklist = _businessLogicResolverStorage() - .selectorBlacklist[_configurationId]; + function _addSelectorsToBlacklist(bytes32 _configurationId, bytes4[] calldata _selectors) internal { + EnumerableSetBytes4.Bytes4Set storage selectorBlacklist = _businessLogicResolverStorage().selectorBlacklist[ + _configurationId + ]; uint256 length = _selectors.length; for (uint256 index; index < length; ) { bytes4 selector = _selectors[index]; @@ -337,13 +304,10 @@ abstract contract BusinessLogicResolverWrapper is } } - function _removeSelectorsFromBlacklist( - bytes32 _configurationId, - bytes4[] calldata _selectors - ) internal { - EnumerableSetBytes4.Bytes4Set - storage selectorBlacklist = _businessLogicResolverStorage() - .selectorBlacklist[_configurationId]; + function _removeSelectorsFromBlacklist(bytes32 _configurationId, bytes4[] calldata _selectors) internal { + EnumerableSetBytes4.Bytes4Set storage selectorBlacklist = _businessLogicResolverStorage().selectorBlacklist[ + _configurationId + ]; uint256 length = _selectors.length; for (uint256 index; index < length; ) { bytes4 selector = _selectors[index]; @@ -356,17 +320,11 @@ abstract contract BusinessLogicResolverWrapper is } } - function _getVersionStatus( - uint256 _version - ) internal view returns (IBusinessLogicResolver.VersionStatus status_) { + function _getVersionStatus(uint256 _version) internal view returns (IBusinessLogicResolver.VersionStatus status_) { status_ = _businessLogicResolverStorage().versionStatuses[_version]; } - function _getLatestVersion() - internal - view - returns (uint256 latestVersion_) - { + function _getLatestVersion() internal view returns (uint256 latestVersion_) { latestVersion_ = _businessLogicResolverStorage().latestVersion; } @@ -379,38 +337,23 @@ abstract contract BusinessLogicResolverWrapper is ); } - function _getBusinessLogicCount() - internal - view - returns (uint256 businessLogicCount_) - { - businessLogicCount_ = _businessLogicResolverStorage() - .activeBusinessLogics - .length; + function _getBusinessLogicCount() internal view returns (uint256 businessLogicCount_) { + businessLogicCount_ = _businessLogicResolverStorage().activeBusinessLogics.length; } function _getBusinessLogicKeys( uint256 _pageIndex, uint256 _pageLength ) internal view returns (bytes32[] memory businessLogicKeys_) { - BusinessLogicResolverDataStorage - storage businessLogicResolverDataStorage = _businessLogicResolverStorage(); + BusinessLogicResolverDataStorage storage businessLogicResolverDataStorage = _businessLogicResolverStorage(); - (uint256 start, uint256 end) = LibCommon.getStartAndEnd( - _pageIndex, - _pageLength - ); + (uint256 start, uint256 end) = LibCommon.getStartAndEnd(_pageIndex, _pageLength); - uint256 size = LibCommon.getSize( - start, - end, - businessLogicResolverDataStorage.activeBusinessLogics.length - ); + uint256 size = LibCommon.getSize(start, end, businessLogicResolverDataStorage.activeBusinessLogics.length); businessLogicKeys_ = new bytes32[](size); for (uint256 index; index < size; index++) { - businessLogicKeys_[index] = businessLogicResolverDataStorage - .activeBusinessLogics[index + start]; + businessLogicKeys_[index] = businessLogicResolverDataStorage.activeBusinessLogics[index + start]; } } @@ -418,23 +361,16 @@ abstract contract BusinessLogicResolverWrapper is bytes32 _businessLogicKey, uint256 _version ) internal view returns (address) { - BusinessLogicResolverDataStorage - storage businessLogicResolverDataStorage = _businessLogicResolverStorage(); - - if ( - !businessLogicResolverDataStorage.businessLogicActive[ - _businessLogicKey - ] - ) { + BusinessLogicResolverDataStorage storage businessLogicResolverDataStorage = _businessLogicResolverStorage(); + + if (!businessLogicResolverDataStorage.businessLogicActive[_businessLogicKey]) { return address(0); } - uint256 position = businessLogicResolverDataStorage - .businessLogicVersionIndex[ - keccak256(abi.encodePacked(_businessLogicKey, _version)) - ]; - IBusinessLogicResolver.BusinessLogicVersion - memory businessLogicVersion = businessLogicResolverDataStorage - .businessLogics[_businessLogicKey][position]; + uint256 position = businessLogicResolverDataStorage.businessLogicVersionIndex[ + keccak256(abi.encodePacked(_businessLogicKey, _version)) + ]; + IBusinessLogicResolver.BusinessLogicVersion memory businessLogicVersion = businessLogicResolverDataStorage + .businessLogics[_businessLogicKey][position]; return businessLogicVersion.businessLogicAddress; } @@ -443,22 +379,16 @@ abstract contract BusinessLogicResolverWrapper is uint256 _pageIndex, uint256 _pageLength ) internal view returns (bytes4[] memory page_) { - EnumerableSetBytes4.Bytes4Set - storage selectorBlacklist = _businessLogicResolverStorage() - .selectorBlacklist[_configurationId]; - page_ = LibCommon.getFromSet( - selectorBlacklist, - _pageIndex, - _pageLength - ); + EnumerableSetBytes4.Bytes4Set storage selectorBlacklist = _businessLogicResolverStorage().selectorBlacklist[ + _configurationId + ]; + page_ = LibCommon.getFromSet(selectorBlacklist, _pageIndex, _pageLength); } function _businessLogicResolverStorage() internal pure - returns ( - BusinessLogicResolverDataStorage storage businessLogicResolverData_ - ) + returns (BusinessLogicResolverDataStorage storage businessLogicResolverData_) { bytes32 position = _BUSINESS_LOGIC_RESOLVER_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly @@ -468,18 +398,14 @@ abstract contract BusinessLogicResolverWrapper is } function _checkValidVersion(uint256 _version) private view { - if ( - _version == 0 || - _version > _businessLogicResolverStorage().latestVersion - ) revert BusinessLogicVersionDoesNotExist(_version); + if (_version == 0 || _version > _businessLogicResolverStorage().latestVersion) + revert BusinessLogicVersionDoesNotExist(_version); } function _checkValidKeys( - IBusinessLogicResolver.BusinessLogicRegistryData[] - calldata _businessLogicsRegistryDatas + IBusinessLogicResolver.BusinessLogicRegistryData[] calldata _businessLogicsRegistryDatas ) private view { - BusinessLogicResolverDataStorage - storage businessLogicResolverDataStorage = _businessLogicResolverStorage(); + BusinessLogicResolverDataStorage storage businessLogicResolverDataStorage = _businessLogicResolverStorage(); // Check all previously activated keys are in the array.this // Check non duplicated keys. @@ -489,20 +415,15 @@ abstract contract BusinessLogicResolverWrapper is uint256 innerIndex; for (uint256 index; index < length; ) { currentKey = _businessLogicsRegistryDatas[index].businessLogicKey; - if (uint256(currentKey) == 0) - revert ZeroKeyNotValidForBusinessLogic(); + if (uint256(currentKey) == 0) revert ZeroKeyNotValidForBusinessLogic(); - if ( - businessLogicResolverDataStorage.businessLogicActive[currentKey] - ) ++activesBusinessLogicsKeys; + if (businessLogicResolverDataStorage.businessLogicActive[currentKey]) ++activesBusinessLogicsKeys; unchecked { innerIndex = index + 1; } for (; innerIndex < length; ) { - if ( - currentKey == - _businessLogicsRegistryDatas[innerIndex].businessLogicKey - ) revert BusinessLogicKeyDuplicated(currentKey); + if (currentKey == _businessLogicsRegistryDatas[innerIndex].businessLogicKey) + revert BusinessLogicKeyDuplicated(currentKey); unchecked { ++innerIndex; } @@ -511,9 +432,7 @@ abstract contract BusinessLogicResolverWrapper is ++index; } } - if ( - activesBusinessLogicsKeys != - businessLogicResolverDataStorage.activeBusinessLogics.length - ) revert AllBusinessLogicKeysMustBeenInformed(); + if (activesBusinessLogicsKeys != businessLogicResolverDataStorage.activeBusinessLogics.length) + revert AllBusinessLogicKeysMustBeenInformed(); } } diff --git a/packages/ats/contracts/contracts/resolver/README.md b/packages/ats/contracts/contracts/resolver/README.md index ced404341..3788b0f72 100644 --- a/packages/ats/contracts/contracts/resolver/README.md +++ b/packages/ats/contracts/contracts/resolver/README.md @@ -2,19 +2,19 @@ # Business Logic Resolver - ### Table of Contents + - **[DESCRIPTION](#description)** - **[EXAMPLE](#example)** - [REGISTER](#register) - # DESCRIPTION + The **_Business Logic Resolver (BLR)_** is a smart contract that centralizes the management of Business Logics versions. -DApps Business Logics are normally split into multiple smart contracts. +DApps Business Logics are normally split into multiple smart contracts. Developers might deploy newer versions of those smart contracts, might add new smart contracts to the DApp Business Logic or might remove smart contracts from the Dapp business Logic. **_BLR_** manages all that, so that DApps only need to store a list of **_Business Logic Keys (BLK)_** (each **_BLK_** uniquely identifies one of the smart contracts that form the DApp Business Logic). These keys can be used to retrieve the **_Business Logic Address (BLA)_** (the **_BLA_** is the address of the smart contract associated to the **_BLK_**) of the **_latest version_** or any **_previous version_**. @@ -31,19 +31,17 @@ _if many BLs need to be registered for a version, and the whole operation cannot In order to better understand how the Register operation of the **_BLR_** work check the below example. - # EXAMPLE ## REGISTER ### V1 (Initial state) -| **Business Logic Key** | **V1** | -|:-----------------------|:------------------| -| **0xabc** | 0x0123 | -| **0xbcd** | 0x0456 | -| **0xcde** | 0x0789 | - +| **Business Logic Key** | **V1** | +| :--------------------- | :----- | +| **0xabc** | 0x0123 | +| **0xbcd** | 0x0456 | +| **0xcde** | 0x0789 | ### V2 @@ -51,13 +49,11 @@ In order to better understand how the Register operation of the **_BLR_** work c - **0xbcd** Business Logic new address **_0x0222_** - **0xcde** Business Logic previous address **_0x0789_** - -| **Business Logic Key** | **V1** | **V2** | -|:-----------------------|:------------------|:----------------------| -| **0xabc** | 0x0123 | **_0x0111_** | -| **0xbcd** | 0x0456 | **_0x0222_** | -| **0xcde** | 0x0789 | 0x0789 | - +| **Business Logic Key** | **V1** | **V2** | +| :--------------------- | :----- | :----------- | +| **0xabc** | 0x0123 | **_0x0111_** | +| **0xbcd** | 0x0456 | **_0x0222_** | +| **0xcde** | 0x0789 | 0x0789 | ### V3 @@ -66,14 +62,12 @@ In order to better understand how the Register operation of the **_BLR_** work c - **0xcde** Business Logic previous address **_0x0789_** - **0xdef** Business Logic added to the registry with address **_0x0444_** - -| **Business Logic Key** | **V1** | **V2** | **V3** | -|:-----------------------|:------------------------|:------------------------|:----------------------| -| **0xabc** | 0x0123 | 0x0111 | 0x0111 | -| **0xbcd** | 0x0456 | 0x0222 | 0x0222 | -| **0xcde** | 0x0789 | 0x0789 | 0x0789 | -| **0xdef** | **_0x0000_** | **_0x0000_** | **_0x0444_** | - +| **Business Logic Key** | **V1** | **V2** | **V3** | +| :--------------------- | :----------- | :----------- | :----------- | +| **0xabc** | 0x0123 | 0x0111 | 0x0111 | +| **0xbcd** | 0x0456 | 0x0222 | 0x0222 | +| **0xcde** | 0x0789 | 0x0789 | 0x0789 | +| **0xdef** | **_0x0000_** | **_0x0000_** | **_0x0444_** | ### V4 @@ -83,12 +77,10 @@ In order to better understand how the Register operation of the **_BLR_** work c - **0xdef** Business Logic previously with address **_0x0444_** - **0xefg** Business Logic added to the registry with address **_0x0555_** - -| **Business Logic Key** | **V1** | **V2** | **V3** | **V4** | -|:-----------------------|:------------------------|:------------------------|:------------------------|:------------------------| -| **0xabc** | 0x0123 | 0x0111 | 0x0111 | **_0x0666_** | -| **0xbcd** | 0x0456 | 0x0222 | 0x0222 | **_0x0777_** | -| **0xcde** | 0x0789 | 0x0789 | 0x0789 | **_0x0000_** | -| **0xdef** | 0x0000 | 0x0000 | 0x0444 | 0x0444 | -| **0xefg** | **_0x0000_** | **_0x0000_** | **_0x0000_** | **_0x0555_** | - +| **Business Logic Key** | **V1** | **V2** | **V3** | **V4** | +| :--------------------- | :----------- | :----------- | :----------- | :----------- | +| **0xabc** | 0x0123 | 0x0111 | 0x0111 | **_0x0666_** | +| **0xbcd** | 0x0456 | 0x0222 | 0x0222 | **_0x0777_** | +| **0xcde** | 0x0789 | 0x0789 | 0x0789 | **_0x0000_** | +| **0xdef** | 0x0000 | 0x0000 | 0x0444 | 0x0444 | +| **0xefg** | **_0x0000_** | **_0x0000_** | **_0x0000_** | **_0x0555_** | diff --git a/packages/ats/contracts/contracts/resolver/diamondCutManager/DiamondCutManager.sol b/packages/ats/contracts/contracts/resolver/diamondCutManager/DiamondCutManager.sol index b986f6fcd..a06101693 100644 --- a/packages/ats/contracts/contracts/resolver/diamondCutManager/DiamondCutManager.sol +++ b/packages/ats/contracts/contracts/resolver/diamondCutManager/DiamondCutManager.sol @@ -205,21 +205,15 @@ pragma solidity 0.8.18; -import {_DEFAULT_ADMIN_ROLE} from '../../layer_1/constants/roles.sol'; -import {Pause} from '../../layer_1/pause/Pause.sol'; -import {AccessControl} from '../../layer_1/accessControl/AccessControl.sol'; -import {DiamondCutManagerWrapper} from './DiamondCutManagerWrapper.sol'; -import { - IDiamondLoupe -} from '../../interfaces/resolver/resolverProxy/IDiamondLoupe.sol'; +import { _DEFAULT_ADMIN_ROLE } from '../../layer_1/constants/roles.sol'; +import { Pause } from '../../layer_1/pause/Pause.sol'; +import { AccessControl } from '../../layer_1/accessControl/AccessControl.sol'; +import { DiamondCutManagerWrapper } from './DiamondCutManagerWrapper.sol'; +import { IDiamondLoupe } from '../../interfaces/resolver/resolverProxy/IDiamondLoupe.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution -abstract contract DiamondCutManager is - AccessControl, - Pause, - DiamondCutManagerWrapper -{ +abstract contract DiamondCutManager is AccessControl, Pause, DiamondCutManagerWrapper { modifier validateConfigurationId(bytes32 _configurationId) { _checkConfigurationId(_configurationId); _; @@ -228,13 +222,7 @@ abstract contract DiamondCutManager is function createConfiguration( bytes32 _configurationId, FacetConfiguration[] calldata _facetConfigurations - ) - external - override - validateConfigurationId(_configurationId) - onlyRole(_DEFAULT_ADMIN_ROLE) - onlyUnpaused - { + ) external override validateConfigurationId(_configurationId) onlyRole(_DEFAULT_ADMIN_ROLE) onlyUnpaused { emit DiamondConfigurationCreated( _configurationId, _facetConfigurations, @@ -246,34 +234,18 @@ abstract contract DiamondCutManager is bytes32 _configurationId, FacetConfiguration[] calldata _facetConfigurations, bool _isLastBatch - ) - external - override - validateConfigurationId(_configurationId) - onlyRole(_DEFAULT_ADMIN_ROLE) - onlyUnpaused - { + ) external override validateConfigurationId(_configurationId) onlyRole(_DEFAULT_ADMIN_ROLE) onlyUnpaused { emit DiamondBatchConfigurationCreated( _configurationId, _facetConfigurations, _isLastBatch, - _createBatchConfiguration( - _configurationId, - _facetConfigurations, - _isLastBatch - ) + _createBatchConfiguration(_configurationId, _facetConfigurations, _isLastBatch) ); } function cancelBatchConfiguration( bytes32 _configurationId - ) - external - override - validateConfigurationId(_configurationId) - onlyRole(_DEFAULT_ADMIN_ROLE) - onlyUnpaused - { + ) external override validateConfigurationId(_configurationId) onlyRole(_DEFAULT_ADMIN_ROLE) onlyUnpaused { _cancelBatchConfiguration(_configurationId); emit DiamondBatchConfigurationCanceled(_configurationId); } @@ -283,12 +255,7 @@ abstract contract DiamondCutManager is uint256 _version, bytes4 _selector ) external view override returns (address facetAddress_) { - facetAddress_ = _resolveResolverProxyCall( - _diamondCutManagerStorage(), - _configurationId, - _version, - _selector - ); + facetAddress_ = _resolveResolverProxyCall(_diamondCutManagerStorage(), _configurationId, _version, _selector); } function resolveSupportsInterface( @@ -296,12 +263,7 @@ abstract contract DiamondCutManager is uint256 _version, bytes4 _interfaceId ) external view override returns (bool exists_) { - exists_ = _resolveSupportsInterface( - _diamondCutManagerStorage(), - _configurationId, - _version, - _interfaceId - ); + exists_ = _resolveSupportsInterface(_diamondCutManagerStorage(), _configurationId, _version, _interfaceId); } function isResolverProxyConfigurationRegistered( @@ -319,41 +281,24 @@ abstract contract DiamondCutManager is bytes32 _configurationId, uint256 _version ) external view override { - _checkResolverProxyConfigurationRegistered( - _diamondCutManagerStorage(), - _configurationId, - _version - ); + _checkResolverProxyConfigurationRegistered(_diamondCutManagerStorage(), _configurationId, _version); } - function getConfigurationsLength() - external - view - override - returns (uint256 configurationsLength_) - { - configurationsLength_ = _diamondCutManagerStorage() - .configurations - .length; + function getConfigurationsLength() external view override returns (uint256 configurationsLength_) { + configurationsLength_ = _diamondCutManagerStorage().configurations.length; } function getConfigurations( uint256 _pageIndex, uint256 _pageLength ) external view override returns (bytes32[] memory configurationIds_) { - configurationIds_ = _getConfigurations( - _diamondCutManagerStorage(), - _pageIndex, - _pageLength - ); + configurationIds_ = _getConfigurations(_diamondCutManagerStorage(), _pageIndex, _pageLength); } function getLatestVersionByConfiguration( bytes32 _configurationId ) external view override returns (uint256 latestVersion_) { - latestVersion_ = _diamondCutManagerStorage().latestVersion[ - _configurationId - ]; + latestVersion_ = _diamondCutManagerStorage().latestVersion[_configurationId]; } function getFacetsLengthByConfigurationIdAndVersion( diff --git a/packages/ats/contracts/contracts/resolver/diamondCutManager/DiamondCutManagerWrapper.sol b/packages/ats/contracts/contracts/resolver/diamondCutManager/DiamondCutManagerWrapper.sol index e83b3aa1b..092212920 100644 --- a/packages/ats/contracts/contracts/resolver/diamondCutManager/DiamondCutManagerWrapper.sol +++ b/packages/ats/contracts/contracts/resolver/diamondCutManager/DiamondCutManagerWrapper.sol @@ -205,32 +205,17 @@ pragma solidity 0.8.18; -import {LibCommon} from '../../layer_0/common/libraries/LibCommon.sol'; -import { - EnumerableSetBytes4 -} from '../../layer_0/common/libraries/EnumerableSetBytes4.sol'; -import { - IDiamondCutManager -} from '../../interfaces/resolver/diamondCutManager/IDiamondCutManager.sol'; -import { - IStaticFunctionSelectors -} from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import { - IDiamondLoupe -} from '../../interfaces/resolver/resolverProxy/IDiamondLoupe.sol'; -import { - BusinessLogicResolverWrapper -} from '../BusinessLogicResolverWrapper.sol'; -import { - _DIAMOND_CUT_MANAGER_STORAGE_POSITION -} from '../../constants/storagePositions.sol'; +import { LibCommon } from '../../layer_0/common/libraries/LibCommon.sol'; +import { EnumerableSetBytes4 } from '../../layer_0/common/libraries/EnumerableSetBytes4.sol'; +import { IDiamondCutManager } from '../../interfaces/resolver/diamondCutManager/IDiamondCutManager.sol'; +import { IStaticFunctionSelectors } from '../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { IDiamondLoupe } from '../../interfaces/resolver/resolverProxy/IDiamondLoupe.sol'; +import { BusinessLogicResolverWrapper } from '../BusinessLogicResolverWrapper.sol'; +import { _DIAMOND_CUT_MANAGER_STORAGE_POSITION } from '../../constants/storagePositions.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution -abstract contract DiamondCutManagerWrapper is - IDiamondCutManager, - BusinessLogicResolverWrapper -{ +abstract contract DiamondCutManagerWrapper is IDiamondCutManager, BusinessLogicResolverWrapper { struct DiamondCutManagerStorage { bytes32[] configurations; mapping(bytes32 => bool) activeConfigurations; @@ -261,11 +246,7 @@ abstract contract DiamondCutManagerWrapper is latestVersion_ = _isOngoingConfiguration(_configurationId) ? _getBatchConfigurationVersion(_configurationId) : _startBatchConfiguration(_configurationId); - _addFacetsToBatchConfiguration( - _configurationId, - _facetConfigurations, - latestVersion_ - ); + _addFacetsToBatchConfiguration(_configurationId, _facetConfigurations, latestVersion_); _activateConfiguration(_configurationId, true); } @@ -277,39 +258,26 @@ abstract contract DiamondCutManagerWrapper is latestVersion_ = _isOngoingConfiguration(_configurationId) ? _getBatchConfigurationVersion(_configurationId) : _startBatchConfiguration(_configurationId); - _addFacetsToBatchConfiguration( - _configurationId, - _facetConfigurations, - latestVersion_ - ); + _addFacetsToBatchConfiguration(_configurationId, _facetConfigurations, latestVersion_); _activateConfiguration(_configurationId, _isLastBatch); } - function _activateConfiguration( - bytes32 _configurationId, - bool _isLastBatch - ) internal { + function _activateConfiguration(bytes32 _configurationId, bool _isLastBatch) internal { if (!_isLastBatch) return; DiamondCutManagerStorage storage _dcms = _diamondCutManagerStorage(); if (!_dcms.activeConfigurations[_configurationId]) { _dcms.configurations.push(_configurationId); _dcms.activeConfigurations[_configurationId] = true; } - _dcms.latestVersion[_configurationId] = _dcms.batchVersion[ - _configurationId - ]; + _dcms.latestVersion[_configurationId] = _dcms.batchVersion[_configurationId]; delete _dcms.batchVersion[_configurationId]; } - function _startBatchConfiguration( - bytes32 _configurationId - ) internal returns (uint256 batchVersion_) { + function _startBatchConfiguration(bytes32 _configurationId) internal returns (uint256 batchVersion_) { DiamondCutManagerStorage storage _dcms = _diamondCutManagerStorage(); unchecked { - _dcms.batchVersion[_configurationId] = - _dcms.latestVersion[_configurationId] + - 1; + _dcms.batchVersion[_configurationId] = _dcms.latestVersion[_configurationId] + 1; } batchVersion_ = _getBatchConfigurationVersion(_configurationId); } @@ -329,16 +297,9 @@ abstract contract DiamondCutManagerWrapper is uint256 facetVersion = _facetConfigurations[index].version; _dcms.facetIds[configVersionHash].push(facetId); _dcms.facetVersions[configVersionHash].push(facetVersion); - bytes32 configVersionFacetHash = _buildHash( - _configurationId, - _version, - facetId - ); + bytes32 configVersionFacetHash = _buildHash(_configurationId, _version, facetId); - address addr = _resolveBusinessLogicByVersion( - facetId, - facetVersion - ); + address addr = _resolveBusinessLogicByVersion(facetId, facetVersion); // TODO: is better a checkFacetRegistered in BusinessLogicResolverWrapper?? if (addr == address(0)) { @@ -351,9 +312,7 @@ abstract contract DiamondCutManagerWrapper is _dcms.addr[configVersionFacetHash] = addr; - IStaticFunctionSelectors staticFunctionSelectors = IStaticFunctionSelectors( - addr - ); + IStaticFunctionSelectors staticFunctionSelectors = IStaticFunctionSelectors(addr); _registerSelectors( _dcms, @@ -363,13 +322,7 @@ abstract contract DiamondCutManagerWrapper is staticFunctionSelectors, configVersionFacetHash ); - _registerInterfaceIds( - _dcms, - _configurationId, - _version, - staticFunctionSelectors, - configVersionFacetHash - ); + _registerInterfaceIds(_dcms, _configurationId, _version, staticFunctionSelectors, configVersionFacetHash); unchecked { ++index; @@ -386,24 +339,10 @@ abstract contract DiamondCutManagerWrapper is uint256 facetIdsLength = facetIds.length; for (uint256 index; index < facetIdsLength; ) { - bytes32 configVersionFacetHash = _buildHash( - _configurationId, - batchVersion, - facetIds[index] - ); + bytes32 configVersionFacetHash = _buildHash(_configurationId, batchVersion, facetIds[index]); delete dcms.addr[configVersionFacetHash]; - _cleanSelectors( - dcms, - _configurationId, - batchVersion, - configVersionFacetHash - ); - _cleanInterfacesIds( - dcms, - _configurationId, - batchVersion, - configVersionFacetHash - ); + _cleanSelectors(dcms, _configurationId, batchVersion, configVersionFacetHash); + _cleanInterfacesIds(dcms, _configurationId, batchVersion, configVersionFacetHash); unchecked { ++index; } @@ -414,18 +353,12 @@ abstract contract DiamondCutManagerWrapper is delete dcms.batchVersion[_configurationId]; } - function _isOngoingConfiguration( - bytes32 _configurationId - ) internal view returns (bool) { + function _isOngoingConfiguration(bytes32 _configurationId) internal view returns (bool) { return _getBatchConfigurationVersion(_configurationId) != 0; } - function _getBatchConfigurationVersion( - bytes32 _configurationId - ) internal view returns (uint256 batchVersion_) { - batchVersion_ = _diamondCutManagerStorage().batchVersion[ - _configurationId - ]; + function _getBatchConfigurationVersion(bytes32 _configurationId) internal view returns (uint256 batchVersion_) { + batchVersion_ = _diamondCutManagerStorage().batchVersion[_configurationId]; } function _resolveResolverProxyCall( @@ -435,11 +368,7 @@ abstract contract DiamondCutManagerWrapper is bytes4 _selector ) internal view returns (address facetAddress_) { facetAddress_ = _dcms.facetAddress[ - _buildHashSelector( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version), - _selector - ) + _buildHashSelector(_configurationId, _resolveVersion(_dcms, _configurationId, _version), _selector) ]; } @@ -450,11 +379,7 @@ abstract contract DiamondCutManagerWrapper is bytes4 _interfaceId ) internal view returns (bool exists_) { exists_ = _dcms.supportsInterface[ - _buildHashSelector( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version), - _interfaceId - ) + _buildHashSelector(_configurationId, _resolveVersion(_dcms, _configurationId, _version), _interfaceId) ]; } @@ -463,12 +388,7 @@ abstract contract DiamondCutManagerWrapper is bytes32 _configurationId, uint256 _version ) internal view returns (bool isRegistered_) { - return - !_isResolverProxyConfigurationNotRegistered( - _dcms, - _configurationId, - _version - ); + return !_isResolverProxyConfigurationNotRegistered(_dcms, _configurationId, _version); } function _isResolverProxyConfigurationNotRegistered( @@ -476,9 +396,7 @@ abstract contract DiamondCutManagerWrapper is bytes32 _configurationId, uint256 _version ) internal view returns (bool isRegistered_) { - return - !_dcms.activeConfigurations[_configurationId] || - _version > _dcms.latestVersion[_configurationId]; + return !_dcms.activeConfigurations[_configurationId] || _version > _dcms.latestVersion[_configurationId]; } function _checkResolverProxyConfigurationRegistered( @@ -486,14 +404,8 @@ abstract contract DiamondCutManagerWrapper is bytes32 _configurationId, uint256 _version ) internal view { - if ( - !_dcms.activeConfigurations[_configurationId] || - _version > _dcms.latestVersion[_configurationId] - ) { - revert ResolverProxyConfigurationNoRegistered( - _configurationId, - _version - ); + if (!_dcms.activeConfigurations[_configurationId] || _version > _dcms.latestVersion[_configurationId]) { + revert ResolverProxyConfigurationNoRegistered(_configurationId, _version); } } @@ -502,11 +414,7 @@ abstract contract DiamondCutManagerWrapper is uint256 _pageIndex, uint256 _pageLength ) internal view returns (bytes32[] memory configurationIds_) { - configurationIds_ = _buildPaginated( - _dcms.configurations, - _pageIndex, - _pageLength - ); + configurationIds_ = _buildPaginated(_dcms.configurations, _pageIndex, _pageLength); } function _getFacetsLengthByConfigurationIdAndVersion( @@ -515,12 +423,7 @@ abstract contract DiamondCutManagerWrapper is uint256 _version ) internal view returns (uint256 facetsLength_) { facetsLength_ = _dcms - .facetIds[ - _buildHash( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version) - ) - ] + .facetIds[_buildHash(_configurationId, _resolveVersion(_dcms, _configurationId, _version))] .length; } @@ -532,15 +435,9 @@ abstract contract DiamondCutManagerWrapper is uint256 _pageLength ) internal view returns (IDiamondLoupe.Facet[] memory facets_) { bytes32[] memory facetIds = _dcms.facetIds[ - _buildHash( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version) - ) + _buildHash(_configurationId, _resolveVersion(_dcms, _configurationId, _version)) ]; - (uint256 start, uint256 end) = LibCommon.getStartAndEnd( - _pageIndex, - _pageLength - ); + (uint256 start, uint256 end) = LibCommon.getStartAndEnd(_pageIndex, _pageLength); uint256 size = LibCommon.getSize(start, end, facetIds.length); facets_ = new IDiamondLoupe.Facet[](size); uint256 version = _resolveVersion(_dcms, _configurationId, _version); @@ -565,13 +462,7 @@ abstract contract DiamondCutManagerWrapper is bytes32 _facetId ) internal view returns (uint256 facetSelectorsLength_) { facetSelectorsLength_ = _dcms - .selectors[ - _buildHash( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version), - _facetId - ) - ] + .selectors[_buildHash(_configurationId, _resolveVersion(_dcms, _configurationId, _version), _facetId)] .length; } @@ -584,13 +475,7 @@ abstract contract DiamondCutManagerWrapper is uint256 _pageLength ) internal view returns (bytes4[] memory facetSelectors_) { facetSelectors_ = _buildPaginated( - _dcms.selectors[ - _buildHash( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version), - _facetId - ) - ], + _dcms.selectors[_buildHash(_configurationId, _resolveVersion(_dcms, _configurationId, _version), _facetId)], _pageIndex, _pageLength ); @@ -604,12 +489,7 @@ abstract contract DiamondCutManagerWrapper is uint256 _pageLength ) internal view returns (bytes32[] memory facetIds_) { facetIds_ = _buildPaginated( - _dcms.facetIds[ - _buildHash( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version) - ) - ], + _dcms.facetIds[_buildHash(_configurationId, _resolveVersion(_dcms, _configurationId, _version))], _pageIndex, _pageLength ); @@ -623,24 +503,14 @@ abstract contract DiamondCutManagerWrapper is uint256 _pageLength ) internal view returns (address[] memory facetAddresses_) { bytes32[] memory facetIds = _dcms.facetIds[ - _buildHash( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version) - ) + _buildHash(_configurationId, _resolveVersion(_dcms, _configurationId, _version)) ]; - (uint256 start, uint256 end) = LibCommon.getStartAndEnd( - _pageIndex, - _pageLength - ); + (uint256 start, uint256 end) = LibCommon.getStartAndEnd(_pageIndex, _pageLength); uint256 size = LibCommon.getSize(start, end, facetIds.length); facetAddresses_ = new address[](size); for (uint256 index; index < size; ) { facetAddresses_[index] = _dcms.addr[ - _buildHash( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version), - facetIds[start] - ) + _buildHash(_configurationId, _resolveVersion(_dcms, _configurationId, _version), facetIds[start]) ]; unchecked { ++index; @@ -656,11 +526,7 @@ abstract contract DiamondCutManagerWrapper is bytes4 _selector ) internal view returns (bytes32 facetId_) { facetId_ = _dcms.selectorToFacetId[ - _buildHashSelector( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version), - _selector - ) + _buildHashSelector(_configurationId, _resolveVersion(_dcms, _configurationId, _version), _selector) ]; } @@ -690,19 +556,11 @@ abstract contract DiamondCutManagerWrapper is bytes32 _facetId ) internal view returns (address facetAddress_) { facetAddress_ = _dcms.addr[ - _buildHash( - _configurationId, - _resolveVersion(_dcms, _configurationId, _version), - _facetId - ) + _buildHash(_configurationId, _resolveVersion(_dcms, _configurationId, _version), _facetId) ]; } - function _diamondCutManagerStorage() - internal - pure - returns (DiamondCutManagerStorage storage ds) - { + function _diamondCutManagerStorage() internal pure returns (DiamondCutManagerStorage storage ds) { bytes32 position = _DIAMOND_CUT_MANAGER_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { @@ -719,11 +577,7 @@ abstract contract DiamondCutManagerWrapper is bytes4[] storage selectors = _dcms.selectors[_configVersionFacetHash]; uint256 selectorsLength = selectors.length; for (uint256 index; index < selectorsLength; ) { - bytes32 configVersionSelectorHash = _buildHashSelector( - _configurationId, - _batchVersion, - selectors[index] - ); + bytes32 configVersionSelectorHash = _buildHashSelector(_configurationId, _batchVersion, selectors[index]); delete _dcms.facetAddress[configVersionSelectorHash]; delete _dcms.selectorToFacetId[configVersionSelectorHash]; unchecked { @@ -739,18 +593,10 @@ abstract contract DiamondCutManagerWrapper is uint256 _batchVersion, bytes32 _configVersionFacetHash ) private { - bytes4[] storage interfaceIds = _dcms.interfaceIds[ - _configVersionFacetHash - ]; + bytes4[] storage interfaceIds = _dcms.interfaceIds[_configVersionFacetHash]; uint256 interfaceIdsLength = interfaceIds.length; for (uint256 index; index < interfaceIdsLength; ) { - delete _dcms.supportsInterface[ - _buildHashSelector( - _configurationId, - _batchVersion, - interfaceIds[index] - ) - ]; + delete _dcms.supportsInterface[_buildHashSelector(_configurationId, _batchVersion, interfaceIds[index])]; unchecked { ++index; } @@ -773,11 +619,7 @@ abstract contract DiamondCutManagerWrapper is uint256 length = selectors.length; for (uint256 index; index < length; ) { bytes4 selector = selectors[index]; - bytes32 configVersionSelectorHash = _buildHashSelector( - _configurationId, - _version, - selector - ); + bytes32 configVersionSelectorHash = _buildHashSelector(_configurationId, _version, selector); _dcms.facetAddress[configVersionSelectorHash] = selectorAddress; _dcms.selectorToFacetId[configVersionSelectorHash] = _facetId; unchecked { @@ -798,9 +640,7 @@ abstract contract DiamondCutManagerWrapper is uint256 length = interfaceIds.length; for (uint256 index; index < length; ) { bytes4 interfaceId = interfaceIds[index]; - _dcms.supportsInterface[ - _buildHashSelector(_configurationId, _version, interfaceId) - ] = true; + _dcms.supportsInterface[_buildHashSelector(_configurationId, _version, interfaceId)] = true; unchecked { ++index; } @@ -812,18 +652,13 @@ abstract contract DiamondCutManagerWrapper is bytes32 _configurationId, uint256 _version ) private view returns (uint256 version_) { - version_ = _version > 0 - ? _version - : _dcms.latestVersion[_configurationId]; + version_ = _version > 0 ? _version : _dcms.latestVersion[_configurationId]; } - function _checkSelectorsBlacklist( - bytes32 _configurationId, - bytes4[] memory _selectors - ) private view { - EnumerableSetBytes4.Bytes4Set - storage selectorBlacklist = _businessLogicResolverStorage() - .selectorBlacklist[_configurationId]; + function _checkSelectorsBlacklist(bytes32 _configurationId, bytes4[] memory _selectors) private view { + EnumerableSetBytes4.Bytes4Set storage selectorBlacklist = _businessLogicResolverStorage().selectorBlacklist[ + _configurationId + ]; uint256 length = _selectors.length; for (uint256 index; index < length; ) { @@ -838,10 +673,7 @@ abstract contract DiamondCutManagerWrapper is } // TODO: Move to a separate file. - function _buildHash( - bytes32 _configurationId, - uint256 _version - ) private pure returns (bytes32 hash_) { + function _buildHash(bytes32 _configurationId, uint256 _version) private pure returns (bytes32 hash_) { hash_ = keccak256(abi.encodePacked(_configurationId, _version)); } @@ -850,9 +682,7 @@ abstract contract DiamondCutManagerWrapper is uint256 _version, bytes32 _facetId ) private pure returns (bytes32 hash_) { - hash_ = keccak256( - abi.encodePacked(_configurationId, _version, _facetId) - ); + hash_ = keccak256(abi.encodePacked(_configurationId, _version, _facetId)); } function _buildHashSelector( @@ -860,9 +690,7 @@ abstract contract DiamondCutManagerWrapper is uint256 _version, bytes4 _selector ) private pure returns (bytes32 hash_) { - hash_ = keccak256( - abi.encodePacked(_configurationId, _version, _selector) - ); + hash_ = keccak256(abi.encodePacked(_configurationId, _version, _selector)); } function _buildPaginated( @@ -870,10 +698,7 @@ abstract contract DiamondCutManagerWrapper is uint256 _pageIndex, uint256 _pageLength ) private pure returns (bytes32[] memory page_) { - (uint256 start, uint256 end) = LibCommon.getStartAndEnd( - _pageIndex, - _pageLength - ); + (uint256 start, uint256 end) = LibCommon.getStartAndEnd(_pageIndex, _pageLength); uint256 size = LibCommon.getSize(start, end, _source.length); page_ = new bytes32[](size); for (uint256 index; index < size; ) { @@ -890,10 +715,7 @@ abstract contract DiamondCutManagerWrapper is uint256 _pageIndex, uint256 _pageLength ) private pure returns (bytes4[] memory page_) { - (uint256 start, uint256 end) = LibCommon.getStartAndEnd( - _pageIndex, - _pageLength - ); + (uint256 start, uint256 end) = LibCommon.getStartAndEnd(_pageIndex, _pageLength); uint256 size = LibCommon.getSize(start, end, _source.length); page_ = new bytes4[](size); for (uint256 index; index < size; ) { diff --git a/packages/ats/contracts/contracts/resolver/resolverProxy/ResolverProxy.sol b/packages/ats/contracts/contracts/resolver/resolverProxy/ResolverProxy.sol index 9dc9afd1a..04f7ea78b 100644 --- a/packages/ats/contracts/contracts/resolver/resolverProxy/ResolverProxy.sol +++ b/packages/ats/contracts/contracts/resolver/resolverProxy/ResolverProxy.sol @@ -213,15 +213,9 @@ pragma solidity 0.8.18; * Implementation of a resolverProxy. /******************************************************************************/ -import { - ResolverProxyUnstructured -} from './unstructured/ResolverProxyUnstructured.sol'; -import { - IResolverProxy -} from '../../interfaces/resolver/resolverProxy/IResolverProxy.sol'; -import { - IBusinessLogicResolver -} from '../../interfaces/resolver/IBusinessLogicResolver.sol'; +import { ResolverProxyUnstructured } from './unstructured/ResolverProxyUnstructured.sol'; +import { IResolverProxy } from '../../interfaces/resolver/resolverProxy/IResolverProxy.sol'; +import { IBusinessLogicResolver } from '../../interfaces/resolver/IBusinessLogicResolver.sol'; contract ResolverProxy is ResolverProxyUnstructured { constructor( diff --git a/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondCutFacet.sol b/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondCutFacet.sol index f0da0638b..016f12aad 100644 --- a/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondCutFacet.sol +++ b/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondCutFacet.sol @@ -206,29 +206,16 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - IDiamondCut -} from '../../../interfaces/resolver/resolverProxy/IDiamondCut.sol'; -import { - ResolverProxyUnstructured -} from '../unstructured/ResolverProxyUnstructured.sol'; -import { - IBusinessLogicResolver -} from '../../../interfaces/resolver/IBusinessLogicResolver.sol'; -import { - _DIAMOND_CUT_RESOLVER_KEY -} from '../../../layer_1/constants/resolverKeys.sol'; -import {_DEFAULT_ADMIN_ROLE} from '../../../layer_1/constants/roles.sol'; +import { IDiamondCut } from '../../../interfaces/resolver/resolverProxy/IDiamondCut.sol'; +import { ResolverProxyUnstructured } from '../unstructured/ResolverProxyUnstructured.sol'; +import { IBusinessLogicResolver } from '../../../interfaces/resolver/IBusinessLogicResolver.sol'; +import { _DIAMOND_CUT_RESOLVER_KEY } from '../../../layer_1/constants/resolverKeys.sol'; +import { _DEFAULT_ADMIN_ROLE } from '../../../layer_1/constants/roles.sol'; contract DiamondCutFacet is IDiamondCut, ResolverProxyUnstructured { - function updateConfigVersion( - uint256 _newVersion - ) external override onlyRole(_DEFAULT_ADMIN_ROLE) { + function updateConfigVersion(uint256 _newVersion) external override onlyRole(_DEFAULT_ADMIN_ROLE) { ResolverProxyStorage storage ds = _resolverProxyStorage(); - ds.resolver.checkResolverProxyConfigurationRegistered( - ds.resolverProxyConfigurationId, - _newVersion - ); + ds.resolver.checkResolverProxyConfigurationRegistered(ds.resolverProxyConfigurationId, _newVersion); _updateVersion(ds, _newVersion); } @@ -237,10 +224,7 @@ contract DiamondCutFacet is IDiamondCut, ResolverProxyUnstructured { uint256 _newVersion ) external override onlyRole(_DEFAULT_ADMIN_ROLE) { ResolverProxyStorage storage ds = _resolverProxyStorage(); - ds.resolver.checkResolverProxyConfigurationRegistered( - _newConfigurationId, - _newVersion - ); + ds.resolver.checkResolverProxyConfigurationRegistered(_newConfigurationId, _newVersion); _updateConfigId(ds, _newConfigurationId); _updateVersion(ds, _newVersion); } @@ -250,37 +234,20 @@ contract DiamondCutFacet is IDiamondCut, ResolverProxyUnstructured { bytes32 _newConfigurationId, uint256 _newVersion ) external override onlyRole(_DEFAULT_ADMIN_ROLE) { - _newResolver.checkResolverProxyConfigurationRegistered( - _newConfigurationId, - _newVersion - ); + _newResolver.checkResolverProxyConfigurationRegistered(_newConfigurationId, _newVersion); ResolverProxyStorage storage ds = _resolverProxyStorage(); _updateResolver(ds, _newResolver); _updateConfigId(ds, _newConfigurationId); _updateVersion(ds, _newVersion); } - function getConfigInfo() - external - view - returns (address resolver_, bytes32 configurationId_, uint256 version_) - { + function getConfigInfo() external view returns (address resolver_, bytes32 configurationId_, uint256 version_) { ResolverProxyStorage storage ds = _resolverProxyStorage(); - return ( - address(ds.resolver), - ds.resolverProxyConfigurationId, - ds.version - ); + return (address(ds.resolver), ds.resolverProxyConfigurationId, ds.version); } // This implements ERC-165. - function getStaticResolverKey() - external - pure - virtual - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure virtual override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _DIAMOND_CUT_RESOLVER_KEY; } @@ -294,28 +261,14 @@ contract DiamondCutFacet is IDiamondCut, ResolverProxyUnstructured { staticFunctionSelectors_ = new bytes4[](4); uint256 selectorIndex; unchecked { - staticFunctionSelectors_[selectorIndex++] = this - .updateConfigVersion - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .updateConfig - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .updateResolver - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getConfigInfo - .selector; + staticFunctionSelectors_[selectorIndex++] = this.updateConfigVersion.selector; + staticFunctionSelectors_[selectorIndex++] = this.updateConfig.selector; + staticFunctionSelectors_[selectorIndex++] = this.updateResolver.selector; + staticFunctionSelectors_[selectorIndex++] = this.getConfigInfo.selector; } } - function getStaticInterfaceIds() - external - pure - virtual - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure virtual override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IDiamondCut).interfaceId; diff --git a/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondFacet.sol b/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondFacet.sol index 79dfa1cf7..df8191d04 100644 --- a/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondFacet.sol +++ b/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondFacet.sol @@ -206,24 +206,14 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {DiamondCutFacet} from './DiamondCutFacet.sol'; -import {DiamondLoupeFacet} from './DiamondLoupeFacet.sol'; -import { - _DIAMOND_RESOLVER_KEY -} from '../../../layer_1/constants/resolverKeys.sol'; -import { - IDiamond -} from '../../../interfaces/resolver/resolverProxy/IDiamond.sol'; -import { - IDiamondCut -} from '../../../interfaces/resolver/resolverProxy/IDiamondCut.sol'; -import { - IDiamondLoupe -} from '../../../interfaces/resolver/resolverProxy/IDiamondLoupe.sol'; -import {IERC165} from '@openzeppelin/contracts/utils/introspection/IERC165.sol'; -import { - IStaticFunctionSelectors -} from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { DiamondCutFacet } from './DiamondCutFacet.sol'; +import { DiamondLoupeFacet } from './DiamondLoupeFacet.sol'; +import { _DIAMOND_RESOLVER_KEY } from '../../../layer_1/constants/resolverKeys.sol'; +import { IDiamond } from '../../../interfaces/resolver/resolverProxy/IDiamond.sol'; +import { IDiamondCut } from '../../../interfaces/resolver/resolverProxy/IDiamondCut.sol'; +import { IDiamondLoupe } from '../../../interfaces/resolver/resolverProxy/IDiamondLoupe.sol'; +import { IERC165 } from '@openzeppelin/contracts/utils/introspection/IERC165.sol'; +import { IStaticFunctionSelectors } from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; // Remember to add the loupe functions from DiamondLoupeFacet to the diamond. // The loupe functions are required by the EIP2535 Diamonds standard @@ -245,52 +235,24 @@ contract DiamondFacet is IDiamond, DiamondCutFacet, DiamondLoupeFacet { { staticFunctionSelectors_ = new bytes4[](18); uint256 selectorsIndex; - staticFunctionSelectors_[selectorsIndex++] = this - .updateConfigVersion - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.updateConfigVersion.selector; staticFunctionSelectors_[selectorsIndex++] = this.updateConfig.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .updateResolver - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getConfigInfo - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.updateResolver.selector; + staticFunctionSelectors_[selectorsIndex++] = this.getConfigInfo.selector; staticFunctionSelectors_[selectorsIndex++] = this.getFacets.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFacetsLength - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFacetsByPage - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFacetSelectors - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFacetSelectorsLength - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFacetSelectorsByPage - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFacetsLength.selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFacetsByPage.selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFacetSelectors.selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFacetSelectorsLength.selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFacetSelectorsByPage.selector; staticFunctionSelectors_[selectorsIndex++] = this.getFacetIds.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFacetIdsByPage - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFacetAddresses - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFacetAddressesByPage - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFacetIdBySelector - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFacetIdsByPage.selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFacetAddresses.selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFacetAddressesByPage.selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFacetIdBySelector.selector; staticFunctionSelectors_[selectorsIndex++] = this.getFacet.selector; - staticFunctionSelectors_[selectorsIndex++] = this - .getFacetAddress - .selector; - staticFunctionSelectors_[selectorsIndex++] = this - .supportsInterface - .selector; + staticFunctionSelectors_[selectorsIndex++] = this.getFacetAddress.selector; + staticFunctionSelectors_[selectorsIndex++] = this.supportsInterface.selector; } function getStaticInterfaceIds() diff --git a/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondLoupeFacet.sol b/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondLoupeFacet.sol index e7d94ecb6..53bb4ca3d 100644 --- a/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondLoupeFacet.sol +++ b/packages/ats/contracts/contracts/resolver/resolverProxy/facets/DiamondLoupeFacet.sol @@ -209,39 +209,19 @@ pragma solidity 0.8.18; // The functions in DiamondLoupeFacet.sol.sol MUST be added to a resolverProxy. // The EIP-2535 ResolverProxy standard requires these functions. -import { - ResolverProxyUnstructured -} from '../unstructured/ResolverProxyUnstructured.sol'; -import { - IDiamondLoupe -} from '../../../interfaces/resolver/resolverProxy/IDiamondLoupe.sol'; -import {IERC165} from '@openzeppelin/contracts/utils/introspection/IERC165.sol'; -import { - _DIAMOND_LOUPE_RESOLVER_KEY -} from '../../../layer_1/constants/resolverKeys.sol'; +import { ResolverProxyUnstructured } from '../unstructured/ResolverProxyUnstructured.sol'; +import { IDiamondLoupe } from '../../../interfaces/resolver/resolverProxy/IDiamondLoupe.sol'; +import { IERC165 } from '@openzeppelin/contracts/utils/introspection/IERC165.sol'; +import { _DIAMOND_LOUPE_RESOLVER_KEY } from '../../../layer_1/constants/resolverKeys.sol'; // HACK: I think that Loupe and Cut implementation should be only one contract. -contract DiamondLoupeFacet is - IDiamondLoupe, - IERC165, - ResolverProxyUnstructured -{ - function getFacets() - external - view - override - returns (Facet[] memory facets_) - { +contract DiamondLoupeFacet is IDiamondLoupe, IERC165, ResolverProxyUnstructured { + function getFacets() external view override returns (Facet[] memory facets_) { ResolverProxyStorage storage ds = _resolverProxyStorage(); facets_ = _getFacets(ds, 0, _getFacetsLength(ds)); } - function getFacetsLength() - external - view - override - returns (uint256 facetsLength_) - { + function getFacetsLength() external view override returns (uint256 facetsLength_) { facetsLength_ = _getFacetsLength(_resolverProxyStorage()); } @@ -252,25 +232,13 @@ contract DiamondLoupeFacet is facets_ = _getFacets(_resolverProxyStorage(), _pageIndex, _pageLength); } - function getFacetSelectors( - bytes32 _facetId - ) external view override returns (bytes4[] memory facetSelectors_) { + function getFacetSelectors(bytes32 _facetId) external view override returns (bytes4[] memory facetSelectors_) { ResolverProxyStorage storage ds = _resolverProxyStorage(); - facetSelectors_ = _getFacetSelectors( - ds, - _facetId, - 0, - _getFacetSelectorsLength(ds, _facetId) - ); + facetSelectors_ = _getFacetSelectors(ds, _facetId, 0, _getFacetSelectorsLength(ds, _facetId)); } - function getFacetSelectorsLength( - bytes32 _facetId - ) external view override returns (uint256 facetSelectorsLength_) { - facetSelectorsLength_ = _getFacetSelectorsLength( - _resolverProxyStorage(), - _facetId - ); + function getFacetSelectorsLength(bytes32 _facetId) external view override returns (uint256 facetSelectorsLength_) { + facetSelectorsLength_ = _getFacetSelectorsLength(_resolverProxyStorage(), _facetId); } function getFacetSelectorsByPage( @@ -278,20 +246,10 @@ contract DiamondLoupeFacet is uint256 _pageIndex, uint256 _pageLength ) external view override returns (bytes4[] memory facetSelectors_) { - facetSelectors_ = _getFacetSelectors( - _resolverProxyStorage(), - _facetId, - _pageIndex, - _pageLength - ); + facetSelectors_ = _getFacetSelectors(_resolverProxyStorage(), _facetId, _pageIndex, _pageLength); } - function getFacetIds() - external - view - override - returns (bytes32[] memory facetIds_) - { + function getFacetIds() external view override returns (bytes32[] memory facetIds_) { ResolverProxyStorage storage ds = _resolverProxyStorage(); facetIds_ = _getFacetIds(ds, 0, _getFacetsLength(ds)); } @@ -300,19 +258,10 @@ contract DiamondLoupeFacet is uint256 _pageIndex, uint256 _pageLength ) external view override returns (bytes32[] memory facetIds_) { - facetIds_ = _getFacetIds( - _resolverProxyStorage(), - _pageIndex, - _pageLength - ); + facetIds_ = _getFacetIds(_resolverProxyStorage(), _pageIndex, _pageLength); } - function getFacetAddresses() - external - view - override - returns (address[] memory facetAddresses_) - { + function getFacetAddresses() external view override returns (address[] memory facetAddresses_) { ResolverProxyStorage storage ds = _resolverProxyStorage(); facetAddresses_ = _getFacetAddresses(ds, 0, _getFacetsLength(ds)); } @@ -321,45 +270,27 @@ contract DiamondLoupeFacet is uint256 _pageIndex, uint256 _pageLength ) external view override returns (address[] memory facetAddresses_) { - facetAddresses_ = _getFacetAddresses( - _resolverProxyStorage(), - _pageIndex, - _pageLength - ); + facetAddresses_ = _getFacetAddresses(_resolverProxyStorage(), _pageIndex, _pageLength); } - function getFacetIdBySelector( - bytes4 _selector - ) external view returns (bytes32 facetId_) { + function getFacetIdBySelector(bytes4 _selector) external view returns (bytes32 facetId_) { facetId_ = _getFacetIdBySelector(_resolverProxyStorage(), _selector); } - function getFacet( - bytes32 _facetId - ) external view override returns (Facet memory facet_) { + function getFacet(bytes32 _facetId) external view override returns (Facet memory facet_) { facet_ = _getFacet(_resolverProxyStorage(), _facetId); } - function getFacetAddress( - bytes4 _selector - ) external view override returns (address facetAddress_) { + function getFacetAddress(bytes4 _selector) external view override returns (address facetAddress_) { facetAddress_ = _getFacetAddress(_resolverProxyStorage(), _selector); } // This implements ERC-165. - function supportsInterface( - bytes4 _interfaceId - ) external view override returns (bool) { + function supportsInterface(bytes4 _interfaceId) external view override returns (bool) { return _supportsInterface(_resolverProxyStorage(), _interfaceId); } - function getStaticResolverKey() - external - pure - virtual - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure virtual override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _DIAMOND_LOUPE_RESOLVER_KEY; } @@ -374,53 +305,23 @@ contract DiamondLoupeFacet is uint256 selectorIndex; unchecked { staticFunctionSelectors_[selectorIndex++] = this.getFacets.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetsLength - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetsByPage - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetSelectors - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetSelectorsLength - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetSelectorsByPage - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetIds - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetIdsByPage - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetAddresses - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetAddressesByPage - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetIdBySelector - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetsLength.selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetsByPage.selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetSelectors.selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetSelectorsLength.selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetSelectorsByPage.selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetIds.selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetIdsByPage.selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetAddresses.selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetAddressesByPage.selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetIdBySelector.selector; staticFunctionSelectors_[selectorIndex++] = this.getFacet.selector; - staticFunctionSelectors_[selectorIndex++] = this - .getFacetAddress - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .supportsInterface - .selector; + staticFunctionSelectors_[selectorIndex++] = this.getFacetAddress.selector; + staticFunctionSelectors_[selectorIndex++] = this.supportsInterface.selector; } } - function getStaticInterfaceIds() - external - pure - virtual - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure virtual override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](2); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(IDiamondLoupe).interfaceId; diff --git a/packages/ats/contracts/contracts/resolver/resolverProxy/unstructured/ResolverProxyUnstructured.sol b/packages/ats/contracts/contracts/resolver/resolverProxy/unstructured/ResolverProxyUnstructured.sol index 4f2a0099b..cd16d12ba 100644 --- a/packages/ats/contracts/contracts/resolver/resolverProxy/unstructured/ResolverProxyUnstructured.sol +++ b/packages/ats/contracts/contracts/resolver/resolverProxy/unstructured/ResolverProxyUnstructured.sol @@ -206,31 +206,16 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - IResolverProxy -} from '../../../interfaces/resolver/resolverProxy/IResolverProxy.sol'; -import { - IBusinessLogicResolver -} from '../../../interfaces/resolver/IBusinessLogicResolver.sol'; -import { - IDiamondLoupe -} from '../../../interfaces/resolver/resolverProxy/IDiamondLoupe.sol'; -import { - AccessControlStorageWrapper -} from '../../../layer_0/core/accessControl/AccessControlStorageWrapper.sol'; -import { - PauseStorageWrapper -} from '../../../layer_0/core/pause/PauseStorageWrapper.sol'; -import { - _RESOLVER_PROXY_STORAGE_POSITION -} from '../../../layer_1/constants/storagePositions.sol'; +import { IResolverProxy } from '../../../interfaces/resolver/resolverProxy/IResolverProxy.sol'; +import { IBusinessLogicResolver } from '../../../interfaces/resolver/IBusinessLogicResolver.sol'; +import { IDiamondLoupe } from '../../../interfaces/resolver/resolverProxy/IDiamondLoupe.sol'; +import { AccessControlStorageWrapper } from '../../../layer_0/core/accessControl/AccessControlStorageWrapper.sol'; +import { PauseStorageWrapper } from '../../../layer_0/core/pause/PauseStorageWrapper.sol'; +import { _RESOLVER_PROXY_STORAGE_POSITION } from '../../../layer_1/constants/storagePositions.sol'; // Remember to add the loupe functions from DiamondLoupeFacet.sol.sol to the resolverProxy. // The loupe functions are required by the EIP2535 ResolverProxys standard -abstract contract ResolverProxyUnstructured is - AccessControlStorageWrapper, - PauseStorageWrapper -{ +abstract contract ResolverProxyUnstructured is AccessControlStorageWrapper, PauseStorageWrapper { struct FacetIdsAndSelectorPosition { bytes32 facetId; uint16 selectorPosition; @@ -249,10 +234,7 @@ abstract contract ResolverProxyUnstructured is uint256 _version, IResolverProxy.Rbac[] memory _rbacs ) internal { - _resolver.checkResolverProxyConfigurationRegistered( - _resolverProxyConfigurationId, - _version - ); + _resolver.checkResolverProxyConfigurationRegistered(_resolverProxyConfigurationId, _version); ResolverProxyStorage storage ds = _resolverProxyStorage(); _updateResolver(ds, _resolver); _updateConfigId(ds, _resolverProxyConfigurationId); @@ -260,45 +242,27 @@ abstract contract ResolverProxyUnstructured is _assignRbacRoles(_rbacs); } - function _updateResolver( - ResolverProxyStorage storage _ds, - IBusinessLogicResolver _resolver - ) internal { + function _updateResolver(ResolverProxyStorage storage _ds, IBusinessLogicResolver _resolver) internal { _ds.resolver = _resolver; } - function _updateConfigId( - ResolverProxyStorage storage _ds, - bytes32 _resolverProxyConfigurationId - ) internal { + function _updateConfigId(ResolverProxyStorage storage _ds, bytes32 _resolverProxyConfigurationId) internal { _ds.resolverProxyConfigurationId = _resolverProxyConfigurationId; } - function _updateVersion( - ResolverProxyStorage storage _ds, - uint256 _version - ) internal { + function _updateVersion(ResolverProxyStorage storage _ds, uint256 _version) internal { _ds.version = _version; } function _assignRbacRoles(IResolverProxy.Rbac[] memory _rbacs) internal { for (uint256 rbacIndex; rbacIndex < _rbacs.length; rbacIndex++) { - for ( - uint256 memberIndex; - memberIndex < _rbacs[rbacIndex].members.length; - memberIndex++ - ) { - _grantRole( - _rbacs[rbacIndex].role, - _rbacs[rbacIndex].members[memberIndex] - ); + for (uint256 memberIndex; memberIndex < _rbacs[rbacIndex].members.length; memberIndex++) { + _grantRole(_rbacs[rbacIndex].role, _rbacs[rbacIndex].members[memberIndex]); } } } - function _getFacetsLength( - ResolverProxyStorage storage _ds - ) internal view returns (uint256 facetsLength_) { + function _getFacetsLength(ResolverProxyStorage storage _ds) internal view returns (uint256 facetsLength_) { facetsLength_ = _ds.resolver.getFacetsLengthByConfigurationIdAndVersion( _ds.resolverProxyConfigurationId, _ds.version @@ -322,13 +286,11 @@ abstract contract ResolverProxyUnstructured is ResolverProxyStorage storage _ds, bytes32 _facetId ) internal view returns (uint256 facetSelectorsLength_) { - facetSelectorsLength_ = _ds - .resolver - .getFacetSelectorsLengthByConfigurationIdVersionAndFacetId( - _ds.resolverProxyConfigurationId, - _ds.version, - _facetId - ); + facetSelectorsLength_ = _ds.resolver.getFacetSelectorsLengthByConfigurationIdVersionAndFacetId( + _ds.resolverProxyConfigurationId, + _ds.version, + _facetId + ); } function _getFacetSelectors( @@ -337,15 +299,13 @@ abstract contract ResolverProxyUnstructured is uint256 _pageIndex, uint256 _pageLength ) internal view returns (bytes4[] memory facetSelectors_) { - facetSelectors_ = _ds - .resolver - .getFacetSelectorsByConfigurationIdVersionAndFacetId( - _ds.resolverProxyConfigurationId, - _ds.version, - _facetId, - _pageIndex, - _pageLength - ); + facetSelectors_ = _ds.resolver.getFacetSelectorsByConfigurationIdVersionAndFacetId( + _ds.resolverProxyConfigurationId, + _ds.version, + _facetId, + _pageIndex, + _pageLength + ); } function _getFacetIds( @@ -366,14 +326,12 @@ abstract contract ResolverProxyUnstructured is uint256 _pageIndex, uint256 _pageLength ) internal view returns (address[] memory facetAddresses_) { - facetAddresses_ = _ds - .resolver - .getFacetAddressesByConfigurationIdAndVersion( - _ds.resolverProxyConfigurationId, - _ds.version, - _pageIndex, - _pageLength - ); + facetAddresses_ = _ds.resolver.getFacetAddressesByConfigurationIdAndVersion( + _ds.resolverProxyConfigurationId, + _ds.version, + _pageIndex, + _pageLength + ); } function _getFacetIdBySelector( @@ -398,16 +356,8 @@ abstract contract ResolverProxyUnstructured is ); } - function _getFacetAddress( - ResolverProxyStorage storage _ds, - bytes4 _selector - ) internal view returns (address) { - return - _ds.resolver.resolveResolverProxyCall( - _ds.resolverProxyConfigurationId, - _ds.version, - _selector - ); + function _getFacetAddress(ResolverProxyStorage storage _ds, bytes4 _selector) internal view returns (address) { + return _ds.resolver.resolveResolverProxyCall(_ds.resolverProxyConfigurationId, _ds.version, _selector); } function _supportsInterface( @@ -421,11 +371,7 @@ abstract contract ResolverProxyUnstructured is ); } - function _resolverProxyStorage() - internal - pure - returns (ResolverProxyStorage storage ds) - { + function _resolverProxyStorage() internal pure returns (ResolverProxyStorage storage ds) { bytes32 position = _RESOLVER_PROXY_STORAGE_POSITION; // solhint-disable-next-line no-inline-assembly assembly { diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/AccessControlTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/AccessControlTimeTravel.sol index 7cb1e8f4f..aae8a38fc 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/AccessControlTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/AccessControlTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: BSD-3-Clause-Attribution pragma solidity 0.8.18; -import { - AccessControlFacet -} from '../../../layer_1/accessControl/AccessControlFacet.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract AccessControlFacetTimeTravel is - AccessControlFacet, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { AccessControlFacet } from '../../../layer_1/accessControl/AccessControlFacet.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract AccessControlFacetTimeTravel is AccessControlFacet, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/AdjustBalancesTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/AdjustBalancesTimeTravel.sol index 1f536fa81..116bf7147 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/AdjustBalancesTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/AdjustBalancesTimeTravel.sol @@ -205,21 +205,12 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - AdjustBalances -} from '../../../layer_2/adjustBalances/AdjustBalances.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { AdjustBalances } from '../../../layer_2/adjustBalances/AdjustBalances.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract AdjustBalancesTimeTravel is AdjustBalances, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/BondUSATimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/BondUSATimeTravel.sol index 57f19df5f..5e13e13f1 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/BondUSATimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/BondUSATimeTravel.sol @@ -206,19 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {BondUSA} from '../../../layer_3/bondUSA/BondUSA.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { BondUSA } from '../../../layer_3/bondUSA/BondUSA.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract BondUSATimeTravel is BondUSA, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/CapTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/CapTimeTravel.sol index b431f67c4..78f70b56e 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/CapTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/CapTimeTravel.sol @@ -205,20 +205,13 @@ pragma solidity 0.8.18; -import {Cap} from '../../../layer_1/cap/Cap.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { Cap } from '../../../layer_1/cap/Cap.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; // SPDX-License-Identifier: BSD-3-Clause-Attribution contract CapTimeTravel is Cap, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingActionsFacetTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingActionsFacetTimeTravel.sol index 22c1381e6..abd64126d 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingActionsFacetTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingActionsFacetTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - ClearingActionsFacet -} from '../../../layer_1/clearing/ClearingActionsFacet.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ClearingActionsFacetTimeTravel is - ClearingActionsFacet, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { ClearingActionsFacet } from '../../../layer_1/clearing/ClearingActionsFacet.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ClearingActionsFacetTimeTravel is ClearingActionsFacet, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingHoldCreationFacetTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingHoldCreationFacetTimeTravel.sol index 1cea0b408..1a3c04054 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingHoldCreationFacetTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingHoldCreationFacetTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - ClearingHoldCreationFacet -} from '../../../layer_1/clearing/ClearingHoldCreationFacet.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ClearingHoldCreationFacetTimeTravel is - ClearingHoldCreationFacet, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { ClearingHoldCreationFacet } from '../../../layer_1/clearing/ClearingHoldCreationFacet.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ClearingHoldCreationFacetTimeTravel is ClearingHoldCreationFacet, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingReadFacetTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingReadFacetTimeTravel.sol index f4799f0b3..b7168d79e 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingReadFacetTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingReadFacetTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - ClearingReadFacet -} from '../../../layer_1/clearing/ClearingReadFacet.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ClearingReadFacetTimeTravel is - ClearingReadFacet, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { ClearingReadFacet } from '../../../layer_1/clearing/ClearingReadFacet.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ClearingReadFacetTimeTravel is ClearingReadFacet, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingRedeemFacetTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingRedeemFacetTimeTravel.sol index be893ffb1..c3f947439 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingRedeemFacetTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingRedeemFacetTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - ClearingRedeemFacet -} from '../../../layer_1/clearing/ClearingRedeemFacet.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ClearingRedeemFacetTimeTravel is - ClearingRedeemFacet, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { ClearingRedeemFacet } from '../../../layer_1/clearing/ClearingRedeemFacet.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ClearingRedeemFacetTimeTravel is ClearingRedeemFacet, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingTransferFacetTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingTransferFacetTimeTravel.sol index 1358d01c0..878bbe8b6 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingTransferFacetTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ClearingTransferFacetTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - ClearingTransferFacet -} from '../../../layer_1/clearing/ClearingTransferFacet.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ClearingTransferFacetTimeTravel is - ClearingTransferFacet, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { ClearingTransferFacet } from '../../../layer_1/clearing/ClearingTransferFacet.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ClearingTransferFacetTimeTravel is ClearingTransferFacet, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ControlListTimeTravelTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ControlListTimeTravelTimeTravel.sol index a5804f77b..c8b787727 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ControlListTimeTravelTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ControlListTimeTravelTimeTravel.sol @@ -206,19 +206,12 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {ControlList} from '../../../layer_1/controlList/ControlList.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { ControlList } from '../../../layer_1/controlList/ControlList.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract ControlListTimeTravel is ControlList, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/CorporateActionsTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/CorporateActionsTimeTravel.sol index 4da84e122..4afeef316 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/CorporateActionsTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/CorporateActionsTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: BSD-3-Clause-Attribution pragma solidity 0.8.18; -import { - CorporateActions -} from '../../../layer_1/corporateActions/CorporateActions.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract CorporateActionsTimeTravel is - CorporateActions, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { CorporateActions } from '../../../layer_1/corporateActions/CorporateActions.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract CorporateActionsTimeTravel is CorporateActions, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1410ScheduledTasksTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1410ScheduledTasksTimeTravel.sol index 9fa5b11cc..99f9f054e 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1410ScheduledTasksTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1410ScheduledTasksTimeTravel.sol @@ -208,24 +208,12 @@ pragma solidity 0.8.18; -import { - ERC1410ScheduledTasks -} from '../../../layer_1/ERC1400/ERC1410/ERC1410ScheduledTasks.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ERC1410ScheduledTasksTimeTravel is - ERC1410ScheduledTasks, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { ERC1410ScheduledTasks } from '../../../layer_1/ERC1400/ERC1410/ERC1410ScheduledTasks.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ERC1410ScheduledTasksTimeTravel is ERC1410ScheduledTasks, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1594TimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1594TimeTravel.sol index 2bedf77e4..dd69f8e7e 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1594TimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1594TimeTravel.sol @@ -208,19 +208,12 @@ pragma solidity 0.8.18; -import {ERC1594} from '../../../layer_1/ERC1400/ERC1594/ERC1594.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { ERC1594 } from '../../../layer_1/ERC1400/ERC1594/ERC1594.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract ERC1594TimeTravel is ERC1594, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1643TimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1643TimeTravel.sol index d6f8d64c6..3476e04fd 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1643TimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1643TimeTravel.sol @@ -206,19 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {ERC1643} from '../../../layer_1/ERC1400/ERC1643/ERC1643.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { ERC1643 } from '../../../layer_1/ERC1400/ERC1643/ERC1643.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract ERC1643TimeTravel is ERC1643, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1644TimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1644TimeTravel.sol index 33ae70d4e..451717edc 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1644TimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC1644TimeTravel.sol @@ -208,19 +208,12 @@ pragma solidity 0.8.18; -import {ERC1644} from '../../../layer_1/ERC1400/ERC1644/ERC1644.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { ERC1644 } from '../../../layer_1/ERC1400/ERC1644/ERC1644.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract ERC1644TimeTravel is ERC1644, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC20TimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC20TimeTravel.sol index d521416ce..41cef1387 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC20TimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC20TimeTravel.sol @@ -208,19 +208,12 @@ pragma solidity 0.8.18; -import {ERC20} from '../../../layer_1/ERC1400/ERC20/ERC20.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { ERC20 } from '../../../layer_1/ERC1400/ERC20/ERC20.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract ERC20TimeTravel is ERC20, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC3643TimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC3643TimeTravel.sol index aeae9c732..5efc09658 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC3643TimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ERC3643TimeTravel.sol @@ -208,19 +208,12 @@ pragma solidity 0.8.18; -import {ERC3643} from '../../../layer_1/ERC3643/ERC3643.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { ERC3643 } from '../../../layer_1/ERC3643/ERC3643.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract ERC3643TimeTravel is ERC3643, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/EquityUSATimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/EquityUSATimeTravel.sol index f50dfc836..967f44d8b 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/EquityUSATimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/EquityUSATimeTravel.sol @@ -206,19 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {EquityUSA} from '../../../layer_3/equityUSA/EquityUSA.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { EquityUSA } from '../../../layer_3/equityUSA/EquityUSA.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract EquityUSATimeTravel is EquityUSA, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalControlListManagementTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalControlListManagementTimeTravel.sol index 3a20a04f7..7277e7076 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalControlListManagementTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalControlListManagementTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: BSD-3-Clause-Attribution pragma solidity 0.8.18; -import { - ExternalControlListManagement -} from '../../../layer_1/externalControlLists/ExternalControlListManagement.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ExternalControlListManagementTimeTravel is - ExternalControlListManagement, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { ExternalControlListManagement } from '../../../layer_1/externalControlLists/ExternalControlListManagement.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ExternalControlListManagementTimeTravel is ExternalControlListManagement, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalKycListManagementTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalKycListManagementTimeTravel.sol index 4cd951e8d..2177a4974 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalKycListManagementTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalKycListManagementTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: BSD-3-Clause-Attribution pragma solidity 0.8.18; -import { - ExternalKycListManagement -} from '../../../layer_1/externalKycLists/ExternalKycListManagement.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ExternalKycListManagementTimeTravel is - ExternalKycListManagement, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { ExternalKycListManagement } from '../../../layer_1/externalKycLists/ExternalKycListManagement.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ExternalKycListManagementTimeTravel is ExternalKycListManagement, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalPauseManagementTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalPauseManagementTimeTravel.sol index 1cda628ae..8ef4dfa5a 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalPauseManagementTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ExternalPauseManagementTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: BSD-3-Clause-Attribution pragma solidity 0.8.18; -import { - ExternalPauseManagement -} from '../../../layer_1/externalPauses/ExternalPauseManagement.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ExternalPauseManagementTimeTravel is - ExternalPauseManagement, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { ExternalPauseManagement } from '../../../layer_1/externalPauses/ExternalPauseManagement.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ExternalPauseManagementTimeTravel is ExternalPauseManagement, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/FreezeFacetTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/FreezeFacetTimeTravel.sol index 3936b0b7b..0076ccaca 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/FreezeFacetTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/FreezeFacetTimeTravel.sol @@ -208,19 +208,12 @@ pragma solidity 0.8.18; -import {FreezeFacet} from '../../../layer_1/ERC3643/FreezeFacet.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { FreezeFacet } from '../../../layer_1/ERC3643/FreezeFacet.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract FreezeFacetTimeTravel is FreezeFacet, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/HoldTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/HoldTimeTravel.sol index 91c0b09db..d1f2a2da1 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/HoldTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/HoldTimeTravel.sol @@ -206,19 +206,12 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {Hold} from '../../../layer_1/hold/Hold.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { Hold } from '../../../layer_1/hold/Hold.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract HoldTimeTravel is Hold, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/KycTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/KycTimeTravel.sol index 009d6b34b..a07b6af48 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/KycTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/KycTimeTravel.sol @@ -206,19 +206,12 @@ // SPDX-License-Identifier: BSD-3-Clause-Attribution pragma solidity 0.8.18; -import {Kyc} from '../../../layer_1/kyc/Kyc.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { Kyc } from '../../../layer_1/kyc/Kyc.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract KycTimeTravel is Kyc, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/LockTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/LockTimeTravel.sol index d5c174c7c..98c633c06 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/LockTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/LockTimeTravel.sol @@ -206,19 +206,12 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import {Lock} from '../../../layer_1/lock/Lock.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { Lock } from '../../../layer_1/lock/Lock.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract LockTimeTravel is Lock, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/PauseTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/PauseTimeTravel.sol index e2eba30b2..b892add34 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/PauseTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/PauseTimeTravel.sol @@ -206,19 +206,12 @@ // SPDX-License-Identifier: BSD-3-Clause-Attribution pragma solidity 0.8.18; -import {PauseFacet} from '../../../layer_1/pause/PauseFacet.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { PauseFacet } from '../../../layer_1/pause/PauseFacet.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract PauseFacetTimeTravel is PauseFacet, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ProtectedPartitionsTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ProtectedPartitionsTimeTravel.sol index 7c4fd40d6..30bf83946 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ProtectedPartitionsTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ProtectedPartitionsTimeTravel.sol @@ -1,24 +1,12 @@ pragma solidity 0.8.18; // SPDX-License-Identifier: BSD-3-Clause-Attribution -import { - ProtectedPartitions -} from '../../../layer_1/protectedPartitions/ProtectedPartitions.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { ProtectedPartitions } from '../../../layer_1/protectedPartitions/ProtectedPartitions.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; -contract ProtectedPartitionsTimeTravel is - ProtectedPartitions, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +contract ProtectedPartitionsTimeTravel is ProtectedPartitions, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledBalanceAdjustmentsTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledBalanceAdjustmentsTimeTravel.sol index f4d674dfd..d927d50c3 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledBalanceAdjustmentsTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledBalanceAdjustmentsTimeTravel.sol @@ -209,21 +209,11 @@ pragma solidity 0.8.18; import { ScheduledBalanceAdjustments } from '../../../layer_2/scheduledTasks/scheduledBalanceAdjustments/ScheduledBalanceAdjustments.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ScheduledBalanceAdjustmentsTimeTravel is - ScheduledBalanceAdjustments, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ScheduledBalanceAdjustmentsTimeTravel is ScheduledBalanceAdjustments, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledSnapshotsTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledSnapshotsTimeTravel.sol index c269889ed..aee8cc518 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledSnapshotsTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledSnapshotsTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - ScheduledSnapshots -} from '../../../layer_2/scheduledTasks/scheduledSnapshots/ScheduledSnapshots.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract ScheduledSnapshotsTimeTravel is - ScheduledSnapshots, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { ScheduledSnapshots } from '../../../layer_2/scheduledTasks/scheduledSnapshots/ScheduledSnapshots.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract ScheduledSnapshotsTimeTravel is ScheduledSnapshots, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledTasksTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledTasksTimeTravel.sol index f1cb9dd9f..09bd6cfdb 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledTasksTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/ScheduledTasksTimeTravel.sol @@ -206,21 +206,12 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import { - ScheduledTasks -} from '../../../layer_2/scheduledTasks/scheduledTasks/ScheduledTasks.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { ScheduledTasks } from '../../../layer_2/scheduledTasks/scheduledTasks/ScheduledTasks.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract ScheduledTasksTimeTravel is ScheduledTasks, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/SnapshotsTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/SnapshotsTimeTravel.sol index 68b2cbb97..81c137b5b 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/SnapshotsTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/SnapshotsTimeTravel.sol @@ -206,19 +206,12 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity 0.8.18; -import {Snapshots} from '../../../layer_1/snapshots/Snapshots.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { Snapshots } from '../../../layer_1/snapshots/Snapshots.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract SnapshotsTimeTravel is Snapshots, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/SsiManagement.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/SsiManagement.sol index 65ef628a1..621f90438 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/SsiManagement.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/SsiManagement.sol @@ -206,19 +206,12 @@ // SPDX-License-Identifier: BSD-3-Clause-Attribution pragma solidity 0.8.18; -import {SsiManagement} from '../../../layer_1/ssi/SsiManagement.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; +import { SsiManagement } from '../../../layer_1/ssi/SsiManagement.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; contract SsiManagementTimeTravel is SsiManagement, TimeTravelStorageWrapper { - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/TransferAndLockTimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/TransferAndLockTimeTravel.sol index 47ebf7c90..777019f16 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/TransferAndLockTimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/facetsTimeTravel/TransferAndLockTimeTravel.sol @@ -206,24 +206,12 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - TransferAndLock -} from '../../../layer_3/transferAndLock/TransferAndLock.sol'; -import { - TimeTravelStorageWrapper -} from '../timeTravel/TimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -contract TransferAndLockTimeTravel is - TransferAndLock, - TimeTravelStorageWrapper -{ - function _blockTimestamp() - internal - view - override(LocalContext, TimeTravelStorageWrapper) - returns (uint256) - { +import { TransferAndLock } from '../../../layer_3/transferAndLock/TransferAndLock.sol'; +import { TimeTravelStorageWrapper } from '../timeTravel/TimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +contract TransferAndLockTimeTravel is TransferAndLock, TimeTravelStorageWrapper { + function _blockTimestamp() internal view override(LocalContext, TimeTravelStorageWrapper) returns (uint256) { return TimeTravelStorageWrapper._blockTimestamp(); } } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/interfaces/ITimeTravelStorageWrapper.sol b/packages/ats/contracts/contracts/test/testTimeTravel/interfaces/ITimeTravelStorageWrapper.sol index e7df322d6..227cf3333 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/interfaces/ITimeTravelStorageWrapper.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/interfaces/ITimeTravelStorageWrapper.sol @@ -212,28 +212,25 @@ pragma solidity 0.8.18; */ interface ITimeTravelStorageWrapper { /** - * @notice Error thrown when attempting to set an invalid new system timestamp - * @param newSystemTime The new system timestamp that caused the error + * @notice Emitted when the system timestamp is changed + * @param legacySystemTime The legacy system timestamp (0 if not changed) + * @param newSystemTime The new system timestamp */ - error InvalidTimestamp(uint256 newSystemTime); + event SystemTimestampChanged(uint256 legacySystemTime, uint256 newSystemTime); /** - * @notice Emitted when using time travel out of test environment + * @notice Emitted when the system timestamp is reset */ - error WrongChainId(); + event SystemTimestampReset(); /** - * @notice Emitted when the system timestamp is changed - * @param legacySystemTime The legacy system timestamp (0 if not changed) - * @param newSystemTime The new system timestamp + * @notice Error thrown when attempting to set an invalid new system timestamp + * @param newSystemTime The new system timestamp that caused the error */ - event SystemTimestampChanged( - uint256 legacySystemTime, - uint256 newSystemTime - ); + error InvalidTimestamp(uint256 newSystemTime); /** - * @notice Emitted when the system timestamp is reset + * @notice Emitted when using time travel out of test environment */ - event SystemTimestampReset(); + error WrongChainId(); } diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/timeTravel/TimeTravel.sol b/packages/ats/contracts/contracts/test/testTimeTravel/timeTravel/TimeTravel.sol index b3c481071..01a34bbc0 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/timeTravel/TimeTravel.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/timeTravel/TimeTravel.sol @@ -206,17 +206,11 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import {TimeTravelStorageWrapper} from './TimeTravelStorageWrapper.sol'; -import { - IStaticFunctionSelectors -} from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; -import {ITimeTravel} from '../interfaces/ITimeTravel.sol'; - -contract TimeTravel is - IStaticFunctionSelectors, - ITimeTravel, - TimeTravelStorageWrapper -{ +import { TimeTravelStorageWrapper } from './TimeTravelStorageWrapper.sol'; +import { IStaticFunctionSelectors } from '../../../interfaces/resolver/resolverProxy/IStaticFunctionSelectors.sol'; +import { ITimeTravel } from '../interfaces/ITimeTravel.sol'; + +contract TimeTravel is IStaticFunctionSelectors, ITimeTravel, TimeTravelStorageWrapper { function changeSystemTimestamp(uint256 newTimestamp) external override { _changeSystemTimestamp(newTimestamp); } @@ -237,13 +231,7 @@ contract TimeTravel is _checkBlockChainid(chainId); } - function getStaticResolverKey() - external - pure - virtual - override - returns (bytes32 staticResolverKey_) - { + function getStaticResolverKey() external pure virtual override returns (bytes32 staticResolverKey_) { staticResolverKey_ = _TIME_TRAVEL_RESOLVER_KEY; } @@ -256,27 +244,13 @@ contract TimeTravel is { uint256 selectorIndex; staticFunctionSelectors_ = new bytes4[](4); - staticFunctionSelectors_[selectorIndex++] = this - .changeSystemTimestamp - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .resetSystemTimestamp - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .blockTimestamp - .selector; - staticFunctionSelectors_[selectorIndex++] = this - .checkBlockChainid - .selector; + staticFunctionSelectors_[selectorIndex++] = this.changeSystemTimestamp.selector; + staticFunctionSelectors_[selectorIndex++] = this.resetSystemTimestamp.selector; + staticFunctionSelectors_[selectorIndex++] = this.blockTimestamp.selector; + staticFunctionSelectors_[selectorIndex++] = this.checkBlockChainid.selector; } - function getStaticInterfaceIds() - external - pure - virtual - override - returns (bytes4[] memory staticInterfaceIds_) - { + function getStaticInterfaceIds() external pure virtual override returns (bytes4[] memory staticInterfaceIds_) { staticInterfaceIds_ = new bytes4[](1); uint256 selectorsIndex; staticInterfaceIds_[selectorsIndex++] = type(ITimeTravel).interfaceId; diff --git a/packages/ats/contracts/contracts/test/testTimeTravel/timeTravel/TimeTravelStorageWrapper.sol b/packages/ats/contracts/contracts/test/testTimeTravel/timeTravel/TimeTravelStorageWrapper.sol index 1a51bf419..28f4bb164 100644 --- a/packages/ats/contracts/contracts/test/testTimeTravel/timeTravel/TimeTravelStorageWrapper.sol +++ b/packages/ats/contracts/contracts/test/testTimeTravel/timeTravel/TimeTravelStorageWrapper.sol @@ -206,15 +206,10 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; -import { - ITimeTravelStorageWrapper -} from '../interfaces/ITimeTravelStorageWrapper.sol'; -import {LocalContext} from '../../../layer_0/context/LocalContext.sol'; - -abstract contract TimeTravelStorageWrapper is - ITimeTravelStorageWrapper, - LocalContext -{ +import { ITimeTravelStorageWrapper } from '../interfaces/ITimeTravelStorageWrapper.sol'; +import { LocalContext } from '../../../layer_0/context/LocalContext.sol'; + +abstract contract TimeTravelStorageWrapper is ITimeTravelStorageWrapper, LocalContext { // keccak256("security.token.standard.timeTravel.resolverKey") bytes32 internal constant _TIME_TRAVEL_RESOLVER_KEY = 0xba344464ddfb79287323340a7abdc770d353bd7dfd2695345419903dbb9918c8; @@ -224,10 +219,6 @@ abstract contract TimeTravelStorageWrapper is _checkBlockChainid(_blockChainid()); } - function _checkBlockChainid(uint256 chainId) internal pure { - if (chainId != 1337) revert WrongChainId(); - } - function _changeSystemTimestamp(uint256 _newSystemTime) internal { if (_newSystemTime == 0) { revert InvalidTimestamp(_newSystemTime); @@ -244,13 +235,11 @@ abstract contract TimeTravelStorageWrapper is emit SystemTimestampReset(); } - function _blockTimestamp() - internal - view - virtual - override - returns (uint256) - { + function _blockTimestamp() internal view virtual override returns (uint256) { return _timestamp == 0 ? block.timestamp : _timestamp; } + + function _checkBlockChainid(uint256 chainId) internal pure { + if (chainId != 1337) revert WrongChainId(); + } } diff --git a/packages/ats/contracts/eslint.config.mjs b/packages/ats/contracts/eslint.config.mjs deleted file mode 100644 index 4da23ff7d..000000000 --- a/packages/ats/contracts/eslint.config.mjs +++ /dev/null @@ -1,24 +0,0 @@ -// @ts-check - -import eslint from '@eslint/js' -import { globalIgnores } from 'eslint/config' -import tseslint from 'typescript-eslint' - -export default tseslint.config( - eslint.configs.recommended, - tseslint.configs.recommended, - globalIgnores([ - 'typechain-types/**/**', - 'test/demo/**/**', - 'build/**/**', - 'coverage/**/**', - '.solcover.js', - ]), - { - // * Overrides: Remove no-unused-expressions rule for test files - files: ['**/*.test.ts', '**/*.spec.ts', 'test/**/*', 'tests/**/*'], // File patterns for test files - rules: { - '@typescript-eslint/no-unused-expressions': 'off', // Disable the rule for test files - }, - } -) diff --git a/packages/ats/contracts/hardhat.config.ts b/packages/ats/contracts/hardhat.config.ts index 046f5ead8..06621021f 100644 --- a/packages/ats/contracts/hardhat.config.ts +++ b/packages/ats/contracts/hardhat.config.ts @@ -203,80 +203,80 @@ */ -import { HardhatUserConfig } from 'hardhat/config' -import 'tsconfig-paths/register' -import '@nomicfoundation/hardhat-toolbox' -import '@nomicfoundation/hardhat-chai-matchers' -import '@typechain/hardhat' -import 'hardhat-contract-sizer' -import 'hardhat-gas-reporter' -import Configuration from '@configuration' -import '@tasks' +import { HardhatUserConfig } from 'hardhat/config'; +import 'tsconfig-paths/register'; +import '@nomicfoundation/hardhat-toolbox'; +import '@nomicfoundation/hardhat-chai-matchers'; +import '@typechain/hardhat'; +import 'hardhat-contract-sizer'; +import 'hardhat-gas-reporter'; +import Configuration from '@configuration'; +import '@tasks'; const config: HardhatUserConfig = { - solidity: { - version: '0.8.18', - settings: { - optimizer: { - enabled: true, - runs: 100, - }, - evmVersion: 'london', - }, + solidity: { + version: '0.8.18', + settings: { + optimizer: { + enabled: true, + runs: 100, + }, + evmVersion: 'london', }, - paths: { - sources: './contracts', - tests: './test/unitTests', - cache: './cache', - artifacts: './artifacts', + }, + paths: { + sources: './contracts', + tests: './test/unitTests', + cache: './cache', + artifacts: './artifacts', + }, + defaultNetwork: 'hardhat', + networks: { + hardhat: { + chainId: 1337, + blockGasLimit: 30_000_000, + hardfork: 'london', }, - defaultNetwork: 'hardhat', - networks: { - hardhat: { - chainId: 1337, - blockGasLimit: 30_000_000, - hardfork: 'london', - }, - local: { - url: Configuration.endpoints.local.jsonRpc, - accounts: Configuration.privateKeys.local, - timeout: 60_000, - }, - previewnet: { - url: Configuration.endpoints.previewnet.jsonRpc, - accounts: Configuration.privateKeys.previewnet, - timeout: 120_000, - }, - testnet: { - url: Configuration.endpoints.testnet.jsonRpc, - accounts: Configuration.privateKeys.testnet, - timeout: 120_000, - }, - mainnet: { - url: Configuration.endpoints.mainnet.jsonRpc, - accounts: Configuration.privateKeys.mainnet, - timeout: 120_000, - }, + local: { + url: Configuration.endpoints.local.jsonRpc, + accounts: Configuration.privateKeys.local, + timeout: 60_000, }, - contractSizer: { - alphaSort: true, - disambiguatePaths: false, - runOnCompile: Configuration.contractSizerRunOnCompile, - strict: true, + previewnet: { + url: Configuration.endpoints.previewnet.jsonRpc, + accounts: Configuration.privateKeys.previewnet, + timeout: 120_000, }, - gasReporter: { - enabled: Configuration.reportGas, - showTimeSpent: true, - outputFile: 'gas-report.txt', // Force output to a file - noColors: true, // Recommended for file output + testnet: { + url: Configuration.endpoints.testnet.jsonRpc, + accounts: Configuration.privateKeys.testnet, + timeout: 120_000, }, - typechain: { - outDir: './typechain-types', - target: 'ethers-v5', + mainnet: { + url: Configuration.endpoints.mainnet.jsonRpc, + accounts: Configuration.privateKeys.mainnet, + timeout: 120_000, }, - mocha: { - timeout: 3_000_000, - }, -} - -export default config + }, + contractSizer: { + alphaSort: true, + disambiguatePaths: false, + runOnCompile: Configuration.contractSizerRunOnCompile, + strict: true, + }, + gasReporter: { + enabled: Configuration.reportGas, + showTimeSpent: true, + outputFile: 'gas-report.txt', // Force output to a file + noColors: true, // Recommended for file output + }, + typechain: { + outDir: './typechain-types', + target: 'ethers-v5', + }, + mocha: { + timeout: 3_000_000, + }, +}; + +export default config; diff --git a/packages/ats/contracts/package.json b/packages/ats/contracts/package.json index 45fb4e86a..f721ca9fc 100644 --- a/packages/ats/contracts/package.json +++ b/packages/ats/contracts/package.json @@ -3,10 +3,7 @@ "version": "1.14.4", "type": "commonjs", "main": "./build/typechain-types/index.js", - "files": [ - "build/", - "contracts/" - ], + "files": ["build/", "contracts/"], "exports": { ".": { "import": "./build/typechain-types/index.js", @@ -18,15 +15,8 @@ "scripts": { "build": "npx -y rimraf build && npm run compile && npx tsc -p tsconfig.json", "test": "npx hardhat test", - "lint": "npm run lint:sol && npm run lint:ts", - "lint:fix": "npm run prettier && npm run lint", "clean": "npm run clean:build && npm run clean:cache", - "prettier": "npm run prettier:write", "publish": "npm publish", - "lint:staged:sol": "solhint 'contracts/**/*.sol'", - "lint:staged:ts": "npx -y eslint .", - "lint:staged": "npm run lint:staged:ts", - "prettier:staged": "npx -y prettier . --write", "compile": "npx hardhat compile", "compile:traces": "npx hardhat --show-stack-traces compile", "compile:force": "npx hardhat compile --force && npm run build", @@ -45,10 +35,6 @@ "test:demo:hedera": "npx hardhat test test/demo/Demo.test.Hedera.ts", "test:factory": "npx hardhat test test/unitTests/factory/factory.test.ts", "test:resolver": "npx hardhat test test/unitTests/resolver/BusinessLogicResolver.test.ts", - "lint:sol": "solhint 'contracts/**/*.sol'", - "lint:ts": "npx -y eslint .", - "prettier:write": "npx -y prettier . --write", - "prettier:check": "npx -y prettier . --check", "size": "npx hardhat size-contracts", "keccak256": "npx hardhat keccak256", "hash": "npm run keccak256", @@ -57,21 +43,14 @@ "slither:summary": "docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock -v \"$(pwd)\":\"/home/ethsec/contracts\" -w \"/home/ethsec/contracts\" -u 0:0 trailofbits/eth-security-toolbox /bin/sh -c \"solc-select install 0.8.18 && solc-select use 0.8.18 && slither . --print human-summary --solc-remaps @=node_modules/@\"", "slither:storageLayout": "docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock -v \"$(pwd)\":\"/home/ethsec/contracts\" -w \"/home/ethsec/contracts\" -u 0:0 trailofbits/eth-security-toolbox /bin/sh -c \"solc-select install 0.8.18 && solc-select use 0.8.18 && slither . --print variable-order --solc-remaps @=node_modules/@\"", "slither:inheritance": "docker run -t --rm -v /var/run/docker.sock:/var/run/docker.sock -v \"$(pwd)\":\"/home/ethsec/contracts\" -w \"/home/ethsec/contracts\" -u 0:0 trailofbits/eth-security-toolbox /bin/sh -c \"solc-select install 0.8.18 && solc-select use 0.8.18 && slither . --print inheritance --solc-remaps @=node_modules/@\"", - "pre-commit": "npm run prettier && npm run lint", "prepack": "npm run compile:force", "doc": "npx hardhat dodoc", "extractMethods": "npx -y tsx scripts/extractMethods.ts" }, - "keywords": [ - "hedera", - "smart-contracts", - "tokenization", - "hardhat" - ], + "keywords": ["hedera", "smart-contracts", "tokenization", "hardhat"], "author": "", "license": "Apache-2.0", "devDependencies": { - "@eslint/js": "^9.24.0", "@hashgraph/sdk": "^2.62.0", "@nomicfoundation/hardhat-chai-matchers": "^1.0.6", "@nomicfoundation/hardhat-toolbox": "^2.0.2", @@ -85,25 +64,19 @@ "@types/jest": "^29.5.14", "chai": "^4.4.0", "dotenv": "^16.0.3", - "eslint": "^9.24.0", "ethers": "^5.8.0", "hardhat": "^2.22.19", "hardhat-abi-exporter": "^2.11.0", "hardhat-contract-sizer": "^2.10.0", "hardhat-gas-reporter": "^1.0.8", - "prettier": "^3.5.3", - "prettier-plugin-solidity": "^1.4.2", "rimraf": "^6.0.1", - "solhint": "^3.3.7", - "solhint-plugin-prettier": "^0.1.0", "solidity-coverage": "^0.8.14", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", - "typescript": "^5.8.2", - "typescript-eslint": "^8.26.1" + "typescript": "^5.8.2" }, "overrides": { "@typechain/ethers-v5": "^11.1.2", "ws": "^8.15.0" } -} \ No newline at end of file +} diff --git a/packages/ats/contracts/prettier.config.mjs b/packages/ats/contracts/prettier.config.mjs deleted file mode 100644 index a6d2db91b..000000000 --- a/packages/ats/contracts/prettier.config.mjs +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @see https://prettier.io/docs/configuration - * @type {import("prettier").Config} - */ -const config = { - trailingComma: 'es5', - tabWidth: 4, - singleQuote: true, - printWidth: 80, - semi: false, - plugins: ['prettier-plugin-solidity'], - overrides: [ - { - files: 'contracts/**/*.sol', - options: { - compiler: '0.8.18', - }, - }, - ], -} - -export default config diff --git a/packages/ats/contracts/scripts/Environment.ts b/packages/ats/contracts/scripts/Environment.ts index 9a4369953..f83c314d1 100644 --- a/packages/ats/contracts/scripts/Environment.ts +++ b/packages/ats/contracts/scripts/Environment.ts @@ -203,114 +203,114 @@ */ -import { DeployContractWithFactoryResult } from '@scripts' -import { BusinessLogicResolver, Factory } from '@typechain' -import DeployAtsContractsResult from './results/DeployAtsContractsResult' -import DeployAtsFullInfrastructureResult from './results/DeployAtsFullInfrastructureResult' +import { DeployContractWithFactoryResult } from '@scripts'; +import { BusinessLogicResolver, Factory } from '@typechain'; +import DeployAtsContractsResult from './results/DeployAtsContractsResult'; +import DeployAtsFullInfrastructureResult from './results/DeployAtsFullInfrastructureResult'; interface NewEnvironmentParams { - commonFacetIdList?: string[] - equityFacetIdList?: string[] - bondFacetIdList?: string[] - equityFacetVersionList?: number[] - bondFacetVersionList?: number[] - businessLogicResolver?: BusinessLogicResolver - factory?: Factory - deployedContracts?: DeployAtsContractsResult + commonFacetIdList?: string[]; + equityFacetIdList?: string[]; + bondFacetIdList?: string[]; + equityFacetVersionList?: number[]; + bondFacetVersionList?: number[]; + businessLogicResolver?: BusinessLogicResolver; + factory?: Factory; + deployedContracts?: DeployAtsContractsResult; } export default class Environment { - public commonFacetIdList?: string[] - public equityFacetIdList?: string[] - public bondFacetIdList?: string[] - public equityFacetVersionList?: number[] - public bondFacetVersionList?: number[] - public businessLogicResolver?: BusinessLogicResolver - public factory?: Factory - public deployedContracts?: DeployAtsContractsResult - - constructor({ + public commonFacetIdList?: string[]; + public equityFacetIdList?: string[]; + public bondFacetIdList?: string[]; + public equityFacetVersionList?: number[]; + public bondFacetVersionList?: number[]; + public businessLogicResolver?: BusinessLogicResolver; + public factory?: Factory; + public deployedContracts?: DeployAtsContractsResult; + + constructor({ + commonFacetIdList, + equityFacetIdList, + bondFacetIdList, + equityFacetVersionList, + bondFacetVersionList, + businessLogicResolver, + factory, + deployedContracts, + }: NewEnvironmentParams) { + this.commonFacetIdList = commonFacetIdList; + this.equityFacetIdList = equityFacetIdList; + this.bondFacetIdList = bondFacetIdList; + this.equityFacetVersionList = equityFacetVersionList; + this.bondFacetVersionList = bondFacetVersionList; + this.businessLogicResolver = businessLogicResolver; + this.factory = factory; + this.deployedContracts = deployedContracts; + } + + public static empty(): Environment { + return new Environment({}); + } + + public toDeployAtsFullInfrastructureResult(): DeployAtsFullInfrastructureResult { + const { + commonFacetIdList, + equityFacetIdList, + bondFacetIdList, + equityFacetVersionList, + bondFacetVersionList, + factory, + deployedContracts, + } = this._validateInitialization(); + + return new DeployAtsFullInfrastructureResult({ + facetLists: { commonFacetIdList, equityFacetIdList, bondFacetIdList, equityFacetVersionList, bondFacetVersionList, - businessLogicResolver, - factory, - deployedContracts, - }: NewEnvironmentParams) { - this.commonFacetIdList = commonFacetIdList - this.equityFacetIdList = equityFacetIdList - this.bondFacetIdList = bondFacetIdList - this.equityFacetVersionList = equityFacetVersionList - this.bondFacetVersionList = bondFacetVersionList - this.businessLogicResolver = businessLogicResolver - this.factory = factory - this.deployedContracts = deployedContracts + }, + factory: new DeployContractWithFactoryResult({ + address: factory.address, + contract: factory, + }), + ...deployedContracts, + }); + } + + public get initialized(): boolean { + try { + this._validateInitialization(); + return true; + } catch { + return false; } - - public static empty(): Environment { - return new Environment({}) - } - - public toDeployAtsFullInfrastructureResult(): DeployAtsFullInfrastructureResult { - const { - commonFacetIdList, - equityFacetIdList, - bondFacetIdList, - equityFacetVersionList, - bondFacetVersionList, - factory, - deployedContracts, - } = this._validateInitialization() - - return new DeployAtsFullInfrastructureResult({ - facetLists: { - commonFacetIdList, - equityFacetIdList, - bondFacetIdList, - equityFacetVersionList, - bondFacetVersionList, - }, - factory: new DeployContractWithFactoryResult({ - address: factory.address, - contract: factory, - }), - ...deployedContracts, - }) - } - - public get initialized(): boolean { - try { - this._validateInitialization() - return true - } catch { - return false - } - } - - private _validateInitialization() { - if ( - !this.commonFacetIdList || - !this.equityFacetIdList || - !this.bondFacetIdList || - !this.equityFacetVersionList || - !this.bondFacetVersionList || - !this.businessLogicResolver || - !this.factory || - !this.deployedContracts - ) { - throw new Error('Environment must be initialized') - } - return { - commonFacetIdList: this.commonFacetIdList, - equityFacetIdList: this.equityFacetIdList, - bondFacetIdList: this.bondFacetIdList, - equityFacetVersionList: this.equityFacetVersionList, - bondFacetVersionList: this.bondFacetVersionList, - businessLogicResolver: this.businessLogicResolver, - factory: this.factory, - deployedContracts: this.deployedContracts, - } + } + + private _validateInitialization() { + if ( + !this.commonFacetIdList || + !this.equityFacetIdList || + !this.bondFacetIdList || + !this.equityFacetVersionList || + !this.bondFacetVersionList || + !this.businessLogicResolver || + !this.factory || + !this.deployedContracts + ) { + throw new Error('Environment must be initialized'); } + return { + commonFacetIdList: this.commonFacetIdList, + equityFacetIdList: this.equityFacetIdList, + bondFacetIdList: this.bondFacetIdList, + equityFacetVersionList: this.equityFacetVersionList, + bondFacetVersionList: this.bondFacetVersionList, + businessLogicResolver: this.businessLogicResolver, + factory: this.factory, + deployedContracts: this.deployedContracts, + }; + } } diff --git a/packages/ats/contracts/scripts/blockchain.ts b/packages/ats/contracts/scripts/blockchain.ts index 3bc317a2d..6bf06167e 100644 --- a/packages/ats/contracts/scripts/blockchain.ts +++ b/packages/ats/contracts/scripts/blockchain.ts @@ -204,47 +204,47 @@ */ import { - TransactionReceiptError, - ValidateTxResponseCommand, - ValidateTxResponseResult, -} from '@scripts' + TransactionReceiptError, + ValidateTxResponseCommand, + ValidateTxResponseResult, +} from '@scripts'; export async function validateTxResponse({ - txResponse, - confirmationEvent, - confirmations, - errorMessage, + txResponse, + confirmationEvent, + confirmations, + errorMessage, }: ValidateTxResponseCommand): Promise { - const txReceipt = await txResponse.wait(confirmations) - if (txReceipt.status === 0) { - throw new TransactionReceiptError({ - errorMessage, - txHash: txResponse.hash, - }) - } - if (confirmationEvent) { - const eventFound = txReceipt.events?.filter((event) => { - return event.event === confirmationEvent - }) - if (!eventFound || eventFound.length === 0) { - throw new TransactionReceiptError({ - errorMessage, - txHash: txResponse.hash, - }) - } + const txReceipt = await txResponse.wait(confirmations); + if (txReceipt.status === 0) { + throw new TransactionReceiptError({ + errorMessage, + txHash: txResponse.hash, + }); + } + if (confirmationEvent) { + const eventFound = txReceipt.events?.filter((event) => { + return event.event === confirmationEvent; + }); + if (!eventFound || eventFound.length === 0) { + throw new TransactionReceiptError({ + errorMessage, + txHash: txResponse.hash, + }); } - return new ValidateTxResponseResult({ - txResponse, - txReceipt, - }) + } + return new ValidateTxResponseResult({ + txResponse, + txReceipt, + }); } export async function validateTxResponseList( - txResponseList: ValidateTxResponseCommand[] + txResponseList: ValidateTxResponseCommand[], ): Promise { - return Promise.all( - txResponseList.map(async (txResponse) => { - return await validateTxResponse(txResponse) - }) - ) + return Promise.all( + txResponseList.map(async (txResponse) => { + return await validateTxResponse(txResponse); + }), + ); } diff --git a/packages/ats/contracts/scripts/businessLogicResolver.ts b/packages/ats/contracts/scripts/businessLogicResolver.ts index ace4fbe91..099154dba 100644 --- a/packages/ats/contracts/scripts/businessLogicResolver.ts +++ b/packages/ats/contracts/scripts/businessLogicResolver.ts @@ -205,208 +205,208 @@ //import { loadFixture } from '@nomicfoundation/hardhat-network-helpers' import { - BusinessLogicResolver__factory, - IBusinessLogicResolver, - IBusinessLogicResolver__factory, - IDiamondCutManager__factory, - IStaticFunctionSelectors__factory, -} from '@typechain' -import { IStaticFunctionSelectors } from '@typechain' + BusinessLogicResolver__factory, + IBusinessLogicResolver, + IBusinessLogicResolver__factory, + IDiamondCutManager__factory, + IStaticFunctionSelectors__factory, +} from '@typechain'; +import { IStaticFunctionSelectors } from '@typechain'; import { - CreateConfigurationsForDeployedContractsCommand, - CreateConfigurationsForDeployedContractsResult, - deployContractWithFactory, - DeployContractWithFactoryCommand, - DeployProxyForBusinessLogicResolverCommand, - GAS_LIMIT, - GetFacetsByConfigurationIdAndVersionQuery, - GetFacetsByConfigurationIdAndVersionResult, - MESSAGES, - RegisterBusinessLogicsCommand, - RegisterDeployedContractBusinessLogicsCommand, - validateTxResponse, - ValidateTxResponseCommand, -} from '@scripts' -import { BOND_CONFIG_ID, EQUITY_CONFIG_ID, EVENTS } from './constants' -import { getContractFactory } from '@nomiclabs/hardhat-ethers/types' -import { FacetConfiguration } from './resolverDiamondCut' -import { Signer } from 'ethers' + CreateConfigurationsForDeployedContractsCommand, + CreateConfigurationsForDeployedContractsResult, + deployContractWithFactory, + DeployContractWithFactoryCommand, + DeployProxyForBusinessLogicResolverCommand, + GAS_LIMIT, + GetFacetsByConfigurationIdAndVersionQuery, + GetFacetsByConfigurationIdAndVersionResult, + MESSAGES, + RegisterBusinessLogicsCommand, + RegisterDeployedContractBusinessLogicsCommand, + validateTxResponse, + ValidateTxResponseCommand, +} from '@scripts'; +import { BOND_CONFIG_ID, EQUITY_CONFIG_ID, EVENTS } from './constants'; +import { getContractFactory } from '@nomiclabs/hardhat-ethers/types'; +import { FacetConfiguration } from './resolverDiamondCut'; +import { Signer } from 'ethers'; export interface BusinessLogicRegistryData { - businessLogicKey: string - businessLogicAddress: string + businessLogicKey: string; + businessLogicAddress: string; } export interface DeployedBusinessLogics { - businessLogicResolver: IStaticFunctionSelectors - factory: IStaticFunctionSelectors - diamondFacet: IStaticFunctionSelectors - accessControl: IStaticFunctionSelectors - controlList: IStaticFunctionSelectors - kyc: IStaticFunctionSelectors - ssiManagement: IStaticFunctionSelectors - corporateActions: IStaticFunctionSelectors - pause: IStaticFunctionSelectors - ERC20: IStaticFunctionSelectors - ERC1644: IStaticFunctionSelectors - eRC1410ScheduledTasks: IStaticFunctionSelectors - ERC1594: IStaticFunctionSelectors - eRC1643: IStaticFunctionSelectors - equityUSA: IStaticFunctionSelectors - bondUSA: IStaticFunctionSelectors - Snapshots: IStaticFunctionSelectors - scheduledSnapshots: IStaticFunctionSelectors - scheduledBalanceAdjustments: IStaticFunctionSelectors - scheduledTasks: IStaticFunctionSelectors - Cap: IStaticFunctionSelectors - Lock: IStaticFunctionSelectors - transferAndLock: IStaticFunctionSelectors - adjustBalances: IStaticFunctionSelectors - protectedPartitions: IStaticFunctionSelectors - Hold: IStaticFunctionSelectors - externalPauseManagement: IStaticFunctionSelectors - externalControlListManagement: IStaticFunctionSelectors - externalKycListManagement: IStaticFunctionSelectors - ERC3643: IStaticFunctionSelectors + businessLogicResolver: IStaticFunctionSelectors; + factory: IStaticFunctionSelectors; + diamondFacet: IStaticFunctionSelectors; + accessControl: IStaticFunctionSelectors; + controlList: IStaticFunctionSelectors; + kyc: IStaticFunctionSelectors; + ssiManagement: IStaticFunctionSelectors; + corporateActions: IStaticFunctionSelectors; + pause: IStaticFunctionSelectors; + ERC20: IStaticFunctionSelectors; + ERC1644: IStaticFunctionSelectors; + eRC1410ScheduledTasks: IStaticFunctionSelectors; + ERC1594: IStaticFunctionSelectors; + eRC1643: IStaticFunctionSelectors; + equityUSA: IStaticFunctionSelectors; + bondUSA: IStaticFunctionSelectors; + Snapshots: IStaticFunctionSelectors; + scheduledSnapshots: IStaticFunctionSelectors; + scheduledBalanceAdjustments: IStaticFunctionSelectors; + scheduledTasks: IStaticFunctionSelectors; + Cap: IStaticFunctionSelectors; + Lock: IStaticFunctionSelectors; + transferAndLock: IStaticFunctionSelectors; + adjustBalances: IStaticFunctionSelectors; + protectedPartitions: IStaticFunctionSelectors; + Hold: IStaticFunctionSelectors; + externalPauseManagement: IStaticFunctionSelectors; + externalControlListManagement: IStaticFunctionSelectors; + externalKycListManagement: IStaticFunctionSelectors; + ERC3643: IStaticFunctionSelectors; } -export let businessLogicResolver: IBusinessLogicResolver +export let businessLogicResolver: IBusinessLogicResolver; export async function deployProxyForBusinessLogicResolver({ - businessLogicResolverImplementationAddress, - proxyAdminAddress, + businessLogicResolverImplementationAddress, + proxyAdminAddress, + signer, + overrides, +}: DeployProxyForBusinessLogicResolverCommand) { + const deployProxyCommand = new DeployContractWithFactoryCommand({ + factory: new BusinessLogicResolver__factory(), + withProxy: true, + deployedContract: { + address: businessLogicResolverImplementationAddress, + proxyAdminAddress: proxyAdminAddress, + }, signer, overrides, -}: DeployProxyForBusinessLogicResolverCommand) { - const deployProxyCommand = new DeployContractWithFactoryCommand({ - factory: new BusinessLogicResolver__factory(), - withProxy: true, - deployedContract: { - address: businessLogicResolverImplementationAddress, - proxyAdminAddress: proxyAdminAddress, - }, - signer, - overrides, - }) - const { contract: businessLogicResolver } = - await deployContractWithFactory(deployProxyCommand) - - const txResponse = - await businessLogicResolver.initialize_BusinessLogicResolver({ - gasLimit: GAS_LIMIT.initialize.businessLogicResolver, - }) - validateTxResponse( - new ValidateTxResponseCommand({ - txResponse: txResponse, - errorMessage: MESSAGES.businessLogicResolver.error.initializing, - }) - ) + }); + const { contract: businessLogicResolver } = + await deployContractWithFactory(deployProxyCommand); + + const txResponse = + await businessLogicResolver.initialize_BusinessLogicResolver({ + gasLimit: GAS_LIMIT.initialize.businessLogicResolver, + }); + validateTxResponse( + new ValidateTxResponseCommand({ + txResponse: txResponse, + errorMessage: MESSAGES.businessLogicResolver.error.initializing, + }), + ); } function capitalizeFirst(str: string) { - return str.charAt(0).toUpperCase() + str.slice(1) + return str.charAt(0).toUpperCase() + str.slice(1); } function uncapitalizeFirst(str: string) { - return str.charAt(0).toLowerCase() + str.slice(1) + return str.charAt(0).toLowerCase() + str.slice(1); } export async function getFacetsByConfigurationIdAndVersion({ + businessLogicResolverAddress, + configurationId, + provider, + overrides, +}: GetFacetsByConfigurationIdAndVersionQuery): Promise { + const diamondCutManager = IDiamondCutManager__factory.connect( businessLogicResolverAddress, - configurationId, provider, - overrides, -}: GetFacetsByConfigurationIdAndVersionQuery): Promise { - const diamondCutManager = IDiamondCutManager__factory.connect( - businessLogicResolverAddress, - provider - ) - const latestConfigVersionRaw = - await diamondCutManager.getLatestVersionByConfiguration( - configurationId, - overrides - ) - - const lastestConfigVersion = parseInt( - latestConfigVersionRaw.toHexString(), - 16 - ) - - console.log( - `Number of Versions for Config ${configurationId}: ${lastestConfigVersion}` - ) - - const result = new GetFacetsByConfigurationIdAndVersionResult({ - facetListRecord: [], - }) - for ( - let currentVersion = 1; - currentVersion <= lastestConfigVersion; - currentVersion++ - ) { - const facetListLengthRaw = - await diamondCutManager.getFacetsLengthByConfigurationIdAndVersion( - configurationId, - currentVersion, - overrides - ) - const facetListLength = parseInt(facetListLengthRaw.toHexString(), 16) - - result.facetListRecord[currentVersion] = - await diamondCutManager.getFacetsByConfigurationIdAndVersion( - configurationId, - currentVersion, - 0, - facetListLength, - overrides - ) - } - return result + ); + const latestConfigVersionRaw = + await diamondCutManager.getLatestVersionByConfiguration( + configurationId, + overrides, + ); + + const lastestConfigVersion = parseInt( + latestConfigVersionRaw.toHexString(), + 16, + ); + + console.log( + `Number of Versions for Config ${configurationId}: ${lastestConfigVersion}`, + ); + + const result = new GetFacetsByConfigurationIdAndVersionResult({ + facetListRecord: [], + }); + for ( + let currentVersion = 1; + currentVersion <= lastestConfigVersion; + currentVersion++ + ) { + const facetListLengthRaw = + await diamondCutManager.getFacetsLengthByConfigurationIdAndVersion( + configurationId, + currentVersion, + overrides, + ); + const facetListLength = parseInt(facetListLengthRaw.toHexString(), 16); + + result.facetListRecord[currentVersion] = + await diamondCutManager.getFacetsByConfigurationIdAndVersion( + configurationId, + currentVersion, + 0, + facetListLength, + overrides, + ); + } + return result; } export async function deployBusinessLogics( - deployedAndRegisteredBusinessLogics: DeployedBusinessLogics + deployedAndRegisteredBusinessLogics: DeployedBusinessLogics, ) { - async function deployContractAndAssignIt( - deployedAndRegisteredBusinessLogics: DeployedBusinessLogics, - contractToDeploy: string - ) { - async function deployContract() { - return await (await getContractFactory(contractToDeploy)).deploy() - } - //await loadFixture(deployContract) - const deployedContract = await deployContract() - const deployedAndRegisteredBusinessLogics_Property = - uncapitalizeFirst(contractToDeploy) - deployedAndRegisteredBusinessLogics[ - deployedAndRegisteredBusinessLogics_Property as keyof DeployedBusinessLogics - ] = IStaticFunctionSelectors__factory.connect( - deployedContract.address, - deployedContract.signer - ) - } - let key: keyof typeof deployedAndRegisteredBusinessLogics - for (key in deployedAndRegisteredBusinessLogics) { - await deployContractAndAssignIt( - deployedAndRegisteredBusinessLogics, - capitalizeFirst(key) - ) + async function deployContractAndAssignIt( + deployedAndRegisteredBusinessLogics: DeployedBusinessLogics, + contractToDeploy: string, + ) { + async function deployContract() { + return await (await getContractFactory(contractToDeploy)).deploy(); } + //await loadFixture(deployContract) + const deployedContract = await deployContract(); + const deployedAndRegisteredBusinessLogics_Property = + uncapitalizeFirst(contractToDeploy); + deployedAndRegisteredBusinessLogics[ + deployedAndRegisteredBusinessLogics_Property as keyof DeployedBusinessLogics + ] = IStaticFunctionSelectors__factory.connect( + deployedContract.address, + deployedContract.signer, + ); + } + let key: keyof typeof deployedAndRegisteredBusinessLogics; + for (key in deployedAndRegisteredBusinessLogics) { + await deployContractAndAssignIt( + deployedAndRegisteredBusinessLogics, + capitalizeFirst(key), + ); + } } export async function registerDeployedContractBusinessLogics({ - deployedContractAddressList, + deployedContractAddressList, + businessLogicResolverProxyAddress, + signer, + overrides, +}: RegisterDeployedContractBusinessLogicsCommand) { + const registerBusinessLogicsCommand = new RegisterBusinessLogicsCommand({ + contractAddressList: deployedContractAddressList, businessLogicResolverProxyAddress, signer, overrides, -}: RegisterDeployedContractBusinessLogicsCommand) { - const registerBusinessLogicsCommand = new RegisterBusinessLogicsCommand({ - contractAddressList: deployedContractAddressList, - businessLogicResolverProxyAddress, - signer, - overrides, - }) - await registerBusinessLogics(registerBusinessLogicsCommand) + }); + await registerBusinessLogics(registerBusinessLogicsCommand); } /** @@ -428,198 +428,192 @@ export async function registerDeployedContractBusinessLogics({ * Each contract in the address list must implement the IStaticFunctionSelectors interface */ export async function registerBusinessLogics({ - contractAddressListToRegister, + contractAddressListToRegister, + businessLogicResolverProxyAddress, + signer, + overrides, +}: RegisterBusinessLogicsCommand): Promise { + const businessLogicRegistries: BusinessLogicRegistryData[] = + await Promise.all( + Object.values(contractAddressListToRegister).map(async (address) => { + const proxiedContract = IStaticFunctionSelectors__factory.connect( + address, + signer, + ); + const businessLogicKey = await proxiedContract.getStaticResolverKey(); + + return { + businessLogicKey, + businessLogicAddress: address.replace('0x', ''), + }; + }), + ); + + const resolverContract = IBusinessLogicResolver__factory.connect( businessLogicResolverProxyAddress, signer, - overrides, -}: RegisterBusinessLogicsCommand): Promise { - const businessLogicRegistries: BusinessLogicRegistryData[] = - await Promise.all( - Object.values(contractAddressListToRegister).map( - async (address) => { - const proxiedContract = - IStaticFunctionSelectors__factory.connect( - address, - signer - ) - const businessLogicKey = - await proxiedContract.getStaticResolverKey() - - return { - businessLogicKey, - businessLogicAddress: address.replace('0x', ''), - } - } - ) - ) - - const resolverContract = IBusinessLogicResolver__factory.connect( - businessLogicResolverProxyAddress, - signer - ) - const response = await resolverContract.registerBusinessLogics( - businessLogicRegistries, - { - gasLimit: GAS_LIMIT.businessLogicResolver.registerBusinessLogics, - ...overrides, - } - ) - await validateTxResponse( - new ValidateTxResponseCommand({ - txResponse: response, - confirmationEvent: EVENTS.businessLogicResolver.registered, - errorMessage: MESSAGES.businessLogicResolver.error.registering, - }) - ) + ); + const response = await resolverContract.registerBusinessLogics( + businessLogicRegistries, + { + gasLimit: GAS_LIMIT.businessLogicResolver.registerBusinessLogics, + ...overrides, + }, + ); + await validateTxResponse( + new ValidateTxResponseCommand({ + txResponse: response, + confirmationEvent: EVENTS.businessLogicResolver.registered, + errorMessage: MESSAGES.businessLogicResolver.error.registering, + }), + ); } function createFacetConfigurations( - ids: string[], - versions: number[] + ids: string[], + versions: number[], ): FacetConfiguration[] { - return ids.map((id, index) => ({ id, version: versions[index] })) + return ids.map((id, index) => ({ id, version: versions[index] })); } async function sendBatchConfiguration( - configId: string, - configurations: FacetConfiguration[], - isFinalBatch: boolean, - businessLogicResolverProxyAddress: string, - signer: Signer + configId: string, + configurations: FacetConfiguration[], + isFinalBatch: boolean, + businessLogicResolverProxyAddress: string, + signer: Signer, ): Promise { - const txResponse = await IDiamondCutManager__factory.connect( - businessLogicResolverProxyAddress, - signer - ).createBatchConfiguration(configId, configurations, isFinalBatch, { - gasLimit: GAS_LIMIT.businessLogicResolver.createConfiguration, - }) - - await validateTxResponse( - new ValidateTxResponseCommand({ - txResponse, - confirmationEvent: - EVENTS.businessLogicResolver.configurationCreated, - errorMessage: - MESSAGES.businessLogicResolver.error.creatingConfigurations, - }) - ) + const txResponse = await IDiamondCutManager__factory.connect( + businessLogicResolverProxyAddress, + signer, + ).createBatchConfiguration(configId, configurations, isFinalBatch, { + gasLimit: GAS_LIMIT.businessLogicResolver.createConfiguration, + }); + + await validateTxResponse( + new ValidateTxResponseCommand({ + txResponse, + confirmationEvent: EVENTS.businessLogicResolver.configurationCreated, + errorMessage: MESSAGES.businessLogicResolver.error.creatingConfigurations, + }), + ); } async function processFacetLists( - configId: string, - facetIdList: string[], - facetVersionList: number[], - businessLogicResolverProxyAddress: string, - signer: Signer, - partialBatchDeploy: boolean + configId: string, + facetIdList: string[], + facetVersionList: number[], + businessLogicResolverProxyAddress: string, + signer: Signer, + partialBatchDeploy: boolean, ): Promise { - if (facetIdList.length !== facetVersionList.length) { - throw new Error( - 'facetIdList and facetVersionList must have the same length' - ) - } - const batchSize = Math.ceil(facetIdList.length / 2) - - for (let i = 0; i < facetIdList.length; i += batchSize) { - const batchIds = facetIdList.slice(i, i + batchSize) - const batchVersions = facetVersionList.slice(i, i + batchSize) - const batch = createFacetConfigurations(batchIds, batchVersions) - - const isLastBatch = partialBatchDeploy - ? false - : i + batchSize >= facetIdList.length - - await sendBatchConfiguration( - configId, - batch, - isLastBatch, - businessLogicResolverProxyAddress, - signer - ) - } + if (facetIdList.length !== facetVersionList.length) { + throw new Error( + 'facetIdList and facetVersionList must have the same length', + ); + } + const batchSize = Math.ceil(facetIdList.length / 2); + + for (let i = 0; i < facetIdList.length; i += batchSize) { + const batchIds = facetIdList.slice(i, i + batchSize); + const batchVersions = facetVersionList.slice(i, i + batchSize); + const batch = createFacetConfigurations(batchIds, batchVersions); + + const isLastBatch = partialBatchDeploy + ? false + : i + batchSize >= facetIdList.length; + + await sendBatchConfiguration( + configId, + batch, + isLastBatch, + businessLogicResolverProxyAddress, + signer, + ); + } } export async function createConfigurationsForDeployedContracts( - partialBatchDeploy: boolean, - { - commonFacetAddressList, - equityFacetAddressList, - bondFacetAddressList, - businessLogicResolverProxyAddress, - signer, - }: CreateConfigurationsForDeployedContractsCommand + partialBatchDeploy: boolean, + { + commonFacetAddressList, + equityFacetAddressList, + bondFacetAddressList, + businessLogicResolverProxyAddress, + signer, + }: CreateConfigurationsForDeployedContractsCommand, ): Promise { - const result = CreateConfigurationsForDeployedContractsResult.empty() - - await fetchFacetResolverKeys( - result, - signer, - commonFacetAddressList, - equityFacetAddressList, - bondFacetAddressList - ) - - await processFacetLists( - EQUITY_CONFIG_ID, - result.equityFacetIdList, - result.equityFacetVersionList, - businessLogicResolverProxyAddress, - signer, - partialBatchDeploy - ) - await processFacetLists( - BOND_CONFIG_ID, - result.bondFacetIdList, - result.bondFacetVersionList, - businessLogicResolverProxyAddress, - signer, - partialBatchDeploy - ) - return result + const result = CreateConfigurationsForDeployedContractsResult.empty(); + + await fetchFacetResolverKeys( + result, + signer, + commonFacetAddressList, + equityFacetAddressList, + bondFacetAddressList, + ); + + await processFacetLists( + EQUITY_CONFIG_ID, + result.equityFacetIdList, + result.equityFacetVersionList, + businessLogicResolverProxyAddress, + signer, + partialBatchDeploy, + ); + await processFacetLists( + BOND_CONFIG_ID, + result.bondFacetIdList, + result.bondFacetVersionList, + businessLogicResolverProxyAddress, + signer, + partialBatchDeploy, + ); + return result; } async function fetchFacetResolverKeys( - result: CreateConfigurationsForDeployedContractsResult, - signer: Signer, - commonFacetAddressList: string[], - equityFacetAddressList: string[], - bondFacetAddressList: string[] + result: CreateConfigurationsForDeployedContractsResult, + signer: Signer, + commonFacetAddressList: string[], + equityFacetAddressList: string[], + bondFacetAddressList: string[], ): Promise { - const resolverKeyMap = new Map() - - result.commonFacetIdList = await Promise.all( - commonFacetAddressList.map((address) => - getResolverKey(address, signer, resolverKeyMap) - ) - ) - result.equityFacetIdList = await Promise.all( - equityFacetAddressList.map((address) => - getResolverKey(address, signer, resolverKeyMap) - ) - ) - result.bondFacetIdList = await Promise.all( - bondFacetAddressList.map((address) => - getResolverKey(address, signer, resolverKeyMap) - ) - ) - - result.equityFacetVersionList = Array(result.equityFacetIdList.length).fill( - 1 - ) - result.bondFacetVersionList = Array(result.bondFacetIdList.length).fill(1) + const resolverKeyMap = new Map(); + + result.commonFacetIdList = await Promise.all( + commonFacetAddressList.map((address) => + getResolverKey(address, signer, resolverKeyMap), + ), + ); + result.equityFacetIdList = await Promise.all( + equityFacetAddressList.map((address) => + getResolverKey(address, signer, resolverKeyMap), + ), + ); + result.bondFacetIdList = await Promise.all( + bondFacetAddressList.map((address) => + getResolverKey(address, signer, resolverKeyMap), + ), + ); + + result.equityFacetVersionList = Array(result.equityFacetIdList.length).fill( + 1, + ); + result.bondFacetVersionList = Array(result.bondFacetIdList.length).fill(1); } async function getResolverKey( - address: string, - signer: Signer, - keyMap: Map + address: string, + signer: Signer, + keyMap: Map, ): Promise { - if (!keyMap.has(address)) { - const key = await IStaticFunctionSelectors__factory.connect( - address, - signer - ).getStaticResolverKey() - keyMap.set(address, key) - } - return keyMap.get(address)! + if (!keyMap.has(address)) { + const key = await IStaticFunctionSelectors__factory.connect( + address, + signer, + ).getStaticResolverKey(); + keyMap.set(address, key); + } + return keyMap.get(address)!; } diff --git a/packages/ats/contracts/scripts/commands/CallContractCommand.ts b/packages/ats/contracts/scripts/commands/CallContractCommand.ts index 5e6f9eafc..308baf00b 100644 --- a/packages/ats/contracts/scripts/commands/CallContractCommand.ts +++ b/packages/ats/contracts/scripts/commands/CallContractCommand.ts @@ -203,28 +203,28 @@ */ -import { Contract, Overrides } from 'ethers' +import { Contract, Overrides } from 'ethers'; export default class CallContractCommand { - public readonly contract: Contract - public readonly method: string - public readonly args: Array - public readonly overrides?: Overrides - - constructor({ - contract, - method, - args, - overrides, - }: { - contract: Contract - method: string - args: Array - overrides?: Overrides - }) { - this.contract = contract - this.method = method - this.args = args - this.overrides = overrides ?? {} - } + public readonly contract: Contract; + public readonly method: string; + public readonly args: Array; + public readonly overrides?: Overrides; + + constructor({ + contract, + method, + args, + overrides, + }: { + contract: Contract; + method: string; + args: Array; + overrides?: Overrides; + }) { + this.contract = contract; + this.method = method; + this.args = args; + this.overrides = overrides ?? {}; + } } diff --git a/packages/ats/contracts/scripts/commands/CreateConfigurationsForDeployedContractsCommand.ts b/packages/ats/contracts/scripts/commands/CreateConfigurationsForDeployedContractsCommand.ts index 2a4749754..172315c48 100644 --- a/packages/ats/contracts/scripts/commands/CreateConfigurationsForDeployedContractsCommand.ts +++ b/packages/ats/contracts/scripts/commands/CreateConfigurationsForDeployedContractsCommand.ts @@ -204,84 +204,82 @@ */ import { - DeployAtsContractsResult, - BusinessLogicResolverProxyNotFound, - BaseAtsContractListCommand, - BaseBlockchainCommandParams, -} from '../index' + DeployAtsContractsResult, + BusinessLogicResolverProxyNotFound, + BaseAtsContractListCommand, + BaseBlockchainCommandParams, +} from '../index'; interface CreateConfigurationsForDeployedContractsCommandParams - extends BaseBlockchainCommandParams { - readonly deployedContractList: DeployAtsContractsResult + extends BaseBlockchainCommandParams { + readonly deployedContractList: DeployAtsContractsResult; } export default class CreateConfigurationsForDeployedContractsCommand extends BaseAtsContractListCommand { - private readonly equityUsaAddress: string - private readonly bondUsaAddress: string - private readonly excludeEquityAddresses: string[] = [] - private readonly excludeBondAddresses: string[] = [] - - constructor({ - deployedContractList, - signer, - overrides, - }: CreateConfigurationsForDeployedContractsCommandParams) { - const { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - deployer: _, - businessLogicResolver, - equityUsa, - bondUsa, - ...contractListToRegister - } = deployedContractList - - if (!businessLogicResolver.proxyAddress) { - throw new BusinessLogicResolverProxyNotFound() - } - - const contractAddressList = Object.values(contractListToRegister).map( - (contract) => contract.address - ) - - super({ - contractAddressList, - businessLogicResolverProxyAddress: - businessLogicResolver.proxyAddress, - signer, - overrides, - }) - this.equityUsaAddress = equityUsa.address - this.bondUsaAddress = bondUsa.address - this.excludeBondAddresses = [ - deployedContractList.adjustBalances.address, - deployedContractList.scheduledBalanceAdjustments.address, - ] + private readonly equityUsaAddress: string; + private readonly bondUsaAddress: string; + private readonly excludeEquityAddresses: string[] = []; + private readonly excludeBondAddresses: string[] = []; + + constructor({ + deployedContractList, + signer, + overrides, + }: CreateConfigurationsForDeployedContractsCommandParams) { + const { + deployer: _, + businessLogicResolver, + equityUsa, + bondUsa, + ...contractListToRegister + } = deployedContractList; + + if (!businessLogicResolver.proxyAddress) { + throw new BusinessLogicResolverProxyNotFound(); } - get commonFacetAddressList(): string[] { - const bondFacetSet = new Set(this.bondFacetAddressList) - return this.equityFacetAddressList.filter((address) => - bondFacetSet.has(address) - ) - } - - get equityFacetAddressList(): string[] { - return [ - ...this.getFilteredFacetAddresses(this.excludeEquityAddresses), - this.equityUsaAddress, - ] - } - - get bondFacetAddressList(): string[] { - return [ - ...this.getFilteredFacetAddresses(this.excludeBondAddresses), - this.bondUsaAddress, - ] - } - - private getFilteredFacetAddresses(excludeList: string[]): string[] { - return this.contractAddressList.filter( - (address) => !excludeList.includes(address) - ) - } + const contractAddressList = Object.values(contractListToRegister).map( + (contract) => contract.address, + ); + + super({ + contractAddressList, + businessLogicResolverProxyAddress: businessLogicResolver.proxyAddress, + signer, + overrides, + }); + this.equityUsaAddress = equityUsa.address; + this.bondUsaAddress = bondUsa.address; + this.excludeBondAddresses = [ + deployedContractList.adjustBalances.address, + deployedContractList.scheduledBalanceAdjustments.address, + ]; + } + + get commonFacetAddressList(): string[] { + const bondFacetSet = new Set(this.bondFacetAddressList); + return this.equityFacetAddressList.filter((address) => + bondFacetSet.has(address), + ); + } + + get equityFacetAddressList(): string[] { + return [ + ...this.getFilteredFacetAddresses(this.excludeEquityAddresses), + this.equityUsaAddress, + ]; + } + + get bondFacetAddressList(): string[] { + return [ + ...this.getFilteredFacetAddresses(this.excludeBondAddresses), + this.bondUsaAddress, + ]; + } + + private getFilteredFacetAddresses(excludeList: string[]): string[] { + return this.contractAddressList.filter( + (address) => !excludeList.includes(address), + ); + } } diff --git a/packages/ats/contracts/scripts/commands/DeployAtsContractsCommand.ts b/packages/ats/contracts/scripts/commands/DeployAtsContractsCommand.ts index faca6e2d9..882dd688f 100644 --- a/packages/ats/contracts/scripts/commands/DeployAtsContractsCommand.ts +++ b/packages/ats/contracts/scripts/commands/DeployAtsContractsCommand.ts @@ -203,63 +203,63 @@ */ -import { Signer } from 'ethers' -import { Network } from '@configuration' +import { Signer } from 'ethers'; +import { Network } from '@configuration'; interface DeployAtsContractsCommandNewParams { - signer: Signer - useDeployed?: boolean - useEnvironment?: boolean - timeTravelEnabled?: boolean - partialBatchDeploy?: boolean + signer: Signer; + useDeployed?: boolean; + useEnvironment?: boolean; + timeTravelEnabled?: boolean; + partialBatchDeploy?: boolean; } export interface DeployAtsContractsCommandParams - extends DeployAtsContractsCommandNewParams { - network: Network + extends DeployAtsContractsCommandNewParams { + network: Network; } export default class DeployAtsContractsCommand { - public readonly useDeployed: boolean - public readonly useEnvironment: boolean = false - public readonly signer: Signer - public readonly network: Network - public readonly timeTravelEnabled: boolean = false - public readonly partialBatchDeploy: boolean = false - - constructor({ - signer, - network, - useDeployed = true, - useEnvironment = false, - timeTravelEnabled = false, - partialBatchDeploy = false, - }: DeployAtsContractsCommandParams) { - this.useDeployed = useDeployed - this.useEnvironment = useEnvironment - this.network = network! - this.signer = signer - this.timeTravelEnabled = timeTravelEnabled - this.partialBatchDeploy = partialBatchDeploy - } - - public static async newInstance({ - signer, - useDeployed = true, - useEnvironment = false, - timeTravelEnabled = false, - partialBatchDeploy = false, - }: DeployAtsContractsCommandNewParams): Promise { - if (!signer.provider) { - throw new Error('Signer must have a provider') - } - return new DeployAtsContractsCommand({ - signer, - network: (await signer.provider.getNetwork()).name as Network, - useDeployed, - useEnvironment, - timeTravelEnabled, - partialBatchDeploy, - }) + public readonly useDeployed: boolean; + public readonly useEnvironment: boolean = false; + public readonly signer: Signer; + public readonly network: Network; + public readonly timeTravelEnabled: boolean = false; + public readonly partialBatchDeploy: boolean = false; + + constructor({ + signer, + network, + useDeployed = true, + useEnvironment = false, + timeTravelEnabled = false, + partialBatchDeploy = false, + }: DeployAtsContractsCommandParams) { + this.useDeployed = useDeployed; + this.useEnvironment = useEnvironment; + this.network = network!; + this.signer = signer; + this.timeTravelEnabled = timeTravelEnabled; + this.partialBatchDeploy = partialBatchDeploy; + } + + public static async newInstance({ + signer, + useDeployed = true, + useEnvironment = false, + timeTravelEnabled = false, + partialBatchDeploy = false, + }: DeployAtsContractsCommandNewParams): Promise { + if (!signer.provider) { + throw new Error('Signer must have a provider'); } + return new DeployAtsContractsCommand({ + signer, + network: (await signer.provider.getNetwork()).name as Network, + useDeployed, + useEnvironment, + timeTravelEnabled, + partialBatchDeploy, + }); + } } diff --git a/packages/ats/contracts/scripts/commands/DeployAtsFullInfrastructureCommand.ts b/packages/ats/contracts/scripts/commands/DeployAtsFullInfrastructureCommand.ts index 918f6be3d..a9f9f8175 100644 --- a/packages/ats/contracts/scripts/commands/DeployAtsFullInfrastructureCommand.ts +++ b/packages/ats/contracts/scripts/commands/DeployAtsFullInfrastructureCommand.ts @@ -203,6 +203,6 @@ */ -import { DeployAtsContractsCommand } from '../' +import { DeployAtsContractsCommand } from '../'; export default class DeployAtsFullInfrastructureCommand extends DeployAtsContractsCommand {} diff --git a/packages/ats/contracts/scripts/commands/DeployContractCommand.ts b/packages/ats/contracts/scripts/commands/DeployContractCommand.ts index b01d52665..de9106670 100644 --- a/packages/ats/contracts/scripts/commands/DeployContractCommand.ts +++ b/packages/ats/contracts/scripts/commands/DeployContractCommand.ts @@ -203,23 +203,23 @@ */ -import { Signer } from 'ethers' -import { ContractName } from '@configuration' +import { Signer } from 'ethers'; +import { ContractName } from '@configuration'; interface DeployContractCommandParams { - name: ContractName - signer: Signer - args?: Array + name: ContractName; + signer: Signer; + args?: Array; } export default class DeployContractCommand { - public readonly name: ContractName - public readonly signer: Signer - public readonly args: Array = [] - - constructor({ name, signer, args = [] }: DeployContractCommandParams) { - this.name = name - this.signer = signer - this.args = args - } + public readonly name: ContractName; + public readonly signer: Signer; + public readonly args: Array = []; + + constructor({ name, signer, args = [] }: DeployContractCommandParams) { + this.name = name; + this.signer = signer; + this.args = args; + } } diff --git a/packages/ats/contracts/scripts/commands/DeployContractWithFactoryCommand.ts b/packages/ats/contracts/scripts/commands/DeployContractWithFactoryCommand.ts index 647030a22..19f6a6a9b 100644 --- a/packages/ats/contracts/scripts/commands/DeployContractWithFactoryCommand.ts +++ b/packages/ats/contracts/scripts/commands/DeployContractWithFactoryCommand.ts @@ -203,39 +203,39 @@ */ -import { type ContractFactory, Overrides, Signer } from 'ethers' -import { DeployedContract } from '@configuration' +import { type ContractFactory, Overrides, Signer } from 'ethers'; +import { DeployedContract } from '@configuration'; export default class DeployContractWithFactoryCommand< - F extends ContractFactory, + F extends ContractFactory, > { - public readonly factory: F - public readonly signer: Signer - public readonly args: unknown[] - public readonly overrides?: Overrides - public readonly withProxy: boolean - public readonly deployedContract?: DeployedContract - - constructor({ - factory, - signer, - args = [], - overrides, - withProxy = false, - deployedContract, - }: { - factory: F - signer: Signer - args?: unknown[] - overrides?: Overrides - withProxy?: boolean - deployedContract?: DeployedContract - }) { - this.factory = factory - this.signer = signer - this.args = args - this.overrides = overrides ?? {} - this.withProxy = withProxy - this.deployedContract = deployedContract - } + public readonly factory: F; + public readonly signer: Signer; + public readonly args: unknown[]; + public readonly overrides?: Overrides; + public readonly withProxy: boolean; + public readonly deployedContract?: DeployedContract; + + constructor({ + factory, + signer, + args = [], + overrides, + withProxy = false, + deployedContract, + }: { + factory: F; + signer: Signer; + args?: unknown[]; + overrides?: Overrides; + withProxy?: boolean; + deployedContract?: DeployedContract; + }) { + this.factory = factory; + this.signer = signer; + this.args = args; + this.overrides = overrides ?? {}; + this.withProxy = withProxy; + this.deployedContract = deployedContract; + } } diff --git a/packages/ats/contracts/scripts/commands/DeployProxyAdminCommand.ts b/packages/ats/contracts/scripts/commands/DeployProxyAdminCommand.ts index 969446bc1..2cb319ce2 100644 --- a/packages/ats/contracts/scripts/commands/DeployProxyAdminCommand.ts +++ b/packages/ats/contracts/scripts/commands/DeployProxyAdminCommand.ts @@ -203,6 +203,6 @@ */ -import { BaseBlockchainCommand } from '../index' +import { BaseBlockchainCommand } from '../index'; export default class DeployProxyAdminCommand extends BaseBlockchainCommand {} diff --git a/packages/ats/contracts/scripts/commands/DeployProxyForBusinessLogicResolverCommand.ts b/packages/ats/contracts/scripts/commands/DeployProxyForBusinessLogicResolverCommand.ts index 11c62ee95..2c1213c96 100644 --- a/packages/ats/contracts/scripts/commands/DeployProxyForBusinessLogicResolverCommand.ts +++ b/packages/ats/contracts/scripts/commands/DeployProxyForBusinessLogicResolverCommand.ts @@ -203,27 +203,27 @@ */ -import { BaseBlockchainCommand, BaseBlockchainCommandParams } from '../index' +import { BaseBlockchainCommand, BaseBlockchainCommandParams } from '../index'; interface DeployProxyForBusinessLogicResolverCommandParams - extends BaseBlockchainCommandParams { - businessLogicResolverImplementationAddress: string - proxyAdminAddress?: string + extends BaseBlockchainCommandParams { + businessLogicResolverImplementationAddress: string; + proxyAdminAddress?: string; } export default class DeployProxyForBusinessLogicResolverCommand extends BaseBlockchainCommand { - businessLogicResolverImplementationAddress: string - proxyAdminAddress?: string - - constructor({ - businessLogicResolverImplementationAddress, - proxyAdminAddress, - signer, - overrides, - }: DeployProxyForBusinessLogicResolverCommandParams) { - super({ signer, overrides }) - this.businessLogicResolverImplementationAddress = - businessLogicResolverImplementationAddress - this.proxyAdminAddress = proxyAdminAddress - } + businessLogicResolverImplementationAddress: string; + proxyAdminAddress?: string; + + constructor({ + businessLogicResolverImplementationAddress, + proxyAdminAddress, + signer, + overrides, + }: DeployProxyForBusinessLogicResolverCommandParams) { + super({ signer, overrides }); + this.businessLogicResolverImplementationAddress = + businessLogicResolverImplementationAddress; + this.proxyAdminAddress = proxyAdminAddress; + } } diff --git a/packages/ats/contracts/scripts/commands/DeployTransparentProxyCommand.ts b/packages/ats/contracts/scripts/commands/DeployTransparentProxyCommand.ts index b219f25c7..b837c321f 100644 --- a/packages/ats/contracts/scripts/commands/DeployTransparentProxyCommand.ts +++ b/packages/ats/contracts/scripts/commands/DeployTransparentProxyCommand.ts @@ -203,26 +203,26 @@ */ -import { BaseBlockchainCommand, BaseBlockchainCommandParams } from '../index' +import { BaseBlockchainCommand, BaseBlockchainCommandParams } from '../index'; interface DeployUpgradeableProxyCommandParams - extends BaseBlockchainCommandParams { - proxyAdminAddress: string - implementationAddress: string + extends BaseBlockchainCommandParams { + proxyAdminAddress: string; + implementationAddress: string; } export default class DeployUpgradeableProxyCommand extends BaseBlockchainCommand { - public readonly proxyAdminAddress: string - public readonly implementationAddress: string - - constructor({ - proxyAdminAddress, - implementationAddress, - signer, - overrides, - }: DeployUpgradeableProxyCommandParams) { - super({ signer, overrides }) - this.proxyAdminAddress = proxyAdminAddress - this.implementationAddress = implementationAddress - } + public readonly proxyAdminAddress: string; + public readonly implementationAddress: string; + + constructor({ + proxyAdminAddress, + implementationAddress, + signer, + overrides, + }: DeployUpgradeableProxyCommandParams) { + super({ signer, overrides }); + this.proxyAdminAddress = proxyAdminAddress; + this.implementationAddress = implementationAddress; + } } diff --git a/packages/ats/contracts/scripts/commands/ErrorMessageCommand.ts b/packages/ats/contracts/scripts/commands/ErrorMessageCommand.ts index a881d522f..47da5cdc7 100644 --- a/packages/ats/contracts/scripts/commands/ErrorMessageCommand.ts +++ b/packages/ats/contracts/scripts/commands/ErrorMessageCommand.ts @@ -204,9 +204,9 @@ */ export default abstract class ErrorMessageCommand { - public readonly errorMessage?: string + public readonly errorMessage?: string; - constructor({ errorMessage }: { errorMessage?: string } = {}) { - this.errorMessage = errorMessage - } + constructor({ errorMessage }: { errorMessage?: string } = {}) { + this.errorMessage = errorMessage; + } } diff --git a/packages/ats/contracts/scripts/commands/RegisterBusinessLogicsCommand.ts b/packages/ats/contracts/scripts/commands/RegisterBusinessLogicsCommand.ts index 192650859..3f84c34b3 100644 --- a/packages/ats/contracts/scripts/commands/RegisterBusinessLogicsCommand.ts +++ b/packages/ats/contracts/scripts/commands/RegisterBusinessLogicsCommand.ts @@ -204,28 +204,28 @@ */ import { - BaseAtsContractListCommand, - BaseAtsContractListCommandParams, -} from '../index' + BaseAtsContractListCommand, + BaseAtsContractListCommandParams, +} from '../index'; -type RegisterBusinessLogicsCommandParams = BaseAtsContractListCommandParams +type RegisterBusinessLogicsCommandParams = BaseAtsContractListCommandParams; export default class RegisterBusinessLogicsCommand extends BaseAtsContractListCommand { - constructor({ - contractAddressList, - businessLogicResolverProxyAddress, - signer, - overrides, - }: RegisterBusinessLogicsCommandParams) { - super({ - contractAddressList, - businessLogicResolverProxyAddress, - signer, - overrides, - }) - } - - get contractAddressListToRegister() { - return this.contractAddressList - } + constructor({ + contractAddressList, + businessLogicResolverProxyAddress, + signer, + overrides, + }: RegisterBusinessLogicsCommandParams) { + super({ + contractAddressList, + businessLogicResolverProxyAddress, + signer, + overrides, + }); + } + + get contractAddressListToRegister() { + return this.contractAddressList; + } } diff --git a/packages/ats/contracts/scripts/commands/RegisterDeployedContractBusinessLogicsCommand.ts b/packages/ats/contracts/scripts/commands/RegisterDeployedContractBusinessLogicsCommand.ts index a3cb372b1..232867f2b 100644 --- a/packages/ats/contracts/scripts/commands/RegisterDeployedContractBusinessLogicsCommand.ts +++ b/packages/ats/contracts/scripts/commands/RegisterDeployedContractBusinessLogicsCommand.ts @@ -204,43 +204,42 @@ */ import { - DeployAtsContractsResult, - BusinessLogicResolverProxyNotFound, - BaseAtsContractListCommand, - BaseBlockchainCommandParams, -} from '@scripts' + DeployAtsContractsResult, + BusinessLogicResolverProxyNotFound, + BaseAtsContractListCommand, + BaseBlockchainCommandParams, +} from '@scripts'; interface RegisterDeployedContractBusinessLogicsCommandParams - extends BaseBlockchainCommandParams { - readonly deployedContractList: DeployAtsContractsResult + extends BaseBlockchainCommandParams { + readonly deployedContractList: DeployAtsContractsResult; } export default class RegisterDeployedContractBusinessLogicsCommand extends BaseAtsContractListCommand { - constructor({ - deployedContractList, - signer, - overrides, - }: RegisterDeployedContractBusinessLogicsCommandParams) { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const { deployer, businessLogicResolver, ...contractListToRegister } = - deployedContractList - const contractAddressList = Object.values(contractListToRegister).map( - (contract) => contract.address - ) - - if (!businessLogicResolver.proxyAddress) { - throw new BusinessLogicResolverProxyNotFound() - } - - super({ - contractAddressList, - businessLogicResolverProxyAddress: - businessLogicResolver.proxyAddress, - signer, - overrides, - }) - } - get deployedContractAddressList() { - return this.contractAddressList + constructor({ + deployedContractList, + signer, + overrides, + }: RegisterDeployedContractBusinessLogicsCommandParams) { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const { deployer, businessLogicResolver, ...contractListToRegister } = + deployedContractList; + const contractAddressList = Object.values(contractListToRegister).map( + (contract) => contract.address, + ); + + if (!businessLogicResolver.proxyAddress) { + throw new BusinessLogicResolverProxyNotFound(); } + + super({ + contractAddressList, + businessLogicResolverProxyAddress: businessLogicResolver.proxyAddress, + signer, + overrides, + }); + } + get deployedContractAddressList() { + return this.contractAddressList; + } } diff --git a/packages/ats/contracts/scripts/commands/UpgradeProxyImplementationCommand.ts b/packages/ats/contracts/scripts/commands/UpgradeProxyImplementationCommand.ts index 1178f8f8c..3f4672604 100644 --- a/packages/ats/contracts/scripts/commands/UpgradeProxyImplementationCommand.ts +++ b/packages/ats/contracts/scripts/commands/UpgradeProxyImplementationCommand.ts @@ -203,30 +203,30 @@ */ -import { BaseBlockchainCommand, BaseBlockchainCommandParams } from '../index' +import { BaseBlockchainCommand, BaseBlockchainCommandParams } from '../index'; interface UpgradeProxyImplementationCommandParams - extends BaseBlockchainCommandParams { - proxyAdminAddress: string - transparentProxyAddress: string - newImplementationAddress: string + extends BaseBlockchainCommandParams { + proxyAdminAddress: string; + transparentProxyAddress: string; + newImplementationAddress: string; } export default class UpgradeProxyImplementationCommand extends BaseBlockchainCommand { - public readonly proxyAdminAddress: string - public readonly transparentProxyAddress: string - public readonly newImplementationAddress: string - - constructor({ - proxyAdminAddress, - transparentProxyAddress, - newImplementationAddress, - signer, - overrides, - }: UpgradeProxyImplementationCommandParams) { - super({ signer, overrides }) - this.proxyAdminAddress = proxyAdminAddress - this.transparentProxyAddress = transparentProxyAddress - this.newImplementationAddress = newImplementationAddress - } + public readonly proxyAdminAddress: string; + public readonly transparentProxyAddress: string; + public readonly newImplementationAddress: string; + + constructor({ + proxyAdminAddress, + transparentProxyAddress, + newImplementationAddress, + signer, + overrides, + }: UpgradeProxyImplementationCommandParams) { + super({ signer, overrides }); + this.proxyAdminAddress = proxyAdminAddress; + this.transparentProxyAddress = transparentProxyAddress; + this.newImplementationAddress = newImplementationAddress; + } } diff --git a/packages/ats/contracts/scripts/commands/ValidateTxResponseCommand.ts b/packages/ats/contracts/scripts/commands/ValidateTxResponseCommand.ts index 7706572c7..1d6841290 100644 --- a/packages/ats/contracts/scripts/commands/ValidateTxResponseCommand.ts +++ b/packages/ats/contracts/scripts/commands/ValidateTxResponseCommand.ts @@ -203,30 +203,30 @@ */ -import { ContractTransaction } from 'ethers' -import { ErrorMessageCommand } from '../index' +import { ContractTransaction } from 'ethers'; +import { ErrorMessageCommand } from '../index'; interface ValidateTxResponseCommandParams { - txResponse: ContractTransaction - confirmationEvent?: string - confirmations?: number - errorMessage?: string + txResponse: ContractTransaction; + confirmationEvent?: string; + confirmations?: number; + errorMessage?: string; } export default class ValidateTxResponseCommand extends ErrorMessageCommand { - public readonly txResponse: ContractTransaction - public readonly confirmationEvent?: string - public readonly confirmations: number - - constructor({ - txResponse, - confirmationEvent, - confirmations = 1, - errorMessage, - }: ValidateTxResponseCommandParams) { - super({ errorMessage }) - this.txResponse = txResponse - this.confirmationEvent = confirmationEvent - this.confirmations = confirmations - } + public readonly txResponse: ContractTransaction; + public readonly confirmationEvent?: string; + public readonly confirmations: number; + + constructor({ + txResponse, + confirmationEvent, + confirmations = 1, + errorMessage, + }: ValidateTxResponseCommandParams) { + super({ errorMessage }); + this.txResponse = txResponse; + this.confirmationEvent = confirmationEvent; + this.confirmations = confirmations; + } } diff --git a/packages/ats/contracts/scripts/commands/base/BaseAtsContractListCommand.ts b/packages/ats/contracts/scripts/commands/base/BaseAtsContractListCommand.ts index 5ea8da24f..352d38df9 100644 --- a/packages/ats/contracts/scripts/commands/base/BaseAtsContractListCommand.ts +++ b/packages/ats/contracts/scripts/commands/base/BaseAtsContractListCommand.ts @@ -203,27 +203,29 @@ */ -import { BaseBlockchainCommand, BaseBlockchainCommandParams } from '../../index' +import { + BaseBlockchainCommand, + BaseBlockchainCommandParams, +} from '../../index'; export interface BaseAtsContractListCommandParams - extends BaseBlockchainCommandParams { - readonly contractAddressList: string[] - readonly businessLogicResolverProxyAddress: string + extends BaseBlockchainCommandParams { + readonly contractAddressList: string[]; + readonly businessLogicResolverProxyAddress: string; } export default abstract class BaseAtsContractListCommand extends BaseBlockchainCommand { - public readonly contractAddressList: string[] - public readonly businessLogicResolverProxyAddress: string - - constructor({ - contractAddressList, - businessLogicResolverProxyAddress, - signer, - overrides, - }: BaseAtsContractListCommandParams) { - super({ signer, overrides }) - this.contractAddressList = contractAddressList - this.businessLogicResolverProxyAddress = - businessLogicResolverProxyAddress - } + public readonly contractAddressList: string[]; + public readonly businessLogicResolverProxyAddress: string; + + constructor({ + contractAddressList, + businessLogicResolverProxyAddress, + signer, + overrides, + }: BaseAtsContractListCommandParams) { + super({ signer, overrides }); + this.contractAddressList = contractAddressList; + this.businessLogicResolverProxyAddress = businessLogicResolverProxyAddress; + } } diff --git a/packages/ats/contracts/scripts/commands/base/BaseBlockchainCommand.ts b/packages/ats/contracts/scripts/commands/base/BaseBlockchainCommand.ts index b43c03ab7..b9d1a770d 100644 --- a/packages/ats/contracts/scripts/commands/base/BaseBlockchainCommand.ts +++ b/packages/ats/contracts/scripts/commands/base/BaseBlockchainCommand.ts @@ -203,19 +203,19 @@ */ -import { Overrides, Signer } from 'ethers' +import { Overrides, Signer } from 'ethers'; export interface BaseBlockchainCommandParams { - signer: Signer - overrides?: Overrides + signer: Signer; + overrides?: Overrides; } export default abstract class BaseBlockchainCommand { - public readonly signer: Signer - public readonly overrides?: Overrides + public readonly signer: Signer; + public readonly overrides?: Overrides; - constructor({ signer, overrides }: BaseBlockchainCommandParams) { - this.signer = signer - this.overrides = overrides ?? {} - } + constructor({ signer, overrides }: BaseBlockchainCommandParams) { + this.signer = signer; + this.overrides = overrides ?? {}; + } } diff --git a/packages/ats/contracts/scripts/commands/base/BaseFromAddressListCommand.ts b/packages/ats/contracts/scripts/commands/base/BaseFromAddressListCommand.ts index 5d0f341a5..feb088be9 100644 --- a/packages/ats/contracts/scripts/commands/base/BaseFromAddressListCommand.ts +++ b/packages/ats/contracts/scripts/commands/base/BaseFromAddressListCommand.ts @@ -203,35 +203,34 @@ */ -import { Signer } from 'ethers' +import { Signer } from 'ethers'; export interface BaseAtsContractListCommandParams { - readonly contractAddressList: string[] - readonly businessLogicResolverProxyAddress: string - readonly equityUsaAddress?: string - readonly bondUsaAddress?: string - readonly signer: Signer + readonly contractAddressList: string[]; + readonly businessLogicResolverProxyAddress: string; + readonly equityUsaAddress?: string; + readonly bondUsaAddress?: string; + readonly signer: Signer; } export default abstract class BaseAtsContractListCommand { - public readonly contractAddressList: string[] - public readonly businessLogicResolverProxyAddress: string - public readonly equityUsaAddress?: string - public readonly bondUsaAddress?: string - public readonly signer: Signer - - constructor({ - contractAddressList, - businessLogicResolverProxyAddress, - equityUsaAddress, - bondUsaAddress, - signer, - }: BaseAtsContractListCommandParams) { - this.contractAddressList = contractAddressList - this.businessLogicResolverProxyAddress = - businessLogicResolverProxyAddress - this.equityUsaAddress = equityUsaAddress - this.bondUsaAddress = bondUsaAddress - this.signer = signer - } + public readonly contractAddressList: string[]; + public readonly businessLogicResolverProxyAddress: string; + public readonly equityUsaAddress?: string; + public readonly bondUsaAddress?: string; + public readonly signer: Signer; + + constructor({ + contractAddressList, + businessLogicResolverProxyAddress, + equityUsaAddress, + bondUsaAddress, + signer, + }: BaseAtsContractListCommandParams) { + this.contractAddressList = contractAddressList; + this.businessLogicResolverProxyAddress = businessLogicResolverProxyAddress; + this.equityUsaAddress = equityUsaAddress; + this.bondUsaAddress = bondUsaAddress; + this.signer = signer; + } } diff --git a/packages/ats/contracts/scripts/constants.ts b/packages/ats/contracts/scripts/constants.ts index 8b8d4706f..87a482198 100644 --- a/packages/ats/contracts/scripts/constants.ts +++ b/packages/ats/contracts/scripts/constants.ts @@ -203,185 +203,184 @@ */ -import { HashZero, AddressZero, Zero } from '@ethersproject/constants' +import { HashZero, AddressZero, Zero } from '@ethersproject/constants'; // * General -export const ZERO = Zero -export const HASH_ZERO = HashZero -export const ADDRESS_ZERO = AddressZero -export const EMPTY_STRING = '' -export const EMPTY_HEX_BYTES = '0x' +export const ZERO = Zero; +export const HASH_ZERO = HashZero; +export const ADDRESS_ZERO = AddressZero; +export const EMPTY_STRING = ''; +export const EMPTY_HEX_BYTES = '0x'; export const MAX_UINT256 = BigInt( - '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' -) + '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', +); export const DEFAULT_PARTITION = - '0x0000000000000000000000000000000000000000000000000000000000000001' + '0x0000000000000000000000000000000000000000000000000000000000000001'; export const EQUITY_CONFIG_ID = - '0x0000000000000000000000000000000000000000000000000000000000000001' + '0x0000000000000000000000000000000000000000000000000000000000000001'; export const BOND_CONFIG_ID = - '0x0000000000000000000000000000000000000000000000000000000000000002' + '0x0000000000000000000000000000000000000000000000000000000000000002'; // Extract Methods // TODO: Use OUTPUT_FILE as input parameter (CONTRACTS_DIR?) -export const CONTRACTS_DIR = 'contracts' -export const OUTPUT_FILE = 'extracted-methods.txt' -export const REGEX_SELECTOR = /function\s+([a-zA-Z0-9_]+)\s*\(([^)]*)\)/g +export const CONTRACTS_DIR = 'contracts'; +export const OUTPUT_FILE = 'extracted-methods.txt'; +export const REGEX_SELECTOR = /function\s+([a-zA-Z0-9_]+)\s*\(([^)]*)\)/g; // * Roles export const DEFAULT_ADMIN_ROLE = - '0x0000000000000000000000000000000000000000000000000000000000000000' + '0x0000000000000000000000000000000000000000000000000000000000000000'; export const CONTROL_LIST_ROLE = - '0xca537e1c88c9f52dc5692c96c482841c3bea25aafc5f3bfe96f645b5f800cac3' + '0xca537e1c88c9f52dc5692c96c482841c3bea25aafc5f3bfe96f645b5f800cac3'; export const CORPORATE_ACTION_ROLE = - '0x8a139eeb747b9809192ae3de1b88acfd2568c15241a5c4f85db0443a536d77d6' + '0x8a139eeb747b9809192ae3de1b88acfd2568c15241a5c4f85db0443a536d77d6'; export const ISSUER_ROLE = - '0x4be32e8849414d19186807008dabd451c1d87dae5f8e22f32f5ce94d486da842' + '0x4be32e8849414d19186807008dabd451c1d87dae5f8e22f32f5ce94d486da842'; export const DOCUMENTER_ROLE = - '0x83ace103a76d3729b4ba1350ad27522bbcda9a1a589d1e5091f443e76abccf41' + '0x83ace103a76d3729b4ba1350ad27522bbcda9a1a589d1e5091f443e76abccf41'; export const CONTROLLER_ROLE = - '0xa72964c08512ad29f46841ce735cff038789243c2b506a89163cc99f76d06c0f' + '0xa72964c08512ad29f46841ce735cff038789243c2b506a89163cc99f76d06c0f'; export const PAUSER_ROLE = - '0x6f65556918c1422809d0d567462eafeb371be30159d74b38ac958dc58864faeb' + '0x6f65556918c1422809d0d567462eafeb371be30159d74b38ac958dc58864faeb'; export const PAUSE_MANAGER_ROLE = - '0xbc36fbd776e95c4811506a63b650c876b4159cb152d827a5f717968b67c69b84' + '0xbc36fbd776e95c4811506a63b650c876b4159cb152d827a5f717968b67c69b84'; export const CAP_ROLE = - '0xb60cac52541732a1020ce6841bc7449e99ed73090af03b50911c75d631476571' + '0xb60cac52541732a1020ce6841bc7449e99ed73090af03b50911c75d631476571'; export const SNAPSHOT_ROLE = - '0x3fbb44760c0954eea3f6cb9f1f210568f5ae959dcbbef66e72f749dbaa7cc2da' + '0x3fbb44760c0954eea3f6cb9f1f210568f5ae959dcbbef66e72f749dbaa7cc2da'; export const LOCKER_ROLE = - '0xd8aa8c6f92fe8ac3f3c0f88216e25f7c08b3a6c374b4452a04d200c29786ce88' + '0xd8aa8c6f92fe8ac3f3c0f88216e25f7c08b3a6c374b4452a04d200c29786ce88'; export const ADJUSTMENT_BALANCE_ROLE = - '0x6d0d63b623e69df3a6ea8aebd01f360a0250a880cbc44f7f10c49726a80a78a9' + '0x6d0d63b623e69df3a6ea8aebd01f360a0250a880cbc44f7f10c49726a80a78a9'; export const BOND_MANAGER_ROLE = - '0x8e99f55d84328dd46dd7790df91f368b44ea448d246199c88b97896b3f83f65d' + '0x8e99f55d84328dd46dd7790df91f368b44ea448d246199c88b97896b3f83f65d'; export const PROTECTED_PARTITIONS_ROLE = - '0x8e359333991af626d1f6087d9bc57221ef1207a053860aaa78b7609c2c8f96b6' + '0x8e359333991af626d1f6087d9bc57221ef1207a053860aaa78b7609c2c8f96b6'; export const PROTECTED_PARTITIONS_PARTICIPANT_ROLE = - '0xdaba153046c65d49da6a7597abc24374aa681e3eee7004426ca6185b3927a3f5' + '0xdaba153046c65d49da6a7597abc24374aa681e3eee7004426ca6185b3927a3f5'; export const WILD_CARD_ROLE = - '0x96658f163b67573bbf1e3f9e9330b199b3ac2f6ec0139ea95f622e20a5df2f46' + '0x96658f163b67573bbf1e3f9e9330b199b3ac2f6ec0139ea95f622e20a5df2f46'; export const SSI_MANAGER_ROLE = - '0x0995a089e16ba792fdf9ec5a4235cba5445a9fb250d6e96224c586678b81ebd0' + '0x0995a089e16ba792fdf9ec5a4235cba5445a9fb250d6e96224c586678b81ebd0'; export const KYC_ROLE = - '0x6fbd421e041603fa367357d79ffc3b2f9fd37a6fc4eec661aa5537a9ae75f93d' + '0x6fbd421e041603fa367357d79ffc3b2f9fd37a6fc4eec661aa5537a9ae75f93d'; export const CLEARING_ROLE = - '0x2292383e7bb988fb281e5195ab88da11e62fec74cf43e8685cff613d6b906450' + '0x2292383e7bb988fb281e5195ab88da11e62fec74cf43e8685cff613d6b906450'; export const CLEARING_VALIDATOR_ROLE = - '0x7b688898673e16c47810f5da9ce1262a3d7d022dfe27c8ff9305371cd435c619' + '0x7b688898673e16c47810f5da9ce1262a3d7d022dfe27c8ff9305371cd435c619'; export const _PAUSE_MANAGER_ROLE = - '0xbc36fbd776e95c4811506a63b650c876b4159cb152d827a5f717968b67c69b84' + '0xbc36fbd776e95c4811506a63b650c876b4159cb152d827a5f717968b67c69b84'; export const _CONTROL_LIST_MANAGER_ROLE = - '0x0e625647b832ec7d4146c12550c31c065b71e0a698095568fd8320dd2aa72e75' + '0x0e625647b832ec7d4146c12550c31c065b71e0a698095568fd8320dd2aa72e75'; export const FREEZE_MANAGER_ROLE = - '0xd0e5294c1fc630933e135c5b668c5d577576754d33964d700bbbcdbfd7e1361b' + '0xd0e5294c1fc630933e135c5b668c5d577576754d33964d700bbbcdbfd7e1361b'; // * Tasks export const BALANCE_ADJUSTMENT_TASK_TYPE = - '0x9ce9cffaccaf68fc544ce4df9e5e2774249df2f0b3c9cf940a53a6827465db9d' + '0x9ce9cffaccaf68fc544ce4df9e5e2774249df2f0b3c9cf940a53a6827465db9d'; export const SNAPSHOT_TASK_TYPE = - '0x322c4b500b27950e00c27e3a40ca8f9ffacbc81a3b4e3c9516717391fd54234c' + '0x322c4b500b27950e00c27e3a40ca8f9ffacbc81a3b4e3c9516717391fd54234c'; export const KYC_MANAGER_ROLE = - '0x8ebae577938c1afa7fb3dc7b06459c79c86ffd2ac9805b6da92ee4cbbf080449' + '0x8ebae577938c1afa7fb3dc7b06459c79c86ffd2ac9805b6da92ee4cbbf080449'; export const INTERNAL_KYC_MANAGER_ROLE = - '0x3916c5c9e68488134c2ee70660332559707c133d0a295a25971da4085441522e' + '0x3916c5c9e68488134c2ee70660332559707c133d0a295a25971da4085441522e'; export const AGENT_ROLE = - '0xc4aed0454da9bde6defa5baf93bb49d4690626fc243d138104e12d1def783ea6' + '0xc4aed0454da9bde6defa5baf93bb49d4690626fc243d138104e12d1def783ea6'; // * Errors -export const IS_PAUSED_ERROR_ID = '0x40' -export const OPERATOR_ACCOUNT_BLOCKED_ERROR_ID = '0x41' -export const FROM_ACCOUNT_BLOCKED_ERROR_ID = '0x42' -export const TO_ACCOUNT_BLOCKED_ERROR_ID = '0x43' -export const FROM_ACCOUNT_NULL_ERROR_ID = '0x44' -export const TO_ACCOUNT_NULL_ERROR_ID = '0x45' -export const NOT_ENOUGH_BALANCE_BLOCKED_ERROR_ID = '0x46' -export const IS_NOT_OPERATOR_ERROR_ID = '0x47' -export const WRONG_PARTITION_ERROR_ID = '0x48' -export const ALLOWANCE_REACHED_ERROR_ID = '0x49' -export const FROM_ACCOUNT_KYC_ERROR_ID = '0x50' -export const TO_ACCOUNT_KYC_ERROR_ID = '0x51' -export const CLEARING_ACTIVE_ERROR_ID = '0x52' -export const ADDRESS_RECOVERED_OPERATOR_ERROR_ID = '0x53' -export const ADDRESS_RECOVERED_FROM_ERROR_ID = '0x54' -export const ADDRESS_RECOVERED_TO_ERROR_ID = '0x55' - -export const SUCCESS = '0x00' +export const IS_PAUSED_ERROR_ID = '0x40'; +export const OPERATOR_ACCOUNT_BLOCKED_ERROR_ID = '0x41'; +export const FROM_ACCOUNT_BLOCKED_ERROR_ID = '0x42'; +export const TO_ACCOUNT_BLOCKED_ERROR_ID = '0x43'; +export const FROM_ACCOUNT_NULL_ERROR_ID = '0x44'; +export const TO_ACCOUNT_NULL_ERROR_ID = '0x45'; +export const NOT_ENOUGH_BALANCE_BLOCKED_ERROR_ID = '0x46'; +export const IS_NOT_OPERATOR_ERROR_ID = '0x47'; +export const WRONG_PARTITION_ERROR_ID = '0x48'; +export const ALLOWANCE_REACHED_ERROR_ID = '0x49'; +export const FROM_ACCOUNT_KYC_ERROR_ID = '0x50'; +export const TO_ACCOUNT_KYC_ERROR_ID = '0x51'; +export const CLEARING_ACTIVE_ERROR_ID = '0x52'; +export const ADDRESS_RECOVERED_OPERATOR_ERROR_ID = '0x53'; +export const ADDRESS_RECOVERED_FROM_ERROR_ID = '0x54'; +export const ADDRESS_RECOVERED_TO_ERROR_ID = '0x55'; + +export const SUCCESS = '0x00'; // * Events export const EVENTS = { - businessLogicResolver: { - registered: 'BusinessLogicsRegistered', - configurationCreated: 'DiamondBatchConfigurationCreated', - }, - equity: { - deployed: 'EquityDeployed', - }, - bond: { - deployed: 'BondDeployed', - }, -} + businessLogicResolver: { + registered: 'BusinessLogicsRegistered', + configurationCreated: 'DiamondBatchConfigurationCreated', + }, + equity: { + deployed: 'EquityDeployed', + }, + bond: { + deployed: 'BondDeployed', + }, +}; // * Regular expressions export const REGEX = { - contractId: /^0\.0\.\d+$/, - address: /^0x[a-fA-F0-9]{40}$/, - bytes32: /^0x[a-fA-F0-9]{64}$/, - bytes: /^0x[a-fA-F0-9]*$/, -} + contractId: /^0\.0\.\d+$/, + address: /^0x[a-fA-F0-9]{40}$/, + bytes32: /^0x[a-fA-F0-9]{64}$/, + bytes: /^0x[a-fA-F0-9]*$/, +}; // * Gas export const GAS_LIMIT = { - max: 30_000_000, - default: 3_000_000, - low: 1_000_000, - high: 10_000_000, - initialize: { - businessLogicResolver: 8_000_000, - }, - proxyAdmin: { - upgrade: 150_000, - }, - businessLogicResolver: { - getStaticResolverKey: 60_000, - registerBusinessLogics: 7_800_000, - createConfiguration: 15_000_000, - }, -} + max: 30_000_000, + default: 3_000_000, + low: 1_000_000, + high: 10_000_000, + initialize: { + businessLogicResolver: 8_000_000, + }, + proxyAdmin: { + upgrade: 150_000, + }, + businessLogicResolver: { + getStaticResolverKey: 60_000, + registerBusinessLogics: 7_800_000, + createConfiguration: 15_000_000, + }, +}; // * Messages export const MESSAGES = { - blockchain: { - validateTxResponse: { - error: ['Error validating transaction response.', ' Tx Hash: '], - }, + blockchain: { + validateTxResponse: { + error: ['Error validating transaction response.', ' Tx Hash: '], }, - deploy: { - success: 'Contract deployed successfully', - error: 'Error deploying contract', + }, + deploy: { + success: 'Contract deployed successfully', + error: 'Error deploying contract', + }, + businessLogicResolver: { + info: { + initializing: 'Initializing business logic resolver. please wait...', + registering: 'Registering business logics. please wait...', + creatingConfigurations: 'Creating configurations. please wait...', + configured: 'Business logic resolver configured successfully', }, - businessLogicResolver: { - info: { - initializing: - 'Initializing business logic resolver. please wait...', - registering: 'Registering business logics. please wait...', - creatingConfigurations: 'Creating configurations. please wait...', - configured: 'Business logic resolver configured successfully', - }, - error: { - notFound: 'Business logic resolver not found', - proxyNotFound: 'Business logic resolver proxy not found', - initializing: 'Error initializing business logic resolver', - registering: 'Error registering business logics', - creatingConfigurations: 'Error creating configurations', - }, + error: { + notFound: 'Business logic resolver not found', + proxyNotFound: 'Business logic resolver proxy not found', + initializing: 'Error initializing business logic resolver', + registering: 'Error registering business logics', + creatingConfigurations: 'Error creating configurations', }, - factory: { - info: { - deploying: 'Deploying factory. please wait...', - deployed: 'Factory deployed successfully', - }, + }, + factory: { + info: { + deploying: 'Deploying factory. please wait...', + deployed: 'Factory deployed successfully', }, - timeTravel: { - error: { - notSupported: 'Time travel not supported in production', - }, + }, + timeTravel: { + error: { + notSupported: 'Time travel not supported in production', }, -} + }, +}; diff --git a/packages/ats/contracts/scripts/contractsLifeCycle/utils.ts b/packages/ats/contracts/scripts/contractsLifeCycle/utils.ts index 1e3310f05..5b905bafd 100644 --- a/packages/ats/contracts/scripts/contractsLifeCycle/utils.ts +++ b/packages/ats/contracts/scripts/contractsLifeCycle/utils.ts @@ -203,77 +203,76 @@ */ -/* eslint-disable @typescript-eslint/no-explicit-any */ -import { ContractFactory } from 'ethers' -import { Interface } from 'ethers/lib/utils' +import { ContractFactory } from 'ethers'; +import { Interface } from 'ethers/lib/utils'; import { - Client, - ContractExecuteTransaction, - ContractId, - Hbar, - Long, -} from '@hashgraph/sdk' + Client, + ContractExecuteTransaction, + ContractId, + Hbar, + Long, +} from '@hashgraph/sdk'; export async function contractCall( - contractId: ContractId, - functionName: string, - parameters: any[], - clientOperator: Client, - gas: number, - abi: any, - value: number | string | Long | Hbar = 0 + contractId: ContractId, + functionName: string, + parameters: any[], + clientOperator: Client, + gas: number, + abi: any, + value: number | string | Long | Hbar = 0, ) { - const functionCallParameters = encodeFunctionCall( - functionName, - parameters, - abi - ) - - const contractTx = await new ContractExecuteTransaction() - .setContractId(contractId) - .setFunctionParameters(functionCallParameters) - .setGas(gas) - .setPayableAmount(value) - .execute(clientOperator) - - const record = await contractTx.getRecord(clientOperator) - let results - if (record.contractFunctionResult) { - results = decodeFunctionResult( - abi, - functionName, - record.contractFunctionResult?.bytes - ) - } - - return results + const functionCallParameters = encodeFunctionCall( + functionName, + parameters, + abi, + ); + + const contractTx = await new ContractExecuteTransaction() + .setContractId(contractId) + .setFunctionParameters(functionCallParameters) + .setGas(gas) + .setPayableAmount(value) + .execute(clientOperator); + + const record = await contractTx.getRecord(clientOperator); + let results; + if (record.contractFunctionResult) { + results = decodeFunctionResult( + abi, + functionName, + record.contractFunctionResult?.bytes, + ); + } + + return results; } function encodeFunctionCall(functionName: string, parameters: any[], abi: any) { - const iface = new Interface(abi) - const encodedParametersHex = iface - .encodeFunctionData(functionName, parameters) - .slice(2) - return Buffer.from(encodedParametersHex, 'hex') + const iface = new Interface(abi); + const encodedParametersHex = iface + .encodeFunctionData(functionName, parameters) + .slice(2); + return Buffer.from(encodedParametersHex, 'hex'); } function decodeFunctionResult( - abi: any, - functionName: string, - resultAsBytes: Uint8Array + abi: any, + functionName: string, + resultAsBytes: Uint8Array, ) { - const iface = new Interface(abi) - const resultHex = '0x'.concat(Buffer.from(resultAsBytes).toString('hex')) - const decodedResult = iface.decodeFunctionResult(functionName, resultHex) - - try { - const jsonParsedArray = JSON.parse(JSON.stringify(decodedResult)) - return jsonParsedArray - } catch { - return resultHex - } + const iface = new Interface(abi); + const resultHex = '0x'.concat(Buffer.from(resultAsBytes).toString('hex')); + const decodedResult = iface.decodeFunctionResult(functionName, resultHex); + + try { + const jsonParsedArray = JSON.parse(JSON.stringify(decodedResult)); + return jsonParsedArray; + } catch { + return resultHex; + } } export function createContractFactory(factory: any): ContractFactory { - return new ContractFactory(factory.createInterface(), factory.bytecode) + return new ContractFactory(factory.createInterface(), factory.bytecode); } diff --git a/packages/ats/contracts/scripts/contractsMethods.ts b/packages/ats/contracts/scripts/contractsMethods.ts index 4e9aa87c4..287104b15 100644 --- a/packages/ats/contracts/scripts/contractsMethods.ts +++ b/packages/ats/contracts/scripts/contractsMethods.ts @@ -203,239 +203,239 @@ */ -import { Client, ContractId } from '@hashgraph/sdk' +import { Client, ContractId } from '@hashgraph/sdk'; import { - ProxyAdmin__factory, - BusinessLogicResolver__factory, - IStaticFunctionSelectors__factory, - DiamondCutManager__factory, -} from '@typechain' -import { contractCall } from './contractsLifeCycle/utils' -import { FacetConfiguration } from './resolverDiamondCut' -import { GAS_LIMIT } from './constants' + ProxyAdmin__factory, + BusinessLogicResolver__factory, + IStaticFunctionSelectors__factory, + DiamondCutManager__factory, +} from '@typechain'; +import { contractCall } from './contractsLifeCycle/utils'; +import { FacetConfiguration } from './resolverDiamondCut'; +import { GAS_LIMIT } from './constants'; export async function getProxyImplementation( - proxyAdminAddress: ContractId, - client: Client, - proxyAddress: string + proxyAdminAddress: ContractId, + client: Client, + proxyAddress: string, ): Promise { - const params = [proxyAddress] - const result = await contractCall( - proxyAdminAddress, - 'getProxyImplementation', - params, - client, - 60000, - ProxyAdmin__factory.abi - ) - return result[0] + const params = [proxyAddress]; + const result = await contractCall( + proxyAdminAddress, + 'getProxyImplementation', + params, + client, + 60000, + ProxyAdmin__factory.abi, + ); + return result[0]; } export async function getOwner( - proxyAdminAddress: ContractId, - client: Client + proxyAdminAddress: ContractId, + client: Client, ): Promise { - const params: string[] = [] - const result = await contractCall( - proxyAdminAddress, - 'owner', - params, - client, - 60000, - ProxyAdmin__factory.abi - ) - return result[0] + const params: string[] = []; + const result = await contractCall( + proxyAdminAddress, + 'owner', + params, + client, + 60000, + ProxyAdmin__factory.abi, + ); + return result[0]; } export interface BusinessLogicRegistryData { - businessLogicKey: string - businessLogicAddress: string + businessLogicKey: string; + businessLogicAddress: string; } export async function registerBusinessLogics( - businessLogicRegistryData: BusinessLogicRegistryData[], - proxyAddress: ContractId, - client: Client + businessLogicRegistryData: BusinessLogicRegistryData[], + proxyAddress: ContractId, + client: Client, ) { - const params = [businessLogicRegistryData] - - await contractCall( - proxyAddress, - 'registerBusinessLogics', - params, - client, - 7800000, - BusinessLogicResolver__factory.abi - ) + const params = [businessLogicRegistryData]; + + await contractCall( + proxyAddress, + 'registerBusinessLogics', + params, + client, + 7800000, + BusinessLogicResolver__factory.abi, + ); } export async function createConfiguration( - configId: string, - facetIds: string[], - facetVersions: number[], - proxyAddress: ContractId, - client: Client + configId: string, + facetIds: string[], + facetVersions: number[], + proxyAddress: ContractId, + client: Client, ) { - const facetConfigurations: FacetConfiguration[] = [] - facetIds.forEach((id, index) => - facetConfigurations.push({ id, version: facetVersions[index] }) - ) - - const params = [configId, facetConfigurations] - - await contractCall( - proxyAddress, - 'createConfiguration', - params, - client, - GAS_LIMIT.businessLogicResolver.createConfiguration, - DiamondCutManager__factory.abi - ) + const facetConfigurations: FacetConfiguration[] = []; + facetIds.forEach((id, index) => + facetConfigurations.push({ id, version: facetVersions[index] }), + ); + + const params = [configId, facetConfigurations]; + + await contractCall( + proxyAddress, + 'createConfiguration', + params, + client, + GAS_LIMIT.businessLogicResolver.createConfiguration, + DiamondCutManager__factory.abi, + ); } export async function getConfigurationsLength( - proxyAddress: ContractId, - client: Client + proxyAddress: ContractId, + client: Client, ) { - const params: string[] = [] - - return await contractCall( - proxyAddress, - 'getConfigurationsLength', - params, - client, - 70000, - DiamondCutManager__factory.abi - ) + const params: string[] = []; + + return await contractCall( + proxyAddress, + 'getConfigurationsLength', + params, + client, + 70000, + DiamondCutManager__factory.abi, + ); } export async function getLatestVersionByConfiguration( - configId: string, - proxyAddress: ContractId, - client: Client + configId: string, + proxyAddress: ContractId, + client: Client, ) { - const params = [configId] - - return await contractCall( - proxyAddress, - 'getLatestVersionByConfiguration', - params, - client, - 7800000, - DiamondCutManager__factory.abi - ) + const params = [configId]; + + return await contractCall( + proxyAddress, + 'getLatestVersionByConfiguration', + params, + client, + 7800000, + DiamondCutManager__factory.abi, + ); } export async function getFacetsLengthByConfigurationIdAndVersion( - configId: string, - version: number, - proxyAddress: ContractId, - client: Client + configId: string, + version: number, + proxyAddress: ContractId, + client: Client, ) { - const params = [configId, version] - - return await contractCall( - proxyAddress, - 'getFacetsLengthByConfigurationIdAndVersion', - params, - client, - 70000, - DiamondCutManager__factory.abi - ) + const params = [configId, version]; + + return await contractCall( + proxyAddress, + 'getFacetsLengthByConfigurationIdAndVersion', + params, + client, + 70000, + DiamondCutManager__factory.abi, + ); } export async function getFacetsByConfigurationIdAndVersion( - configId: string, - version: number, - pageIndex: number, - pageLength: number, - proxyAddress: ContractId, - client: Client + configId: string, + version: number, + pageIndex: number, + pageLength: number, + proxyAddress: ContractId, + client: Client, ) { - const params = [configId, version, pageIndex, pageLength] - - return await contractCall( - proxyAddress, - 'getFacetsByConfigurationIdAndVersion', - params, - client, - 7800000, - DiamondCutManager__factory.abi - ) + const params = [configId, version, pageIndex, pageLength]; + + return await contractCall( + proxyAddress, + 'getFacetsByConfigurationIdAndVersion', + params, + client, + 7800000, + DiamondCutManager__factory.abi, + ); } export async function getFacetSelectorsLengthByConfigurationIdVersionAndFacetId( - configId: string, - version: number, - facet: string, - proxyAddress: ContractId, - client: Client + configId: string, + version: number, + facet: string, + proxyAddress: ContractId, + client: Client, ) { - const params = [configId, version, facet] - - return await contractCall( - proxyAddress, - 'getFacetSelectorsLengthByConfigurationIdVersionAndFacetId', - params, - client, - 70000, - DiamondCutManager__factory.abi - ) + const params = [configId, version, facet]; + + return await contractCall( + proxyAddress, + 'getFacetSelectorsLengthByConfigurationIdVersionAndFacetId', + params, + client, + 70000, + DiamondCutManager__factory.abi, + ); } export async function getFacetSelectorsByConfigurationIdVersionAndFacetId( - configId: string, - version: number, - facet: string, - pageIndex: number, - pageLength: number, - proxyAddress: ContractId, - client: Client + configId: string, + version: number, + facet: string, + pageIndex: number, + pageLength: number, + proxyAddress: ContractId, + client: Client, ) { - const params = [configId, version, facet, pageIndex, pageLength] - - return await contractCall( - proxyAddress, - 'getFacetSelectorsByConfigurationIdVersionAndFacetId', - params, - client, - 7800000, - DiamondCutManager__factory.abi - ) + const params = [configId, version, facet, pageIndex, pageLength]; + + return await contractCall( + proxyAddress, + 'getFacetSelectorsByConfigurationIdVersionAndFacetId', + params, + client, + 7800000, + DiamondCutManager__factory.abi, + ); } export async function getBusinessLogicKeys( - proxyAddress: ContractId, - client: Client + proxyAddress: ContractId, + client: Client, ) { - const params = [0, 100] - - return await contractCall( - proxyAddress, - 'getBusinessLogicKeys', - params, - client, - 7800000, - BusinessLogicResolver__factory.abi - ) + const params = [0, 100]; + + return await contractCall( + proxyAddress, + 'getBusinessLogicKeys', + params, + client, + 7800000, + BusinessLogicResolver__factory.abi, + ); } export async function getStaticResolverKey( - facetAddress: ContractId, - client: Client + facetAddress: ContractId, + client: Client, ) { - const params: string[] = [] - const result = await contractCall( - facetAddress, - 'getStaticResolverKey', - params, - client, - 60000, - IStaticFunctionSelectors__factory.abi - ) - return result[0] + const params: string[] = []; + const result = await contractCall( + facetAddress, + 'getStaticResolverKey', + params, + client, + 60000, + IStaticFunctionSelectors__factory.abi, + ); + return result[0]; } export function getSolidityAddress(facet: ContractId) { - return facet.toSolidityAddress() + return facet.toSolidityAddress(); } diff --git a/packages/ats/contracts/scripts/deploy.ts b/packages/ats/contracts/scripts/deploy.ts index 472758f73..72821e6f2 100644 --- a/packages/ats/contracts/scripts/deploy.ts +++ b/packages/ats/contracts/scripts/deploy.ts @@ -203,1032 +203,975 @@ */ -import { ethers } from 'hardhat' +import { ethers } from 'hardhat'; import { - Contract, - ContractFactory, - ContractTransaction, - Overrides, -} from 'ethers' + Contract, + ContractFactory, + ContractTransaction, + Overrides, +} from 'ethers'; import { - AccessControlFacet__factory, - AccessControlFacetTimeTravel__factory, - AdjustBalances__factory, - AdjustBalancesTimeTravel__factory, - BondUSA__factory, - BondUSATimeTravel__factory, - BusinessLogicResolver__factory, - Cap__factory, - CapTimeTravel__factory, - ControlList__factory, - ControlListTimeTravel__factory, - CorporateActions__factory, - CorporateActionsTimeTravel__factory, - DiamondFacet__factory, - EquityUSA__factory, - EquityUSATimeTravel__factory, - ERC1410ScheduledTasks__factory, - ERC1410ScheduledTasksTimeTravel__factory, - ERC1594__factory, - ERC1594TimeTravel__factory, - ERC1643__factory, - ERC1643TimeTravel__factory, - ERC1644__factory, - ERC1644TimeTravel__factory, - ERC20__factory, - ERC20TimeTravel__factory, - Factory__factory, - Kyc__factory, - KycTimeTravel__factory, - SsiManagement__factory, - SsiManagementTimeTravel__factory, - Lock__factory, - LockTimeTravel__factory, - Hold__factory, - HoldTimeTravel__factory, - PauseFacet__factory, - PauseFacetTimeTravel__factory, - ProtectedPartitions__factory, - ProtectedPartitionsTimeTravel__factory, - ProxyAdmin__factory, - ScheduledBalanceAdjustments__factory, - ScheduledBalanceAdjustmentsTimeTravel__factory, - ScheduledSnapshots__factory, - ScheduledSnapshotsTimeTravel__factory, - ScheduledTasks__factory, - ScheduledTasksTimeTravel__factory, - Snapshots__factory, - SnapshotsTimeTravel__factory, - TransferAndLock__factory, - TransferAndLockTimeTravel__factory, - TransparentUpgradeableProxy__factory, - TimeTravel__factory, - ClearingTransferFacet__factory, - ClearingTransferFacetTimeTravel__factory, - ClearingRedeemFacet__factory, - ClearingRedeemFacetTimeTravel__factory, - ClearingHoldCreationFacet__factory, - ClearingHoldCreationFacetTimeTravel__factory, - ClearingReadFacet__factory, - ClearingReadFacetTimeTravel__factory, - ClearingActionsFacet__factory, - ClearingActionsFacetTimeTravel__factory, - ExternalPauseManagement__factory, - ExternalPauseManagementTimeTravel__factory, - ExternalControlListManagement__factory, - ExternalControlListManagementTimeTravel__factory, - ExternalKycListManagement__factory, - ExternalKycListManagementTimeTravel__factory, - ERC3643__factory, - ERC3643TimeTravel__factory, - FreezeFacet__factory, - FreezeFacetTimeTravel__factory, -} from '@typechain' -import Configuration from '@configuration' + AccessControlFacet__factory, + AccessControlFacetTimeTravel__factory, + AdjustBalances__factory, + AdjustBalancesTimeTravel__factory, + BondUSA__factory, + BondUSATimeTravel__factory, + BusinessLogicResolver__factory, + Cap__factory, + CapTimeTravel__factory, + ControlList__factory, + ControlListTimeTravel__factory, + CorporateActions__factory, + CorporateActionsTimeTravel__factory, + DiamondFacet__factory, + EquityUSA__factory, + EquityUSATimeTravel__factory, + ERC1410ScheduledTasks__factory, + ERC1410ScheduledTasksTimeTravel__factory, + ERC1594__factory, + ERC1594TimeTravel__factory, + ERC1643__factory, + ERC1643TimeTravel__factory, + ERC1644__factory, + ERC1644TimeTravel__factory, + ERC20__factory, + ERC20TimeTravel__factory, + Factory__factory, + Kyc__factory, + KycTimeTravel__factory, + SsiManagement__factory, + SsiManagementTimeTravel__factory, + Lock__factory, + LockTimeTravel__factory, + Hold__factory, + HoldTimeTravel__factory, + PauseFacet__factory, + PauseFacetTimeTravel__factory, + ProtectedPartitions__factory, + ProtectedPartitionsTimeTravel__factory, + ProxyAdmin__factory, + ScheduledBalanceAdjustments__factory, + ScheduledBalanceAdjustmentsTimeTravel__factory, + ScheduledSnapshots__factory, + ScheduledSnapshotsTimeTravel__factory, + ScheduledTasks__factory, + ScheduledTasksTimeTravel__factory, + Snapshots__factory, + SnapshotsTimeTravel__factory, + TransferAndLock__factory, + TransferAndLockTimeTravel__factory, + TransparentUpgradeableProxy__factory, + TimeTravel__factory, + ClearingTransferFacet__factory, + ClearingTransferFacetTimeTravel__factory, + ClearingRedeemFacet__factory, + ClearingRedeemFacetTimeTravel__factory, + ClearingHoldCreationFacet__factory, + ClearingHoldCreationFacetTimeTravel__factory, + ClearingReadFacet__factory, + ClearingReadFacetTimeTravel__factory, + ClearingActionsFacet__factory, + ClearingActionsFacetTimeTravel__factory, + ExternalPauseManagement__factory, + ExternalPauseManagementTimeTravel__factory, + ExternalControlListManagement__factory, + ExternalControlListManagementTimeTravel__factory, + ExternalKycListManagement__factory, + ExternalKycListManagementTimeTravel__factory, + ERC3643__factory, + ERC3643TimeTravel__factory, + FreezeFacet__factory, + FreezeFacetTimeTravel__factory, +} from '@typechain'; +import Configuration from '@configuration'; import { - MESSAGES, - DeployContractCommand, - DeployContractResult, - DeployContractWithFactoryCommand, - DeployContractWithFactoryResult, - DeployAtsContractsCommand, - DeployAtsContractsResult, - DeployAtsFullInfrastructureCommand, - DeployAtsFullInfrastructureResult, - BusinessLogicResolverNotFound, - CreateConfigurationsForDeployedContractsCommand, - createConfigurationsForDeployedContracts, - validateTxResponseList, - ValidateTxResponseCommand, - GAS_LIMIT, - validateTxResponse, - RegisterDeployedContractBusinessLogicsCommand, - registerDeployedContractBusinessLogics, - CreateConfigurationsForDeployedContractsResult, -} from '@scripts' -import Environment from './Environment' + MESSAGES, + DeployContractCommand, + DeployContractResult, + DeployContractWithFactoryCommand, + DeployContractWithFactoryResult, + DeployAtsContractsCommand, + DeployAtsContractsResult, + DeployAtsFullInfrastructureCommand, + DeployAtsFullInfrastructureResult, + BusinessLogicResolverNotFound, + CreateConfigurationsForDeployedContractsCommand, + createConfigurationsForDeployedContracts, + validateTxResponseList, + ValidateTxResponseCommand, + GAS_LIMIT, + validateTxResponse, + RegisterDeployedContractBusinessLogicsCommand, + registerDeployedContractBusinessLogics, + CreateConfigurationsForDeployedContractsResult, +} from '@scripts'; +import Environment from './Environment'; -export let environment = Environment.empty() +export let environment = Environment.empty(); export async function deployAtsFullInfrastructure({ + signer, + network, + useDeployed, + useEnvironment, + timeTravelEnabled, + partialBatchDeploy, +}: DeployAtsFullInfrastructureCommand): Promise { + if (timeTravelEnabled && (await signer.getChainId()) !== 1337) { + throw new Error(MESSAGES.timeTravel.error.notSupported); + } + if (useEnvironment && environment.initialized) { + return environment.toDeployAtsFullInfrastructureResult(); + } + const usingDeployed = + useDeployed && + Configuration.contracts.BusinessLogicResolver.addresses?.[network]; + + // * Deploy all contracts + const deployCommand = await DeployAtsContractsCommand.newInstance({ signer, - network, useDeployed, - useEnvironment, timeTravelEnabled, - partialBatchDeploy, -}: DeployAtsFullInfrastructureCommand): Promise { - if (timeTravelEnabled && (await signer.getChainId()) !== 1337) { - throw new Error(MESSAGES.timeTravel.error.notSupported) - } - if (useEnvironment && environment.initialized) { - return environment.toDeployAtsFullInfrastructureResult() - } - const usingDeployed = - useDeployed && - Configuration.contracts.BusinessLogicResolver.addresses?.[network] + }); + const { deployer, ...deployedContractList } = + await deployAtsContracts(deployCommand); - // * Deploy all contracts - const deployCommand = await DeployAtsContractsCommand.newInstance({ - signer, - useDeployed, - timeTravelEnabled, - }) - const { deployer, ...deployedContractList } = - await deployAtsContracts(deployCommand) + // * Check if BusinessLogicResolver is deployed correctly + const resolver = deployedContractList.businessLogicResolver; + if ( + !resolver.address || + !resolver.proxyAddress || + !resolver.proxyAdminAddress + ) { + throw new BusinessLogicResolverNotFound(); + } - // * Check if BusinessLogicResolver is deployed correctly - const resolver = deployedContractList.businessLogicResolver - if ( - !resolver.address || - !resolver.proxyAddress || - !resolver.proxyAdminAddress - ) { - throw new BusinessLogicResolverNotFound() - } + let facetLists = CreateConfigurationsForDeployedContractsResult.empty(); + if (!usingDeployed) { + // * Initialize BusinessLogicResolver + console.log(MESSAGES.businessLogicResolver.info.initializing); + const initResponse = + await resolver.contract.initialize_BusinessLogicResolver({ + gasLimit: GAS_LIMIT.initialize.businessLogicResolver, + }); + await validateTxResponse( + new ValidateTxResponseCommand({ + txResponse: initResponse, + errorMessage: MESSAGES.businessLogicResolver.error.initializing, + }), + ); + // * Register business logic contracts + console.log(MESSAGES.businessLogicResolver.info.registering); - let facetLists = CreateConfigurationsForDeployedContractsResult.empty() - if (!usingDeployed) { - // * Initialize BusinessLogicResolver - console.log(MESSAGES.businessLogicResolver.info.initializing) - const initResponse = - await resolver.contract.initialize_BusinessLogicResolver({ - gasLimit: GAS_LIMIT.initialize.businessLogicResolver, - }) - await validateTxResponse( - new ValidateTxResponseCommand({ - txResponse: initResponse, - errorMessage: MESSAGES.businessLogicResolver.error.initializing, - }) - ) - // * Register business logic contracts - console.log(MESSAGES.businessLogicResolver.info.registering) + const registerCommand = new RegisterDeployedContractBusinessLogicsCommand({ + deployedContractList, + signer, + }); + await registerDeployedContractBusinessLogics(registerCommand); - const registerCommand = - new RegisterDeployedContractBusinessLogicsCommand({ - deployedContractList, - signer, - }) - await registerDeployedContractBusinessLogics(registerCommand) - - // * Create configurations for all Securities (EquityUSA, BondUSA) - console.log(MESSAGES.businessLogicResolver.info.creatingConfigurations) - const createCommand = - new CreateConfigurationsForDeployedContractsCommand({ - deployedContractList, - signer, - }) - facetLists = await createConfigurationsForDeployedContracts( - partialBatchDeploy, - createCommand - ) - } - console.log(MESSAGES.businessLogicResolver.info.configured) - console.log(MESSAGES.factory.info.deploying) - const factoryDeployCommand = new DeployContractWithFactoryCommand({ - factory: new Factory__factory(), - signer, - withProxy: true, - deployedContract: useDeployed - ? Configuration.contracts.Factory.addresses?.[network] - : undefined, - }) - const factory = await deployContractWithFactory(factoryDeployCommand) + // * Create configurations for all Securities (EquityUSA, BondUSA) + console.log(MESSAGES.businessLogicResolver.info.creatingConfigurations); + const createCommand = new CreateConfigurationsForDeployedContractsCommand({ + deployedContractList, + signer, + }); + facetLists = await createConfigurationsForDeployedContracts( + partialBatchDeploy, + createCommand, + ); + } + console.log(MESSAGES.businessLogicResolver.info.configured); + console.log(MESSAGES.factory.info.deploying); + const factoryDeployCommand = new DeployContractWithFactoryCommand({ + factory: new Factory__factory(), + signer, + withProxy: true, + deployedContract: useDeployed + ? Configuration.contracts.Factory.addresses?.[network] + : undefined, + }); + const factory = await deployContractWithFactory(factoryDeployCommand); - environment = new Environment({ - commonFacetIdList: facetLists.commonFacetIdList, - equityFacetIdList: facetLists.equityFacetIdList, - bondFacetIdList: facetLists.bondFacetIdList, - equityFacetVersionList: facetLists.equityFacetVersionList, - bondFacetVersionList: facetLists.bondFacetVersionList, - businessLogicResolver: resolver.contract, - factory: factory.contract, - deployedContracts: { deployer, ...deployedContractList }, - }) + environment = new Environment({ + commonFacetIdList: facetLists.commonFacetIdList, + equityFacetIdList: facetLists.equityFacetIdList, + bondFacetIdList: facetLists.bondFacetIdList, + equityFacetVersionList: facetLists.equityFacetVersionList, + bondFacetVersionList: facetLists.bondFacetVersionList, + businessLogicResolver: resolver.contract, + factory: factory.contract, + deployedContracts: { deployer, ...deployedContractList }, + }); - return new DeployAtsFullInfrastructureResult({ - ...deployedContractList, - factory: factory, - deployer: deployer, - facetLists, - }) + return new DeployAtsFullInfrastructureResult({ + ...deployedContractList, + factory: factory, + deployer: deployer, + facetLists, + }); } export async function deployAtsContracts({ - signer, - network, - useDeployed, - timeTravelEnabled = false, + signer, + network, + useDeployed, + timeTravelEnabled = false, }: DeployAtsContractsCommand) { - const overrides: Overrides = { gasLimit: GAS_LIMIT.high } // If you want to override the default parameters - const getFactory = ( - standardFactory: T, - timeTravelFactory?: T - ): T => { - if (!timeTravelEnabled || !timeTravelFactory) return standardFactory - return timeTravelFactory as T - } - const commands = { - businessLogicResolver: new DeployContractWithFactoryCommand({ - factory: new BusinessLogicResolver__factory(), - signer, - withProxy: true, - deployedContract: useDeployed - ? Configuration.contracts.BusinessLogicResolver.addresses?.[ - network - ] - : undefined, - overrides, - }), - accessControl: new DeployContractWithFactoryCommand({ - factory: getFactory( - new AccessControlFacet__factory(), - new AccessControlFacetTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.AccessControlFacet.addresses?.[ - network - ] - : undefined, - overrides, - }), - cap: new DeployContractWithFactoryCommand({ - factory: getFactory( - new Cap__factory(), - new CapTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.Cap.addresses?.[network] - : undefined, - overrides, - }), - controlList: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ControlList__factory(), - new ControlListTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ControlList.addresses?.[network] - : undefined, - overrides, - }), - kyc: new DeployContractWithFactoryCommand({ - factory: getFactory( - new Kyc__factory(), - new KycTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.Kyc.addresses?.[network] - : undefined, - overrides, - }), - ssiManagement: new DeployContractWithFactoryCommand({ - factory: getFactory( - new SsiManagement__factory(), - new SsiManagementTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.SsiManagement.addresses?.[network] - : undefined, - overrides, - }), - pause: new DeployContractWithFactoryCommand({ - factory: getFactory( - new PauseFacet__factory(), - new PauseFacetTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.PauseFacet.addresses?.[network] - : undefined, - overrides, - }), - lock: new DeployContractWithFactoryCommand({ - factory: getFactory( - new Lock__factory(), - new LockTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.Lock.addresses?.[network] - : undefined, - overrides, - }), - hold: new DeployContractWithFactoryCommand({ - factory: getFactory( - new Hold__factory(), - new HoldTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.Hold.addresses?.[network] - : undefined, - overrides, - }), - erc20: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ERC20__factory(), - new ERC20TimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ERC20.addresses?.[network] - : undefined, - overrides, - }), - erc1410ScheduledTasks: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ERC1410ScheduledTasks__factory(), - new ERC1410ScheduledTasksTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ERC1410ScheduledTasks.addresses?.[ - network - ] - : undefined, - overrides, - }), - erc1594: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ERC1594__factory(), - new ERC1594TimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ERC1594.addresses?.[network] - : undefined, - overrides, - }), - erc1643: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ERC1643__factory(), - new ERC1643TimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ERC1643.addresses?.[network] - : undefined, - overrides, - }), - erc1644: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ERC1644__factory(), - new ERC1644TimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ERC1644.addresses?.[network] - : undefined, - overrides, - }), - snapshots: new DeployContractWithFactoryCommand({ - factory: getFactory( - new Snapshots__factory(), - new SnapshotsTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.Snapshots.addresses?.[network] - : undefined, - overrides, - }), - diamondFacet: new DeployContractWithFactoryCommand({ - factory: new DiamondFacet__factory(), - signer, - deployedContract: useDeployed - ? Configuration.contracts.DiamondFacet.addresses?.[network] - : undefined, - overrides, - }), - equityUsa: new DeployContractWithFactoryCommand({ - factory: getFactory( - new EquityUSA__factory(), - new EquityUSATimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.EquityUSA.addresses?.[network] - : undefined, - overrides, - }), - bondUsa: new DeployContractWithFactoryCommand({ - factory: getFactory( - new BondUSA__factory(), - new BondUSATimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.BondUSA.addresses?.[network] - : undefined, - overrides, - }), - scheduledSnapshots: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ScheduledSnapshots__factory(), - new ScheduledSnapshotsTimeTravel__factory() - ), + const overrides: Overrides = { gasLimit: GAS_LIMIT.high }; // If you want to override the default parameters + const getFactory = ( + standardFactory: T, + timeTravelFactory?: T, + ): T => { + if (!timeTravelEnabled || !timeTravelFactory) return standardFactory; + return timeTravelFactory as T; + }; + const commands = { + businessLogicResolver: new DeployContractWithFactoryCommand({ + factory: new BusinessLogicResolver__factory(), + signer, + withProxy: true, + deployedContract: useDeployed + ? Configuration.contracts.BusinessLogicResolver.addresses?.[network] + : undefined, + overrides, + }), + accessControl: new DeployContractWithFactoryCommand({ + factory: getFactory( + new AccessControlFacet__factory(), + new AccessControlFacetTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.AccessControlFacet.addresses?.[network] + : undefined, + overrides, + }), + cap: new DeployContractWithFactoryCommand({ + factory: getFactory(new Cap__factory(), new CapTimeTravel__factory()), + signer, + deployedContract: useDeployed + ? Configuration.contracts.Cap.addresses?.[network] + : undefined, + overrides, + }), + controlList: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ControlList__factory(), + new ControlListTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ControlList.addresses?.[network] + : undefined, + overrides, + }), + kyc: new DeployContractWithFactoryCommand({ + factory: getFactory(new Kyc__factory(), new KycTimeTravel__factory()), + signer, + deployedContract: useDeployed + ? Configuration.contracts.Kyc.addresses?.[network] + : undefined, + overrides, + }), + ssiManagement: new DeployContractWithFactoryCommand({ + factory: getFactory( + new SsiManagement__factory(), + new SsiManagementTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.SsiManagement.addresses?.[network] + : undefined, + overrides, + }), + pause: new DeployContractWithFactoryCommand({ + factory: getFactory( + new PauseFacet__factory(), + new PauseFacetTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.PauseFacet.addresses?.[network] + : undefined, + overrides, + }), + lock: new DeployContractWithFactoryCommand({ + factory: getFactory(new Lock__factory(), new LockTimeTravel__factory()), + signer, + deployedContract: useDeployed + ? Configuration.contracts.Lock.addresses?.[network] + : undefined, + overrides, + }), + hold: new DeployContractWithFactoryCommand({ + factory: getFactory(new Hold__factory(), new HoldTimeTravel__factory()), + signer, + deployedContract: useDeployed + ? Configuration.contracts.Hold.addresses?.[network] + : undefined, + overrides, + }), + erc20: new DeployContractWithFactoryCommand({ + factory: getFactory(new ERC20__factory(), new ERC20TimeTravel__factory()), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ERC20.addresses?.[network] + : undefined, + overrides, + }), + erc1410ScheduledTasks: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ERC1410ScheduledTasks__factory(), + new ERC1410ScheduledTasksTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ERC1410ScheduledTasks.addresses?.[network] + : undefined, + overrides, + }), + erc1594: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ERC1594__factory(), + new ERC1594TimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ERC1594.addresses?.[network] + : undefined, + overrides, + }), + erc1643: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ERC1643__factory(), + new ERC1643TimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ERC1643.addresses?.[network] + : undefined, + overrides, + }), + erc1644: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ERC1644__factory(), + new ERC1644TimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ERC1644.addresses?.[network] + : undefined, + overrides, + }), + snapshots: new DeployContractWithFactoryCommand({ + factory: getFactory( + new Snapshots__factory(), + new SnapshotsTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.Snapshots.addresses?.[network] + : undefined, + overrides, + }), + diamondFacet: new DeployContractWithFactoryCommand({ + factory: new DiamondFacet__factory(), + signer, + deployedContract: useDeployed + ? Configuration.contracts.DiamondFacet.addresses?.[network] + : undefined, + overrides, + }), + equityUsa: new DeployContractWithFactoryCommand({ + factory: getFactory( + new EquityUSA__factory(), + new EquityUSATimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.EquityUSA.addresses?.[network] + : undefined, + overrides, + }), + bondUsa: new DeployContractWithFactoryCommand({ + factory: getFactory( + new BondUSA__factory(), + new BondUSATimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.BondUSA.addresses?.[network] + : undefined, + overrides, + }), + scheduledSnapshots: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ScheduledSnapshots__factory(), + new ScheduledSnapshotsTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ScheduledSnapshots.addresses?.[network] + : undefined, + overrides, + }), + scheduledBalanceAdjustments: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ScheduledBalanceAdjustments__factory(), + new ScheduledBalanceAdjustmentsTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ScheduledBalanceAdjustments.addresses?.[ + network + ] + : undefined, + overrides, + }), + scheduledTasks: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ScheduledTasks__factory(), + new ScheduledTasksTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ScheduledTasks.addresses?.[network] + : undefined, + overrides, + }), + corporateActions: new DeployContractWithFactoryCommand({ + factory: getFactory( + new CorporateActions__factory(), + new CorporateActionsTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.CorporateActions.addresses?.[network] + : undefined, + overrides, + }), + transferAndLock: new DeployContractWithFactoryCommand({ + factory: getFactory( + new TransferAndLock__factory(), + new TransferAndLockTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.TransferAndLock.addresses?.[network] + : undefined, + overrides, + }), + adjustBalances: new DeployContractWithFactoryCommand({ + factory: getFactory( + new AdjustBalances__factory(), + new AdjustBalancesTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.AdjustBalances.addresses?.[network] + : undefined, + overrides, + }), + protectedPartitions: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ProtectedPartitions__factory(), + new ProtectedPartitionsTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ProtectedPartitions.addresses?.[network] + : undefined, + overrides, + }), + clearingTransferFacet: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ClearingTransferFacet__factory(), + new ClearingTransferFacetTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ClearingTransferFacet.addresses?.[network] + : undefined, + overrides, + }), + clearingRedeemFacet: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ClearingRedeemFacet__factory(), + new ClearingRedeemFacetTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ClearingRedeemFacet.addresses?.[network] + : undefined, + overrides, + }), + clearingHoldCreationFacet: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ClearingHoldCreationFacet__factory(), + new ClearingHoldCreationFacetTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ClearingHoldCreationFacet.addresses?.[network] + : undefined, + overrides, + }), + clearingReadFacet: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ClearingReadFacet__factory(), + new ClearingReadFacetTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ClearingReadFacet.addresses?.[network] + : undefined, + overrides, + }), + clearingActionsFacet: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ClearingActionsFacet__factory(), + new ClearingActionsFacetTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ClearingActionsFacet.addresses?.[network] + : undefined, + overrides, + }), + externalPauseManagement: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ExternalPauseManagement__factory(), + new ExternalPauseManagementTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ExternalPauseManagement.addresses?.[network] + : undefined, + overrides, + }), + externalControlListManagement: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ExternalControlListManagement__factory(), + new ExternalControlListManagementTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ExternalControlListManagement.addresses?.[ + network + ] + : undefined, + overrides, + }), + externalKycListManagement: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ExternalKycListManagement__factory(), + new ExternalKycListManagementTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ExternalKycListManagement.addresses?.[network] + : undefined, + overrides, + }), + erc3643: new DeployContractWithFactoryCommand({ + factory: getFactory( + new ERC3643__factory(), + new ERC3643TimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.ERC3643.addresses?.[network] + : undefined, + overrides, + }), + freeze: new DeployContractWithFactoryCommand({ + factory: getFactory( + new FreezeFacet__factory(), + new FreezeFacetTimeTravel__factory(), + ), + signer, + deployedContract: useDeployed + ? Configuration.contracts.FreezeFacet.addresses?.[network] + : undefined, + overrides, + }), + timeTravel: + timeTravelEnabled == true + ? new DeployContractWithFactoryCommand({ + factory: new TimeTravel__factory(), signer, deployedContract: useDeployed - ? Configuration.contracts.ScheduledSnapshots.addresses?.[ - network - ] - : undefined, + ? Configuration.contracts.TimeTravel.addresses?.[network] + : undefined, overrides, - }), - scheduledBalanceAdjustments: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ScheduledBalanceAdjustments__factory(), - new ScheduledBalanceAdjustmentsTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ScheduledBalanceAdjustments - .addresses?.[network] - : undefined, - overrides, - }), - scheduledTasks: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ScheduledTasks__factory(), - new ScheduledTasksTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ScheduledTasks.addresses?.[network] - : undefined, - overrides, - }), - corporateActions: new DeployContractWithFactoryCommand({ - factory: getFactory( - new CorporateActions__factory(), - new CorporateActionsTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.CorporateActions.addresses?.[network] - : undefined, - overrides, - }), - transferAndLock: new DeployContractWithFactoryCommand({ - factory: getFactory( - new TransferAndLock__factory(), - new TransferAndLockTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.TransferAndLock.addresses?.[network] - : undefined, - overrides, - }), - adjustBalances: new DeployContractWithFactoryCommand({ - factory: getFactory( - new AdjustBalances__factory(), - new AdjustBalancesTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.AdjustBalances.addresses?.[network] - : undefined, - overrides, - }), - protectedPartitions: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ProtectedPartitions__factory(), - new ProtectedPartitionsTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ProtectedPartitions.addresses?.[ - network - ] - : undefined, - overrides, - }), - clearingTransferFacet: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ClearingTransferFacet__factory(), - new ClearingTransferFacetTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ClearingTransferFacet.addresses?.[ - network - ] - : undefined, - overrides, - }), - clearingRedeemFacet: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ClearingRedeemFacet__factory(), - new ClearingRedeemFacetTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ClearingRedeemFacet.addresses?.[ - network - ] - : undefined, - overrides, - }), - clearingHoldCreationFacet: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ClearingHoldCreationFacet__factory(), - new ClearingHoldCreationFacetTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ClearingHoldCreationFacet.addresses?.[ - network - ] - : undefined, - overrides, - }), - clearingReadFacet: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ClearingReadFacet__factory(), - new ClearingReadFacetTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ClearingReadFacet.addresses?.[network] - : undefined, - overrides, - }), - clearingActionsFacet: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ClearingActionsFacet__factory(), - new ClearingActionsFacetTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ClearingActionsFacet.addresses?.[ - network - ] - : undefined, - overrides, - }), - externalPauseManagement: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ExternalPauseManagement__factory(), - new ExternalPauseManagementTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ExternalPauseManagement.addresses?.[ - network - ] - : undefined, - overrides, - }), - externalControlListManagement: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ExternalControlListManagement__factory(), - new ExternalControlListManagementTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ExternalControlListManagement - .addresses?.[network] - : undefined, - overrides, - }), - externalKycListManagement: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ExternalKycListManagement__factory(), - new ExternalKycListManagementTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ExternalKycListManagement.addresses?.[ - network - ] - : undefined, - overrides, - }), - erc3643: new DeployContractWithFactoryCommand({ - factory: getFactory( - new ERC3643__factory(), - new ERC3643TimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.ERC3643.addresses?.[network] - : undefined, - overrides, - }), - freeze: new DeployContractWithFactoryCommand({ - factory: getFactory( - new FreezeFacet__factory(), - new FreezeFacetTimeTravel__factory() - ), - signer, - deployedContract: useDeployed - ? Configuration.contracts.FreezeFacet.addresses?.[network] - : undefined, - overrides, - }), - timeTravel: - timeTravelEnabled == true - ? new DeployContractWithFactoryCommand({ - factory: new TimeTravel__factory(), - signer, - deployedContract: useDeployed - ? Configuration.contracts.TimeTravel.addresses?.[ - network - ] - : undefined, - overrides, - }) - : undefined, - } - const deployedContracts: DeployAtsContractsResult = - new DeployAtsContractsResult({ - businessLogicResolver: await deployContractWithFactory( - commands.businessLogicResolver - ).then((result) => { - console.log( - `BusinessLogicResolver has been deployed successfully at ${result.address}` - ) - return result - }), - accessControl: await deployContractWithFactory( - commands.accessControl - ).then((result) => { - console.log( - `AccessControl has been deployed successfully at ${result.address}` - ) - return result - }), - cap: await deployContractWithFactory(commands.cap).then( - (result) => { - console.log( - `Cap has been deployed successfully at ${result.address}` - ) - return result - } - ), - controlList: await deployContractWithFactory( - commands.controlList - ).then((result) => { - console.log( - `ControlList has been deployed successfully at ${result.address}` - ) - return result - }), - kyc: await deployContractWithFactory(commands.kyc).then( - (result) => { - console.log( - `KYC has been deployed successfully at ${result.address}` - ) - return result - } - ), - ssiManagement: await deployContractWithFactory( - commands.ssiManagement - ).then((result) => { - console.log( - `SSIManagement has been deployed successfully at ${result.address}` - ) - return result - }), - pause: await deployContractWithFactory(commands.pause).then( - (result) => { - console.log( - `Pause has been deployed successfully at ${result.address}` - ) - return result - } - ), - lock: await deployContractWithFactory(commands.lock).then( - (result) => { - console.log( - `Lock has been deployed successfully at ${result.address}` - ) - return result - } - ), - hold: await deployContractWithFactory(commands.hold).then( - (result) => { - console.log( - `Hold has been deployed successfully at ${result.address}` - ) - return result - } - ), - erc20: await deployContractWithFactory(commands.erc20).then( - (result) => { - console.log( - `ERC20 has been deployed successfully at ${result.address}` - ) - return result - } - ), - erc1410ScheduledTasks: await deployContractWithFactory( - commands.erc1410ScheduledTasks - ).then((result) => { - console.log( - `ERC1410ScheduledTasks has been deployed successfully at ${result.address}` - ) - return result - }), - erc1594: await deployContractWithFactory(commands.erc1594).then( - (result) => { - console.log( - `ERC1594 has been deployed successfully at ${result.address}` - ) - return result - } - ), - erc1643: await deployContractWithFactory(commands.erc1643).then( - (result) => { - console.log( - `ERC1643 has been deployed successfully at ${result.address}` - ) - return result - } - ), - erc1644: await deployContractWithFactory(commands.erc1644).then( - (result) => { - console.log( - `ERC1644 has been deployed successfully at ${result.address}` - ) - return result - } - ), - snapshots: await deployContractWithFactory(commands.snapshots).then( - (result) => { - console.log( - `Snapshots has been deployed successfully at ${result.address}` - ) - return result - } - ), - diamondFacet: await deployContractWithFactory( - commands.diamondFacet - ).then((result) => { - console.log( - `DiamondFacet has been deployed successfully at ${result.address}` - ) - return result - }), - equityUsa: await deployContractWithFactory(commands.equityUsa).then( - (result) => { - console.log( - `EquityUSA has been deployed successfully at ${result.address}` - ) - return result - } - ), - bondUsa: await deployContractWithFactory(commands.bondUsa).then( - (result) => { - console.log( - `BondUSA has been deployed successfully at ${result.address}` - ) - return result - } - ), - scheduledSnapshots: await deployContractWithFactory( - commands.scheduledSnapshots - ).then((result) => { - console.log( - `ScheduledSnapshots has been deployed successfully at ${result.address}` - ) - return result - }), - scheduledBalanceAdjustments: await deployContractWithFactory( - commands.scheduledBalanceAdjustments - ).then((result) => { - console.log( - `ScheduledBalanceAdjustments has been deployed successfully at ${result.address}` - ) - return result - }), - scheduledTasks: await deployContractWithFactory( - commands.scheduledTasks - ).then((result) => { - console.log( - `ScheduledTasks has been deployed successfully at ${result.address}` - ) - return result - }), - corporateActions: await deployContractWithFactory( - commands.corporateActions - ).then((result) => { - console.log( - `CorporateActions has been deployed successfully at ${result.address}` - ) - return result - }), - transferAndLock: await deployContractWithFactory( - commands.transferAndLock - ).then((result) => { - console.log( - `TransferAndLock has been deployed successfully at ${result.address}` - ) - return result - }), - adjustBalances: await deployContractWithFactory( - commands.adjustBalances - ).then((result) => { - console.log( - `AdjustBalances has been deployed successfully at ${result.address}` - ) - return result - }), - protectedPartitions: await deployContractWithFactory( - commands.protectedPartitions - ).then((result) => { - console.log( - `ProtectedPartitions has been deployed successfully at ${result.address}` - ) - return result - }), - clearingTransferFacet: await deployContractWithFactory( - commands.clearingTransferFacet - ).then((result) => { - console.log( - `ClearingTransferFacet has been deployed successfully at ${result.address}` - ) - return result - }), - clearingRedeemFacet: await deployContractWithFactory( - commands.clearingRedeemFacet - ).then((result) => { - console.log( - `ClearingRedeemFacet has been deployed successfully at ${result.address}` - ) - return result - }), - clearingHoldCreationFacet: await deployContractWithFactory( - commands.clearingHoldCreationFacet - ).then((result) => { - console.log( - `ClearingHoldCreationFacet has been deployed successfully at ${result.address}` - ) - return result - }), - clearingReadFacet: await deployContractWithFactory( - commands.clearingReadFacet - ).then((result) => { - console.log( - `ClearingReadFacet has been deployed successfully at ${result.address}` - ) - return result - }), - clearingActionsFacet: await deployContractWithFactory( - commands.clearingActionsFacet - ).then((result) => { - console.log( - `ClearingActionsFacet has been deployed successfully at ${result.address}` - ) - return result - }), - externalPauseManagement: await deployContractWithFactory( - commands.externalPauseManagement - ).then((result) => { - console.log( - `ExternalPauseManagement has been deployed successfully at ${result.address}` - ) - return result - }), - externalControlListManagement: await deployContractWithFactory( - commands.externalControlListManagement - ).then((result) => { - console.log( - `ExternalControlListManagement has been deployed successfully at ${result.address}` - ) - return result - }), - externalKycListManagement: await deployContractWithFactory( - commands.externalKycListManagement - ).then((result) => { - console.log( - `ExternalKycListManagement has been deployed successfully at ${result.address}` - ) - return result - }), - erc3643: await deployContractWithFactory(commands.erc3643).then( - (result) => { - console.log( - `ERC3643 has been deployed successfully at ${result.address}` - ) - return result - } - ), - freeze: await deployContractWithFactory(commands.freeze).then( - (result) => { - console.log( - `Freeze has been deployed successfully at ${result.address}` - ) - return result - } - ), - timeTravel: commands.timeTravel - ? await deployContractWithFactory(commands.timeTravel).then( - (result) => { - console.log( - `TimeTravel has been deployed successfully at ${result.address}` - ) - return result - } - ) - : undefined, - deployer: signer, - }) + }) + : undefined, + }; + const deployedContracts: DeployAtsContractsResult = + new DeployAtsContractsResult({ + businessLogicResolver: await deployContractWithFactory( + commands.businessLogicResolver, + ).then((result) => { + console.log( + `BusinessLogicResolver has been deployed successfully at ${result.address}`, + ); + return result; + }), + accessControl: await deployContractWithFactory( + commands.accessControl, + ).then((result) => { + console.log( + `AccessControl has been deployed successfully at ${result.address}`, + ); + return result; + }), + cap: await deployContractWithFactory(commands.cap).then((result) => { + console.log(`Cap has been deployed successfully at ${result.address}`); + return result; + }), + controlList: await deployContractWithFactory(commands.controlList).then( + (result) => { + console.log( + `ControlList has been deployed successfully at ${result.address}`, + ); + return result; + }, + ), + kyc: await deployContractWithFactory(commands.kyc).then((result) => { + console.log(`KYC has been deployed successfully at ${result.address}`); + return result; + }), + ssiManagement: await deployContractWithFactory( + commands.ssiManagement, + ).then((result) => { + console.log( + `SSIManagement has been deployed successfully at ${result.address}`, + ); + return result; + }), + pause: await deployContractWithFactory(commands.pause).then((result) => { + console.log( + `Pause has been deployed successfully at ${result.address}`, + ); + return result; + }), + lock: await deployContractWithFactory(commands.lock).then((result) => { + console.log(`Lock has been deployed successfully at ${result.address}`); + return result; + }), + hold: await deployContractWithFactory(commands.hold).then((result) => { + console.log(`Hold has been deployed successfully at ${result.address}`); + return result; + }), + erc20: await deployContractWithFactory(commands.erc20).then((result) => { + console.log( + `ERC20 has been deployed successfully at ${result.address}`, + ); + return result; + }), + erc1410ScheduledTasks: await deployContractWithFactory( + commands.erc1410ScheduledTasks, + ).then((result) => { + console.log( + `ERC1410ScheduledTasks has been deployed successfully at ${result.address}`, + ); + return result; + }), + erc1594: await deployContractWithFactory(commands.erc1594).then( + (result) => { + console.log( + `ERC1594 has been deployed successfully at ${result.address}`, + ); + return result; + }, + ), + erc1643: await deployContractWithFactory(commands.erc1643).then( + (result) => { + console.log( + `ERC1643 has been deployed successfully at ${result.address}`, + ); + return result; + }, + ), + erc1644: await deployContractWithFactory(commands.erc1644).then( + (result) => { + console.log( + `ERC1644 has been deployed successfully at ${result.address}`, + ); + return result; + }, + ), + snapshots: await deployContractWithFactory(commands.snapshots).then( + (result) => { + console.log( + `Snapshots has been deployed successfully at ${result.address}`, + ); + return result; + }, + ), + diamondFacet: await deployContractWithFactory(commands.diamondFacet).then( + (result) => { + console.log( + `DiamondFacet has been deployed successfully at ${result.address}`, + ); + return result; + }, + ), + equityUsa: await deployContractWithFactory(commands.equityUsa).then( + (result) => { + console.log( + `EquityUSA has been deployed successfully at ${result.address}`, + ); + return result; + }, + ), + bondUsa: await deployContractWithFactory(commands.bondUsa).then( + (result) => { + console.log( + `BondUSA has been deployed successfully at ${result.address}`, + ); + return result; + }, + ), + scheduledSnapshots: await deployContractWithFactory( + commands.scheduledSnapshots, + ).then((result) => { + console.log( + `ScheduledSnapshots has been deployed successfully at ${result.address}`, + ); + return result; + }), + scheduledBalanceAdjustments: await deployContractWithFactory( + commands.scheduledBalanceAdjustments, + ).then((result) => { + console.log( + `ScheduledBalanceAdjustments has been deployed successfully at ${result.address}`, + ); + return result; + }), + scheduledTasks: await deployContractWithFactory( + commands.scheduledTasks, + ).then((result) => { + console.log( + `ScheduledTasks has been deployed successfully at ${result.address}`, + ); + return result; + }), + corporateActions: await deployContractWithFactory( + commands.corporateActions, + ).then((result) => { + console.log( + `CorporateActions has been deployed successfully at ${result.address}`, + ); + return result; + }), + transferAndLock: await deployContractWithFactory( + commands.transferAndLock, + ).then((result) => { + console.log( + `TransferAndLock has been deployed successfully at ${result.address}`, + ); + return result; + }), + adjustBalances: await deployContractWithFactory( + commands.adjustBalances, + ).then((result) => { + console.log( + `AdjustBalances has been deployed successfully at ${result.address}`, + ); + return result; + }), + protectedPartitions: await deployContractWithFactory( + commands.protectedPartitions, + ).then((result) => { + console.log( + `ProtectedPartitions has been deployed successfully at ${result.address}`, + ); + return result; + }), + clearingTransferFacet: await deployContractWithFactory( + commands.clearingTransferFacet, + ).then((result) => { + console.log( + `ClearingTransferFacet has been deployed successfully at ${result.address}`, + ); + return result; + }), + clearingRedeemFacet: await deployContractWithFactory( + commands.clearingRedeemFacet, + ).then((result) => { + console.log( + `ClearingRedeemFacet has been deployed successfully at ${result.address}`, + ); + return result; + }), + clearingHoldCreationFacet: await deployContractWithFactory( + commands.clearingHoldCreationFacet, + ).then((result) => { + console.log( + `ClearingHoldCreationFacet has been deployed successfully at ${result.address}`, + ); + return result; + }), + clearingReadFacet: await deployContractWithFactory( + commands.clearingReadFacet, + ).then((result) => { + console.log( + `ClearingReadFacet has been deployed successfully at ${result.address}`, + ); + return result; + }), + clearingActionsFacet: await deployContractWithFactory( + commands.clearingActionsFacet, + ).then((result) => { + console.log( + `ClearingActionsFacet has been deployed successfully at ${result.address}`, + ); + return result; + }), + externalPauseManagement: await deployContractWithFactory( + commands.externalPauseManagement, + ).then((result) => { + console.log( + `ExternalPauseManagement has been deployed successfully at ${result.address}`, + ); + return result; + }), + externalControlListManagement: await deployContractWithFactory( + commands.externalControlListManagement, + ).then((result) => { + console.log( + `ExternalControlListManagement has been deployed successfully at ${result.address}`, + ); + return result; + }), + externalKycListManagement: await deployContractWithFactory( + commands.externalKycListManagement, + ).then((result) => { + console.log( + `ExternalKycListManagement has been deployed successfully at ${result.address}`, + ); + return result; + }), + erc3643: await deployContractWithFactory(commands.erc3643).then( + (result) => { + console.log( + `ERC3643 has been deployed successfully at ${result.address}`, + ); + return result; + }, + ), + freeze: await deployContractWithFactory(commands.freeze).then( + (result) => { + console.log( + `Freeze has been deployed successfully at ${result.address}`, + ); + return result; + }, + ), + timeTravel: commands.timeTravel + ? await deployContractWithFactory(commands.timeTravel).then( + (result) => { + console.log( + `TimeTravel has been deployed successfully at ${result.address}`, + ); + return result; + }, + ) + : undefined, + deployer: signer, + }); - if (!timeTravelEnabled) { - const { ...atsContracts } = deployedContracts - delete atsContracts.timeTravel - return atsContracts - } - return deployedContracts + if (!timeTravelEnabled) { + const { ...atsContracts } = deployedContracts; + delete atsContracts.timeTravel; + return atsContracts; + } + return deployedContracts; } export async function deployContractWithFactory< - F extends ContractFactory, - C extends Contract = ReturnType, + F extends ContractFactory, + C extends Contract = ReturnType, >({ - factory, - signer, - args, - overrides, - withProxy, - deployedContract, + factory, + signer, + args, + overrides, + withProxy, + deployedContract, }: DeployContractWithFactoryCommand): Promise< - DeployContractWithFactoryResult + DeployContractWithFactoryResult > { - let implementationContract: C - let proxyAddress: string | undefined - let proxyAdminAddress: string | undefined - const txResponseList: ContractTransaction[] = [] + let implementationContract: C; + let proxyAddress: string | undefined; + let proxyAdminAddress: string | undefined; + const txResponseList: ContractTransaction[] = []; - if (deployedContract?.address) { - implementationContract = factory.attach(deployedContract.address) as C - } else { - implementationContract = (await factory - .connect(signer) - .deploy(...args, overrides)) as C - txResponseList.push(implementationContract.deployTransaction) - } + if (deployedContract?.address) { + implementationContract = factory.attach(deployedContract.address) as C; + } else { + implementationContract = (await factory + .connect(signer) + .deploy(...args, overrides)) as C; + txResponseList.push(implementationContract.deployTransaction); + } - if (!withProxy) { - await validateTxResponseList( - txResponseList.map( - (txResponse) => - new ValidateTxResponseCommand({ - txResponse, - errorMessage: MESSAGES.deploy.error, - }) - ) - ) - return new DeployContractWithFactoryResult({ - address: implementationContract.address, - contract: implementationContract, - receipt: await txResponseList[0].wait(), - }) - } + if (!withProxy) { + await validateTxResponseList( + txResponseList.map( + (txResponse) => + new ValidateTxResponseCommand({ + txResponse, + errorMessage: MESSAGES.deploy.error, + }), + ), + ); + return new DeployContractWithFactoryResult({ + address: implementationContract.address, + contract: implementationContract, + receipt: await txResponseList[0].wait(), + }); + } - if (deployedContract?.proxyAdminAddress) { - proxyAdminAddress = deployedContract.proxyAdminAddress - } else { - const proxyAdmin = await new ProxyAdmin__factory(signer).deploy() - txResponseList.push(proxyAdmin.deployTransaction) - proxyAdminAddress = proxyAdmin.address - } + if (deployedContract?.proxyAdminAddress) { + proxyAdminAddress = deployedContract.proxyAdminAddress; + } else { + const proxyAdmin = await new ProxyAdmin__factory(signer).deploy(); + txResponseList.push(proxyAdmin.deployTransaction); + proxyAdminAddress = proxyAdmin.address; + } - if (deployedContract?.proxyAddress) { - proxyAddress = deployedContract.proxyAddress - } else { - const proxy = await new TransparentUpgradeableProxy__factory( - signer - ).deploy(implementationContract.address, proxyAdminAddress, '0x') - txResponseList.push(proxy.deployTransaction) - proxyAddress = proxy.address - } + if (deployedContract?.proxyAddress) { + proxyAddress = deployedContract.proxyAddress; + } else { + const proxy = await new TransparentUpgradeableProxy__factory(signer).deploy( + implementationContract.address, + proxyAdminAddress, + '0x', + ); + txResponseList.push(proxy.deployTransaction); + proxyAddress = proxy.address; + } - await validateTxResponseList( - txResponseList.map( - (txResponse) => - new ValidateTxResponseCommand({ - txResponse, - errorMessage: MESSAGES.deploy.error, - }) - ) - ) + await validateTxResponseList( + txResponseList.map( + (txResponse) => + new ValidateTxResponseCommand({ + txResponse, + errorMessage: MESSAGES.deploy.error, + }), + ), + ); - return new DeployContractWithFactoryResult({ - address: implementationContract.address, - contract: factory.connect(signer).attach(proxyAddress) as C, - proxyAddress: proxyAddress, - proxyAdminAddress: proxyAdminAddress, - receipt: await txResponseList[0].wait(), - }) + return new DeployContractWithFactoryResult({ + address: implementationContract.address, + contract: factory.connect(signer).attach(proxyAddress) as C, + proxyAddress: proxyAddress, + proxyAdminAddress: proxyAdminAddress, + receipt: await txResponseList[0].wait(), + }); } /** @@ -1248,58 +1191,58 @@ export async function deployContractWithFactory< * }); */ export async function deployContract({ - name, - signer, - args, + name, + signer, + args, }: DeployContractCommand): Promise { - console.log(`Deploying ${name}. please wait...`) + console.log(`Deploying ${name}. please wait...`); - const contractFactory = await ethers.getContractFactory(name, signer) - const contract = await contractFactory.deploy(...args) - const receipt = contract.deployTransaction.wait() + const contractFactory = await ethers.getContractFactory(name, signer); + const contract = await contractFactory.deploy(...args); + const receipt = contract.deployTransaction.wait(); - console.log(`${name} deployed at ${contract.address}`) + console.log(`${name} deployed at ${contract.address}`); - // if no proxy, return the contract (BREAK) - if (Configuration.contracts[name].deployType !== 'proxy') { - return new DeployContractResult({ - name, - contract, - address: contract.address, - receipt: await receipt, - }) - } + // if no proxy, return the contract (BREAK) + if (Configuration.contracts[name].deployType !== 'proxy') { + return new DeployContractResult({ + name, + contract, + address: contract.address, + receipt: await receipt, + }); + } - console.log(`Deploying ${name} Proxy Admin. please wait...`) + console.log(`Deploying ${name} Proxy Admin. please wait...`); - const { address: proxyAdminAddress } = await deployContract( - new DeployContractCommand({ - name: 'ProxyAdmin', - signer, - args: [], - }) - ) + const { address: proxyAdminAddress } = await deployContract( + new DeployContractCommand({ + name: 'ProxyAdmin', + signer, + args: [], + }), + ); - console.log(`${name} Proxy Admin deployed at ${proxyAdminAddress}`) + console.log(`${name} Proxy Admin deployed at ${proxyAdminAddress}`); - console.log(`Deploying ${name} Proxy. please wait...`) + console.log(`Deploying ${name} Proxy. please wait...`); - const { address: proxyAddress } = await deployContract( - new DeployContractCommand({ - name: 'TransparentUpgradeableProxy', - signer, - args: [contract.address, proxyAdminAddress, '0x'], - }) - ) + const { address: proxyAddress } = await deployContract( + new DeployContractCommand({ + name: 'TransparentUpgradeableProxy', + signer, + args: [contract.address, proxyAdminAddress, '0x'], + }), + ); - console.log(`${name} Proxy deployed at ${proxyAddress}`) + console.log(`${name} Proxy deployed at ${proxyAddress}`); - return new DeployContractResult({ - name, - address: contract.address, - contract, - proxyAddress, - proxyAdminAddress, - receipt: await receipt, - }) + return new DeployContractResult({ + name, + address: contract.address, + contract, + proxyAddress, + proxyAdminAddress, + receipt: await receipt, + }); } diff --git a/packages/ats/contracts/scripts/deployEnvironmentByRpc.ts b/packages/ats/contracts/scripts/deployEnvironmentByRpc.ts index 6c355c622..9c650bdc8 100644 --- a/packages/ats/contracts/scripts/deployEnvironmentByRpc.ts +++ b/packages/ats/contracts/scripts/deployEnvironmentByRpc.ts @@ -203,112 +203,112 @@ */ -import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers' +import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; import { - IBusinessLogicResolver, - IBusinessLogicResolver__factory, - IFactory, - IFactory__factory, - IStaticFunctionSelectors, - ProxyAdmin, - ProxyAdmin__factory, -} from '@typechain' + IBusinessLogicResolver, + IBusinessLogicResolver__factory, + IFactory, + IFactory__factory, + IStaticFunctionSelectors, + ProxyAdmin, + ProxyAdmin__factory, +} from '@typechain'; import { - DeployedBusinessLogics, - DeployAtsFullInfrastructureCommand, - deployAtsFullInfrastructure, -} from '@scripts' -import { Network } from '@configuration' -import { network } from 'hardhat' + DeployedBusinessLogics, + DeployAtsFullInfrastructureCommand, + deployAtsFullInfrastructure, +} from '@scripts'; +import { Network } from '@configuration'; +import { network } from 'hardhat'; export interface Environment { - deployedBusinessLogics: DeployedBusinessLogics - facetIdsEquities: string[] - facetVersionsEquities: number[] - facetIdsBonds: string[] - facetVersionsBonds: number[] - proxyAdmin: ProxyAdmin - resolver: IBusinessLogicResolver - factory: IFactory + deployedBusinessLogics: DeployedBusinessLogics; + facetIdsEquities: string[]; + facetVersionsEquities: number[]; + facetIdsBonds: string[]; + facetVersionsBonds: number[]; + proxyAdmin: ProxyAdmin; + resolver: IBusinessLogicResolver; + factory: IFactory; } -export const environment: Environment = buildEmptyEnvironment() -let environmentInitialized = false +export const environment: Environment = buildEmptyEnvironment(); +let environmentInitialized = false; export async function deployEnvironment({ - signer, - timeTravelEnabled = false, + signer, + timeTravelEnabled = false, }: { - signer: SignerWithAddress - timeTravelEnabled?: boolean + signer: SignerWithAddress; + timeTravelEnabled?: boolean; }) { - if (!environmentInitialized) { - const { deployer, factory, businessLogicResolver } = - await deployAtsFullInfrastructure( - new DeployAtsFullInfrastructureCommand({ - signer: signer, - network: network.name as Network, - useDeployed: false, - timeTravelEnabled: timeTravelEnabled, - }) - ) - - environment.proxyAdmin = ProxyAdmin__factory.connect( - businessLogicResolver.proxyAdminAddress!, - deployer! - ) - environment.resolver = IBusinessLogicResolver__factory.connect( - businessLogicResolver.proxyAddress!, - deployer! - ) - environment.factory = IFactory__factory.connect( - factory.proxyAddress!, - deployer! - ) - environmentInitialized = true - } + if (!environmentInitialized) { + const { deployer, factory, businessLogicResolver } = + await deployAtsFullInfrastructure( + new DeployAtsFullInfrastructureCommand({ + signer: signer, + network: network.name as Network, + useDeployed: false, + timeTravelEnabled: timeTravelEnabled, + }), + ); + + environment.proxyAdmin = ProxyAdmin__factory.connect( + businessLogicResolver.proxyAdminAddress!, + deployer!, + ); + environment.resolver = IBusinessLogicResolver__factory.connect( + businessLogicResolver.proxyAddress!, + deployer!, + ); + environment.factory = IFactory__factory.connect( + factory.proxyAddress!, + deployer!, + ); + environmentInitialized = true; + } } function buildEmptyEnvironment(): Environment { - return { - deployedBusinessLogics: { - businessLogicResolver: {} as IStaticFunctionSelectors, - factory: {} as IStaticFunctionSelectors, - diamondFacet: {} as IStaticFunctionSelectors, - accessControl: {} as IStaticFunctionSelectors, - controlList: {} as IStaticFunctionSelectors, - kyc: {} as IStaticFunctionSelectors, - ssiManagement: {} as IStaticFunctionSelectors, - corporateActions: {} as IStaticFunctionSelectors, - pause: {} as IStaticFunctionSelectors, - ERC20: {} as IStaticFunctionSelectors, - ERC1644: {} as IStaticFunctionSelectors, - eRC1410ScheduledTasks: {} as IStaticFunctionSelectors, - ERC1594: {} as IStaticFunctionSelectors, - eRC1643: {} as IStaticFunctionSelectors, - equityUSA: {} as IStaticFunctionSelectors, - bondUSA: {} as IStaticFunctionSelectors, - Snapshots: {} as IStaticFunctionSelectors, - scheduledSnapshots: {} as IStaticFunctionSelectors, - scheduledBalanceAdjustments: {} as IStaticFunctionSelectors, - scheduledTasks: {} as IStaticFunctionSelectors, - Cap: {} as IStaticFunctionSelectors, - Lock: {} as IStaticFunctionSelectors, - transferAndLock: {} as IStaticFunctionSelectors, - adjustBalances: {} as IStaticFunctionSelectors, - protectedPartitions: {} as IStaticFunctionSelectors, - Hold: {} as IStaticFunctionSelectors, - externalPauseManagement: {} as IStaticFunctionSelectors, - externalControlListManagement: {} as IStaticFunctionSelectors, - externalKycListManagement: {} as IStaticFunctionSelectors, - ERC3643: {} as IStaticFunctionSelectors, - }, - facetIdsEquities: [], - facetVersionsEquities: [], - facetIdsBonds: [], - facetVersionsBonds: [], - proxyAdmin: {} as ProxyAdmin, - resolver: {} as IBusinessLogicResolver, - factory: {} as IFactory, - } + return { + deployedBusinessLogics: { + businessLogicResolver: {} as IStaticFunctionSelectors, + factory: {} as IStaticFunctionSelectors, + diamondFacet: {} as IStaticFunctionSelectors, + accessControl: {} as IStaticFunctionSelectors, + controlList: {} as IStaticFunctionSelectors, + kyc: {} as IStaticFunctionSelectors, + ssiManagement: {} as IStaticFunctionSelectors, + corporateActions: {} as IStaticFunctionSelectors, + pause: {} as IStaticFunctionSelectors, + ERC20: {} as IStaticFunctionSelectors, + ERC1644: {} as IStaticFunctionSelectors, + eRC1410ScheduledTasks: {} as IStaticFunctionSelectors, + ERC1594: {} as IStaticFunctionSelectors, + eRC1643: {} as IStaticFunctionSelectors, + equityUSA: {} as IStaticFunctionSelectors, + bondUSA: {} as IStaticFunctionSelectors, + Snapshots: {} as IStaticFunctionSelectors, + scheduledSnapshots: {} as IStaticFunctionSelectors, + scheduledBalanceAdjustments: {} as IStaticFunctionSelectors, + scheduledTasks: {} as IStaticFunctionSelectors, + Cap: {} as IStaticFunctionSelectors, + Lock: {} as IStaticFunctionSelectors, + transferAndLock: {} as IStaticFunctionSelectors, + adjustBalances: {} as IStaticFunctionSelectors, + protectedPartitions: {} as IStaticFunctionSelectors, + Hold: {} as IStaticFunctionSelectors, + externalPauseManagement: {} as IStaticFunctionSelectors, + externalControlListManagement: {} as IStaticFunctionSelectors, + externalKycListManagement: {} as IStaticFunctionSelectors, + ERC3643: {} as IStaticFunctionSelectors, + }, + facetIdsEquities: [], + facetVersionsEquities: [], + facetIdsBonds: [], + facetVersionsBonds: [], + proxyAdmin: {} as ProxyAdmin, + resolver: {} as IBusinessLogicResolver, + factory: {} as IFactory, + }; } diff --git a/packages/ats/contracts/scripts/errors/BusinessLogicResolverNotFound.ts b/packages/ats/contracts/scripts/errors/BusinessLogicResolverNotFound.ts index 25d336580..849b2d974 100644 --- a/packages/ats/contracts/scripts/errors/BusinessLogicResolverNotFound.ts +++ b/packages/ats/contracts/scripts/errors/BusinessLogicResolverNotFound.ts @@ -203,10 +203,10 @@ */ -import { MESSAGES } from '../' +import { MESSAGES } from '../'; export default class BusinessLogicResolverNotFound extends Error { - constructor() { - super(MESSAGES.businessLogicResolver.error.notFound) - } + constructor() { + super(MESSAGES.businessLogicResolver.error.notFound); + } } diff --git a/packages/ats/contracts/scripts/errors/BusinessLogicResolverProxyNotFound.ts b/packages/ats/contracts/scripts/errors/BusinessLogicResolverProxyNotFound.ts index 271688c1e..acda91fd8 100644 --- a/packages/ats/contracts/scripts/errors/BusinessLogicResolverProxyNotFound.ts +++ b/packages/ats/contracts/scripts/errors/BusinessLogicResolverProxyNotFound.ts @@ -203,10 +203,10 @@ */ -import { MESSAGES } from '../index' +import { MESSAGES } from '../index'; export default class BusinessLogicResolverProxyNotFound extends Error { - constructor() { - super(MESSAGES.businessLogicResolver.error.proxyNotFound) - } + constructor() { + super(MESSAGES.businessLogicResolver.error.proxyNotFound); + } } diff --git a/packages/ats/contracts/scripts/errors/TransactionReceiptError.ts b/packages/ats/contracts/scripts/errors/TransactionReceiptError.ts index 7a89c1095..5d648ec9d 100644 --- a/packages/ats/contracts/scripts/errors/TransactionReceiptError.ts +++ b/packages/ats/contracts/scripts/errors/TransactionReceiptError.ts @@ -203,23 +203,23 @@ */ -import { MESSAGES } from '..' +import { MESSAGES } from '..'; interface TransactionReceiptErrorParams { - errorMessage?: string - txHash?: string + errorMessage?: string; + txHash?: string; } export default class TransactionReceiptError extends Error { - constructor({ errorMessage, txHash }: TransactionReceiptErrorParams) { - const baseMessage = MESSAGES.blockchain.validateTxResponse.error[0] - const hashMessage = txHash - ? `${MESSAGES.blockchain.validateTxResponse.error[1]}${txHash}` - : '' - const message = errorMessage - ? `${errorMessage}. ${baseMessage}` - : baseMessage - - super(`${message}${hashMessage}`) - } + constructor({ errorMessage, txHash }: TransactionReceiptErrorParams) { + const baseMessage = MESSAGES.blockchain.validateTxResponse.error[0]; + const hashMessage = txHash + ? `${MESSAGES.blockchain.validateTxResponse.error[1]}${txHash}` + : ''; + const message = errorMessage + ? `${errorMessage}. ${baseMessage}` + : baseMessage; + + super(`${message}${hashMessage}`); + } } diff --git a/packages/ats/contracts/scripts/extractMethods.ts b/packages/ats/contracts/scripts/extractMethods.ts index c5a8c5d67..d668d3f87 100644 --- a/packages/ats/contracts/scripts/extractMethods.ts +++ b/packages/ats/contracts/scripts/extractMethods.ts @@ -1,142 +1,136 @@ -import { readdirSync, readFileSync, statSync, writeFileSync } from 'fs' -import { join, extname } from 'path' -import { CONTRACTS_DIR, OUTPUT_FILE, REGEX_SELECTOR } from '@scripts' +import { readdirSync, readFileSync, statSync, writeFileSync } from 'fs'; +import { join, extname } from 'path'; +import { CONTRACTS_DIR, OUTPUT_FILE, REGEX_SELECTOR } from '@scripts'; function getSolidityFiles(dir: string): string[] { - const entries = readdirSync(dir) - let files: string[] = [] - - for (const entry of entries) { - const fullPath = join(dir, entry) - const stats = statSync(fullPath) - - if (stats.isDirectory()) { - files = files.concat(getSolidityFiles(fullPath)) - } else if (extname(entry) === '.sol') { - files.push(fullPath) - } + const entries = readdirSync(dir); + let files: string[] = []; + + for (const entry of entries) { + const fullPath = join(dir, entry); + const stats = statSync(fullPath); + + if (stats.isDirectory()) { + files = files.concat(getSolidityFiles(fullPath)); + } else if (extname(entry) === '.sol') { + files.push(fullPath); } + } - return files + return files; } function extractFunctions(content: string) { - const regex = - /function\s+([a-zA-Z0-9_]+)\s*\(([^)]*)\)\s+(public|external)((?:\s+\w+)*)\s*(returns\s*\(.*?\))?/g - - const normalFns = new Set() - const viewFns = new Set() - const pureFns = new Set() - - const normalFnsSelector = new Set() - const viewFnsSelector = new Set() - const pureFnsSelector = new Set() - - let match: RegExpExecArray | null - - while ((match = regex.exec(content)) !== null) { - const [ - fullMatch, - name, - args, - visibility, - modifiers = '', - returns = '', - ] = match - - const normalized = - `function ${name}(${args.trim()}) ${visibility}${modifiers}${returns ? ' ' + returns.trim() : ''}` - .replace(/\s+/g, ' ') - .trim() - - const lower = modifiers.toLowerCase() - const selector = REGEX_SELECTOR.exec(fullMatch) - - if (selector === null) continue - - const [fullMatchSelector] = selector - - if (lower.includes('pure')) { - if (pureFnsSelector.has(fullMatchSelector)) continue - pureFnsSelector.add(fullMatchSelector) - pureFns.add(normalized) - } else if (lower.includes('view')) { - if (viewFnsSelector.has(fullMatchSelector)) continue - viewFnsSelector.add(fullMatchSelector) - viewFns.add(normalized) - } else { - if (normalFnsSelector.has(fullMatchSelector)) continue - normalFnsSelector.add(fullMatchSelector) - normalFns.add(normalized) - } + const regex = + /function\s+([a-zA-Z0-9_]+)\s*\(([^)]*)\)\s+(public|external)((?:\s+\w+)*)\s*(returns\s*\(.*?\))?/g; + + const normalFns = new Set(); + const viewFns = new Set(); + const pureFns = new Set(); + + const normalFnsSelector = new Set(); + const viewFnsSelector = new Set(); + const pureFnsSelector = new Set(); + + let match: RegExpExecArray | null; + + while ((match = regex.exec(content)) !== null) { + const [fullMatch, name, args, visibility, modifiers = '', returns = ''] = + match; + + const normalized = + `function ${name}(${args.trim()}) ${visibility}${modifiers}${returns ? ' ' + returns.trim() : ''}` + .replace(/\s+/g, ' ') + .trim(); + + const lower = modifiers.toLowerCase(); + const selector = REGEX_SELECTOR.exec(fullMatch); + + if (selector === null) continue; + + const [fullMatchSelector] = selector; + + if (lower.includes('pure')) { + if (pureFnsSelector.has(fullMatchSelector)) continue; + pureFnsSelector.add(fullMatchSelector); + pureFns.add(normalized); + } else if (lower.includes('view')) { + if (viewFnsSelector.has(fullMatchSelector)) continue; + viewFnsSelector.add(fullMatchSelector); + viewFns.add(normalized); + } else { + if (normalFnsSelector.has(fullMatchSelector)) continue; + normalFnsSelector.add(fullMatchSelector); + normalFns.add(normalized); } + } - return { normalFns, viewFns, pureFns } + return { normalFns, viewFns, pureFns }; } export function main() { - const files = getSolidityFiles(CONTRACTS_DIR) + const files = getSolidityFiles(CONTRACTS_DIR); - const normalSet = new Set() - const viewSet = new Set() - const pureSet = new Set() + const normalSet = new Set(); + const viewSet = new Set(); + const pureSet = new Set(); - const normalSetSelectors = new Set() - const viewSetSelectors = new Set() - const pureSetSelectors = new Set() + const normalSetSelectors = new Set(); + const viewSetSelectors = new Set(); + const pureSetSelectors = new Set(); - for (const file of files) { - const content = readFileSync(file, 'utf8') - const { normalFns, viewFns, pureFns } = extractFunctions(content) + for (const file of files) { + const content = readFileSync(file, 'utf8'); + const { normalFns, viewFns, pureFns } = extractFunctions(content); - normalFns.forEach((fn) => { - const selector = REGEX_SELECTOR.exec(fn) + normalFns.forEach((fn) => { + const selector = REGEX_SELECTOR.exec(fn); - if (selector === null) return + if (selector === null) return; - const [fullMatchSelector] = selector + const [fullMatchSelector] = selector; - if (normalSetSelectors.has(fullMatchSelector)) return - normalSetSelectors.add(fullMatchSelector) - normalSet.add(fn) - }) + if (normalSetSelectors.has(fullMatchSelector)) return; + normalSetSelectors.add(fullMatchSelector); + normalSet.add(fn); + }); - viewFns.forEach((fn) => { - const selector = REGEX_SELECTOR.exec(fn) + viewFns.forEach((fn) => { + const selector = REGEX_SELECTOR.exec(fn); - if (selector === null) return + if (selector === null) return; - const [fullMatchSelector] = selector + const [fullMatchSelector] = selector; - if (viewSetSelectors.has(fullMatchSelector)) return - viewSetSelectors.add(fullMatchSelector) - viewSet.add(fn) - }) + if (viewSetSelectors.has(fullMatchSelector)) return; + viewSetSelectors.add(fullMatchSelector); + viewSet.add(fn); + }); - pureFns.forEach((fn) => { - const selector = REGEX_SELECTOR.exec(fn) + pureFns.forEach((fn) => { + const selector = REGEX_SELECTOR.exec(fn); - if (selector === null) return + if (selector === null) return; - const [fullMatchSelector] = selector + const [fullMatchSelector] = selector; - if (pureSetSelectors.has(fullMatchSelector)) return - pureSetSelectors.add(fullMatchSelector) - pureSet.add(fn) - }) - } + if (pureSetSelectors.has(fullMatchSelector)) return; + pureSetSelectors.add(fullMatchSelector); + pureSet.add(fn); + }); + } + + const output = [ + '====== โ Non-view/pure external/public methods ======\n', + ...Array.from(normalSet).sort(), + '\n====== ๐๏ธ View functions ======\n', + ...Array.from(viewSet).sort(), + '\n====== ๐งช Pure functions ======\n', + ...Array.from(pureSet).sort(), + ]; - const output = [ - '====== โ Non-view/pure external/public methods ======\n', - ...Array.from(normalSet).sort(), - '\n====== ๐๏ธ View functions ======\n', - ...Array.from(viewSet).sort(), - '\n====== ๐งช Pure functions ======\n', - ...Array.from(pureSet).sort(), - ] - - writeFileSync(OUTPUT_FILE, output.join('\n'), 'utf8') - console.log(`โ Methods extracted to ${OUTPUT_FILE}`) + writeFileSync(OUTPUT_FILE, output.join('\n'), 'utf8'); + console.log(`โ Methods extracted to ${OUTPUT_FILE}`); } -main() +main(); diff --git a/packages/ats/contracts/scripts/factory.ts b/packages/ats/contracts/scripts/factory.ts index e3cb31b15..37c0e0121 100644 --- a/packages/ats/contracts/scripts/factory.ts +++ b/packages/ats/contracts/scripts/factory.ts @@ -203,396 +203,461 @@ */ -import { ethers } from 'hardhat' -import { IFactory } from '@typechain' +import { ethers } from 'hardhat'; +import { IFactory } from '@typechain'; import { - DEFAULT_ADMIN_ROLE, - EQUITY_CONFIG_ID, - BOND_CONFIG_ID, - EVENTS, - GAS_LIMIT, -} from './constants' + DEFAULT_ADMIN_ROLE, + EQUITY_CONFIG_ID, + BOND_CONFIG_ID, + EVENTS, + GAS_LIMIT, +} from './constants'; export interface Rbac { - role: string - members: string[] + role: string; + members: string[]; } export interface ResolverProxyConfiguration { - key: string - version: number + key: string; + version: number; } export interface ERC20MetadataInfo { - name: string - symbol: string - isin: string - decimals: number + name: string; + symbol: string; + isin: string; + decimals: number; } export interface ERC20Metadata { - info: ERC20MetadataInfo - securityType: number + info: ERC20MetadataInfo; + securityType: number; } export enum DividendType { - NONE = 0, - PREFERRED = 1, - COMMON = 2, + NONE = 0, + PREFERRED = 1, + COMMON = 2, } export enum SecurityType { - BOND = 0, - EQUITY = 1, + BOND = 0, + EQUITY = 1, } export interface EquityDetailsData { - votingRight: boolean - informationRight: boolean - liquidationRight: boolean - subscriptionRight: boolean - conversionRight: boolean - redemptionRight: boolean - putRight: boolean - dividendRight: DividendType - currency: string - nominalValue: number + votingRight: boolean; + informationRight: boolean; + liquidationRight: boolean; + subscriptionRight: boolean; + conversionRight: boolean; + redemptionRight: boolean; + putRight: boolean; + dividendRight: DividendType; + currency: string; + nominalValue: number; } export interface BondDetailsData { - currency: string - nominalValue: number - startingDate: number - maturityDate: number + currency: string; + nominalValue: number; + startingDate: number; + maturityDate: number; } export interface CouponDetailsData { - couponFrequency: number - couponRate: number - firstCouponDate: number + couponFrequency: number; + couponRate: number; + firstCouponDate: number; } export interface SecurityData { - arePartitionsProtected: boolean - isMultiPartition: boolean - resolver: string - resolverProxyConfiguration: ResolverProxyConfiguration - rbacs: Rbac[] - isControllable: boolean - isWhiteList: boolean - maxSupply: bigint - erc20MetadataInfo: ERC20MetadataInfo - clearingActive: boolean - internalKycActivated: boolean - externalPauses: string[] - externalControlLists: string[] - externalKycLists: string[] + arePartitionsProtected: boolean; + isMultiPartition: boolean; + resolver: string; + resolverProxyConfiguration: ResolverProxyConfiguration; + rbacs: Rbac[]; + isControllable: boolean; + isWhiteList: boolean; + maxSupply: bigint; + erc20MetadataInfo: ERC20MetadataInfo; + clearingActive: boolean; + internalKycActivated: boolean; + externalPauses: string[]; + externalControlLists: string[]; + externalKycLists: string[]; } export interface EquityData { - security: SecurityData - equityDetails: EquityDetailsData + security: SecurityData; + equityDetails: EquityDetailsData; } export interface BondData { - security: SecurityData - bondDetails: BondDetailsData - couponDetails: CouponDetailsData + security: SecurityData; + bondDetails: BondDetailsData; + couponDetails: CouponDetailsData; } export interface AdditionalSecurityData { - countriesControlListType: boolean - listOfCountries: string - info: string + countriesControlListType: boolean; + listOfCountries: string; + info: string; } export interface FactoryRegulationData { - regulationType: number - regulationSubType: number - additionalSecurityData: AdditionalSecurityData + regulationType: number; + regulationSubType: number; + additionalSecurityData: AdditionalSecurityData; } export const RegulationType = { - NONE: 0, - REG_S: 1, - REG_D: 2, -} + NONE: 0, + REG_S: 1, + REG_D: 2, +}; export const RegulationSubType = { - NONE: 0, - REG_D_506_B: 1, - REG_D_506_C: 2, -} + NONE: 0, + REG_D_506_B: 1, + REG_D_506_C: 2, +}; export async function setFactoryRegulationData( - regulationType: number, - regulationSubType: number, - countriesControlListType: boolean, - listOfCountries: string, - info: string + regulationType: number, + regulationSubType: number, + countriesControlListType: boolean, + listOfCountries: string, + info: string, ) { - const additionalSecurityData: AdditionalSecurityData = { - countriesControlListType: countriesControlListType, - listOfCountries: listOfCountries, - info: info, - } - - const factoryRegulationData: FactoryRegulationData = { - regulationType: regulationType, - regulationSubType: regulationSubType, - additionalSecurityData: additionalSecurityData, - } - - return factoryRegulationData + const additionalSecurityData: AdditionalSecurityData = { + countriesControlListType: countriesControlListType, + listOfCountries: listOfCountries, + info: info, + }; + + const factoryRegulationData: FactoryRegulationData = { + regulationType: regulationType, + regulationSubType: regulationSubType, + additionalSecurityData: additionalSecurityData, + }; + + return factoryRegulationData; } export async function setEquityData({ - adminAccount, - isWhiteList, - isControllable, - isMultiPartition, - arePartitionsProtected, - clearingActive, - internalKycActivated, + adminAccount, + isWhiteList, + isControllable, + isMultiPartition, + arePartitionsProtected, + clearingActive, + internalKycActivated, + name, + symbol, + decimals, + isin, + votingRight, + informationRight, + liquidationRight, + subscriptionRight, + conversionRight, + redemptionRight, + putRight, + dividendRight, + currency, + numberOfShares, + nominalValue, + init_rbacs, + addAdmin = true, + businessLogicResolver, + externalPauses, + externalControlLists, + externalKycLists, +}: { + adminAccount: string; + isWhiteList: boolean; + isControllable: boolean; + isMultiPartition: boolean; + arePartitionsProtected: boolean; + clearingActive: boolean; + internalKycActivated: boolean; + name: string; + symbol: string; + decimals: number; + isin: string; + votingRight: boolean; + informationRight: boolean; + liquidationRight: boolean; + subscriptionRight: boolean; + conversionRight: boolean; + redemptionRight: boolean; + putRight: boolean; + dividendRight: DividendType; + currency: string; + numberOfShares: bigint; + nominalValue: number; + init_rbacs?: Rbac[]; + addAdmin?: boolean; + businessLogicResolver: string; + externalPauses?: string[]; + externalControlLists?: string[]; + externalKycLists?: string[]; +}) { + let rbacs: Rbac[] = []; + + if (addAdmin) { + const rbacAdmin: Rbac = { + role: DEFAULT_ADMIN_ROLE, + members: [adminAccount], + }; + rbacs = [rbacAdmin]; + } + + if (init_rbacs) { + rbacs = rbacs.concat(init_rbacs); + } + + const resolverProxyConfiguration: ResolverProxyConfiguration = { + key: EQUITY_CONFIG_ID, + version: 1, + }; + + const erc20MetadataInfo: ERC20MetadataInfo = { name, symbol, - decimals, isin, - votingRight, - informationRight, - liquidationRight, - subscriptionRight, - conversionRight, - redemptionRight, - putRight, - dividendRight, - currency, - numberOfShares, - nominalValue, - init_rbacs, - addAdmin = true, - businessLogicResolver, - externalPauses, - externalControlLists, - externalKycLists, -}: { - adminAccount: string - isWhiteList: boolean - isControllable: boolean - isMultiPartition: boolean - arePartitionsProtected: boolean - clearingActive: boolean - internalKycActivated: boolean - name: string - symbol: string - decimals: number - isin: string - votingRight: boolean - informationRight: boolean - liquidationRight: boolean - subscriptionRight: boolean - conversionRight: boolean - redemptionRight: boolean - putRight: boolean - dividendRight: DividendType - currency: string - numberOfShares: bigint - nominalValue: number - init_rbacs?: Rbac[] - addAdmin?: boolean - businessLogicResolver: string - externalPauses?: string[] - externalControlLists?: string[] - externalKycLists?: string[] -}) { - let rbacs: Rbac[] = [] - - if (addAdmin) { - const rbacAdmin: Rbac = { - role: DEFAULT_ADMIN_ROLE, - members: [adminAccount], - } - rbacs = [rbacAdmin] - } - - if (init_rbacs) { - rbacs = rbacs.concat(init_rbacs) - } - - const resolverProxyConfiguration: ResolverProxyConfiguration = { - key: EQUITY_CONFIG_ID, - version: 1, - } - - const erc20MetadataInfo: ERC20MetadataInfo = { - name, - symbol, - isin, - decimals, - } - - const security: SecurityData = { - arePartitionsProtected, - isMultiPartition, - resolver: businessLogicResolver, - resolverProxyConfiguration, - rbacs, - isControllable, - isWhiteList, - maxSupply: numberOfShares, - erc20MetadataInfo, - clearingActive, - internalKycActivated, - externalPauses: externalPauses ?? [], - externalControlLists: externalControlLists ?? [], - externalKycLists: externalKycLists ?? [], - } - - const equityDetails: EquityDetailsData = { - votingRight: votingRight, - informationRight: informationRight, - liquidationRight: liquidationRight, - subscriptionRight: subscriptionRight, - conversionRight: conversionRight, - redemptionRight: redemptionRight, - putRight: putRight, - dividendRight: dividendRight, - currency: currency, - nominalValue: nominalValue, - } - - const equityData: EquityData = { - security, - equityDetails, - } - - return equityData -} + decimals, + }; -export async function setBondData({ - adminAccount, - isWhiteList, - isControllable, - isMultiPartition, + const security: SecurityData = { arePartitionsProtected, + isMultiPartition, + resolver: businessLogicResolver, + resolverProxyConfiguration, + rbacs, + isControllable, + isWhiteList, + maxSupply: numberOfShares, + erc20MetadataInfo, clearingActive, internalKycActivated, + externalPauses: externalPauses ?? [], + externalControlLists: externalControlLists ?? [], + externalKycLists: externalKycLists ?? [], + }; + + const equityDetails: EquityDetailsData = { + votingRight: votingRight, + informationRight: informationRight, + liquidationRight: liquidationRight, + subscriptionRight: subscriptionRight, + conversionRight: conversionRight, + redemptionRight: redemptionRight, + putRight: putRight, + dividendRight: dividendRight, + currency: currency, + nominalValue: nominalValue, + }; + + const equityData: EquityData = { + security, + equityDetails, + }; + + return equityData; +} + +export async function setBondData({ + adminAccount, + isWhiteList, + isControllable, + isMultiPartition, + arePartitionsProtected, + clearingActive, + internalKycActivated, + name, + symbol, + decimals, + isin, + currency, + numberOfUnits, + nominalValue, + startingDate, + maturityDate, + couponFrequency, + couponRate, + firstCouponDate, + init_rbacs, + addAdmin = true, + businessLogicResolver, + externalPauses, + externalControlLists, + externalKycLists, +}: { + adminAccount: string; + isWhiteList: boolean; + isControllable: boolean; + isMultiPartition: boolean; + arePartitionsProtected: boolean; + clearingActive: boolean; + internalKycActivated: boolean; + name: string; + symbol: string; + decimals: number; + isin: string; + currency: string; + numberOfUnits: bigint; + nominalValue: number; + startingDate: number; + maturityDate: number; + couponFrequency: number; + couponRate: number; + firstCouponDate: number; + init_rbacs?: Rbac[]; + addAdmin: boolean; + businessLogicResolver: string; + externalPauses?: string[]; + externalControlLists?: string[]; + externalKycLists?: string[]; +}) { + let rbacs: Rbac[] = []; + + if (addAdmin) { + const rbacAdmin: Rbac = { + role: DEFAULT_ADMIN_ROLE, + members: [adminAccount], + }; + rbacs = [rbacAdmin]; + } + + if (init_rbacs) { + rbacs = rbacs.concat(init_rbacs); + } + + const resolverProxyConfiguration: ResolverProxyConfiguration = { + key: BOND_CONFIG_ID, + version: 1, + }; + + const erc20MetadataInfo: ERC20MetadataInfo = { name, symbol, - decimals, isin, - currency, - numberOfUnits, - nominalValue, - startingDate, - maturityDate, - couponFrequency, - couponRate, - firstCouponDate, - init_rbacs, - addAdmin = true, - businessLogicResolver, - externalPauses, - externalControlLists, - externalKycLists, -}: { - adminAccount: string - isWhiteList: boolean - isControllable: boolean - isMultiPartition: boolean - arePartitionsProtected: boolean - clearingActive: boolean - internalKycActivated: boolean - name: string - symbol: string - decimals: number - isin: string - currency: string - numberOfUnits: bigint - nominalValue: number - startingDate: number - maturityDate: number - couponFrequency: number - couponRate: number - firstCouponDate: number - init_rbacs?: Rbac[] - addAdmin: boolean - businessLogicResolver: string - externalPauses?: string[] - externalControlLists?: string[] - externalKycLists?: string[] -}) { - let rbacs: Rbac[] = [] - - if (addAdmin) { - const rbacAdmin: Rbac = { - role: DEFAULT_ADMIN_ROLE, - members: [adminAccount], - } - rbacs = [rbacAdmin] - } - - if (init_rbacs) { - rbacs = rbacs.concat(init_rbacs) - } - - const resolverProxyConfiguration: ResolverProxyConfiguration = { - key: BOND_CONFIG_ID, - version: 1, - } - - const erc20MetadataInfo: ERC20MetadataInfo = { - name, - symbol, - isin, - decimals, - } - - const security: SecurityData = { - arePartitionsProtected, - isMultiPartition, - resolver: businessLogicResolver, - resolverProxyConfiguration, - rbacs, - isControllable, - isWhiteList, - maxSupply: numberOfUnits, - erc20MetadataInfo, - clearingActive, - internalKycActivated, - externalPauses: externalPauses ?? [], - externalControlLists: externalControlLists ?? [], - externalKycLists: externalKycLists ?? [], - } - - const bondDetails: BondDetailsData = { - currency: currency, // EUR - nominalValue: nominalValue, - startingDate: startingDate, - maturityDate: maturityDate, - } - - const couponDetails: CouponDetailsData = { - couponFrequency: couponFrequency, - couponRate: couponRate, - firstCouponDate: firstCouponDate, - } - - const bondData: BondData = { - security, - bondDetails, - couponDetails, - } - - return bondData + decimals, + }; + + const security: SecurityData = { + arePartitionsProtected, + isMultiPartition, + resolver: businessLogicResolver, + resolverProxyConfiguration, + rbacs, + isControllable, + isWhiteList, + maxSupply: numberOfUnits, + erc20MetadataInfo, + clearingActive, + internalKycActivated, + externalPauses: externalPauses ?? [], + externalControlLists: externalControlLists ?? [], + externalKycLists: externalKycLists ?? [], + }; + + const bondDetails: BondDetailsData = { + currency: currency, // EUR + nominalValue: nominalValue, + startingDate: startingDate, + maturityDate: maturityDate, + }; + + const couponDetails: CouponDetailsData = { + couponFrequency: couponFrequency, + couponRate: couponRate, + firstCouponDate: firstCouponDate, + }; + + const bondData: BondData = { + security, + bondDetails, + couponDetails, + }; + + return bondData; } export async function deployEquityFromFactory({ + adminAccount, + isWhiteList, + isControllable, + isMultiPartition, + arePartitionsProtected, + clearingActive, + internalKycActivated, + name, + symbol, + decimals, + isin, + votingRight, + informationRight, + liquidationRight, + subscriptionRight, + conversionRight, + redemptionRight, + putRight, + dividendRight, + currency, + numberOfShares, + nominalValue, + regulationType, + regulationSubType, + countriesControlListType, + listOfCountries, + info, + init_rbacs, + addAdmin = true, + businessLogicResolver, + factory, +}: { + adminAccount: string; + isWhiteList: boolean; + isControllable: boolean; + isMultiPartition: boolean; + arePartitionsProtected: boolean; + clearingActive: boolean; + internalKycActivated: boolean; + name: string; + symbol: string; + decimals: number; + isin: string; + votingRight: boolean; + informationRight: boolean; + liquidationRight: boolean; + subscriptionRight: boolean; + conversionRight: boolean; + redemptionRight: boolean; + putRight: boolean; + dividendRight: DividendType; + currency: string; + numberOfShares: bigint; + nominalValue: number; + regulationType: number; + regulationSubType: number; + countriesControlListType: boolean; + listOfCountries: string; + info: string; + init_rbacs?: Rbac[]; + addAdmin?: boolean; + businessLogicResolver: string; + factory: IFactory; +}) { + const equityData = await setEquityData({ adminAccount, isWhiteList, isControllable, - isMultiPartition, arePartitionsProtected, + isMultiPartition, clearingActive, internalKycActivated, name, @@ -610,200 +675,129 @@ export async function deployEquityFromFactory({ currency, numberOfShares, nominalValue, + init_rbacs, + addAdmin, + businessLogicResolver, + }); + + const factoryRegulationData = await setFactoryRegulationData( regulationType, regulationSubType, countriesControlListType, listOfCountries, info, - init_rbacs, - addAdmin = true, - businessLogicResolver, - factory, -}: { - adminAccount: string - isWhiteList: boolean - isControllable: boolean - isMultiPartition: boolean - arePartitionsProtected: boolean - clearingActive: boolean - internalKycActivated: boolean - name: string - symbol: string - decimals: number - isin: string - votingRight: boolean - informationRight: boolean - liquidationRight: boolean - subscriptionRight: boolean - conversionRight: boolean - redemptionRight: boolean - putRight: boolean - dividendRight: DividendType - currency: string - numberOfShares: bigint - nominalValue: number - regulationType: number - regulationSubType: number - countriesControlListType: boolean - listOfCountries: string - info: string - init_rbacs?: Rbac[] - addAdmin?: boolean - businessLogicResolver: string - factory: IFactory -}) { - const equityData = await setEquityData({ - adminAccount, - isWhiteList, - isControllable, - arePartitionsProtected, - isMultiPartition, - clearingActive, - internalKycActivated, - name, - symbol, - decimals, - isin, - votingRight, - informationRight, - liquidationRight, - subscriptionRight, - conversionRight, - redemptionRight, - putRight, - dividendRight, - currency, - numberOfShares, - nominalValue, - init_rbacs, - addAdmin, - businessLogicResolver, - }) - - const factoryRegulationData = await setFactoryRegulationData( - regulationType, - regulationSubType, - countriesControlListType, - listOfCountries, - info - ) - - const result = await factory.deployEquity( - equityData, - factoryRegulationData, - { - gasLimit: GAS_LIMIT.high, - } - ) - const events = (await result.wait()).events! - const deployedEquityEvent = events.find( - (e) => e.event == EVENTS.equity.deployed - ) - const equityAddress = deployedEquityEvent!.args!.equityAddress - - return await ethers.getContractAt('Equity', equityAddress) + ); + + const result = await factory.deployEquity(equityData, factoryRegulationData, { + gasLimit: GAS_LIMIT.high, + }); + const events = (await result.wait()).events!; + const deployedEquityEvent = events.find( + (e) => e.event == EVENTS.equity.deployed, + ); + const equityAddress = deployedEquityEvent!.args!.equityAddress; + + return await ethers.getContractAt('Equity', equityAddress); } export async function deployBondFromFactory({ + adminAccount, + isWhiteList, + isControllable, + isMultiPartition, + arePartitionsProtected, + clearingActive, + internalKycActivated, + name, + symbol, + decimals, + isin, + currency, + numberOfUnits, + nominalValue, + startingDate, + maturityDate, + couponFrequency, + couponRate, + firstCouponDate, + regulationType, + regulationSubType, + countriesControlListType, + listOfCountries, + info, + init_rbacs, + addAdmin = true, + factory, + businessLogicResolver, +}: { + adminAccount: string; + isWhiteList: boolean; + isControllable: boolean; + isMultiPartition: boolean; + arePartitionsProtected: boolean; + clearingActive: boolean; + internalKycActivated: boolean; + name: string; + symbol: string; + decimals: number; + isin: string; + currency: string; + numberOfUnits: number; + nominalValue: number; + startingDate: number; + maturityDate: number; + couponFrequency: number; + couponRate: number; + firstCouponDate: number; + regulationType: number; + regulationSubType: number; + countriesControlListType: boolean; + listOfCountries: string; + info: string; + init_rbacs?: Rbac[]; + addAdmin?: boolean; + factory: IFactory; + businessLogicResolver: string; +}) { + const bondData = await setBondData({ adminAccount, isWhiteList, isControllable, - isMultiPartition, arePartitionsProtected, clearingActive, internalKycActivated, + isMultiPartition, name, symbol, decimals, isin, currency, - numberOfUnits, + numberOfUnits: BigInt(numberOfUnits), nominalValue, startingDate, maturityDate, couponFrequency, couponRate, firstCouponDate, + init_rbacs, + addAdmin, + businessLogicResolver, + }); + + const factoryRegulationData = await setFactoryRegulationData( regulationType, regulationSubType, countriesControlListType, listOfCountries, info, - init_rbacs, - addAdmin = true, - factory, - businessLogicResolver, -}: { - adminAccount: string - isWhiteList: boolean - isControllable: boolean - isMultiPartition: boolean - arePartitionsProtected: boolean - clearingActive: boolean - internalKycActivated: boolean - name: string - symbol: string - decimals: number - isin: string - currency: string - numberOfUnits: number - nominalValue: number - startingDate: number - maturityDate: number - couponFrequency: number - couponRate: number - firstCouponDate: number - regulationType: number - regulationSubType: number - countriesControlListType: boolean - listOfCountries: string - info: string - init_rbacs?: Rbac[] - addAdmin?: boolean - factory: IFactory - businessLogicResolver: string -}) { - const bondData = await setBondData({ - adminAccount, - isWhiteList, - isControllable, - arePartitionsProtected, - clearingActive, - internalKycActivated, - isMultiPartition, - name, - symbol, - decimals, - isin, - currency, - numberOfUnits: BigInt(numberOfUnits), - nominalValue, - startingDate, - maturityDate, - couponFrequency, - couponRate, - firstCouponDate, - init_rbacs, - addAdmin, - businessLogicResolver, - }) - - const factoryRegulationData = await setFactoryRegulationData( - regulationType, - regulationSubType, - countriesControlListType, - listOfCountries, - info - ) - - const result = await factory.deployBond(bondData, factoryRegulationData, { - gasLimit: GAS_LIMIT.max, - }) - const events = (await result.wait()).events! - const deployedBondEvent = events.find( - (e) => e.event == EVENTS.bond.deployed - ) - const bondAddress = deployedBondEvent!.args!.bondAddress - - return await ethers.getContractAt('Bond', bondAddress) + ); + + const result = await factory.deployBond(bondData, factoryRegulationData, { + gasLimit: GAS_LIMIT.max, + }); + const events = (await result.wait()).events!; + const deployedBondEvent = events.find((e) => e.event == EVENTS.bond.deployed); + const bondAddress = deployedBondEvent!.args!.bondAddress; + + return await ethers.getContractAt('Bond', bondAddress); } diff --git a/packages/ats/contracts/scripts/hedera.ts b/packages/ats/contracts/scripts/hedera.ts index 4a46caf96..c1108446c 100644 --- a/packages/ats/contracts/scripts/hedera.ts +++ b/packages/ats/contracts/scripts/hedera.ts @@ -203,84 +203,84 @@ */ -import axios from 'axios' -import Configuration, { Network } from '@configuration' -import { ADDRESS_ZERO } from './constants' -import { delay } from '@scripts' +import axios from 'axios'; +import Configuration, { Network } from '@configuration'; +import { ADDRESS_ZERO } from './constants'; +import { delay } from '@scripts'; interface IAccount { - evm_address: string - key: IKey - account: string + evm_address: string; + key: IKey; + account: string; } interface IKey { - _type: string - key: string + _type: string; + key: string; } export async function addressListToHederaIdList({ - addressList, - network, + addressList, + network, }: { - addressList: string[] - network: Network + addressList: string[]; + network: Network; }): Promise { - return Promise.all( - addressList.map((address) => addresstoHederaId({ address, network })) - ) + return Promise.all( + addressList.map((address) => addresstoHederaId({ address, network })), + ); } export async function addresstoHederaId({ - address: address, - network, + address: address, + network, }: { - address: string - network: Network + address: string; + network: Network; }): Promise { - if (address === ADDRESS_ZERO) { - return '0.0.0' - } + if (address === ADDRESS_ZERO) { + return '0.0.0'; + } - const url = `accounts/${address}` - const res = await getFromMirrorNode({ - url, - network, - }) - if (!res) { - throw new Error(`Error retrieving account information for ${address}`) - } - return res.account + const url = `accounts/${address}`; + const res = await getFromMirrorNode({ + url, + network, + }); + if (!res) { + throw new Error(`Error retrieving account information for ${address}`); + } + return res.account; } async function getFromMirrorNode({ - url, - network, - timeBetweenRetries = 1, - timeout = 10, + url, + network, + timeBetweenRetries = 1, + timeout = 10, }: { - url: string - network: Network - timeBetweenRetries?: number - timeout?: number + url: string; + network: Network; + timeBetweenRetries?: number; + timeout?: number; }): Promise { - const mirrorUrl = `${Configuration.endpoints[network].mirror}/api/v1/${ - url.startsWith('/') ? url.slice(1) : url - }` - let timePassed = 0 - while (timePassed <= timeout) { - try { - const res = await axios.get(mirrorUrl) - if (res.status === 200) { - return res.data - } - } catch (error) { - console.error( - `Error retrieving data from Mirror Node: ${(error as Error).message}` - ) - } - await delay({ time: timeBetweenRetries, unit: 'seconds' }) - timePassed += timeBetweenRetries + const mirrorUrl = `${Configuration.endpoints[network].mirror}/api/v1/${ + url.startsWith('/') ? url.slice(1) : url + }`; + let timePassed = 0; + while (timePassed <= timeout) { + try { + const res = await axios.get(mirrorUrl); + if (res.status === 200) { + return res.data; + } + } catch (error) { + console.error( + `Error retrieving data from Mirror Node: ${(error as Error).message}`, + ); } - return undefined + await delay({ time: timeBetweenRetries, unit: 'seconds' }); + timePassed += timeBetweenRetries; + } + return undefined; } diff --git a/packages/ats/contracts/scripts/index.ts b/packages/ats/contracts/scripts/index.ts index 83e2fc02f..855b788c7 100644 --- a/packages/ats/contracts/scripts/index.ts +++ b/packages/ats/contracts/scripts/index.ts @@ -204,80 +204,80 @@ */ // * Constants -export * from './constants' +export * from './constants'; // * Commands export { - default as BaseBlockchainCommand, - BaseBlockchainCommandParams, -} from './commands/base/BaseBlockchainCommand' + default as BaseBlockchainCommand, + BaseBlockchainCommandParams, +} from './commands/base/BaseBlockchainCommand'; export { - default as BaseAtsContractListCommand, - BaseAtsContractListCommandParams, -} from './commands/base/BaseAtsContractListCommand' -export { default as ErrorMessageCommand } from './commands/ErrorMessageCommand' -export { default as DeployContractCommand } from './commands/DeployContractCommand' -export { default as DeployAtsContractsCommand } from './commands/DeployAtsContractsCommand' -export { default as DeployAtsFullInfrastructureCommand } from './commands/DeployAtsFullInfrastructureCommand' -export { default as DeployContractWithFactoryCommand } from './commands/DeployContractWithFactoryCommand' -export { default as DeployProxyAdminCommand } from './commands/DeployProxyAdminCommand' -export { default as DeployUpgradeableProxyCommand } from './commands/DeployTransparentProxyCommand' -export { default as DeployProxyForBusinessLogicResolverCommand } from './commands/DeployProxyForBusinessLogicResolverCommand' -export { default as UpgradeProxyImplementationCommand } from './commands/UpgradeProxyImplementationCommand' -export { default as CallContractCommand } from './commands/CallContractCommand' -export { default as ValidateTxResponseCommand } from './commands/ValidateTxResponseCommand' -export { default as RegisterBusinessLogicsCommand } from './commands/RegisterBusinessLogicsCommand' -export { default as RegisterDeployedContractBusinessLogicsCommand } from './commands/RegisterDeployedContractBusinessLogicsCommand' -export { default as CreateConfigurationsForDeployedContractsCommand } from './commands/CreateConfigurationsForDeployedContractsCommand' + default as BaseAtsContractListCommand, + BaseAtsContractListCommandParams, +} from './commands/base/BaseAtsContractListCommand'; +export { default as ErrorMessageCommand } from './commands/ErrorMessageCommand'; +export { default as DeployContractCommand } from './commands/DeployContractCommand'; +export { default as DeployAtsContractsCommand } from './commands/DeployAtsContractsCommand'; +export { default as DeployAtsFullInfrastructureCommand } from './commands/DeployAtsFullInfrastructureCommand'; +export { default as DeployContractWithFactoryCommand } from './commands/DeployContractWithFactoryCommand'; +export { default as DeployProxyAdminCommand } from './commands/DeployProxyAdminCommand'; +export { default as DeployUpgradeableProxyCommand } from './commands/DeployTransparentProxyCommand'; +export { default as DeployProxyForBusinessLogicResolverCommand } from './commands/DeployProxyForBusinessLogicResolverCommand'; +export { default as UpgradeProxyImplementationCommand } from './commands/UpgradeProxyImplementationCommand'; +export { default as CallContractCommand } from './commands/CallContractCommand'; +export { default as ValidateTxResponseCommand } from './commands/ValidateTxResponseCommand'; +export { default as RegisterBusinessLogicsCommand } from './commands/RegisterBusinessLogicsCommand'; +export { default as RegisterDeployedContractBusinessLogicsCommand } from './commands/RegisterDeployedContractBusinessLogicsCommand'; +export { default as CreateConfigurationsForDeployedContractsCommand } from './commands/CreateConfigurationsForDeployedContractsCommand'; // * Queries export { - default as BaseBlockchainQuery, - BaseBlockchainQueryParams, -} from './queries/base/BaseBlockchainQuery' -export { default as ProxyImplementationQuery } from './queries/ProxyImplementationQuery' -export { default as GetFacetsByConfigurationIdAndVersionQuery } from './queries/GetFacetsByConfigurationIdAndVersionQuery' + default as BaseBlockchainQuery, + BaseBlockchainQueryParams, +} from './queries/base/BaseBlockchainQuery'; +export { default as ProxyImplementationQuery } from './queries/ProxyImplementationQuery'; +export { default as GetFacetsByConfigurationIdAndVersionQuery } from './queries/GetFacetsByConfigurationIdAndVersionQuery'; // * Results -export { default as DeployContractResult } from './results/DeployContractResult' -export { default as DeployContractWithFactoryResult } from './results/DeployContractWithFactoryResult' +export { default as DeployContractResult } from './results/DeployContractResult'; +export { default as DeployContractWithFactoryResult } from './results/DeployContractWithFactoryResult'; export { - default as DeployAtsContractsResult, - DeployAtsContractsResultParams, -} from './results/DeployAtsContractsResult' -export { default as DeployAtsFullInfrastructureResult } from './results/DeployAtsFullInfrastructureResult' -export { default as ValidateTxResponseResult } from './results/ValidateTxResponseResult' -export { default as GetFacetsByConfigurationIdAndVersionResult } from './results/GetFacetsByConfigurationIdAndVersionResult' -export { default as CreateConfigurationsForDeployedContractsResult } from './results/CreateConfigurationsForDeployedContractsResult' + default as DeployAtsContractsResult, + DeployAtsContractsResultParams, +} from './results/DeployAtsContractsResult'; +export { default as DeployAtsFullInfrastructureResult } from './results/DeployAtsFullInfrastructureResult'; +export { default as ValidateTxResponseResult } from './results/ValidateTxResponseResult'; +export { default as GetFacetsByConfigurationIdAndVersionResult } from './results/GetFacetsByConfigurationIdAndVersionResult'; +export { default as CreateConfigurationsForDeployedContractsResult } from './results/CreateConfigurationsForDeployedContractsResult'; // * Errors -export { default as BusinessLogicResolverNotFound } from './errors/BusinessLogicResolverNotFound' -export { default as BusinessLogicResolverProxyNotFound } from './errors/BusinessLogicResolverProxyNotFound' -export { default as TransactionReceiptError } from './errors/TransactionReceiptError' +export { default as BusinessLogicResolverNotFound } from './errors/BusinessLogicResolverNotFound'; +export { default as BusinessLogicResolverProxyNotFound } from './errors/BusinessLogicResolverProxyNotFound'; +export { default as TransactionReceiptError } from './errors/TransactionReceiptError'; // * Time functions -export * from './time' +export * from './time'; // * Blockain functions -export * from './blockchain' +export * from './blockchain'; // * Hedera functions -export * from './hedera' +export * from './hedera'; // * Deploy functions -export * from './deploy' +export * from './deploy'; // * Proxy functions -export * from './transparentUpgradeableProxy' +export * from './transparentUpgradeableProxy'; // * BusinessLogicResolver -export * from './businessLogicResolver' +export * from './businessLogicResolver'; // * ResolverDiamondCut -export * from './resolverDiamondCut' +export * from './resolverDiamondCut'; // * Factory -export * from './factory' +export * from './factory'; // * Extract methods -export * from './extractMethods' +export * from './extractMethods'; diff --git a/packages/ats/contracts/scripts/interaction.ts b/packages/ats/contracts/scripts/interaction.ts index 58e266d78..4f501bfbf 100644 --- a/packages/ats/contracts/scripts/interaction.ts +++ b/packages/ats/contracts/scripts/interaction.ts @@ -203,12 +203,12 @@ */ -import { Result } from 'ethers/lib/utils' -import { CallContractCommand } from '@scripts' +import { Result } from 'ethers/lib/utils'; +import { CallContractCommand } from '@scripts'; import { - TransactionReceipt, - TransactionResponse, -} from '@ethersproject/providers' + TransactionReceipt, + TransactionResponse, +} from '@ethersproject/providers'; // * External functions /** @@ -221,15 +221,15 @@ import { * @returns {Promise} The result of the contract call. */ export async function callReadContract({ - contract, - method, - args, - overrides, + contract, + method, + args, + overrides, }: CallContractCommand): Promise { - const result: Result = await contract.callStatic[method](...args, { - ...overrides, - }) - return result + const result: Result = await contract.callStatic[method](...args, { + ...overrides, + }); + return result; } /** @@ -243,21 +243,21 @@ export async function callReadContract({ * @throws {Error} If the transaction fails or is reverted */ export async function callWriteContract({ + contract, + method, + args, + overrides, +}: CallContractCommand): Promise { + const command = new CallContractCommand({ contract, method, args, overrides, -}: CallContractCommand): Promise { - const command = new CallContractCommand({ - contract, - method, - args, - overrides, - }) - const response: TransactionResponse = (await callContract( - command - )) as TransactionResponse - return await response.wait() + }); + const response: TransactionResponse = (await callContract( + command, + )) as TransactionResponse; + return await response.wait(); } // * Internal functions @@ -271,10 +271,10 @@ export async function callWriteContract({ * @returns {Promise} A promise that resolves to either a TransactionResponse (for write operations) or Result (for read operations) */ function callContract({ - contract, - method, - args, - overrides, + contract, + method, + args, + overrides, }: CallContractCommand): Promise { - return contract[method](...args, { ...overrides }) + return contract[method](...args, { ...overrides }); } diff --git a/packages/ats/contracts/scripts/queries/GetFacetsByConfigurationIdAndVersionQuery.ts b/packages/ats/contracts/scripts/queries/GetFacetsByConfigurationIdAndVersionQuery.ts index 3d725bfd1..9ece3d3fb 100644 --- a/packages/ats/contracts/scripts/queries/GetFacetsByConfigurationIdAndVersionQuery.ts +++ b/packages/ats/contracts/scripts/queries/GetFacetsByConfigurationIdAndVersionQuery.ts @@ -203,26 +203,26 @@ */ -import { BaseBlockchainQuery, BaseBlockchainQueryParams } from '../index' +import { BaseBlockchainQuery, BaseBlockchainQueryParams } from '../index'; interface GetFacetsByConfigurationIdAndVersionQueryParams - extends BaseBlockchainQueryParams { - businessLogicResolverAddress: string - configurationId: string + extends BaseBlockchainQueryParams { + businessLogicResolverAddress: string; + configurationId: string; } export default class GetFacetsByConfigurationIdAndVersionQuery extends BaseBlockchainQuery { - public readonly businessLogicResolverAddress: string - public readonly configurationId: string - - constructor({ - businessLogicResolverAddress, - configurationId, - provider, - overrides, - }: GetFacetsByConfigurationIdAndVersionQueryParams) { - super({ provider, overrides }) - this.businessLogicResolverAddress = businessLogicResolverAddress - this.configurationId = configurationId - } + public readonly businessLogicResolverAddress: string; + public readonly configurationId: string; + + constructor({ + businessLogicResolverAddress, + configurationId, + provider, + overrides, + }: GetFacetsByConfigurationIdAndVersionQueryParams) { + super({ provider, overrides }); + this.businessLogicResolverAddress = businessLogicResolverAddress; + this.configurationId = configurationId; + } } diff --git a/packages/ats/contracts/scripts/queries/ProxyImplementationQuery.ts b/packages/ats/contracts/scripts/queries/ProxyImplementationQuery.ts index 188c0e7c2..fe926a9f0 100644 --- a/packages/ats/contracts/scripts/queries/ProxyImplementationQuery.ts +++ b/packages/ats/contracts/scripts/queries/ProxyImplementationQuery.ts @@ -203,25 +203,25 @@ */ -import { BaseBlockchainQuery, BaseBlockchainQueryParams } from '../index' +import { BaseBlockchainQuery, BaseBlockchainQueryParams } from '../index'; interface ProxyImplementationQueryParams extends BaseBlockchainQueryParams { - proxyAdminAddress: string - transparentProxyAddress: string + proxyAdminAddress: string; + transparentProxyAddress: string; } export default class ProxyImplementationQuery extends BaseBlockchainQuery { - public readonly proxyAdminAddress: string - public readonly transparentProxyAddress: string - - constructor({ - proxyAdminAddress, - transparentProxyAddress, - provider, - overrides, - }: ProxyImplementationQueryParams) { - super({ provider, overrides }) - this.proxyAdminAddress = proxyAdminAddress - this.transparentProxyAddress = transparentProxyAddress - } + public readonly proxyAdminAddress: string; + public readonly transparentProxyAddress: string; + + constructor({ + proxyAdminAddress, + transparentProxyAddress, + provider, + overrides, + }: ProxyImplementationQueryParams) { + super({ provider, overrides }); + this.proxyAdminAddress = proxyAdminAddress; + this.transparentProxyAddress = transparentProxyAddress; + } } diff --git a/packages/ats/contracts/scripts/queries/base/BaseBlockchainQuery.ts b/packages/ats/contracts/scripts/queries/base/BaseBlockchainQuery.ts index 4ec4366dd..aa8040604 100644 --- a/packages/ats/contracts/scripts/queries/base/BaseBlockchainQuery.ts +++ b/packages/ats/contracts/scripts/queries/base/BaseBlockchainQuery.ts @@ -203,19 +203,19 @@ */ -import { Overrides, providers } from 'ethers' +import { Overrides, providers } from 'ethers'; export interface BaseBlockchainQueryParams { - provider: providers.Provider - overrides?: Overrides + provider: providers.Provider; + overrides?: Overrides; } export default abstract class BaseBlockchainQuery { - public readonly provider: providers.Provider - public readonly overrides?: Overrides + public readonly provider: providers.Provider; + public readonly overrides?: Overrides; - constructor({ provider, overrides }: BaseBlockchainQueryParams) { - this.provider = provider - this.overrides = overrides ?? {} - } + constructor({ provider, overrides }: BaseBlockchainQueryParams) { + this.provider = provider; + this.overrides = overrides ?? {}; + } } diff --git a/packages/ats/contracts/scripts/resolverDiamondCut.ts b/packages/ats/contracts/scripts/resolverDiamondCut.ts index 1ce41cde8..85b19cb2b 100644 --- a/packages/ats/contracts/scripts/resolverDiamondCut.ts +++ b/packages/ats/contracts/scripts/resolverDiamondCut.ts @@ -203,30 +203,27 @@ */ -import { Environment } from './deployEnvironmentByRpc' +import { Environment } from './deployEnvironmentByRpc'; export interface FacetConfiguration { - id: string - version: number + id: string; + version: number; } export async function createResolverConfig( - environment: Environment, - configId: string, - facetIds: string[], - facetVersions: number[] + environment: Environment, + configId: string, + facetIds: string[], + facetVersions: number[], ): Promise { - const facetConfigurations: FacetConfiguration[] = [] - facetIds.forEach((id, index) => - facetConfigurations.push({ id, version: facetVersions[index] }) - ) - - await environment.resolver.createConfiguration( - configId, - facetConfigurations - ) - - return ( - await environment.resolver.getLatestVersionByConfiguration(configId) - ).toNumber() + const facetConfigurations: FacetConfiguration[] = []; + facetIds.forEach((id, index) => + facetConfigurations.push({ id, version: facetVersions[index] }), + ); + + await environment.resolver.createConfiguration(configId, facetConfigurations); + + return ( + await environment.resolver.getLatestVersionByConfiguration(configId) + ).toNumber(); } diff --git a/packages/ats/contracts/scripts/results/CreateConfigurationsForDeployedContractsResult.ts b/packages/ats/contracts/scripts/results/CreateConfigurationsForDeployedContractsResult.ts index 381a5ff33..ec2e1f567 100644 --- a/packages/ats/contracts/scripts/results/CreateConfigurationsForDeployedContractsResult.ts +++ b/packages/ats/contracts/scripts/results/CreateConfigurationsForDeployedContractsResult.ts @@ -204,41 +204,41 @@ */ interface CreateConfigurationsForDeployedContractsResultParams { - commonFacetIdList: string[] - equityFacetIdList: string[] - bondFacetIdList: string[] - equityFacetVersionList: number[] - bondFacetVersionList: number[] + commonFacetIdList: string[]; + equityFacetIdList: string[]; + bondFacetIdList: string[]; + equityFacetVersionList: number[]; + bondFacetVersionList: number[]; } export default class CreateConfigurationsForDeployedContractsResult { - public commonFacetIdList: string[] - public equityFacetIdList: string[] - public bondFacetIdList: string[] - public equityFacetVersionList: number[] - public bondFacetVersionList: number[] - - constructor({ - commonFacetIdList, - equityFacetIdList, - bondFacetIdList, - equityFacetVersionList, - bondFacetVersionList, - }: CreateConfigurationsForDeployedContractsResultParams) { - this.commonFacetIdList = commonFacetIdList - this.equityFacetIdList = equityFacetIdList - this.equityFacetVersionList = equityFacetVersionList - this.bondFacetIdList = bondFacetIdList - this.bondFacetVersionList = bondFacetVersionList - } - - public static empty(): CreateConfigurationsForDeployedContractsResult { - return new CreateConfigurationsForDeployedContractsResult({ - commonFacetIdList: [], - equityFacetIdList: [], - bondFacetIdList: [], - equityFacetVersionList: [], - bondFacetVersionList: [], - }) - } + public commonFacetIdList: string[]; + public equityFacetIdList: string[]; + public bondFacetIdList: string[]; + public equityFacetVersionList: number[]; + public bondFacetVersionList: number[]; + + constructor({ + commonFacetIdList, + equityFacetIdList, + bondFacetIdList, + equityFacetVersionList, + bondFacetVersionList, + }: CreateConfigurationsForDeployedContractsResultParams) { + this.commonFacetIdList = commonFacetIdList; + this.equityFacetIdList = equityFacetIdList; + this.equityFacetVersionList = equityFacetVersionList; + this.bondFacetIdList = bondFacetIdList; + this.bondFacetVersionList = bondFacetVersionList; + } + + public static empty(): CreateConfigurationsForDeployedContractsResult { + return new CreateConfigurationsForDeployedContractsResult({ + commonFacetIdList: [], + equityFacetIdList: [], + bondFacetIdList: [], + equityFacetVersionList: [], + bondFacetVersionList: [], + }); + } } diff --git a/packages/ats/contracts/scripts/results/DeployAtsContractsResult.ts b/packages/ats/contracts/scripts/results/DeployAtsContractsResult.ts index 6977304dc..8b68cd0ee 100644 --- a/packages/ats/contracts/scripts/results/DeployAtsContractsResult.ts +++ b/packages/ats/contracts/scripts/results/DeployAtsContractsResult.ts @@ -203,202 +203,202 @@ */ -import { Signer } from 'ethers' +import { Signer } from 'ethers'; import { - BusinessLogicResolver, - AccessControlFacet, - AdjustBalances, - BondUSA, - Cap, - ControlList, - CorporateActions, - DiamondFacet, - EquityUSA, - ERC1410ScheduledTasks, - ERC1594, - ERC1643, - ERC1644, - ERC20, - PauseFacet, - ScheduledBalanceAdjustments, - ScheduledSnapshots, - ScheduledTasks, - Snapshots, - TransferAndLock, - Lock, - Hold, - ProtectedPartitions, - Kyc, - SsiManagement, - ClearingTransferFacet, - ClearingRedeemFacet, - ClearingHoldCreationFacet, - ClearingReadFacet, - ClearingActionsFacet, - ExternalPauseManagement, - ExternalControlListManagement, - TimeTravel, - ExternalKycListManagement, - ERC3643, - FreezeFacet, -} from '@typechain' -import { DeployContractWithFactoryResult } from '../index' + BusinessLogicResolver, + AccessControlFacet, + AdjustBalances, + BondUSA, + Cap, + ControlList, + CorporateActions, + DiamondFacet, + EquityUSA, + ERC1410ScheduledTasks, + ERC1594, + ERC1643, + ERC1644, + ERC20, + PauseFacet, + ScheduledBalanceAdjustments, + ScheduledSnapshots, + ScheduledTasks, + Snapshots, + TransferAndLock, + Lock, + Hold, + ProtectedPartitions, + Kyc, + SsiManagement, + ClearingTransferFacet, + ClearingRedeemFacet, + ClearingHoldCreationFacet, + ClearingReadFacet, + ClearingActionsFacet, + ExternalPauseManagement, + ExternalControlListManagement, + TimeTravel, + ExternalKycListManagement, + ERC3643, + FreezeFacet, +} from '@typechain'; +import { DeployContractWithFactoryResult } from '../index'; export interface DeployAtsContractsResultParams { - businessLogicResolver: DeployContractWithFactoryResult - accessControl: DeployContractWithFactoryResult - cap: DeployContractWithFactoryResult - controlList: DeployContractWithFactoryResult - kyc: DeployContractWithFactoryResult
Instructions to set up your Hedera account and your Metamask wallet: