diff --git a/.github/workflows/docker-release-apk.yml b/.github/workflows/docker-release-apk.yml deleted file mode 100644 index 15350d9..0000000 --- a/.github/workflows/docker-release-apk.yml +++ /dev/null @@ -1,349 +0,0 @@ -name: ๐Ÿณ Docker-based APK Release - -on: - pull_request: - types: [closed, labeled] - branches: [main] - -permissions: - contents: write # For pushing commits and tags - pull-requests: read # For reading PR information - -jobs: - check-docker-release-trigger: - if: github.event.pull_request.merged == true || (github.event.action == 'labeled' && github.event.pull_request.merged == true) - runs-on: ubuntu-latest - outputs: - should-release: ${{ steps.check.outputs.should-release }} - version-bump: ${{ steps.check.outputs.version-bump }} - release-notes: ${{ steps.check.outputs.release-notes }} - steps: - - name: Check Docker Release Trigger - id: check - run: | - # Check if PR has docker-release label or [docker-release] in title - LABELS="${{ join(github.event.pull_request.labels.*.name, ' ') }}" - TITLE="${{ github.event.pull_request.title }}" - PR_BODY="${{ github.event.pull_request.body }}" - ACTION="${{ github.event.action }}" - - echo "Action: $ACTION" - echo "Checking labels: $LABELS" - echo "Checking title: $TITLE" - echo "PR merged: ${{ github.event.pull_request.merged }}" - - # Determine version bump type from commit messages and PR title - VERSION_BUMP="patch" - if [[ "$TITLE" == *"[major]"* ]] || [[ "$TITLE" == *"BREAKING CHANGE"* ]]; then - VERSION_BUMP="major" - elif [[ "$TITLE" == *"[minor]"* ]] || [[ "$TITLE" == *"feat"* ]] || [[ "$TITLE" == *"feature"* ]]; then - VERSION_BUMP="minor" - fi - - # Check if should release with Docker - SHOULD_RELEASE=false - if [[ "$LABELS" == *"docker-release"* ]] || [[ "$TITLE" == *"[docker-release]"* ]]; then - SHOULD_RELEASE=true - fi - - # Special handling for label events - check if docker-release label was just added - if [[ "$ACTION" == "labeled" ]]; then - ADDED_LABEL="${{ github.event.label.name }}" - echo "Label added: $ADDED_LABEL" - if [[ "$ADDED_LABEL" != "docker-release" ]]; then - echo "Label '$ADDED_LABEL' is not a docker-release trigger, skipping..." - SHOULD_RELEASE=false - fi - fi - - # Prepare release notes from PR body - RELEASE_NOTES=$(echo "$PR_BODY" | head -n 20) - - echo "should-release=$SHOULD_RELEASE" >> $GITHUB_OUTPUT - echo "version-bump=$VERSION_BUMP" >> $GITHUB_OUTPUT - echo "release-notes<> $GITHUB_OUTPUT - echo "$RELEASE_NOTES" >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - docker-build-and-release: - needs: check-docker-release-trigger - if: needs.check-docker-release-trigger.outputs.should-release == 'true' - runs-on: ubuntu-latest - - steps: - - name: ๐Ÿ—๏ธ Checkout Repository - uses: actions/checkout@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - fetch-depth: 0 - - - name: ๐Ÿ” Check for Existing Release - id: check-existing - run: | - # Get current version first - CURRENT_VERSION=$(node -p "require('./package.json').version") - BUMP_TYPE="${{ needs.check-docker-release-trigger.outputs.version-bump }}" - - # Parse current version - IFS='.' read -ra VERSION_PARTS <<< "$CURRENT_VERSION" - MAJOR=${VERSION_PARTS[0]} - MINOR=${VERSION_PARTS[1]} - PATCH=${VERSION_PARTS[2]} - - # Calculate new version - case $BUMP_TYPE in - "major") - MAJOR=$((MAJOR + 1)) - MINOR=0 - PATCH=0 - ;; - "minor") - MINOR=$((MINOR + 1)) - PATCH=0 - ;; - "patch") - PATCH=$((PATCH + 1)) - ;; - esac - - NEW_VERSION="${MAJOR}.${MINOR}.${PATCH}" - DOCKER_TAG="v$NEW_VERSION-docker" - - # Check if Docker tag already exists - if git rev-parse "$DOCKER_TAG" >/dev/null 2>&1; then - echo "โš ๏ธ Docker tag $DOCKER_TAG already exists!" - echo "existing=true" >> $GITHUB_OUTPUT - - # Check if GitHub release exists - RELEASE_EXISTS=$(gh release view "$DOCKER_TAG" >/dev/null 2>&1 && echo "true" || echo "false") - echo "github-release-exists=$RELEASE_EXISTS" >> $GITHUB_OUTPUT - echo "skip-build=true" >> $GITHUB_OUTPUT - else - echo "โœ… No existing Docker release found for $DOCKER_TAG" - echo "existing=false" >> $GITHUB_OUTPUT - echo "github-release-exists=false" >> $GITHUB_OUTPUT - echo "skip-build=false" >> $GITHUB_OUTPUT - fi - - echo "docker-tag=$DOCKER_TAG" >> $GITHUB_OUTPUT - echo "new-version=$NEW_VERSION" >> $GITHUB_OUTPUT - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: ๐Ÿ”ง Set up Docker Buildx - if: steps.check-existing.outputs.skip-build == 'false' - uses: docker/setup-buildx-action@v3 - - - name: ๐Ÿ“ Update Version in Files - if: steps.check-existing.outputs.skip-build == 'false' - run: | - NEW_VERSION="${{ steps.check-existing.outputs.new-version }}" - - # Update package.json (install Node.js first) - curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - - sudo apt-get install -y nodejs - npm version $NEW_VERSION --no-git-tag-version - - # Update Android versionName and versionCode - VERSION_CODE=$(grep "versionCode" android/app/build.gradle | grep -o '[0-9]\+') - NEW_VERSION_CODE=$((VERSION_CODE + 1)) - - sed -i "s/versionCode $VERSION_CODE/versionCode $NEW_VERSION_CODE/" android/app/build.gradle - sed -i "s/versionName \".*\"/versionName \"$NEW_VERSION\"/" android/app/build.gradle - - echo "Updated version to $NEW_VERSION (code: $NEW_VERSION_CODE)" - - - name: โš ๏ธ Docker Release Already Exists - if: steps.check-existing.outputs.skip-build == 'true' - run: | - echo "## โš ๏ธ Docker Release Already Exists" - echo "A Docker release for this version already exists. Skipping build to prevent duplicates." - echo "If you need to rebuild, please:" - echo "1. Delete the existing tag and release, OR" - echo "2. Increment the version manually and re-trigger" - - - name: ๐Ÿ”‘ Setup Keystore in Container - if: steps.check-existing.outputs.skip-build == 'false' - run: | - # Create keystore files that will be mounted into the container - mkdir -p .docker-build - echo "${{ secrets.RELEASE_KEYSTORE_BASE64 }}" | base64 -d > .docker-build/release-key.jks - - # Create keystore.properties - cat > .docker-build/keystore.properties << EOF - storeFile=release-key.jks - storePassword=${{ secrets.RELEASE_STORE_PASSWORD }} - keyAlias=${{ secrets.RELEASE_KEY_ALIAS }} - keyPassword=${{ secrets.RELEASE_KEY_PASSWORD }} - EOF - - - name: ๐Ÿณ Build Android Docker Image - if: steps.check-existing.outputs.skip-build == 'false' - run: | - echo "๐Ÿณ Building Android Docker image..." - docker build -f Dockerfile.android -t govt-invoice-android:latest . - - echo "โœ… Docker image built successfully!" - docker images govt-invoice-android:latest - - - name: ๐Ÿ”จ Build APK using Docker - if: steps.check-existing.outputs.skip-build == 'false' - run: | - echo "๐Ÿ”จ Building APK using Docker container..." - - # Create output directory - mkdir -p ./docker-outputs - - # Run Docker container to build APK - docker run --rm \ - -v $(pwd)/.docker-build/release-key.jks:/app/android/app/release-key.jks:ro \ - -v $(pwd)/.docker-build/keystore.properties:/app/android/keystore.properties:ro \ - -v $(pwd)/docker-outputs:/app/android/app/build/outputs \ - --name apk-builder \ - govt-invoice-android:latest - - # Verify APK was created - if [ ! -f "docker-outputs/apk/release/app-release.apk" ]; then - echo "โŒ Docker APK build failed!" - echo "Container logs:" - docker logs apk-builder || echo "No container logs available" - exit 1 - fi - - # Rename APK with version - NEW_VERSION="${{ steps.check-existing.outputs.new-version }}" - cp docker-outputs/apk/release/app-release.apk docker-outputs/apk/release/Govt-Invoice-Docker-v${NEW_VERSION}.apk - - # Get APK info - APK_SIZE=$(du -h docker-outputs/apk/release/Govt-Invoice-Docker-v${NEW_VERSION}.apk | cut -f1) - echo "โœ… Docker APK built successfully! Size: $APK_SIZE" - - # List all output files - echo "๐Ÿ“ Build outputs:" - find docker-outputs -name "*.apk" -o -name "*.aab" | sort - - - name: ๐Ÿท๏ธ Create Docker Git Tag - if: steps.check-existing.outputs.skip-build == 'false' - run: | - DOCKER_TAG="${{ steps.check-existing.outputs.docker-tag }}" - NEW_VERSION="${{ steps.check-existing.outputs.new-version }}" - - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - - git add package.json android/app/build.gradle - git commit -m "๐Ÿณ Docker Release version $DOCKER_TAG" - git tag -a "$DOCKER_TAG" -m "Docker Release version $DOCKER_TAG" - git push origin main - git push origin "$DOCKER_TAG" - - - name: ๐Ÿ“ Generate Docker Release Notes - if: steps.check-existing.outputs.skip-build == 'false' - id: release-notes - run: | - NEW_VERSION="${{ steps.check-existing.outputs.new-version }}" - DOCKER_TAG="${{ steps.check-existing.outputs.docker-tag }}" - - # Create comprehensive release notes - cat > docker-release-notes.md << EOF - ## ๐Ÿณ Docker-built Release $DOCKER_TAG - - ### ๐Ÿ“‹ Changes from PR #${{ github.event.pull_request.number }} - **${{ github.event.pull_request.title }}** - - ${{ needs.check-docker-release-trigger.outputs.release-notes }} - - ### ๐Ÿณ Docker Build Information - - **Release Version:** $NEW_VERSION - - **Docker Tag:** $DOCKER_TAG - - **Version Bump:** ${{ needs.check-docker-release-trigger.outputs.version-bump }} - - **Build Method:** Docker Container - - **Build Date:** $(date -u +"%Y-%m-%d %H:%M:%S UTC") - - **Commit SHA:** ${{ github.sha }} - - ### ๐Ÿ’ป Installation - 1. Download the APK file below (Docker-built) - 2. Enable "Install from Unknown Sources" in Android settings - 3. Install the APK on your device - - ### ๐Ÿณ Docker Build Details - - **Base Image:** Ubuntu 22.04 - - **Android SDK:** Latest - - **Java Version:** OpenJDK 17 - - **Node.js Version:** 20.x - - **Build Environment:** Containerized - - ### ๐Ÿ”ง Technical Details - - **Min SDK:** 21 (Android 5.0) - - **Target SDK:** 34 (Android 14) - - **Architecture:** Universal APK - - **Signed:** Yes โœ… - - **Build Method:** Docker Container - - ### ๐Ÿš€ Why Docker Build? - - **Reproducible:** Same build environment every time - - **Isolated:** No conflicts with host system - - **Consistent:** All dependencies managed in container - - **Portable:** Can be built on any Docker-capable system - - --- - *This release was automatically generated using Docker by GitHub Actions* - EOF - - echo "Docker release notes generated successfully" - - - name: ๐ŸŽ‰ Create Docker GitHub Release - if: steps.check-existing.outputs.skip-build == 'false' - uses: softprops/action-gh-release@v1 - with: - tag_name: ${{ steps.check-existing.outputs.docker-tag }} - name: ๐Ÿณ Govt-Invoice ${{ steps.check-existing.outputs.docker-tag }} (Docker Build) - body_path: docker-release-notes.md - files: | - docker-outputs/apk/release/Govt-Invoice-Docker-v${{ steps.check-existing.outputs.new-version }}.apk - draft: false - prerelease: false - generate_release_notes: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: ๐Ÿงน Cleanup Docker Build - if: always() - run: | - # Remove sensitive files - rm -rf .docker-build - rm -rf docker-outputs - - # Clean up Docker images - docker rmi govt-invoice-android:latest || echo "Docker image already removed" - docker system prune -f || echo "Docker cleanup completed" - - echo "๐Ÿงน Docker cleanup completed" - - - name: ๐Ÿ“ฑ Post-Docker-Release Summary - if: steps.check-existing.outputs.skip-build == 'false' - run: | - NEW_VERSION="${{ steps.check-existing.outputs.new-version }}" - DOCKER_TAG="${{ steps.check-existing.outputs.docker-tag }}" - - echo "## ๐Ÿณ Docker Release Summary" - echo "โœ… **Version:** $NEW_VERSION" - echo "โœ… **Docker Tag:** $DOCKER_TAG" - echo "โœ… **Build Method:** Docker Container" - echo "โœ… **Release URL:** ${{ github.server_url }}/${{ github.repository }}/releases/tag/$DOCKER_TAG" - echo "โœ… **Status:** Successfully Released with Docker!" - - notify-docker-failure: - needs: [check-docker-release-trigger, docker-build-and-release] - if: failure() && needs.check-docker-release-trigger.outputs.should-release == 'true' - runs-on: ubuntu-latest - steps: - - name: ๐Ÿ“ข Notify Docker Build Failure - run: | - echo "โŒ Docker release build failed for PR #${{ github.event.pull_request.number }}" - echo "Please check the workflow logs and fix the Docker build issues." - echo "Common issues:" - echo "- Docker image build failures" - echo "- Container permission issues" - echo "- Missing Android dependencies in container" - echo "- Keystore configuration problems" diff --git a/.github/workflows/release.txt b/.github/workflows/release-apk.yml similarity index 100% rename from .github/workflows/release.txt rename to .github/workflows/release-apk.yml diff --git a/DOCKER_STRATEGIES.md b/DOCKER_STRATEGIES.md new file mode 100644 index 0000000..5340c43 --- /dev/null +++ b/DOCKER_STRATEGIES.md @@ -0,0 +1,237 @@ +# ๐Ÿณ Docker Build Strategies for Government Invoice Form + +This document explains the different Docker strategies available for building Android APKs and when to use each approach. + +## ๐Ÿ“‹ Available Strategies + +### 1. ๐Ÿš€ **Lightweight Docker Release** (Recommended for CI/CD) + +**File:** `.github/workflows/lite-docker-release-apk.yml` +**Trigger:** `lite-docker-release` label + +**โœ… Pros:** + +- Uses pre-built images (much faster) +- Configurable strategy (build vs. pre-built) +- Optimized for repeated builds +- Minimal GitHub Actions runtime + +**โš ๏ธ Cons:** + +- Requires initial image build +- Need to manage image updates + +**Best for:** Production releases, when you have a stable build environment + +### 2. ๐Ÿ”จ **Full Docker Release** (Complete but slower) + +**File:** `.github/workflows/docker-release-apk.yml` +**Trigger:** `docker-release` label + +**โœ… Pros:** + +- Always builds fresh image +- No dependencies on pre-built images +- Guaranteed reproducible builds + +**โš ๏ธ Cons:** + +- Takes 15-20 minutes per build +- Uses more GitHub Actions minutes +- Rebuilds everything each time + +**Best for:** When you need guaranteed fresh builds, testing new dependencies + +### 3. ๐Ÿ  **Local Development** + +**File:** `docker-build.sh` + +**โœ… Pros:** + +- Full control over build process +- Can reuse images across builds +- Great for development and testing + +**Best for:** Local development, testing, initial setup + +## ๐ŸŽฏ Recommended Workflow + +### For Regular Releases (Recommended) + +1. **One-time setup:** Build the Docker image locally or in CI + + ```bash + ./docker-build.sh build-image + ``` + +2. **For releases:** Use the lightweight workflow + - Add `lite-docker-release` label to your PR + - Builds will be much faster (2-5 minutes vs 15-20 minutes) + +### For New Dependencies or Major Changes + +1. **Use full Docker workflow:** + + - Add `docker-release` label to your PR + - This ensures all dependencies are fresh + +2. **Update local image:** + ```bash + ./docker-build.sh build-image + ``` + +## โš™๏ธ Configuration Options + +### Lightweight Docker Release Configuration + +Edit the environment variables in `.github/workflows/lite-docker-release-apk.yml`: + +```yaml +env: + USE_PREBUILT_IMAGE: true # Use existing images + DOCKER_IMAGE: "govt-invoice-android" + DOCKER_TAG: "latest" + # DOCKER_REGISTRY: "ghcr.io/anisharma07" # Uncomment for registry +``` + +**Options:** + +- `USE_PREBUILT_IMAGE: true` - Use existing images (fast) +- `USE_PREBUILT_IMAGE: false` - Build on demand (slower but fresh) + +### Image Registry Setup (Optional) + +To use a container registry for shared images: + +1. **Push to GitHub Container Registry:** + + ```bash + # Build and tag + ./docker-build.sh build-image + docker tag govt-invoice-android:latest ghcr.io/anisharma07/govt-invoice-android:latest + + # Login and push + echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u anisharma07 --password-stdin + docker push ghcr.io/anisharma07/govt-invoice-android:latest + ``` + +2. **Update workflow:** + ```yaml + env: + USE_PREBUILT_IMAGE: true + DOCKER_REGISTRY: "ghcr.io/anisharma07" + DOCKER_IMAGE: "govt-invoice-android" + ``` + +## ๐Ÿ”ง Local Commands + +### Check if image exists + +```bash +./docker-build.sh check-image +``` + +### Build image (one-time, takes 15-20 minutes) + +```bash +./docker-build.sh build-image +``` + +### Build APK (fast if image exists) + +```bash +./docker-build.sh build-apk +``` + +### Development environment + +```bash +./docker-build.sh dev +``` + +## ๐Ÿ“Š Performance Comparison + +| Strategy | First Build | Subsequent Builds | GitHub Actions Time | +| --------------- | ----------- | ----------------- | ------------------- | +| **Lightweight** | 15-20 min | 2-5 min | โญ Low | +| **Full Docker** | 15-20 min | 15-20 min | โŒ High | +| **Local** | 15-20 min | 2-5 min | N/A | + +## ๐Ÿ› ๏ธ Troubleshooting + +### "Docker image not found" + +```bash +# Check if image exists +./docker-build.sh check-image + +# Build if needed +./docker-build.sh build-image +``` + +### "APK build failed" + +```bash +# Check Docker logs +docker logs + +# Rebuild image +./docker-build.sh clean +./docker-build.sh build-image +``` + +### GitHub Actions fails to find image + +1. Set `USE_PREBUILT_IMAGE: false` in the workflow +2. Or build and push to a registry + +## ๐Ÿ’ก Tips for Optimal Performance + +### 1. Use Lightweight Strategy for Regular Releases + +- Build image once locally or in CI +- Use `lite-docker-release` label for subsequent releases +- 4x faster than full rebuilds + +### 2. Update Images Periodically + +- Rebuild image when dependencies change +- Update monthly for security patches +- Use full Docker strategy after major updates + +### 3. Local Development + +- Build image once: `./docker-build.sh build-image` +- Reuse for multiple APK builds: `./docker-build.sh build-apk` +- Clean when needed: `./docker-build.sh clean` + +### 4. CI/CD Best Practices + +- Use lightweight strategy for feature releases +- Use full strategy for dependency updates +- Consider using container registry for team sharing + +## ๐Ÿš€ Quick Start + +**For immediate APK building:** + +```bash +# 1. Check setup +./test-docker-setup.sh + +# 2. Build image (one-time) +./docker-build.sh build-image + +# 3. Build APK (repeatable) +./docker-build.sh build-apk +``` + +**For CI/CD releases:** + +1. Build image locally once +2. Use `lite-docker-release` label on PRs +3. Enjoy fast builds! ๐Ÿš€ + +--- + +_Choose the strategy that best fits your needs. For most users, the lightweight strategy provides the best balance of speed and reliability._ diff --git a/README.md b/README.md index 2204fe7..f49632e 100644 --- a/README.md +++ b/README.md @@ -123,10 +123,13 @@ For detailed Docker setup guide, see: **[DOCKER_BUILD.md](./DOCKER_BUILD.md)** **GitHub Actions Integration:** -- Add `docker-release` label to PRs for automated Docker-based releases +- Add `lite-docker-release` label for fast Docker builds (recommended) +- Add `docker-release` label for full Docker builds (slower but complete) - Triggers on PR merge with containerized APK building - Creates GitHub releases with Docker-built APKs +**Docker Strategies:** See **[DOCKER_STRATEGIES.md](./DOCKER_STRATEGIES.md)** for detailed comparison of build approaches. + ## ๐Ÿ“‹ Features ### ๐Ÿ  Core Application Features diff --git a/android/app/build.gradle b/android/app/build.gradle index 9edf02f..3775283 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -24,10 +24,20 @@ android { signingConfigs { release { if (keystorePropertiesFile.exists()) { - storeFile file(keystoreProperties['storeFile']) - storePassword keystoreProperties['storePassword'] - keyAlias keystoreProperties['keyAlias'] - keyPassword keystoreProperties['keyPassword'] + // Decode base64 keystore and create temporary file + def keystoreBase64 = keystoreProperties['RELEASE_KEYSTORE_BASE64'] + if (keystoreBase64) { + def keystoreBytes = Base64.getDecoder().decode(keystoreBase64) + def keystoreFile = new File(project.rootDir, 'temp-keystore.jks') + keystoreFile.withOutputStream { it.write(keystoreBytes) } + storeFile keystoreFile + } else { + // Fallback to file path if not base64 + storeFile file(keystoreProperties['RELEASE_KEYSTORE_PATH']) + } + storePassword keystoreProperties['RELEASE_STORE_PASSWORD'] + keyAlias keystoreProperties['RELEASE_KEY_ALIAS'] + keyPassword keystoreProperties['RELEASE_KEY_PASSWORD'] } } } diff --git a/docker-build.sh b/docker-build.sh index b95d4be..931eaff 100755 --- a/docker-build.sh +++ b/docker-build.sh @@ -42,6 +42,7 @@ show_usage() { echo " web-dev Start web development server" echo " clean Clean Docker images and containers" echo " setup-keystore Setup keystore for release builds" + echo " check-image Check if Docker image exists" echo " help Show this help message" echo "" echo "Examples:" @@ -49,6 +50,7 @@ show_usage() { echo " $0 build-apk # Build release APK" echo " $0 dev # Start development environment" echo " $0 web-dev # Start web development server" + echo " $0 check-image # Check if image exists" echo "" } @@ -185,6 +187,30 @@ start_web_dev() { fi } +# Function to check if Docker image exists +check_image() { + print_info "Checking for Docker image..." + + if docker images govt-invoice-android:latest | grep -q govt-invoice-android; then + print_success "Docker image exists!" + docker images govt-invoice-android:latest + + # Show image details + IMAGE_SIZE=$(docker images govt-invoice-android:latest --format "table {{.Size}}" | tail -n +2) + IMAGE_CREATED=$(docker images govt-invoice-android:latest --format "table {{.CreatedAt}}" | tail -n +2) + + echo "๐Ÿ“Š Image Size: $IMAGE_SIZE" + echo "๐Ÿ“… Created: $IMAGE_CREATED" + + print_success "Ready for APK building! Use: $0 build-apk" + else + print_warning "Docker image not found!" + echo "๐Ÿ”จ Build it with: $0 build-image" + echo "โฑ๏ธ First build takes ~15-20 minutes" + echo "๐Ÿš€ Subsequent builds are much faster" + fi +} + # Function to clean Docker resources clean_docker() { print_info "Cleaning Docker resources..." @@ -223,6 +249,9 @@ main() { "web-dev") start_web_dev ;; + "check-image") + check_image + ;; "clean") clean_docker ;; diff --git a/package-lock.json b/package-lock.json index fb8b513..c3d56bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,11 +18,8 @@ "@capacitor/share": "^6.0.0", "@ionic/react": "^8.0.0", "@ionic/react-router": "^8.0.0", - "@starknet-react/chains": "^3.1.3", - "@starknet-react/core": "^3.7.4", "@types/crypto-js": "^4.2.2", "@types/react-router-dom": "^5.3.3", - "aws-sdk": "^2.1692.0", "axios": "^1.9.0", "capacitor-email-composer": "^6.0.0", "crypto-js": "^4.2.0", @@ -34,7 +31,6 @@ "react-router": "^5.3.4", "react-router-dom": "^5.3.4", "react-signature-canvas": "^1.1.0-alpha.2", - "starknet": "^6.24.1", "vite-plugin-commonjs": "^0.10.1" }, "devDependencies": { @@ -71,12 +67,6 @@ "dev": true, "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", @@ -2742,45 +2732,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "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" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/curves": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz", - "integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "1.6.0" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/hashes": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz", - "integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==", - "license": "MIT", - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3203,112 +3154,6 @@ "win32" ] }, - "node_modules/@scure/base": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", - "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==", - "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "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", - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32/node_modules/@noble/curves": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.4.tgz", - "integrity": "sha512-2bKONnuM53lINoDrSmK8qP8W271ms7pygDhZt4SiLOoLwBtoHqeCFi6RG42V8zd3mLHuJFhU/Bmaqo4nX0/kBw==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "1.8.0" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32/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" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32/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/" - } - }, - "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", - "@scure/base": "~1.2.5" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip39/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" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip39/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/" - } - }, - "node_modules/@scure/starknet": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@scure/starknet/-/starknet-1.1.0.tgz", - "integrity": "sha512-83g3M6Ix2qRsPN4wqLDqiRZ2GBNbjVWfboJE/9UjfG+MHr6oDSu/CWgy8hsBSJejr09DkkL+l0Ze4KVrlCIdtQ==", - "license": "MIT", - "dependencies": { - "@noble/curves": "~1.7.0", - "@noble/hashes": "~1.6.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@sinclair/typebox": { "version": "0.34.38", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz", @@ -3316,38 +3161,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@starknet-io/types-js": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@starknet-io/types-js/-/types-js-0.7.10.tgz", - "integrity": "sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==", - "license": "MIT" - }, - "node_modules/@starknet-react/chains": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@starknet-react/chains/-/chains-3.1.3.tgz", - "integrity": "sha512-b16VQyxqZXfiVmlKEkjfg+Oj8fdSnGWh1KU87O/unn6NpmaD9h511az1Cs6aW/j3qCIF1o5CrqfEnU1NWV7MVA==", - "license": "MIT" - }, - "node_modules/@starknet-react/core": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@starknet-react/core/-/core-3.7.4.tgz", - "integrity": "sha512-fHzme/TLyhSJRIo3BarehiM23IZuLeT0gM0jvTpz8w1/Y05tK+UywpyzBCkueU+iHEwhopsICDpOFhFtqaJJZA==", - "license": "MIT", - "dependencies": { - "@starknet-io/types-js": "^0.7.7", - "@starknet-react/chains": "^3.1.3", - "@tanstack/react-query": "^5.25.0", - "abi-wan-kanabi": "^2.2.4", - "eventemitter3": "^5.0.1", - "viem": "^2.21.1", - "zod": "^3.22.4" - }, - "peerDependencies": { - "get-starknet-core": "^4.0.0", - "react": "^18.0", - "starknet": "^6.11.0" - } - }, "node_modules/@stencil/core": { "version": "4.33.1", "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.33.1.tgz", @@ -3394,32 +3207,6 @@ "sourcemap-codec": "^1.4.8" } }, - "node_modules/@tanstack/query-core": { - "version": "5.83.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.83.0.tgz", - "integrity": "sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/react-query": { - "version": "5.83.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.83.0.tgz", - "integrity": "sha512-/XGYhZ3foc5H0VM2jLSD/NyBRIOK4q9kfeml4+0x2DlL6xVuAcVEW+hTlTapAmejObg0i3eNqhkr2dT+eciwoQ==", - "license": "MIT", - "dependencies": { - "@tanstack/query-core": "5.83.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^18 || ^19" - } - }, "node_modules/@testing-library/dom": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", @@ -4211,56 +3998,6 @@ "dev": true, "license": "BSD-3-Clause" }, - "node_modules/abi-wan-kanabi": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/abi-wan-kanabi/-/abi-wan-kanabi-2.2.4.tgz", - "integrity": "sha512-0aA81FScmJCPX+8UvkXLki3X1+yPQuWxEkqXBVKltgPAK79J+NB+Lp5DouMXa7L6f+zcRlIA/6XO7BN/q9fnvg==", - "license": "ISC", - "dependencies": { - "ansicolors": "^0.3.2", - "cardinal": "^2.1.1", - "fs-extra": "^10.0.0", - "yargs": "^17.7.2" - }, - "bin": { - "generate": "dist/generate.js" - } - }, - "node_modules/abi-wan-kanabi/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "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" - }, - "peerDependencies": { - "typescript": ">=5.0.4", - "zod": "^3 >=3.22.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "zod": { - "optional": true - } - } - }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", @@ -4383,6 +4120,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -4392,6 +4130,7 @@ "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" @@ -4403,12 +4142,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", - "license": "MIT" - }, "node_modules/arch": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", @@ -4674,6 +4407,7 @@ "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==", + "dev": true, "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" @@ -4685,50 +4419,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-sdk": { - "version": "2.1692.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1692.0.tgz", - "integrity": "sha512-x511uiJ/57FIsbgUe5csJ13k3uzu25uWQE+XqfBis/sB0SFoiElJWXRkgEAUh0U6n40eT3ay5Ue4oPkRMu1LYw==", - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "buffer": "4.9.2", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.16.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "util": "^0.12.4", - "uuid": "8.0.0", - "xml2js": "0.6.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aws-sdk/node_modules/xml2js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", - "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", - "license": "MIT", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/aws-sdk/node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "license": "MIT", - "engines": { - "node": ">=4.0" - } - }, "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -4913,6 +4603,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, "funding": [ { "type": "github", @@ -5100,17 +4791,6 @@ "node": ">= 0.4.0" } }, - "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==", - "license": "MIT", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, "node_modules/buffer-crc32": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", @@ -5152,6 +4832,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.0", @@ -5183,6 +4864,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -5262,19 +4944,6 @@ "@capacitor/core": "^6.0.0" } }, - "node_modules/cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", - "license": "MIT", - "dependencies": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - }, - "bin": { - "cdl": "bin/cdl.js" - } - }, "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -5438,20 +5107,6 @@ "node": ">=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", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/color": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", @@ -5470,6 +5125,7 @@ "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": { "color-name": "~1.1.4" @@ -5482,6 +5138,7 @@ "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/color-string": { @@ -6031,6 +5688,7 @@ "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==", + "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", @@ -6234,6 +5892,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, "license": "MIT" }, "node_modules/end-of-stream": { @@ -6871,6 +6530,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -7068,19 +6728,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { - "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": ">=4" - } - }, "node_modules/esquery": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", @@ -7141,21 +6788,6 @@ "dev": true, "license": "MIT" }, - "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": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", - "license": "MIT", - "engines": { - "node": ">=0.4.x" - } - }, "node_modules/execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", @@ -7366,40 +6998,6 @@ } } }, - "node_modules/fetch-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-3.0.1.tgz", - "integrity": "sha512-ZGXe8Y5Z/1FWqQ9q/CrJhkUD73DyBU9VF0hBQmEO/wPHe4A9PKTjplFDLeFX8aOsYypZUcX5Ji/eByn3VCVO3Q==", - "license": "Unlicense", - "dependencies": { - "set-cookie-parser": "^2.4.8", - "tough-cookie": "^4.0.0" - } - }, - "node_modules/fetch-cookie/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==", - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/fetch-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==", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/fflate": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", @@ -7592,6 +7190,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, "license": "MIT", "dependencies": { "is-callable": "^1.2.7" @@ -7757,15 +7356,6 @@ "node": ">=6.9.0" } }, - "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.*" - } - }, "node_modules/get-func-name": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", @@ -7820,17 +7410,6 @@ "node": ">= 0.4" } }, - "node_modules/get-starknet-core": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/get-starknet-core/-/get-starknet-core-4.0.0.tgz", - "integrity": "sha512-6pLmidQZkC3wZsrHY99grQHoGpuuXqkbSP65F8ov1/JsEI8DDLkhsAuLCKFzNOK56cJp+f1bWWfTJ57e9r5eqQ==", - "deprecated": "Package no longer supported. Please use @starknet-io/get-starknet-core", - "license": "MIT", - "peer": true, - "dependencies": { - "@starknet-io/types-js": "^0.7.7" - } - }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -8015,6 +7594,7 @@ "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==", + "dev": true, "license": "ISC" }, "node_modules/graphemer": { @@ -8051,6 +7631,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" @@ -8254,6 +7835,7 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true, "license": "BSD-3-Clause" }, "node_modules/ignore": { @@ -8319,6 +7901,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, "license": "ISC" }, "node_modules/ini": { @@ -8359,6 +7942,7 @@ "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": { "call-bound": "^1.0.2", @@ -8453,6 +8037,7 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -8557,6 +8142,7 @@ "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": { "node": ">=8" @@ -8566,6 +8152,7 @@ "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": { "call-bound": "^1.0.3", @@ -8709,6 +8296,7 @@ "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": { "call-bound": "^1.0.2", @@ -8814,6 +8402,7 @@ "version": "1.1.15", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, "license": "MIT", "dependencies": { "which-typed-array": "^1.1.16" @@ -8904,12 +8493,6 @@ "node": ">=8" } }, - "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", @@ -8917,31 +8500,6 @@ "dev": true, "license": "ISC" }, - "node_modules/isomorphic-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", - "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", - "license": "MIT", - "dependencies": { - "node-fetch": "^2.6.1", - "whatwg-fetch": "^3.4.1" - } - }, - "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", - "url": "https://github.com/sponsors/wevm" - } - ], - "license": "MIT", - "peerDependencies": { - "ws": "*" - } - }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -9197,15 +8755,6 @@ "jiti": "bin/jiti.js" } }, - "node_modules/jmespath": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz", - "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.6.0" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -9366,6 +8915,7 @@ "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": { "universalify": "^2.0.0" @@ -9643,12 +9193,6 @@ "loose-envify": "cli.js" } }, - "node_modules/lossless-json": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lossless-json/-/lossless-json-4.1.1.tgz", - "integrity": "sha512-HusN80C0ohtT9kOHQH7EuUaqzRQsnekpa+2ot8OzvW0iC08dq/YtM/7uKwwajldQsCrHyC8q9fz3t3L+TmDltA==", - "license": "MIT" - }, "node_modules/loupe": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", @@ -10008,48 +9552,6 @@ "dev": true, "license": "MIT" }, - "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" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "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-releases": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", @@ -10288,63 +9790,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ox": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.8.1.tgz", - "integrity": "sha512-e+z5epnzV+Zuz91YYujecW8cF01mzmrUtWotJ0oEPym/G82uccs7q0WDHTYL3eiONbTUEvcZrptAKLgTBD3u2A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wevm" - } - ], - "license": "MIT", - "dependencies": { - "@adraffy/ens-normalize": "^1.11.0", - "@noble/ciphers": "^1.3.0", - "@noble/curves": "^1.9.1", - "@noble/hashes": "^1.8.0", - "@scure/bip32": "^1.7.0", - "@scure/bip39": "^1.6.0", - "abitype": "^1.0.8", - "eventemitter3": "5.0.1" - }, - "peerDependencies": { - "typescript": ">=5.4.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/ox/node_modules/@noble/curves": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.4.tgz", - "integrity": "sha512-2bKONnuM53lINoDrSmK8qP8W271ms7pygDhZt4SiLOoLwBtoHqeCFi6RG42V8zd3mLHuJFhU/Bmaqo4nX0/kBw==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "1.8.0" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ox/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" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -10393,12 +9838,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", - "license": "(MIT AND Zlib)" - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -10610,6 +10049,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -10820,6 +10260,7 @@ "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": { "punycode": "^2.3.1" @@ -10843,6 +10284,7 @@ "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": { "node": ">=6" @@ -10864,19 +10306,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } - }, "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-microtask": { @@ -11097,15 +10531,6 @@ "node": ">=8" } }, - "node_modules/redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", - "license": "MIT", - "dependencies": { - "esprima": "~4.0.0" - } - }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -11238,15 +10663,6 @@ "throttleit": "^1.0.0" } }, - "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" - } - }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -11261,6 +10677,7 @@ "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": { @@ -11628,6 +11045,7 @@ "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": { "call-bound": "^1.0.2", @@ -11652,6 +11070,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==", + "dev": true, "license": "ISC" }, "node_modules/saxes": { @@ -11699,16 +11118,11 @@ "randombytes": "^2.1.0" } }, - "node_modules/set-cookie-parser": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", - "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", - "license": "MIT" - }, "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==", + "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", @@ -12122,32 +11536,6 @@ "node": ">=0.1.14" } }, - "node_modules/starknet": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/starknet/-/starknet-6.24.1.tgz", - "integrity": "sha512-g7tiCt73berhcNi41otlN3T3kxZnIvZhMi8WdC21Y6GC6zoQgbI2z1t7JAZF9c4xZiomlanwVnurcpyfEdyMpg==", - "license": "MIT", - "dependencies": { - "@noble/curves": "1.7.0", - "@noble/hashes": "1.6.0", - "@scure/base": "1.2.1", - "@scure/starknet": "1.1.0", - "abi-wan-kanabi": "^2.2.3", - "fetch-cookie": "~3.0.0", - "isomorphic-fetch": "~3.0.0", - "lossless-json": "^4.0.1", - "pako": "^2.0.4", - "starknet-types-07": "npm:@starknet-io/types-js@^0.7.10", - "ts-mixer": "^6.0.3" - } - }, - "node_modules/starknet-types-07": { - "name": "@starknet-io/types-js", - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@starknet-io/types-js/-/types-js-0.7.10.tgz", - "integrity": "sha512-1VtCqX4AHWJlRRSYGSn+4X1mqolI1Tdq62IwzoU2vUuEE72S1OlEeGhpvd6XsdqXcfHmVzYfj8k1XtKBQqwo9w==", - "license": "MIT" - }, "node_modules/std-env": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", @@ -12197,6 +11585,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -12324,6 +11713,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -12754,12 +12144,6 @@ "integrity": "sha512-nd4Ga3iLFV94mdhW9JFMLpQbHUyCQuhFOD71PEAt1NjtMD5wbZctzhX8c3agHNybMR5zXD1XTGoIEWk995E6pQ==", "license": "Apache-2.0" }, - "node_modules/ts-mixer": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz", - "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==", - "license": "MIT" - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -12904,7 +12288,7 @@ "version": "5.8.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "devOptional": true, + "dev": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -13023,6 +12407,7 @@ "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": { "node": ">= 10.0.0" @@ -13090,45 +12475,17 @@ "punycode": "^2.1.0" } }, - "node_modules/url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==", - "license": "MIT", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, "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": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", - "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==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -13145,15 +12502,6 @@ "base64-arraybuffer": "^1.0.2" } }, - "node_modules/uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", @@ -13175,84 +12523,6 @@ "extsprintf": "^1.2.0" } }, - "node_modules/viem": { - "version": "2.33.0", - "resolved": "https://registry.npmjs.org/viem/-/viem-2.33.0.tgz", - "integrity": "sha512-SxBM3CmeU+LWLlBclV9MPdbuFV8mQEl0NeRc9iyYU4a7Xb5sr5oku3s/bRGTPpEP+1hCAHYpM09/ui3/dQ6EsA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wevm" - } - ], - "license": "MIT", - "dependencies": { - "@noble/curves": "1.9.2", - "@noble/hashes": "1.8.0", - "@scure/bip32": "1.7.0", - "@scure/bip39": "1.6.0", - "abitype": "1.0.8", - "isows": "1.0.7", - "ox": "0.8.1", - "ws": "8.18.2" - }, - "peerDependencies": { - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/viem/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" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/viem/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" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "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" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/vite": { "version": "5.4.19", "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", @@ -13574,12 +12844,6 @@ "node": ">=12" } }, - "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" - }, "node_modules/whatwg-mimetype": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", @@ -13698,6 +12962,7 @@ "version": "1.1.19", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", @@ -14211,6 +13476,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -14235,6 +13501,7 @@ "version": "8.18.3", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "dev": true, "license": "MIT", "engines": { "node": ">=10.0.0" @@ -14303,15 +13570,6 @@ "dev": true, "license": "MIT" }, - "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" - } - }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -14319,33 +13577,6 @@ "dev": true, "license": "ISC" }, - "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", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "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" - } - }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", @@ -14369,15 +13600,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } } } }