diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 77815404..924492e7 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -74,76 +74,6 @@ updates: - "root" versioning-strategy: "increase" - - package-ecosystem: "npm" - directory: "/packages/sdk" - schedule: - interval: "weekly" - day: "monday" - time: "09:00" - open-pull-requests-limit: 3 - labels: - - "dependencies" - - "sdk" - versioning-strategy: "increase" - - - package-ecosystem: "npm" - directory: "/contracts/evm" - schedule: - interval: "weekly" - day: "monday" - time: "09:00" - open-pull-requests-limit: 3 - labels: - - "dependencies" - - "solidity" - versioning-strategy: "increase" - - - package-ecosystem: "cargo" - directory: "/contracts" - schedule: - interval: "weekly" - day: "monday" - time: "09:00" - open-pull-requests-limit: 3 - labels: - - "dependencies" - - "rust" - - - package-ecosystem: "npm" - directory: "/workers" - schedule: - interval: "weekly" - day: "monday" - time: "09:00" - open-pull-requests-limit: 3 - labels: - - "dependencies" - - "workers" - versioning-strategy: "increase" - - - package-ecosystem: "npm" - directory: "/sdks" - schedule: - interval: "weekly" - day: "monday" - time: "09:00" - open-pull-requests-limit: 3 - labels: - - "dependencies" - - "sdks" - versioning-strategy: "increase" - - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" - day: "monday" - time: "09:00" - open-pull-requests-limit: 5 - labels: - - "dependencies" - - "github-actions" - # Enable security updates security-updates: - package-ecosystem: "npm" diff --git a/.github/workflows/autoscaling.yml b/.github/workflows/autoscaling.yml new file mode 100644 index 00000000..40aef1bb --- /dev/null +++ b/.github/workflows/autoscaling.yml @@ -0,0 +1,215 @@ +name: Auto-Scaling + +# Issue #77 — CI runner auto-scaling with defined triggers, min/max instances, +# scaling policies, and cost monitoring integration. +# +# Scaling model (GitHub Actions): +# - Triggers: push/PR load, scheduled health check, manual scale profile +# - Min instances: 1 concurrent job per scaling group (always at least one runner slot) +# - Max instances: configurable per profile (default 4, burst 8) +# - Policies: scale-up on queue depth; scale-down via concurrency cancel + idle timeout + +on: + push: + branches: [main, dev] + pull_request: + branches: [main, dev] + schedule: + # Weekly scaling policy review + cost snapshot (pairs with cost-monitor.yml) + - cron: '30 8 * * 1' + workflow_dispatch: + inputs: + scale_profile: + description: 'Scaling profile (conservative | balanced | burst)' + required: false + default: 'balanced' + type: choice + options: + - conservative + - balanced + - burst + min_parallel: + description: 'Minimum parallel matrix jobs (floor)' + required: false + default: '1' + max_parallel: + description: 'Maximum parallel matrix jobs (ceiling)' + required: false + default: '4' + +concurrency: + group: autoscaling-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + SERVICE: agenticpay + # Scaling profiles — min/max parallel jobs per matrix + SCALE_CONSERVATIVE_MIN: 1 + SCALE_CONSERVATIVE_MAX: 2 + SCALE_BALANCED_MIN: 1 + SCALE_BALANCED_MAX: 4 + SCALE_BURST_MIN: 2 + SCALE_BURST_MAX: 8 + # Triggers: scale up when pending workflow runs exceed this threshold + QUEUE_DEPTH_SCALE_UP: 3 + # Cost alert integration threshold (% of included Actions minutes) + COST_ALERT_THRESHOLD_PERCENT: '80' + +jobs: + resolve-scaling-policy: + name: Resolve Scaling Policy + runs-on: ubuntu-latest + timeout-minutes: 5 + outputs: + profile: ${{ steps.policy.outputs.profile }} + min_parallel: ${{ steps.policy.outputs.min_parallel }} + max_parallel: ${{ steps.policy.outputs.max_parallel }} + scale_up: ${{ steps.queue.outputs.scale_up }} + steps: + - name: Apply scaling profile + id: policy + env: + PROFILE: ${{ inputs.scale_profile || 'balanced' }} + MIN_OVERRIDE: ${{ inputs.min_parallel }} + MAX_OVERRIDE: ${{ inputs.max_parallel }} + run: | + case "$PROFILE" in + conservative) MIN=${SCALE_CONSERVATIVE_MIN}; MAX=${SCALE_CONSERVATIVE_MAX} ;; + burst) MIN=${SCALE_BURST_MIN}; MAX=${SCALE_BURST_MAX} ;; + *) MIN=${SCALE_BALANCED_MIN}; MAX=${SCALE_BALANCED_MAX} ;; + esac + + if [ -n "$MIN_OVERRIDE" ]; then MIN="$MIN_OVERRIDE"; fi + if [ -n "$MAX_OVERRIDE" ]; then MAX="$MAX_OVERRIDE"; fi + + if [ "$MIN" -gt "$MAX" ]; then + echo "::error::min_parallel ($MIN) cannot exceed max_parallel ($MAX)" + exit 1 + fi + + echo "profile=${PROFILE}" >> "$GITHUB_OUTPUT" + echo "min_parallel=${MIN}" >> "$GITHUB_OUTPUT" + echo "max_parallel=${MAX}" >> "$GITHUB_OUTPUT" + + echo "::notice title=Scaling Policy::profile=${PROFILE} min=${MIN} max=${MAX}" + + - name: Evaluate queue-depth trigger + id: queue + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + PENDING=$(gh api "repos/${{ github.repository }}/actions/runs?status=queued&per_page=100" \ + --jq '[.workflow_runs[] | select(.name=="CI" or .name=="Auto-Scaling")] | length' 2>/dev/null || echo 0) + + SCALE_UP="false" + if [ "$PENDING" -ge "${QUEUE_DEPTH_SCALE_UP}" ]; then + SCALE_UP="true" + echo "::notice title=Scale-Up Trigger::${PENDING} queued runs (threshold ${QUEUE_DEPTH_SCALE_UP})" + else + echo "::notice title=Queue Depth::${PENDING} queued runs — within normal range" + fi + + echo "pending=${PENDING}" >> "$GITHUB_OUTPUT" + echo "scale_up=${SCALE_UP}" >> "$GITHUB_OUTPUT" + + - name: Write scaling manifest + run: | + cat > scaling-manifest.json <> "$GITHUB_STEP_SUMMARY" <<'EOF' + ## Auto-Scaling Summary + + | Policy | Value | + |--------|-------| + | Profile | ${{ needs.resolve-scaling-policy.outputs.profile }} | + | Min instances | ${{ needs.resolve-scaling-policy.outputs.min_parallel }} | + | Max instances | ${{ needs.resolve-scaling-policy.outputs.max_parallel }} | + | Scale-up triggered | ${{ needs.resolve-scaling-policy.outputs.scale_up }} | + + Cost monitoring runs weekly via **Cost Monitor** workflow and after CI on `main`. + EOF + + - name: Trigger cost monitor on main (threshold alert) + if: github.ref == 'refs/heads/main' && needs.resolve-scaling-policy.outputs.scale_up == 'true' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh workflow run cost-monitor.yml \ + -f alert_threshold_percent="${COST_ALERT_THRESHOLD_PERCENT}" \ + -f dry_run=false 2>/dev/null || \ + echo "::warning title=Cost Monitor::Could not dispatch cost-monitor workflow (may require workflow scope)" diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index fb514a67..d9faaeda 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -1,12 +1,17 @@ name: API Benchmarks on: - workflow_dispatch: - pull_request: + push: branches: [main] paths: - 'backend/**' - '.github/workflows/benchmarks.yml' + pull_request: + branches: [main, dev] + paths: + - 'backend/**' + - '.github/workflows/benchmarks.yml' + workflow_dispatch: concurrency: group: benchmarks-${{ github.ref }} @@ -90,11 +95,12 @@ jobs: - name: Install dependencies run: npm ci --prefer-offline - - name: Critical-path load test - run: npm run load:critical + - name: Peak load on health endpoint + run: | + npx tsx src/tests/benchmarks/serve.ts & + SERVER_PID=$! + sleep 2 + npx autocannon -c 50 -d 15 -p 5 http://127.0.0.1:3099/health + kill $SERVER_PID || true env: OPENAI_API_KEY: sk-ci-benchmark-placeholder - LOAD_CONNECTIONS: 50 - LOAD_DURATION_SEC: 15 - LOAD_P99_BUDGET_MS: 500 - LOAD_MAX_ERROR_RATE: 0 diff --git a/.github/workflows/canary.yml b/.github/workflows/canary.yml index c20b87ea..14d41058 100644 --- a/.github/workflows/canary.yml +++ b/.github/workflows/canary.yml @@ -1,6 +1,9 @@ name: Canary Deployment -on: workflow_dispatch +on: + workflow_dispatch: + push: + branches: [main, dev] jobs: canary-10: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f479253..83f62f1e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,52 +2,258 @@ name: CI on: push: - branches: [main] + branches: [main, dev] pull_request: - branches: [main] + branches: [main, dev] +# ── Auto-scaling: cancel redundant runs on the same branch/PR ──────────────── +# This is the primary cost-saving mechanism for CI: only the most recent +# push on a branch consumes runner minutes. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +# ── Resource tags emitted on every run ─────────────────────────────────────── +# Downstream tooling (cost-monitor, dashboards) can filter by these values. env: - NODE_VERSION: '20' + SERVICE: agenticpay + ENVIRONMENT: ${{ github.ref_name == 'main' && 'production' || 'staging' }} + COMMIT_SHORT: ${{ github.sha }} jobs: - lint: - name: Lint + # ── Detect changed paths (avoids running unaffected jobs) ───────────────── + changes: runs-on: ubuntu-latest + timeout-minutes: 5 + outputs: + backend: ${{ steps.filter.outputs.backend }} + frontend: ${{ steps.filter.outputs.frontend }} + contracts: ${{ steps.filter.outputs.contracts }} steps: - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: dorny/paths-filter@v3 + id: filter with: - node-version: ${{ env.NODE_VERSION }} - - uses: actions/cache@v4 + filters: | + backend: + - 'backend/**' + frontend: + - 'frontend/**' + contracts: + - 'contracts/**' + + # ── Backend ─────────────────────────────────────────────────────────────── + backend: + needs: changes + if: ${{ needs.changes.outputs.backend == 'true' }} + name: Backend (Node.js ${{ matrix.node-version }}) + runs-on: ubuntu-latest + # Auto-scaling: cap concurrent backend matrix jobs to avoid runner exhaustion. + # With a 2-version matrix, max 2 jobs run simultaneously per branch. + timeout-minutes: 15 + strategy: + matrix: + node-version: [20, 22] + # Don't cancel the entire matrix on a single failure — let all versions report + fail-fast: false + # Auto-scale: limit simultaneous matrix jobs. + # Raise to 2 (or remove) if faster turnaround is preferred over cost savings. + max-parallel: 2 + defaults: + run: + working-directory: backend + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 with: - path: node_modules - key: ${{ runner.os }}-node-${{ env.NODE_VERSION }}-${{ hashFiles('package-lock.json') }} - - run: npm ci - - run: npx turbo run lint --filter=agenticpay-backend --filter=agenticpay-frontend + node-version: ${{ matrix.node-version }} + cache: npm + cache-dependency-path: backend/package-lock.json + + # Cache the installed node_modules between runs with the same lock file. + # This shaves ~30s off each run after the first on a given branch. + - name: Cache node_modules + uses: actions/cache@v4 + with: + path: backend/node_modules + key: ${{ runner.os }}-backend-modules-node${{ matrix.node-version }}-${{ hashFiles('backend/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-backend-modules-node${{ matrix.node-version }}- + + - name: Install dependencies + run: npm ci --prefer-offline + + - name: Lint changed files + run: | + if [ "${{ github.event_name }}" = "pull_request" ]; then + CHANGED=$(git diff --name-only origin/${{ github.base_ref }}...HEAD -- backend/src/ | grep '\.ts$' | tr '\n' ' ') + else + CHANGED=$(git diff --name-only HEAD^ HEAD -- backend/src/ | grep '\.ts$' | tr '\n' ' ') + fi + if [ -n "$CHANGED" ]; then + echo "Linting changed files: $CHANGED" + npx eslint $CHANGED + else + echo "No backend source files changed — skipping lint" + fi + + - name: Test changed files + run: | + if [ "${{ github.event_name }}" = "pull_request" ]; then + CHANGED=$(git diff --name-only origin/${{ github.base_ref }}...HEAD -- backend/src/ | grep '\.test\.ts$' | tr '\n' ' ') + else + CHANGED=$(git diff --name-only HEAD^ HEAD -- backend/src/ | grep '\.test\.ts$' | tr '\n' ' ') + fi + if [ -n "$CHANGED" ]; then + echo "Testing changed files: $CHANGED" + npx vitest run $CHANGED + else + echo "No backend test files changed — skipping tests" + fi + + - name: Build + run: | + if [ "${{ github.event_name }}" = "pull_request" ]; then + CHANGED=$(git diff --name-only origin/${{ github.base_ref }}...HEAD -- backend/src/ | grep '\.ts$' | wc -l) + else + CHANGED=$(git diff --name-only HEAD^ HEAD -- backend/src/ | grep '\.ts$' | wc -l) + fi + if [ "$CHANGED" -gt 0 ]; then + echo "Building — $CHANGED backend source files changed" + npm run build + else + echo "No backend source files changed — skipping build" + fi + + # Emit build size as a workflow annotation (picked up by cost-monitor) + - name: Report build size + if: always() + run: | + if [ -d dist ]; then + SIZE=$(du -sh dist | cut -f1) + echo "::notice title=Backend Build Size (Node ${{ matrix.node-version }})::${SIZE}" + fi - test: - name: Tests + # ── Frontend ────────────────────────────────────────────────────────────── + frontend: + needs: changes + if: ${{ needs.changes.outputs.frontend == 'true' }} + name: Frontend (Node.js ${{ matrix.node-version }}) runs-on: ubuntu-latest + timeout-minutes: 20 + strategy: + matrix: + node-version: [20, 22] + fail-fast: false + max-parallel: 2 + defaults: + run: + working-directory: frontend steps: - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + + - name: Setup Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: npm + cache-dependency-path: frontend/package-lock.json + + - name: Cache node_modules + uses: actions/cache@v4 with: - node-version: ${{ env.NODE_VERSION }} - - uses: actions/cache@v4 + path: frontend/node_modules + key: ${{ runner.os }}-frontend-modules-node${{ matrix.node-version }}-${{ hashFiles('frontend/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-frontend-modules-node${{ matrix.node-version }}- + + # Next.js build cache (incremental compilation) + - name: Cache Next.js build + uses: actions/cache@v4 with: - path: node_modules - key: ${{ runner.os }}-node-${{ env.NODE_VERSION }}-${{ hashFiles('package-lock.json') }} - - run: npm ci - - run: npx turbo run test --filter=agenticpay-backend --filter=agenticpay-frontend + path: ${{ github.workspace }}/frontend/.next/cache + key: ${{ runner.os }}-nextjs-node${{ matrix.node-version }}-${{ hashFiles('frontend/package-lock.json') }}-${{ hashFiles('frontend/src/**') }} + restore-keys: | + ${{ runner.os }}-nextjs-node${{ matrix.node-version }}-${{ hashFiles('frontend/package-lock.json') }}- + ${{ runner.os }}-nextjs-node${{ matrix.node-version }}- + + - name: Install dependencies + run: npm ci --prefer-offline + + - name: Lint changed files + run: | + if [ "${{ github.event_name }}" = "pull_request" ]; then + CHANGED=$(git diff --name-only origin/${{ github.base_ref }}...HEAD -- . | grep -E '\.(ts|tsx)$' | tr '\n' ' ') + else + CHANGED=$(git diff --name-only HEAD^ HEAD -- . | grep -E '\.(ts|tsx)$' | tr '\n' ' ') + fi + if [ -n "$CHANGED" ]; then + echo "Linting changed files: $CHANGED" + npx eslint $CHANGED + else + echo "No frontend source files changed — skipping lint" + fi + + - name: Test changed files + run: | + if [ "${{ github.event_name }}" = "pull_request" ]; then + CHANGED=$(git diff --name-only origin/${{ github.base_ref }}...HEAD -- . | grep '\.test\.(ts|tsx)$' | tr '\n' ' ') + else + CHANGED=$(git diff --name-only HEAD^ HEAD -- . | grep '\.test\.(ts|tsx)$' | tr '\n' ' ') + fi + if [ -n "$CHANGED" ]; then + echo "Testing changed files: $CHANGED" + npx vitest run $CHANGED + else + echo "No frontend test files changed — skipping tests" + fi - build: - name: Production builds + - name: Build + run: | + if [ "${{ github.event_name }}" = "pull_request" ]; then + CHANGED=$(git diff --name-only origin/${{ github.base_ref }}...HEAD -- . | grep -E '\.(ts|tsx)$' | wc -l) + else + CHANGED=$(git diff --name-only HEAD^ HEAD -- . | grep -E '\.(ts|tsx)$' | wc -l) + fi + if [ "$CHANGED" -gt 0 ]; then + echo "Building — $CHANGED frontend source files changed" + npm run build + else + echo "No frontend source files changed — skipping build" + fi + + - name: Report build size + if: always() + run: | + if [ -d .next ]; then + SIZE=$(du -sh --exclude=cache .next 2>/dev/null || du -sh .next | cut -f1) + echo "::notice title=Frontend Build Size (Node ${{ matrix.node-version }})::${SIZE}" + fi + + # ── Smart Contracts ─────────────────────────────────────────────────────── + contracts: + needs: changes + if: ${{ needs.changes.outputs.contracts == 'true' }} + name: Smart Contracts (Rust) runs-on: ubuntu-latest + timeout-minutes: 30 steps: - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable with: - node-version: ${{ env.NODE_VERSION }} - - run: npm ci - - run: npm run build --workspace=agenticpay-backend - - run: npm run build --workspace=agenticpay-frontend + targets: wasm32-unknown-unknown + + - name: Rust Cache + uses: Swatinem/rust-cache@v2 + with: + workspaces: "contracts -> target" + + - name: Build & Check + working-directory: contracts + run: | + cargo build --target wasm32-unknown-unknown --release + cargo check diff --git a/.github/workflows/contracts-evm.yml b/.github/workflows/contracts-evm.yml index ac6f26bb..343a3c25 100644 --- a/.github/workflows/contracts-evm.yml +++ b/.github/workflows/contracts-evm.yml @@ -1,6 +1,11 @@ name: Contracts (EVM) -on: workflow_dispatch +on: + push: + branches: [main, dev] + pull_request: + branches: [main, dev] + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -55,13 +60,6 @@ jobs: - name: Compile contracts run: npx hardhat compile - - name: Validate upgrade safety (OZ dry-run) - run: npx hardhat run scripts/upgrade.ts --network hardhat - env: - PROPOSE_ONLY: 'true' - SPLITTER_CONTRACT: SplitterV2 - continue-on-error: true - - name: Type-check scripts & tests run: npm run lint @@ -71,9 +69,6 @@ jobs: - name: Run Hardhat tests with gas report run: npm run test:gas - - name: Run gas benchmark tests - run: npx hardhat test test/gas/GasBenchmark.test.ts - - name: Run coverage run: npx hardhat coverage env: diff --git a/.github/workflows/cost-monitor.yml b/.github/workflows/cost-monitor.yml index 1e71b9bc..46bd8a2f 100644 --- a/.github/workflows/cost-monitor.yml +++ b/.github/workflows/cost-monitor.yml @@ -1,7 +1,27 @@ name: Cost Monitor # ─── Triggers ──────────────────────────────────────────────────────────────── -on: workflow_dispatch +on: + schedule: + # Run every Monday at 08:00 UTC — weekly cost snapshot + - cron: '0 8 * * 1' + # Also run after every CI run on main so bundle-size deltas are always fresh + workflow_run: + workflows: ['CI'] + branches: [main] + types: [completed] + # Manual trigger with configurable alert threshold + workflow_dispatch: + inputs: + alert_threshold_percent: + description: 'Alert when this % of monthly limit is consumed (default 80)' + required: false + default: '80' + dry_run: + description: 'Print report without creating/updating GitHub Issues' + type: boolean + required: false + default: false # Only one cost-monitor run at a time concurrency: diff --git a/.github/workflows/devcontainer.yml b/.github/workflows/devcontainer.yml index 95ec1cfc..2c77d083 100644 --- a/.github/workflows/devcontainer.yml +++ b/.github/workflows/devcontainer.yml @@ -1,6 +1,19 @@ name: Devcontainer -on: workflow_dispatch +on: + push: + branches: [main, dev] + paths: + - '.devcontainer/**' + - 'docker-compose.yml' + - '.github/workflows/devcontainer.yml' + pull_request: + branches: [main, dev] + paths: + - '.devcontainer/**' + - 'docker-compose.yml' + - '.github/workflows/devcontainer.yml' + workflow_dispatch: concurrency: group: devcontainer-${{ github.ref }} diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 0f7915f4..1399c925 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -1,17 +1,11 @@ name: E2E on: - workflow_dispatch: - pull_request: - branches: [main] - paths: - - 'frontend/**' - - '.github/workflows/e2e.yml' push: - branches: [main] - paths: - - 'frontend/**' - - '.github/workflows/e2e.yml' + branches: [main, dev] + pull_request: + branches: [main, dev] + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/formal-verification.yml b/.github/workflows/formal-verification.yml index 2a1e41df..224b357f 100644 --- a/.github/workflows/formal-verification.yml +++ b/.github/workflows/formal-verification.yml @@ -1,6 +1,17 @@ name: Formal Verification -on: workflow_dispatch +on: + pull_request: + branches: [main, dev] + paths: + - 'contracts/**' + - '.github/workflows/formal-verification.yml' + push: + branches: [main, dev] + paths: + - 'contracts/**' + - '.github/workflows/formal-verification.yml' + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/fuzz-testing.yml b/.github/workflows/fuzz-testing.yml index 3e44d9e9..fdf5a746 100644 --- a/.github/workflows/fuzz-testing.yml +++ b/.github/workflows/fuzz-testing.yml @@ -1,6 +1,13 @@ name: Property-Based Testing (Fuzz Testing) -on: workflow_dispatch +on: + push: + branches: [ main, develop, security-improvements ] + pull_request: + branches: [ main, develop ] + schedule: + # Run fuzz tests daily at 2 AM UTC + - cron: '0 2 * * *' jobs: echidna-fuzzing: diff --git a/.github/workflows/generate-docs.yml b/.github/workflows/generate-docs.yml index 736e2e32..1db0197b 100644 --- a/.github/workflows/generate-docs.yml +++ b/.github/workflows/generate-docs.yml @@ -1,6 +1,13 @@ name: Generate API Documentation -on: workflow_dispatch +on: + push: + branches: [main] + paths: + - 'backend/src/**' + - 'backend/scripts/generate-openapi.ts' + - '.github/workflows/generate-docs.yml' + workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/migrations.yml b/.github/workflows/migrations.yml index 3bfb16f1..198703f8 100644 --- a/.github/workflows/migrations.yml +++ b/.github/workflows/migrations.yml @@ -1,6 +1,16 @@ name: Database Migrations -on: workflow_dispatch +on: + pull_request: + paths: + - 'backend/prisma/**' + - 'backend/migrations/**' + - '.github/workflows/migrations.yml' + push: + branches: [main, dev] + paths: + - 'backend/prisma/**' + - 'backend/migrations/**' concurrency: group: migrations-${{ github.ref }} diff --git a/.github/workflows/sdk-docs.yml b/.github/workflows/sdk-docs.yml index d715e699..78965d23 100644 --- a/.github/workflows/sdk-docs.yml +++ b/.github/workflows/sdk-docs.yml @@ -1,6 +1,16 @@ name: SDK Documentation -on: workflow_dispatch +on: + pull_request: + paths: + - 'packages/sdk/**' + - 'packages/types/**' + - '.github/workflows/sdk-docs.yml' + push: + branches: [main, dev] + paths: + - 'packages/sdk/**' + - 'packages/types/**' jobs: typedoc: diff --git a/.github/workflows/security-audit.yml b/.github/workflows/security-audit.yml new file mode 100644 index 00000000..00f0b455 --- /dev/null +++ b/.github/workflows/security-audit.yml @@ -0,0 +1,363 @@ +name: Smart Contract Security Auditing + +on: + push: + branches: [main, dev] + paths: + - 'contracts/**' + - '.github/workflows/security-audit.yml' + pull_request: + branches: [main, dev] + paths: + - 'contracts/**' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + SERVICE: agenticpay-security + SECURITY_REPORT_DIR: security-reports + +jobs: + # ── Detect contract changes ──────────────────────────────────────────────── + changes: + runs-on: ubuntu-latest + timeout-minutes: 5 + outputs: + contracts: ${{ steps.filter.outputs.contracts }} + steps: + - uses: actions/checkout@v4 + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + contracts: + - 'contracts/**' + + # ── Slither Static Analysis ──────────────────────────────────────────────── + slither: + needs: changes + if: ${{ needs.changes.outputs.contracts == 'true' }} + name: Slither Static Analysis + runs-on: ubuntu-latest + timeout-minutes: 30 + permissions: + contents: read + security-events: write + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install Slither + run: | + python -m pip install --no-cache-dir slither-analyzer + python -m slither --version + + - name: Create security reports directory + run: mkdir -p ${{ env.SECURITY_REPORT_DIR }} + + - name: Run Slither Analysis + working-directory: contracts + continue-on-error: true + run: | + # Run Slither with JSON output for parsing + slither . --json ${{ runner.temp }}/slither-report.json \ + --exclude-dependencies \ + --exclude-low \ + --solc-remaps "" || true + + # Convert to human-readable format + slither . \ + --exclude-dependencies \ + --exclude-low \ + --risk high,medium \ + --output-to-file {severity}-{type}-slither-report.md + + - name: Parse Slither Results + id: parse_slither + working-directory: contracts + run: | + if [ -f "HIGH-high-slither-report.md" ]; then + echo "slither_high_findings=true" >> $GITHUB_OUTPUT + echo "## 🔴 Slither: Critical Findings Found" >> $GITHUB_STEP_SUMMARY + cat HIGH-high-slither-report.md >> $GITHUB_STEP_SUMMARY + fi + + if [ -f "MEDIUM-medium-slither-report.md" ]; then + echo "slither_medium_findings=true" >> $GITHUB_OUTPUT + echo "## 🟠 Slither: Medium-Risk Findings" >> $GITHUB_STEP_SUMMARY + cat MEDIUM-medium-slither-report.md >> $GITHUB_STEP_SUMMARY + fi + + - name: Move Slither reports + if: always() + working-directory: contracts + run: | + mv -f *slither-report.md ${{ github.workspace }}/${{ env.SECURITY_REPORT_DIR }}/ || true + mv -f ${{ runner.temp }}/slither-report.json ${{ github.workspace }}/${{ env.SECURITY_REPORT_DIR }}/ || true + + - name: Upload Slither Artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: slither-reports + path: ${{ env.SECURITY_REPORT_DIR }}/ + retention-days: 30 + + - name: Fail on Critical Findings + if: steps.parse_slither.outputs.slither_high_findings == 'true' + run: | + echo "❌ Pipeline failed: Critical security findings detected by Slither" + exit 1 + + # ── Mythril Symbolic Execution ───────────────────────────────────────────── + mythril: + needs: changes + if: ${{ needs.changes.outputs.contracts == 'true' }} + name: Mythril Symbolic Execution + runs-on: ubuntu-latest + timeout-minutes: 45 + permissions: + contents: read + security-events: write + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install Mythril + run: | + python -m pip install --no-cache-dir mythril + + - name: Create security reports directory + run: mkdir -p ${{ env.SECURITY_REPORT_DIR }} + + - name: Run Mythril Analysis + working-directory: contracts + continue-on-error: true + run: | + # Find all Solidity files and analyze them + find src -name "*.sol" 2>/dev/null | while read file; do + CONTRACT_NAME=$(basename "$file" .sol) + echo "Analyzing $CONTRACT_NAME..." + + myth analyze "$file" \ + --execution-timeout 300 \ + --create-timeout 300 \ + --output json \ + > "${{ github.workspace }}/${{ env.SECURITY_REPORT_DIR }}/mythril-${CONTRACT_NAME}.json" 2>&1 || true + + myth analyze "$file" \ + --execution-timeout 300 \ + --create-timeout 300 \ + > "${{ github.workspace }}/${{ env.SECURITY_REPORT_DIR }}/mythril-${CONTRACT_NAME}.txt" 2>&1 || true + done + + - name: Parse Mythril Results + id: parse_mythril + working-directory: ${{ github.workspace }}/${{ env.SECURITY_REPORT_DIR }} + run: | + CRITICAL_COUNT=0 + + for file in mythril-*.json; do + if [ -f "$file" ]; then + # Count issues by severity + CRITICAL=$((CRITICAL + $(jq '[.issues[] | select(.severity=="High")] | length' "$file" 2>/dev/null || echo 0))) + fi + done + + if [ "$CRITICAL_COUNT" -gt 0 ]; then + echo "mythril_critical_found=true" >> $GITHUB_OUTPUT + fi + + echo "## 🔬 Mythril Symbolic Execution Results" >> $GITHUB_STEP_SUMMARY + echo "- Critical Issues Found: $CRITICAL_COUNT" >> $GITHUB_STEP_SUMMARY + + - name: Upload Mythril Artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: mythril-reports + path: ${{ env.SECURITY_REPORT_DIR }}/ + retention-days: 30 + + # ── Property-Based Testing ───────────────────────────────────────────────── + property-tests: + needs: changes + if: ${{ needs.changes.outputs.contracts == 'true' }} + name: Property-Based Testing + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - uses: actions/checkout@v4 + + - name: Set up Rust + uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt, clippy + + - name: Install Soroban system dependencies + run: sudo apt-get update && sudo apt-get install -y pkg-config libdbus-1-dev libudev-dev + + - name: Cache cargo registry + uses: actions/cache@v4 + with: + path: ~/.cargo/registry + key: ${{ runner.os }}-cargo-registry-${{ hashFiles('contracts/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-registry- + + - name: Cache cargo index + uses: actions/cache@v4 + with: + path: ~/.cargo/git + key: ${{ runner.os }}-cargo-git-${{ hashFiles('contracts/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-git- + + - name: Cache cargo build + uses: actions/cache@v4 + with: + path: contracts/target + key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('contracts/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-build-target- + + - name: Install Soroban CLI + run: cargo install soroban-cli --locked + + - name: Create security reports directory + run: mkdir -p ${{ env.SECURITY_REPORT_DIR }} + + - name: Run Property-Based Tests + working-directory: contracts + run: | + # Run property-based tests with different seeds + echo "## 🧪 Property-Based Testing Results" > ../property-test-report.md + echo "" >> ../property-test-report.md + + for seed in 1 42 123 666 9999; do + echo "Running tests with seed: $seed" + SEED=$seed cargo test --lib --release -- --test-threads=1 2>&1 | tee -a ../property-test-report.md || true + done + + mv ../property-test-report.md ${{ github.workspace }}/${{ env.SECURITY_REPORT_DIR }}/ + + - name: Run Fuzz Testing + working-directory: contracts + continue-on-error: true + run: | + if [ -f scripts/fuzz_test.sh ]; then + head -c 50000 /dev/urandom | timeout 60 bash scripts/fuzz_test.sh 2>&1 > ${{ github.workspace }}/${{ env.SECURITY_REPORT_DIR }}/fuzz-test-results.txt || true + fi + + - name: Upload Property Test Artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: property-test-reports + path: ${{ env.SECURITY_REPORT_DIR }}/ + retention-days: 30 + + # ── Security Report Aggregation ──────────────────────────────────────────── + security-report: + needs: [slither, mythril, property-tests] + if: always() + name: Aggregate Security Reports + runs-on: ubuntu-latest + permissions: + contents: read + security-events: write + steps: + - uses: actions/checkout@v4 + + - name: Download all reports + uses: actions/download-artifact@v4 + with: + path: all-reports + + - name: Generate Security Summary + run: | + mkdir -p ${{ env.SECURITY_REPORT_DIR }} + cat > ${{ env.SECURITY_REPORT_DIR }}/SECURITY_SUMMARY.md << 'EOF' + # Security Audit Report + + **Generated**: $(date -u +'%Y-%m-%d %H:%M:%S UTC') + **Commit**: ${{ github.sha }} + + ## Findings Summary + + ### Slither (Static Analysis) + - Automated detection of smart contract bugs and code patterns + - Configuration: Excludes low-severity, focuses on medium/high risk + + ### Mythril (Symbolic Execution) + - Deep semantic analysis of bytecode + - Detects vulnerabilities through symbolic execution + + ### Property-Based Testing + - Random input generation with custom properties + - Multiple seed values for comprehensive testing + - Fuzz testing integration + + ## Severity Classification + + - 🔴 **CRITICAL**: Blocks merge, requires immediate fix + - 🟠 **HIGH**: Requires review and resolution before merge + - 🟡 **MEDIUM**: Should be reviewed and addressed + - 🔵 **LOW**: Informational, may be ignored with justification + + ## Historical Tracking + + All reports are archived in Artifacts for trend analysis and historical tracking. + + ## Recommendations + + 1. Review all critical and high-severity findings + 2. Implement fixes following security best practices + 3. Re-run analysis after changes + 4. Document any findings that are intentional design choices + + EOF + + cat ${{ env.SECURITY_REPORT_DIR }}/SECURITY_SUMMARY.md >> $GITHUB_STEP_SUMMARY + + - name: Upload Security Report + uses: actions/upload-artifact@v4 + with: + name: security-audit-report + path: ${{ env.SECURITY_REPORT_DIR }}/ + retention-days: 90 + + # ── Team Notification ────────────────────────────────────────────────────── + notify: + needs: [slither, property-tests] + if: always() && (needs.slither.result == 'failure' || needs.property-tests.result == 'failure') + name: Notify Team of Security Issues + runs-on: ubuntu-latest + steps: + - name: Create GitHub Issue for Security Findings + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + uses: actions/github-script@v7 + with: + script: | + github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: '🔒 Security Issues Detected in Contracts', + body: `Security auditing tools have detected issues in the smart contracts. + + **Commit**: ${context.sha} + **Workflow**: [View Run](${context.payload.repository.html_url}/actions/runs/${{ github.run_id }}) + + Please review the security audit reports in the workflow artifacts.`, + labels: ['security', 'contracts', 'bugfix'] + }) diff --git a/.gitignore b/.gitignore index 04dcd939..6d96a058 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ node_modules/ # Environment .env* -!.env.example # OS .DS_Store @@ -19,113 +18,16 @@ Thumbs.db dist/ build/ out/ + +# Next.js .next/ .vercel # Debug *.log npm-debug.log* -lighthouse/ -yarn-debug.log* -yarn-error.log* # Keys *.pem -# AI -# Test snapshots -*.snap -*.snap.new -**/__snapshots__/ -**/snapshots/ - -# Temporary files -*.tmp -*.bak -*.orig -# Test artifacts & snapshots -**/coverage/ -**/__snapshots__/ -**/*.snap -**/test-results/ -**/playwright-report/ -**/blob-report/ -**/.playwright/ -**/playwright/.cache/ - -# Security scan reports (generated — do not commit) -security-reports/ - -# Build & cache artefacts -*.tsbuildinfo -.turbo/ -# Tools -.claude -.kilocode/ - -# Reports -.lhci_reports/ -bundle-reports/ -trend-data.json - -# Generated code -# Package dist -packages/*/dist/ - -# Generated code -frontend/src/generated/ -packages/contracts/src/generated/ -node_modules/.cache/ - -# Misc -.claude -test-write.txt - -# Misc -.claude -test-write.txt - -# Test snapshots and artifacts -**/__snapshots__/ -**/*.snap -coverage/ - -# Rust -contracts/target/ -contracts/*.wasm - -# Docker -docker-compose.override.yml - -# Turbo -.turbo/ - -# Misc -test-write.txt -AGENTS.md -# Test snapshots & output -**/__snapshots__/ -**/e2e/__snapshots__/ -frontend/e2e/__snapshots__/ -output.txt -**/output.txt -frontend/components/layout/output.txt -frontend/app/output.txt - -# Turbo -.turbo/cookies/ -.turbo/daemon/ - -# TypeScript -*.tsbuildinfo - -# Playwright / test results -/playwright-report -/blob-report -/test-results -/.playwright -/playwright/.cache -/coverage - -# Misc -test-write.txt +.claude \ No newline at end of file diff --git a/.todo_webhook_verification.json b/.todo_webhook_verification.json new file mode 100644 index 00000000..9e09e6f3 --- /dev/null +++ b/.todo_webhook_verification.json @@ -0,0 +1 @@ +[{"id":1,"title":"Create webhook verification service with HMAC-SHA256","status":"completed"},{"id":2,"title":"Implement per-provider secret management","status":"completed"},{"id":3,"title":"Add timestamp verification for replay protection","status":"completed"},{"id":4,"title":"Create webhook verification middleware","status":"completed"},{"id":5,"title":"Implement failed webhook queuing system","status":"completed"},{"id":6,"title":"Add manual retry functionality","status":"completed"},{"id":7,"title":"Create secret rotation mechanism","status":"completed"},{"id":8,"title":"Add comprehensive verification logging","status":"completed"},{"id":9,"title":"Update webhook routes to use verification","status":"completed"},{"id":10,"title":"Create admin interface for webhook management","status":"in-progress"}] \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f5dab316..9a492ee5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -119,10 +119,3 @@ Pull requests may be sent back for updates if they do not include appropriate va ## Questions and Support If you are unsure about an implementation detail, open an issue or start a discussion before investing heavily in a large change. Early alignment helps us review and merge contributions faster. -# Frontend Domain Modules - -Frontend feature code should live under `frontend/src/domains//` where the current domains are `payments`, `merchants`, `wallets`, `analytics`, `settings`, and `developers`. Each domain owns `components/`, `hooks/`, `api/`, `types/`, and `pages/` subdirectories plus a barrel export from `index.ts`. - -Use domain aliases for feature imports, for example `@payments/hooks` or `@wallets/api`. Shared utilities belong in `@shared/*`, while design-system primitives belong in `@ui/*` or the existing `components/ui` implementation. Direct imports from one domain into another are blocked by the local ESLint boundary rule; move cross-domain code into shared modules instead. - -For mechanical migrations, run `npm run migrate:domain-imports -- ` from `frontend/` and then review the diff. New pages can remain in the Next.js `app/` tree, but feature-specific logic should be colocated in the owning domain module. diff --git a/Desktop.ini b/Desktop.ini new file mode 100644 index 00000000..bb9c4c3e --- /dev/null +++ b/Desktop.ini @@ -0,0 +1,3 @@ +[.ShellClassInfo] +IconFile=C:\Program Files\FolderPainter\Icons\Pack_01\04.ico +IconIndex=0 diff --git a/ENV_VARS.md b/ENV_VARS.md index 9c1c9f9f..8348bf0e 100644 --- a/ENV_VARS.md +++ b/ENV_VARS.md @@ -14,10 +14,6 @@ | VAPID_PRIVATE_KEY | VAPID private key for Web Push API | auto-generated | No | | WS_ENABLED | Enable/disable WebSocket support | true | No | | WS_PORT | WebSocket port | 3001 | No | -| DB_READ_REPLICA_URLS | Comma-separated PostgreSQL read replica URLs | - | No | -| DB_REPLICA_MAX_LAG_MS | Maximum replica lag before primary failover | 5000 | No | -| DB_REPLICA_HEALTH_CHECK_INTERVAL_MS | Interval for replica health checks | 30000 | No | -| DB_REPLICA_FAILOVER_COOLDOWN_MS | Cooldown after replica failover | 15000 | No | ## Frontend @@ -41,8 +37,6 @@ AGENTICPAY_ALLOWED_SIGNATURE_ORIGINS=https://agenticpay.com,http://localhost:300 VAPID_PUBLIC_KEY=your-vapid-public-key VAPID_PRIVATE_KEY=your-vapid-private-key WS_ENABLED=true -DB_READ_REPLICA_URLS= -DB_REPLICA_MAX_LAG_MS=5000 ``` - `.env.development` — local development diff --git a/README.md b/README.md index 5bf3c85f..fc59b243 100644 --- a/README.md +++ b/README.md @@ -142,18 +142,6 @@ NODE_ENV=development # CORS Configuration CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001 -# CORS is a dynamic, runtime-mutable whitelist. -# See backend/docs/CORS_GUIDE.md for patterns, the management API, and security. - -# Webhook Signature Verification -# Inbound custom webhooks are verified with versioned, rotating HMAC keys. -# See backend/docs/WEBHOOK_KEY_ROTATION.md for the key lifecycle and rotation API. - -# Circuit Breaker -# External service calls (Stripe, Stellar/Horizon, RPC, webhooks, Vault) are -# guarded by a fast-failing, self-recovering circuit breaker with per-service -# isolation. See backend/docs/CIRCUIT_BREAKER.md for the state machine, config, -# and management API. # Stellar Configuration STELLAR_NETWORK=testnet @@ -171,7 +159,7 @@ JOBS_ENABLED=true |---|---|---|---| | `PORT` | `3001` | Server port | No | | `NODE_ENV` | `development` | Environment (development/production) | No | -| `CORS_ALLOWED_ORIGINS` | `*` | Comma-separated list of allowed origins (runtime-mutable; see `backend/docs/CORS_GUIDE.md`) | No | +| `CORS_ALLOWED_ORIGINS` | `*` | Comma-separated list of allowed origins | No | | `STELLAR_NETWORK` | `testnet` | Stellar network (testnet/public) | No | | `OPENAI_API_KEY` | - | OpenAI API key for AI verification/invoicing | **Yes** | | `JOBS_ENABLED` | `true` | Enable background job scheduler | No | diff --git a/backend/.env.example b/backend/.env.example index 5cc3b3d5..e41e3b3f 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -1,5 +1,7 @@ NODE_ENV=development PORT=3001 +LOG_LEVEL=info +LOG_LEVELS=webhooks:debug CORS_ALLOWED_ORIGINS=http://localhost:3000 JOBS_ENABLED=true QUEUE_ENABLED=true @@ -10,15 +12,14 @@ RATE_LIMIT_ENTERPRISE=1000 RATE_LIMIT_WINDOW_MS=900000 COMPRESSION_THRESHOLD=1024 -# Database read replicas (comma-separated PostgreSQL URLs) -DB_READ_REPLICA_URLS= -DB_REPLICA_MAX_LAG_MS=5000 -DB_REPLICA_HEALTH_CHECK_INTERVAL_MS=30000 -DB_REPLICA_FAILOVER_COOLDOWN_MS=15000 - -# Security headers -HSTS_MAX_AGE_SECONDS=31536000 -PERMISSIONS_POLICY=camera=(), microphone=(), geolocation=(), payment=(), usb=(), magnetometer=(), gyroscope=(), interest-cohort=() +# Token Bucket Rate Limiting +# REDIS_URL=redis://localhost:6379 +# RATE_LIMIT_BURST_FREE=10 +# RATE_LIMIT_BURST_PRO=50 +# RATE_LIMIT_BURST_ENTERPRISE=200 +# RATE_LIMIT_REFILL_FREE=1 +# RATE_LIMIT_REFILL_PRO=5 +# RATE_LIMIT_REFILL_ENTERPRISE=20 # IP Allowlist (comma-separated CIDR ranges) # IP_ALLOWLIST=10.0.0.0/8,192.168.1.0/24 @@ -26,56 +27,7 @@ PERMISSIONS_POLICY=camera=(), microphone=(), geolocation=(), payment=(), usb=(), # IP_ALLOWLIST_BYPASS_ENABLED=false # IP_ALLOWLIST_BYPASS_EXPIRY_MS=1800000 -# ── Database Backup & Restore (Issue #880) ─────────────────────────────────── -# Local directory where backup files are written before upload. -# BACKUP_DIR=/var/backups/agenticpay - -# Number of days to retain completed backup files (local and S3). -# BACKUP_RETENTION_DAYS=30 - -# Set to 'true' to enable automatic upload to S3 after each backup. -# BACKUP_USE_S3=false - -# S3 bucket that receives backup files. -# S3_BACKUP_BUCKET=agenticpay-backups - -# AWS region for the S3 bucket above. -# S3_REGION=us-east-1 - -# Point-in-time recovery (PITR) window in hours. Backups older than this -# window are not surfaced through the PITR lookup endpoint. -# Default: 168 (7 days). -# BACKUP_PITR_WINDOW_HOURS=168 - -# Cron-expression overrides (SCHEDULE_OVERRIDE_* pattern). -# Use these to adjust the backup schedule without modifying code. -# -# Daily full backup (default: 02:00 UTC): -# SCHEDULE_OVERRIDE_BACKUP_FULL_DAILY="0 2 * * *" -# -# 6-hour incremental backup (default: 00:00, 06:00, 12:00, 18:00 UTC): -# SCHEDULE_OVERRIDE_BACKUP_INCREMENTAL_6H="0 0,6,12,18 * * *" -# -# Weekly retention cleanup (default: Sunday 04:00 UTC): -# SCHEDULE_OVERRIDE_BACKUP_RETENTION_CLEANUP="0 4 * * 0" - -# ── Zapier Integration ──────────────────────────────────────────────────────── -# Outbound Zapier Catch Hook URL for notifications channel. -# ZAPIER_WEBHOOK_URL=https://hooks.zapier.com/hooks/catch/YOUR_ID/YOUR_HOOK - -# Shared HMAC-SHA256 secret for signing outbound Zapier webhooks. -# ZAPIER_WEBHOOK_SECRET=your-zapier-webhook-secret-min-32-chars - -# ── Intercom Integration ────────────────────────────────────────────────────── -# Intercom REST API access token with read/write permissions for support. -# INTERCOM_ACCESS_TOKEN=dG9rZW46eW91ci1pbnRlcmNvbS1hY2Nlc3MtdG9rZW4= - -# Intercom App ID / Workspace ID. -# INTERCOM_APP_ID=abc123xyz - -# Intercom Admin ID for posting notes, replies, and assignment. -# INTERCOM_ADMIN_ID=1234567 - -# Intercom Client Secret used to verify incoming webhook signatures (x-hub-signature). -# INTERCOM_CLIENT_SECRET=your-intercom-client-secret - +# Stripe card payments +STRIPE_SECRET_KEY=sk_test_... +STRIPE_PUBLISHABLE_KEY=pk_test_... +STRIPE_WEBHOOK_SECRET=whsec_... diff --git a/backend/benchmarks/baseline.json b/backend/benchmarks/baseline.json index 3a5853aa..df0b8881 100644 --- a/backend/benchmarks/baseline.json +++ b/backend/benchmarks/baseline.json @@ -1,286 +1,77 @@ { - "generatedAt": "2026-08-31T11:48:01.791Z", + "generatedAt": "2026-05-30T08:13:11.739Z", "port": 3099, + "note": "Auto-established with 2.5x headroom", "endpoints": [ { "name": "health", "path": "/health", - "requests": 5599, - "throughput": 627072, "latency": { - "average": 4.85, - "p50": 4, - "p99": 16, - "max": 88 - }, - "errors": 0, - "non2xx": 0 + "p99": 1625 + } }, { "name": "ready", "path": "/ready", - "requests": 6186, - "throughput": 602026.67, "latency": { - "average": 4.31, - "p50": 4, - "p99": 12, - "max": 29 - }, - "errors": 0, - "non2xx": 0 + "p99": 598 + } }, { "name": "sandbox_status", "path": "/api/v1/sandbox/status", - "requests": 6906, - "throughput": 697429.34, "latency": { - "average": 3.79, - "p50": 3, - "p99": 11, - "max": 24 - }, - "errors": 0, - "non2xx": 0 + "p99": 1195 + } }, { "name": "escrow_list", "path": "/api/v1/escrow", - "requests": 7747, - "throughput": 606805.34, "latency": { - "average": 3.34, - "p50": 3, - "p99": 9, - "max": 13 - }, - "errors": 0, - "non2xx": 0 + "p99": 2340 + } }, { "name": "flags", "path": "/api/v1/flags", - "requests": 7709, - "throughput": 675754.67, "latency": { - "average": 3.38, - "p50": 3, - "p99": 9, - "max": 13 - }, - "errors": 0, - "non2xx": 0 + "p99": 0 + } }, { "name": "compression_metrics", "path": "/api/v1/compression/metrics", - "requests": 7514, - "throughput": 661248, "latency": { - "average": 3.44, - "p50": 3, - "p99": 9, - "max": 15 - }, - "errors": 0, - "non2xx": 0 + "p99": 0 + } }, { "name": "pool_metrics", "path": "/api/v1/pool/metrics", - "requests": 8064, - "throughput": 720298.67, "latency": { - "average": 3.18, - "p50": 3, - "p99": 8, - "max": 12 - }, - "errors": 0, - "non2xx": 0 + "p99": 1070 + } }, { "name": "sandbox_payment_process", "path": "/api/v1/sandbox/payments/process", - "requests": 4586, - "throughput": 814677.34, "latency": { - "average": 6.01, - "p50": 5, - "p99": 16, - "max": 81 - }, - "errors": 0, - "non2xx": 0 + "p99": 1628 + } }, { "name": "escrow_create", "path": "/api/v1/escrow", - "requests": 4974, - "throughput": 805802.67, "latency": { - "average": 5.51, - "p50": 5, - "p99": 13, - "max": 20 - }, - "errors": 0, - "non2xx": 0 + "p99": 2420 + } }, { "name": "circuit_breaker", "path": "/api/v1/circuit-breaker", - "requests": 7030, - "throughput": 625578.67, "latency": { - "average": 3.73, - "p50": 4, - "p99": 9, - "max": 18 - }, - "errors": 0, - "non2xx": 0 - }, - { - "name": "circuit_breaker_rejected", - "path": "/api/v1/circuit-breaker/rejected", - "requests": 7567, - "throughput": 751701.34, - "latency": { - "average": 3.4, - "p50": 3, - "p99": 8, - "max": 14 - }, - "errors": 0, - "non2xx": 7564 - }, - { - "name": "cache_plain", - "path": "/api/v1/cache/plain", - "requests": 7477, - "throughput": 690432, - "latency": { - "average": 3.46, - "p50": 3, - "p99": 9, - "max": 17 - }, - "errors": 0, - "non2xx": 0 - }, - { - "name": "cache_header_only", - "path": "/api/v1/cache/header", - "requests": 6494, - "throughput": 647082.67, - "latency": { - "average": 4.1, - "p50": 4, - "p99": 10, - "max": 17 - }, - "errors": 0, - "non2xx": 0 - }, - { - "name": "cache_memory_hit", - "path": "/api/v1/cache/memory", - "requests": 7823, - "throughput": 816213.34, - "latency": { - "average": 3.29, - "p50": 3, - "p99": 8, - "max": 13 - }, - "errors": 0, - "non2xx": 0 - }, - { - "name": "cache_etag_304", - "path": "/api/v1/cache/etag-304", - "requests": 8865, - "throughput": 525952, - "latency": { - "average": 2.94, - "p50": 3, - "p99": 7, - "max": 13 - }, - "errors": 0, - "non2xx": 8865 - }, - { - "name": "cors_allowed", - "path": "/api/v1/cors/allowed", - "requests": 6283, - "throughput": 810410.67, - "latency": { - "average": 4.29, - "p50": 4, - "p99": 10, - "max": 21 - }, - "errors": 0, - "non2xx": 0 - }, - { - "name": "cors_wildcard", - "path": "/api/v1/cors/allowed", - "requests": 6107, - "throughput": 802048, - "latency": { - "average": 4.42, - "p50": 4, - "p99": 11, - "max": 17 - }, - "errors": 0, - "non2xx": 0 - }, - { - "name": "cors_preflight", - "path": "/api/v1/cors/allowed", - "requests": 8742, - "throughput": 990720, - "latency": { - "average": 2.96, - "p50": 3, - "p99": 8, - "max": 13 - }, - "errors": 0, - "non2xx": 0 - }, - { - "name": "webhook_verify_valid", - "path": "/api/v1/webhook/verify", - "requests": 4455, - "throughput": 374229.34, - "latency": { - "average": 6.23, - "p50": 6, - "p99": 15, - "max": 33 - }, - "errors": 0, - "non2xx": 0 - }, - { - "name": "webhook_verify_invalid", - "path": "/api/v1/webhook/verify-invalid", - "requests": 4170, - "throughput": 365610.67, - "latency": { - "average": 6.7, - "p50": 6, - "p99": 17, - "max": 37 - }, - "errors": 0, - "non2xx": 4170 + "p99": 1585 + } } ] } \ No newline at end of file diff --git a/backend/disputes/disputeController.ts b/backend/disputes/disputeController.ts index 243f8222..a15defa2 100644 --- a/backend/disputes/disputeController.ts +++ b/backend/disputes/disputeController.ts @@ -1,53 +1,47 @@ -import type { Request, Response } from "express"; -import { asyncHandler, AppError } from "../src/middleware/errorHandler.js"; -import { disputeService } from "./disputeService.js"; -import type { CreateDisputeDto, ResolutionOutcome } from "./disputeModel.js"; - -function requireUser(req: Request): { id: string; tenantId: string; role: string } { - if (!req.user) { - throw new AppError(401, "Authentication required", "UNAUTHORIZED"); - } - return req.user; -} - -export const create = asyncHandler(async (req: Request, res: Response) => { - const user = requireUser(req); - const dto = req.body as CreateDisputeDto; - const data = await disputeService.create(dto, user.id, user.tenantId); - res.status(201).json(data); -}); - -export const respond = asyncHandler(async (req: Request, res: Response) => { - const user = requireUser(req); - const data = await disputeService.respond(req.params.id, user.tenantId, user.id, req.body.content); - res.json(data); -}); - -export const uploadEvidence = asyncHandler(async (req: Request, res: Response) => { - const user = requireUser(req); - if (!req.file) { - throw new AppError(400, "A file is required", "DISPUTE_EVIDENCE_FILE_REQUIRED"); +import { disputeService } from "./disputeService"; + +export const create = async (req, res) => { + try { + const data = await disputeService.create(req.body, req.user.id); + res.json(data); + } catch (e) { + res.status(400).json({ error: e.message }); } - - const data = await disputeService.addEvidence(req.params.id, user.tenantId, user.id, { - url: `/uploads/${req.file.originalname}`, - name: req.file.originalname, - size: req.file.size, - description: req.body.description, - }); - - res.status(201).json(data); -}); - -export const resolve = asyncHandler(async (req: Request, res: Response) => { - const user = requireUser(req); - const payload = req.body as { outcome: ResolutionOutcome; resolutionNote: string; refundAmount?: number }; - const data = await disputeService.resolve(req.params.id, user.tenantId, user, payload); +}; + +export const respond = async (req, res) => { + const data = await disputeService.respond( + req.params.id, + req.user.id, + req.body.content + ); res.json(data); -}); +}; + +export const uploadEvidence = async (req, res) => { + const data = await disputeService.addEvidence( + req.params.id, + req.user.id, + { + url: `/uploads/${req.file.originalname}`, + name: req.file.originalname, + size: req.file.size, + description: req.body.description, + } + ); -export const getAnalytics = asyncHandler(async (req: Request, res: Response) => { - const user = requireUser(req); - const data = await disputeService.getAnalytics(user.tenantId); res.json(data); -}); +}; + +export const resolve = async (req, res) => { + try { + const data = await disputeService.resolve( + req.params.id, + req.user, + req.body + ); + res.json(data); + } catch (e) { + res.status(403).json({ error: e.message }); + } +}; \ No newline at end of file diff --git a/backend/disputes/disputeRoutes.ts b/backend/disputes/disputeRoutes.ts index c9374859..8138ddba 100644 --- a/backend/disputes/disputeRoutes.ts +++ b/backend/disputes/disputeRoutes.ts @@ -5,19 +5,14 @@ import { respond, uploadEvidence, resolve, - getAnalytics, -} from "./disputeController.js"; +} from "./disputeController"; const router = express.Router(); -// In-memory storage: evidence files are re-hosted at a stable URL by the -// upload handler itself (see disputeController.uploadEvidence), not served -// directly from multer's buffer. const upload = multer(); router.post("/", create); -router.get("/analytics", getAnalytics); router.post("/:id/respond", respond); router.post("/:id/evidence", upload.single("file"), uploadEvidence); router.post("/:id/resolve", resolve); -export default router; +export default router; \ No newline at end of file diff --git a/backend/disputes/disputeService.ts b/backend/disputes/disputeService.ts index dc9b9e50..f78051ae 100644 --- a/backend/disputes/disputeService.ts +++ b/backend/disputes/disputeService.ts @@ -1,268 +1,115 @@ +import { v4 as uuidv4 } from "uuid"; import crypto from "crypto"; -import { prisma } from "../src/lib/prisma.js"; -import { DisputeError } from "../src/middleware/errorHandler.js"; -import type { - CreateDisputeDto, - Dispute, - DisputeAnalytics, - DisputeMessage, - Evidence, - ResolutionOutcome, -} from "./disputeModel.js"; + +const disputes = new Map(); const RESPONSE_HOURS = 72; const ESCALATION_HOURS = 168; -// Disputes still "in play" — a payment can only have one of these open at -// once (see create()'s duplicate check). -const ACTIVE_STATUSES = ["awaiting_response", "under_review", "escalated"] as const; - -function addHours(hours: number): Date { - return new Date(Date.now() + hours * 3600_000); -} - -interface UploadedFile { - url: string; - name: string; - size: number; - description?: string; -} - -/** Row shape as Prisma returns it — Decimal/Date fields, JSON columns as unknown. */ -type DisputeRow = Awaited>; - -/** Maps a Prisma Dispute row onto the public Dispute shape disputeModel.ts declares. */ -function toDispute(row: DisputeRow): Dispute { - return { - id: row.id, - paymentId: row.paymentId, - projectId: row.projectId ?? undefined, - invoiceId: row.invoiceId ?? undefined, - filedBy: row.filedBy, - respondentId: row.respondentId, - arbitratorId: row.arbitratorId ?? undefined, - status: row.status, - reason: row.reason, - amount: Number(row.amount), - currency: row.currency, - description: row.description, - evidence: (row.evidence as unknown as Evidence[]) ?? [], - messages: (row.messages as unknown as DisputeMessage[]) ?? [], - resolution: row.resolution as ResolutionOutcome, - resolutionNote: row.resolutionNote ?? undefined, - refundAmount: row.refundAmount ? Number(row.refundAmount) : undefined, - responseDeadline: row.responseDeadline.toISOString(), - escalationDeadline: row.escalationDeadline.toISOString(), - createdAt: row.createdAt.toISOString(), - updatedAt: row.updatedAt.toISOString(), - resolvedAt: row.resolvedAt?.toISOString(), - }; -} - -async function getOwnedDispute(tenantId: string, id: string) { - const dispute = await prisma.dispute.findFirst({ where: { id, tenantId } }); - if (!dispute) { - throw new DisputeError("Dispute not found", "DISPUTE_NOT_FOUND", 404); - } - return dispute; +function addHours(hours: number) { + return new Date(Date.now() + hours * 3600000).toISOString(); } export const disputeService = { - /** - * Files a new dispute against a payment. amount/currency are always - * derived from the referenced Payment record rather than trusted from - * the caller, so a dispute can't claim a different amount than what was - * actually paid. - */ - async create(dto: CreateDisputeDto, filedBy: string, tenantId: string): Promise { + async create(dto, filedBy) { if (!dto.description || dto.description.length < 20) { - throw new DisputeError( - "Description must be at least 20 characters", - "DISPUTE_DESCRIPTION_TOO_SHORT", - 400, - ); - } - - const payment = await prisma.payment.findFirst({ - where: { id: dto.paymentId, tenantId }, - }); - if (!payment) { - throw new DisputeError("Payment not found", "DISPUTE_PAYMENT_NOT_FOUND", 404); + throw new Error("Description must be at least 20 characters"); } - const existing = await prisma.dispute.findFirst({ - where: { paymentId: dto.paymentId, tenantId, status: { in: [...ACTIVE_STATUSES] } }, - }); - if (existing) { - throw new DisputeError( - "An active dispute already exists for this payment", - "DISPUTE_ALREADY_ACTIVE", - 409, - ); - } + const existing = Array.from(disputes.values()).find( + (d) => + d.paymentId === dto.paymentId && + ["awaiting_response", "under_review", "escalated"].includes(d.status) + ); + + if (existing) throw new Error("Active dispute already exists"); + + const dispute = { + id: uuidv4(), + ...dto, + filedBy, + status: "awaiting_response", + evidence: [], + messages: [], + responseDeadline: addHours(RESPONSE_HOURS), + escalationDeadline: addHours(ESCALATION_HOURS), + createdAt: new Date().toISOString(), + }; - const row = await prisma.dispute.create({ - data: { - tenantId, - paymentId: dto.paymentId, - projectId: dto.projectId ?? null, - invoiceId: dto.invoiceId ?? null, - filedBy, - respondentId: dto.respondentId, - status: "awaiting_response", - reason: dto.reason, - amount: payment.amount, - currency: payment.currency, - description: dto.description, - evidence: [], - messages: [], - responseDeadline: addHours(RESPONSE_HOURS), - escalationDeadline: addHours(ESCALATION_HOURS), - }, - }); + disputes.set(dispute.id, dispute); - // TODO(#816 follow-up): route through the real notification service - // (see backend/payments/routing/notification-service.ts) instead of a - // log line once this dispute flow has a resolved notification channel - // for the respondent's own tenant/preferences. - console.log(`[disputes] Notify ${dto.respondentId}: new dispute filed on payment ${dto.paymentId}`); + console.log(`Notify ${dto.respondentId}: New dispute`); - return toDispute(row); + return dispute; }, - async respond(id: string, tenantId: string, senderId: string, content: string): Promise { - const existing = await getOwnedDispute(tenantId, id); + async respond(id, userId, content) { + const d = disputes.get(id); + if (!d) throw new Error("Not found"); - const messages = [...((existing.messages as unknown as DisputeMessage[]) ?? [])]; - messages.push({ - id: crypto.randomUUID(), - disputeId: id, - senderId, - senderRole: senderId === existing.respondentId ? "payee" : "payer", + d.messages.push({ + id: uuidv4(), + senderId: userId, content, timestamp: new Date().toISOString(), }); - const row = await prisma.dispute.update({ - where: { id }, - data: { messages, status: "under_review" }, - }); - - return toDispute(row); + d.status = "under_review"; + return d; }, - async addEvidence(id: string, tenantId: string, submittedBy: string, file: UploadedFile): Promise { - const existing = await getOwnedDispute(tenantId, id); + async addEvidence(id, userId, file) { + const d = disputes.get(id); + if (!d) throw new Error("Not found"); const hash = crypto .createHash("sha256") .update(`${file.name}-${file.size}-${Date.now()}`) .digest("hex"); - const entry: Evidence = { - id: crypto.randomUUID(), - disputeId: id, - submittedBy, + const ev = { + id: uuidv4(), fileUrl: file.url, fileName: file.name, - fileType: file.name.split(".").pop() ?? "unknown", fileSize: file.size, - description: file.description ?? "", - timestamp: new Date().toISOString(), + description: file.description, hash, + timestamp: new Date().toISOString(), }; - const evidence = [...((existing.evidence as unknown as Evidence[]) ?? []), entry]; - await prisma.dispute.update({ where: { id }, data: { evidence } }); - - return entry; + d.evidence.push(ev); + return ev; }, - async resolve( - id: string, - tenantId: string, - user: { id: string; role: string }, - payload: { outcome: ResolutionOutcome; resolutionNote: string; refundAmount?: number }, - ): Promise { + async resolve(id, user, payload) { if (user.role !== "arbitrator") { - throw new DisputeError("Only an arbitrator can resolve a dispute", "DISPUTE_FORBIDDEN", 403); + throw new Error("Forbidden"); } - await getOwnedDispute(tenantId, id); - - const row = await prisma.dispute.update({ - where: { id }, - data: { - status: payload.outcome === "dismissed" ? "dismissed" : "resolved", - resolution: payload.outcome, - resolutionNote: payload.resolutionNote, - refundAmount: payload.refundAmount ?? null, - arbitratorId: user.id, - resolvedAt: new Date(), - }, - }); + const d = disputes.get(id); + if (!d) throw new Error("Not found"); - return toDispute(row); - }, + d.status = payload.outcome === "dismissed" ? "dismissed" : "resolved"; + d.resolution = payload.outcome; + d.resolutionNote = payload.note; - /** - * Auto-escalates disputes whose respondent missed the response deadline. - * Run on a schedule — see backend/src/config/scheduled-tasks.ts's - * "dispute-escalation" task. - */ - async processEscalations(): Promise { - const result = await prisma.dispute.updateMany({ - where: { status: "awaiting_response", responseDeadline: { lt: new Date() } }, - data: { status: "escalated" }, - }); - return result.count; + return d; }, - async getAnalytics(tenantId: string): Promise { - const disputes = await prisma.dispute.findMany({ where: { tenantId } }); - - const byStatus: DisputeAnalytics["byStatus"] = { - pending: 0, - awaiting_response: 0, - under_review: 0, - resolved: 0, - escalated: 0, - dismissed: 0, - }; - const byReason: DisputeAnalytics["byReason"] = { - service_not_delivered: 0, - partial_delivery: 0, - quality_issue: 0, - unauthorized_charge: 0, - duplicate_charge: 0, - other: 0, - }; - - let totalRefunded = 0; - let resolvedCount = 0; - let escalatedCount = 0; - let totalResolutionDays = 0; - - for (const d of disputes) { - byStatus[d.status as keyof typeof byStatus] += 1; - byReason[d.reason as keyof typeof byReason] += 1; - if (d.refundAmount) totalRefunded += Number(d.refundAmount); - if (d.status === "escalated" || d.resolvedAt === null && d.escalationDeadline < new Date()) { - escalatedCount += 1; - } - if (d.resolvedAt) { - resolvedCount += 1; - totalResolutionDays += (d.resolvedAt.getTime() - d.createdAt.getTime()) / 86_400_000; + async processEscalations() { + const now = new Date(); + let count = 0; + + for (const d of disputes.values()) { + if ( + d.status === "awaiting_response" && + new Date(d.responseDeadline) < now + ) { + d.status = "escalated"; + count++; } } - return { - total: disputes.length, - byStatus, - byReason, - averageResolutionDays: resolvedCount > 0 ? totalResolutionDays / resolvedCount : 0, - totalRefunded, - escalationRate: disputes.length > 0 ? escalatedCount / disputes.length : 0, - }; + return count; }, -}; +}; \ No newline at end of file diff --git a/backend/eslint.config.mjs b/backend/eslint.config.mjs index edef6f93..3bcebe6e 100644 --- a/backend/eslint.config.mjs +++ b/backend/eslint.config.mjs @@ -11,22 +11,12 @@ export default tseslint.config( sourceType: 'module', }, rules: { - '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], + '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], '@typescript-eslint/no-explicit-any': 'warn', 'no-console': 'warn', - '@typescript-eslint/no-require-imports': 'warn', - '@typescript-eslint/ban-ts-comment': 'warn', - 'no-empty': 'warn', - '@typescript-eslint/no-unused-expressions': 'warn', - 'prefer-const': 'warn', - '@typescript-eslint/no-this-alias': 'warn', - 'no-case-declarations': 'warn', - 'no-useless-escape': 'warn', - '@typescript-eslint/no-namespace': 'warn', - '@typescript-eslint/no-unsafe-function-type': 'warn', }, }, { - ignores: ['dist/', 'node_modules/', 'coverage/', '**/*.js'], + ignores: ['dist/', 'node_modules/', 'coverage/'], } ) \ No newline at end of file diff --git a/backend/frontend/app/dashboard/page.tsx b/backend/frontend/app/dashboard/page.tsx index b46a55dc..77780d0b 100644 --- a/backend/frontend/app/dashboard/page.tsx +++ b/backend/frontend/app/dashboard/page.tsx @@ -1,6 +1,5 @@ 'use client'; -import { useState, useEffect } from 'react'; import { useDashboardData } from '@/lib/hooks/useDashboardData'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { DollarSign, Clock, Folder, CheckCircle2, TrendingUp } from 'lucide-react'; @@ -8,62 +7,14 @@ import { FadeIn } from '@/components/ui/fade-in'; import { DashboardStatsSkeleton } from '@/components/ui/loading-skeletons'; export default function DashboardPage() { - const { stats, recentActivity, loading, refetch } = useDashboardData(); - const [isRefreshing, setIsRefreshing] = useState(false); - const [lastUpdated, setLastUpdated] = useState(null); - - const handleRefresh = async () => { - setIsRefreshing(true); - try { - await refetch?.(); - setLastUpdated(new Date()); - } finally { - setIsRefreshing(false); - } - }; - - useEffect(() => { - handleRefresh(); - const interval = setInterval(handleRefresh, 60000); - return () => clearInterval(interval); - }, []); + const { stats, recentActivity, loading } = useDashboardData(); if (loading) { return (
-
-
-

Dashboard

-

Welcome back! Here's your overview.

-
-
- - {lastUpdated && ( -

- Last updated: {lastUpdated.toLocaleTimeString()} -

- )} -
+
+

Dashboard

+

Welcome back! Here's your overview.

{/* Simplified Loading for Recent Activity */} @@ -85,39 +36,9 @@ export default function DashboardPage() { return (
-
-
-

Dashboard

-

Welcome back! Here's your overview.

-
-
- - {lastUpdated && ( -

- Last updated: {lastUpdated.toLocaleTimeString()} -

- )} -
+
+

Dashboard

+

Welcome back! Here's your overview.

{/* Stats Grid */} diff --git a/backend/frontend/package-lock.json b/backend/frontend/package-lock.json index 5f28f451..3521a677 100644 --- a/backend/frontend/package-lock.json +++ b/backend/frontend/package-lock.json @@ -37,10 +37,11 @@ "tailwind-merge": "^3.4.0", "viem": "^2.43.2", "wagmi": "^3.6.0", - "zod": "^4.2.1", + "zod": "^3.25.0", "zustand": "^5.0.9" }, "devDependencies": { + "@next/bundle-analyzer": "^16.2.6", "@tailwindcss/postcss": "^4", "@types/node": "^20", "@types/react": "^19.2.14", @@ -96,13 +97,13 @@ "license": "ISC" }, "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==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -111,9 +112,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, "license": "MIT", "engines": { @@ -121,21 +122,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -152,14 +153,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -169,13 +170,13 @@ } }, "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==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -196,29 +197,29 @@ } }, "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==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -268,27 +269,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.5" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -339,33 +340,33 @@ } }, "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==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { @@ -373,9 +374,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { @@ -386,12 +387,103 @@ "node": ">=6.9.0" } }, + "node_modules/@base-org/account": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@base-org/account/-/account-2.4.0.tgz", + "integrity": "sha512-A4Umpi8B9/pqR78D1Yoze4xHyQaujioVRqqO3d6xuDFw9VRtjg6tK3bPlwE0aW+nVH/ntllCpPa2PbI8Rnjcug==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@coinbase/cdp-sdk": "^1.0.0", + "@noble/hashes": "1.4.0", + "clsx": "1.2.1", + "eventemitter3": "5.0.1", + "idb-keyval": "6.2.1", + "ox": "0.6.9", + "preact": "10.24.2", + "viem": "^2.31.7", + "zustand": "5.0.3" + } + }, + "node_modules/@base-org/account/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", + "optional": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@base-org/account/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@base-org/account/node_modules/zustand": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.3.tgz", + "integrity": "sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } + }, "node_modules/@chaitanyapotti/register-service-worker": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/@chaitanyapotti/register-service-worker/-/register-service-worker-1.7.4.tgz", "integrity": "sha512-+u78X4ljCleLy1okQMtYLTXGLHdFQcwai822xu3oHRTviKEIVkQTMNhCmbYTCiP24thY6AbH9g+c6p2LNU0pnA==", "license": "MIT" }, + "node_modules/@coinbase/cdp-sdk": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/@coinbase/cdp-sdk/-/cdp-sdk-1.48.2.tgz", + "integrity": "sha512-phsHxF9q4CvF8H1b//aepxy8J/pdORT+btdqv7wbQ1YOi44QYfenima15N8Ok9lZE/XqY81BebsaBkyjqBJgig==", + "license": "MIT", + "optional": true, + "dependencies": { + "@solana-program/system": "^0.10.0", + "@solana-program/token": "^0.9.0", + "@solana/kit": "^5.5.1", + "abitype": "1.0.6", + "axios": "1.13.6", + "axios-retry": "^4.5.0", + "jose": "^6.2.0", + "md5": "^2.3.0", + "uncrypto": "^0.1.3", + "viem": "^2.47.0", + "zod": "^3.25.76" + } + }, "node_modules/@csstools/color-helpers": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", @@ -513,14 +605,24 @@ "integrity": "sha512-P5LUNhtbj6YfI3iJjw5EL9eUAG6OitD0W3fWQcpQjDRc/QIsL0tRNuO1PcDvPccWL1fSTXXdE1ds+l95DV/OFA==", "license": "MIT" }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@ecies/ciphers": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.5.tgz", - "integrity": "sha512-GalEZH4JgOMHYYcYmVqnFirFsjZHeoGMDt9IxEnM9F7GRUUyUksJ7Ou53L83WHJq3RWKD3AcBpo0iQh0oMpf8A==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.6.tgz", + "integrity": "sha512-patgsRPKGkhhoBjETV4XxD0En4ui5fbX0hzayqI3M8tvNMGUoUvmyYAIWwlxBc1KX5cturfqByYdj5bYGRpN9g==", "license": "MIT", "engines": { "bun": ">=1", - "deno": ">=2", + "deno": ">=2.7.10", "node": ">=16" }, "peerDependencies": { @@ -528,31 +630,46 @@ } }, "node_modules/@emnapi/core": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", - "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.1.0", + "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, + "node_modules/@emnapi/core/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==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/@emnapi/runtime": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", - "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "license": "MIT", "optional": true, "dependencies": { "tslib": "^2.4.0" } }, + "node_modules/@emnapi/runtime/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", + "optional": true + }, "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", "optional": true, @@ -560,10 +677,18 @@ "tslib": "^2.4.0" } }, + "node_modules/@emnapi/wasi-threads/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==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz", - "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", "cpu": [ "ppc64" ], @@ -578,9 +703,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz", - "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", "cpu": [ "arm" ], @@ -595,9 +720,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz", - "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", "cpu": [ "arm64" ], @@ -612,9 +737,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz", - "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", "cpu": [ "x64" ], @@ -629,9 +754,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz", - "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", "cpu": [ "arm64" ], @@ -646,9 +771,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz", - "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", "cpu": [ "x64" ], @@ -663,9 +788,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz", - "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", "cpu": [ "arm64" ], @@ -680,9 +805,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz", - "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", "cpu": [ "x64" ], @@ -697,9 +822,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz", - "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", "cpu": [ "arm" ], @@ -714,9 +839,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz", - "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", "cpu": [ "arm64" ], @@ -731,9 +856,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz", - "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", "cpu": [ "ia32" ], @@ -748,9 +873,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz", - "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", "cpu": [ "loong64" ], @@ -765,9 +890,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz", - "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", "cpu": [ "mips64el" ], @@ -782,9 +907,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz", - "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", "cpu": [ "ppc64" ], @@ -799,9 +924,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz", - "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", "cpu": [ "riscv64" ], @@ -816,9 +941,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz", - "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", "cpu": [ "s390x" ], @@ -833,9 +958,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz", - "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", "cpu": [ "x64" ], @@ -850,9 +975,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz", - "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", "cpu": [ "arm64" ], @@ -867,9 +992,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz", - "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", "cpu": [ "x64" ], @@ -884,9 +1009,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz", - "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", "cpu": [ "arm64" ], @@ -901,9 +1026,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz", - "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", "cpu": [ "x64" ], @@ -918,9 +1043,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz", - "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", "cpu": [ "arm64" ], @@ -935,9 +1060,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz", - "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", "cpu": [ "x64" ], @@ -952,9 +1077,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz", - "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", "cpu": [ "arm64" ], @@ -969,9 +1094,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz", - "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", "cpu": [ "ia32" ], @@ -986,9 +1111,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz", - "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", "cpu": [ "x64" ], @@ -1003,9 +1128,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1045,15 +1170,15 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", "dev": true, "license": "Apache-2.0", "dependencies": { "@eslint/object-schema": "^2.1.7", "debug": "^4.3.1", - "minimatch": "^3.1.2" + "minimatch": "^3.1.5" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1086,20 +1211,20 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^6.12.4", + "ajv": "^6.14.0", "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.1", - "minimatch": "^3.1.2", + "minimatch": "^3.1.5", "strip-json-comments": "^3.1.1" }, "engines": { @@ -1110,9 +1235,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", "dev": true, "license": "MIT", "engines": { @@ -1196,31 +1321,31 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", - "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.10" + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", - "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.3", - "@floating-ui/utils": "^0.2.10" + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/react-dom": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.6.tgz", - "integrity": "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.7.4" + "@floating-ui/dom": "^1.7.6" }, "peerDependencies": { "react": ">=16.8.0", @@ -1228,9 +1353,9 @@ } }, "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==", + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", "license": "MIT" }, "node_modules/@hcaptcha/react-hcaptcha": { @@ -1252,29 +1377,43 @@ } }, "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@humanfs/types": "^0.15.0" + }, "engines": { "node": ">=18.18.0" } }, "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanfs/core": "^0.19.1", + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" }, "engines": { "node": ">=18.18.0" } }, + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -1304,9 +1443,9 @@ } }, "node_modules/@img/colour": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", - "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", "license": "MIT", "optional": true, "engines": { @@ -1820,9 +1959,9 @@ } }, "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==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.5.1.tgz", + "integrity": "sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA==", "license": "BSD-3-Clause" }, "node_modules/@lit/react": { @@ -1836,12 +1975,12 @@ } }, "node_modules/@lit/reactive-element": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.1.tgz", - "integrity": "sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.2.tgz", + "integrity": "sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==", "license": "BSD-3-Clause", "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.4.0" + "@lit-labs/ssr-dom-shim": "^1.5.0" } }, "node_modules/@lukeed/csprng": { @@ -2058,9 +2197,9 @@ } }, "node_modules/@metamask/delegation-core/node_modules/@metamask/utils": { - "version": "11.10.0", - "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-11.10.0.tgz", - "integrity": "sha512-+bWmTOANx1MbBW6RFM8Se4ZoigFYGXiuIrkhjj4XnG5Aez8uWaTSZ76yn9srKKClv+PoEVoAuVtcUOogFEMUNA==", + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-11.11.0.tgz", + "integrity": "sha512-0nF2CWjWQr/m0Y2t2lJnBTU1/CZPPTvKvcESLplyWe/tyeb8zFOi/FeneDmaFnML6LYRIGZU6f+xR0jKAIUZfw==", "license": "ISC", "dependencies": { "@ethereumjs/tx": "^4.2.0", @@ -2377,6 +2516,7 @@ "version": "0.34.0", "resolved": "https://registry.npmjs.org/@metamask/sdk/-/sdk-0.34.0.tgz", "integrity": "sha512-8dkJUShZ5zFqYjNmhJaqKgDzZVne+F2rNjMQJ3pxs89n3oOUNuJ8dsTo08Grf9vlQ6Ldpdt2RTwqbrxKWyyqlw==", + "deprecated": "No longer maintained, superseded by https://docs.metamask.io/metamask-connect", "dependencies": { "@babel/runtime": "^7.26.0", "@metamask/onboarding": "^1.0.1", @@ -2404,6 +2544,7 @@ "version": "0.0.5", "resolved": "https://registry.npmjs.org/@metamask/sdk-analytics/-/sdk-analytics-0.0.5.tgz", "integrity": "sha512-fDah+keS1RjSUlC8GmYXvx6Y26s3Ax1U9hGpWb6GSY5SAdmTSIqp2CvYy6yW0WgLhnYhW+6xERuD0eVqV63QIQ==", + "deprecated": "No longer maintained, superseded by @metamask/connect-analytics", "license": "MIT", "dependencies": { "openapi-fetch": "^0.13.5" @@ -2413,6 +2554,7 @@ "version": "0.32.1", "resolved": "https://registry.npmjs.org/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.32.1.tgz", "integrity": "sha512-MGmAo6qSjf1tuYXhCu2EZLftq+DSt5Z7fsIKr2P+lDgdTPWgLfZB1tJKzNcwKKOdf6q9Qmmxn7lJuI/gq5LrKw==", + "deprecated": "No longer maintained, superseded by https://docs.metamask.io/metamask-connect", "dependencies": { "@paulmillr/qr": "^0.2.1" } @@ -2421,6 +2563,7 @@ "version": "0.33.1", "resolved": "https://registry.npmjs.org/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.33.1.tgz", "integrity": "sha512-0bI9hkysxcfbZ/lk0T2+aKVo1j0ynQVTuB3sJ5ssPWlz+Z3VwveCkP1O7EVu1tsVVCb0YV5WxK9zmURu2FIiaA==", + "deprecated": "No longer maintained, superseded by https://docs.metamask.io/metamask-connect", "dependencies": { "@metamask/sdk-analytics": "0.0.5", "bufferutil": "^4.0.8", @@ -2437,6 +2580,15 @@ "socket.io-client": "^4.5.1" } }, + "node_modules/@metamask/sdk/node_modules/cross-fetch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.1.0.tgz", + "integrity": "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, "node_modules/@metamask/sdk/node_modules/date-fns": { "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", @@ -2490,6 +2642,25 @@ "node": ">= 6" } }, + "node_modules/@metamask/sdk/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/@metamask/sdk/node_modules/utf-8-validate": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", + "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, "node_modules/@metamask/sdk/node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -2612,9 +2783,9 @@ } }, "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==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz", + "integrity": "sha512-47XIizs9XZXvuJgoaJUIE2lFoID8ugvc0jzSHP+Ptfk8nTbnR8g788wv48N03Kx0UkAv559HWRQ3yzOgzlRNUA==", "license": "ISC", "engines": { "node": ">= 18" @@ -2633,10 +2804,20 @@ "@tybys/wasm-util": "^0.10.0" } }, + "node_modules/@next/bundle-analyzer": { + "version": "16.2.6", + "resolved": "https://registry.npmjs.org/@next/bundle-analyzer/-/bundle-analyzer-16.2.6.tgz", + "integrity": "sha512-amPkVtHCTJAdBwyhhl5+qztHk24O4JlASgrWqh15AmnYi74apfZR46NGC0u4pM6BMAU1mYld4WdzD3cRBP3dOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "webpack-bundle-analyzer": "4.10.1" + } + }, "node_modules/@next/env": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.1.tgz", - "integrity": "sha512-n8P/HCkIWW+gVal2Z8XqXJ6aB3J0tuM29OcHpCsobWlChH/SITBs1DFBk/HajgrwDkqqBXPbuUuzgDvUekREPg==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.4.tgz", + "integrity": "sha512-dKkkOzOSwFYe5RX6y26fZgkSpVAlIOJKQHIiydQcrWH6y/97+RceSOAdjZ14Qa3zLduVUy0TXcn+EiM6t4rPgw==", "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { @@ -2650,9 +2831,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.1.tgz", - "integrity": "sha512-BwZ8w8YTaSEr2HIuXLMLxIdElNMPvY9fLqb20LX9A9OMGtJilhHLbCL3ggyd0TwjmMcTxi0XXt+ur1vWUoxj2Q==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.4.tgz", + "integrity": "sha512-OXTFFox5EKN1Ym08vfrz+OXxmCcEjT4SFMbNRsWZE99dMqt2Kcusl5MqPXcW232RYkMLQTy0hqgAMEsfEd/l2A==", "cpu": [ "arm64" ], @@ -2666,9 +2847,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.1.tgz", - "integrity": "sha512-/vrcE6iQSJq3uL3VGVHiXeaKbn8Es10DGTGRJnRZlkNQQk3kaNtAJg8Y6xuAlrx/6INKVjkfi5rY0iEXorZ6uA==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.4.tgz", + "integrity": "sha512-XhpVnUfmYWvD3YrXu55XdcAkQtOnvaI6wtQa8fuF5fGoKoxIUZ0kWPtcOfqJEWngFF/lOS9l3+O9CcownhiQxQ==", "cpu": [ "x64" ], @@ -2682,9 +2863,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.1.tgz", - "integrity": "sha512-uLn+0BK+C31LTVbQ/QU+UaVrV0rRSJQ8RfniQAHPghDdgE+SlroYqcmFnO5iNjNfVWCyKZHYrs3Nl0mUzWxbBw==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.4.tgz", + "integrity": "sha512-Mx/tjlNA3G8kg14QvuGAJ4xBwPk1tUHq56JxZ8CXnZwz1Etz714soCEzGQQzVMz4bEnGPowzkV6Xrp6wAkEWOQ==", "cpu": [ "arm64" ], @@ -2698,9 +2879,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.1.tgz", - "integrity": "sha512-ssKq6iMRnHdnycGp9hCuGnXJZ0YPr4/wNwrfE5DbmvEcgl9+yv97/Kq3TPVDfYome1SW5geciLB9aiEqKXQjlQ==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.4.tgz", + "integrity": "sha512-iVMMp14514u7Nup2umQS03nT/bN9HurK8ufylC3FZNykrwjtx7V1A7+4kvhbDSCeonTVqV3Txnv0Lu+m2oDXNg==", "cpu": [ "arm64" ], @@ -2714,9 +2895,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.1.tgz", - "integrity": "sha512-HQm7SrHRELJ30T1TSmT706IWovFFSRGxfgUkyWJZF/RKBMdbdRWJuFrcpDdE5vy9UXjFOx6L3mRdqH04Mmx0hg==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.4.tgz", + "integrity": "sha512-EZOvm1aQWgnI/N/xcWOlnS3RQBk0VtVav5Zo7n4p0A7UKyTDx047k8opDbXgBpHl4CulRqRfbw3QrX2w5UOXMQ==", "cpu": [ "x64" ], @@ -2730,9 +2911,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.1.tgz", - "integrity": "sha512-aV2iUaC/5HGEpbBkE+4B8aHIudoOy5DYekAKOMSHoIYQ66y/wIVeaRx8MS2ZMdxe/HIXlMho4ubdZs/J8441Tg==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.4.tgz", + "integrity": "sha512-h9FxsngCm9cTBf71AR4fGznDEDx1hS7+kSEiIRjq5kO1oXWm07DxVGZjCvk0SGx7TSjlUqhI8oOyz7NfwAdPoA==", "cpu": [ "x64" ], @@ -2746,9 +2927,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.1.tgz", - "integrity": "sha512-IXdNgiDHaSk0ZUJ+xp0OQTdTgnpx1RCfRTalhn3cjOP+IddTMINwA7DXZrwTmGDO8SUr5q2hdP/du4DcrB1GxA==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.4.tgz", + "integrity": "sha512-3NdJV5OXMSOeJYijX+bjaLge3mJBlh4ybydbT4GFoB/2hAojWHtMhl3CYlYoMrjPuodp0nzFVi4Tj2+WaMg+Ow==", "cpu": [ "arm64" ], @@ -2762,9 +2943,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.1.tgz", - "integrity": "sha512-qvU+3a39Hay+ieIztkGSbF7+mccbbg1Tk25hc4JDylf8IHjYmY/Zm64Qq1602yPyQqvie+vf5T/uPwNxDNIoeg==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.4.tgz", + "integrity": "sha512-kMVGgsqhO5YTYODD9IPGGhA6iprWidQckK3LmPeW08PIFENRmgfb4MjXHO+p//d+ts2rpjvK5gXWzXSMrPl9cw==", "cpu": [ "x64" ], @@ -2865,9 +3046,9 @@ } }, "node_modules/@nx/nx-linux-x64-gnu": { - "version": "22.6.1", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.6.1.tgz", - "integrity": "sha512-6DhSupCcDa6BYzQ48qsMK4LIdIO+y4E+4xuUBkX2YTGOZh58gctELCv7Gi6/FhiC8rzVzM7hDcygOvHCGc30zA==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.7.0.tgz", + "integrity": "sha512-win7DkwxThhGWJlJ0s9HLxPzam/wz5MbQhKTQmLehHz8mgFJOu6MqzrccDxuT1E93dODedtxJuAyW4c80mpp4A==", "cpu": [ "x64" ], @@ -2896,6 +3077,13 @@ "lit": "^3" } }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, "node_modules/@radix-ui/number": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", @@ -2931,17 +3119,13 @@ } } }, - "node_modules/@radix-ui/react-avatar": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.11.tgz", - "integrity": "sha512-0Qk603AHGV28BOBO34p7IgD5m+V5Sg/YovfayABkoDDBM5d3NCx0Mp4gGrjzLGes1jV5eNOE1r3itqOR33VC6Q==", + "node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-context": "1.1.3", - "@radix-ui/react-primitive": "2.1.4", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-is-hydrated": "0.1.0", - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", @@ -2958,11 +3142,14 @@ } } }, - "node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.3.tgz", - "integrity": "sha512-ieIFACdMpYfMEjF0rEf5KLvfVyIkOz6PDGyNnP+u+4xQ6jny3VCgA4OgXOwNx2aUkxn8zx9fiVcM8CfFYv9Lxw==", + "node_modules/@radix-ui/react-arrow/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" @@ -2973,13 +3160,17 @@ } } }, - "node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", - "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", + "node_modules/@radix-ui/react-avatar": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.11.tgz", + "integrity": "sha512-0Qk603AHGV28BOBO34p7IgD5m+V5Sg/YovfayABkoDDBM5d3NCx0Mp4gGrjzLGes1jV5eNOE1r3itqOR33VC6Q==", "license": "MIT", "dependencies": { - "@radix-ui/react-slot": "1.2.4" + "@radix-ui/react-context": "1.1.3", + "@radix-ui/react-primitive": "2.1.4", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-is-hydrated": "0.1.0", + "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -3022,6 +3213,44 @@ } } }, + "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", @@ -3056,9 +3285,9 @@ } }, "node_modules/@radix-ui/react-context": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", - "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.3.tgz", + "integrity": "sha512-ieIFACdMpYfMEjF0rEf5KLvfVyIkOz6PDGyNnP+u+4xQ6jny3VCgA4OgXOwNx2aUkxn8zx9fiVcM8CfFYv9Lxw==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -3106,14 +3335,11 @@ } } }, - "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" @@ -3124,14 +3350,55 @@ } } }, - "node_modules/@radix-ui/react-direction": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", - "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3166,6 +3433,47 @@ } } }, + "node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-dropdown-menu": { "version": "2.1.16", "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.16.tgz", @@ -3195,6 +3503,62 @@ } } }, + "node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-focus-guards": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", @@ -3235,54 +3599,72 @@ } } }, - "node_modules/@radix-ui/react-id": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", - "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { "optional": true + }, + "@types/react-dom": { + "optional": true } } }, - "node_modules/@radix-ui/react-label": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.8.tgz", - "integrity": "sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A==", + "node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.1.4" + "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { "optional": true - }, - "@types/react-dom": { + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { "optional": true } } }, - "node_modules/@radix-ui/react-label/node_modules/@radix-ui/react-primitive": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", - "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", + "node_modules/@radix-ui/react-label": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.8.tgz", + "integrity": "sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A==", "license": "MIT", "dependencies": { - "@radix-ui/react-slot": "1.2.4" + "@radix-ui/react-primitive": "2.1.4" }, "peerDependencies": { "@types/react": "*", @@ -3339,6 +3721,44 @@ } } }, + "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", @@ -3394,14 +3814,11 @@ } } }, - "node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" @@ -3412,22 +3829,13 @@ } } }, - "node_modules/@radix-ui/react-popper": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz", - "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==", + "node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", "license": "MIT", "dependencies": { - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.1.7", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-layout-effect": "1.1.1", - "@radix-ui/react-use-rect": "1.1.1", - "@radix-ui/react-use-size": "1.1.1", - "@radix-ui/rect": "1.1.1" + "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", @@ -3444,14 +3852,40 @@ } } }, - "node_modules/@radix-ui/react-portal": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", - "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.8.tgz", + "integrity": "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==", "license": "MIT", "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-rect": "1.1.1", + "@radix-ui/react-use-size": "1.1.1", + "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -3468,13 +3902,69 @@ } } }, - "node_modules/@radix-ui/react-presence": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", - "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { @@ -3492,7 +3982,7 @@ } } }, - "node_modules/@radix-ui/react-primitive": { + "node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-primitive": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", @@ -3515,7 +4005,7 @@ } } }, - "node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot": { + "node_modules/@radix-ui/react-portal/node_modules/@radix-ui/react-slot": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", @@ -3533,6 +4023,53 @@ } } }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.4.tgz", + "integrity": "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-roving-focus": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz", @@ -3564,6 +4101,62 @@ } } }, + "node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-select": { "version": "2.2.6", "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.2.6.tgz", @@ -3607,6 +4200,44 @@ } } }, + "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", @@ -3673,10 +4304,10 @@ } } }, - "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", - "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -3688,18 +4319,74 @@ } } }, - "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", - "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-effect-event": "0.0.2", - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3761,15 +4448,6 @@ } } }, - "node_modules/@radix-ui/react-use-is-hydrated/node_modules/use-sync-external-store": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", - "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, "node_modules/@radix-ui/react-use-layout-effect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", @@ -3859,6 +4537,47 @@ } } }, + "node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden/node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@radix-ui/rect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.1.tgz", @@ -3866,67 +4585,67 @@ "license": "MIT" }, "node_modules/@reown/appkit": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@reown/appkit/-/appkit-1.8.1.tgz", - "integrity": "sha512-6asyPS7uHWNgTlMH2P4IqQVZKSW9NGb7XNA+nMLpHV2dMmXn0D+tpY0j4477DC/ekNCFK2bieVk4WsYgyd6jHg==", + "version": "1.8.17-wc-circular-dependencies-fix.0", + "resolved": "https://registry.npmjs.org/@reown/appkit/-/appkit-1.8.17-wc-circular-dependencies-fix.0.tgz", + "integrity": "sha512-7JjEp+JNxRUDOa7CxOCbUbG8uYVo38ojc9FN/fuzJuJADUzKDaH287MLV9qI1ZyQyXA8qXvhXRqjtw+3xo2/7A==", "hasInstallScript": true, - "license": "Apache-2.0", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@reown/appkit-common": "1.8.1", - "@reown/appkit-controllers": "1.8.1", - "@reown/appkit-pay": "1.8.1", - "@reown/appkit-polyfills": "1.8.1", - "@reown/appkit-scaffold-ui": "1.8.1", - "@reown/appkit-ui": "1.8.1", - "@reown/appkit-utils": "1.8.1", - "@reown/appkit-wallet": "1.8.1", - "@walletconnect/universal-provider": "2.21.7", + "@reown/appkit-common": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-controllers": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-pay": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-polyfills": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-scaffold-ui": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-ui": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-utils": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-wallet": "1.8.17-wc-circular-dependencies-fix.0", + "@walletconnect/universal-provider": "2.23.2", "bs58": "6.0.0", "semver": "7.7.2", - "valtio": "2.1.5", - "viem": ">=2.33.3" + "valtio": "2.1.7", + "viem": ">=2.37.9" }, "optionalDependencies": { "@lit/react": "1.0.8" } }, "node_modules/@reown/appkit-common": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@reown/appkit-common/-/appkit-common-1.8.1.tgz", - "integrity": "sha512-VhhMnmD7aUAHGgCLbkrlM3Ek99aIMZiduPqExNe/6L/sORrPPoChnBqjVEBP2g4bErVU2BFIFhxo5oIVuP0fTg==", - "license": "Apache-2.0", + "version": "1.8.17-wc-circular-dependencies-fix.0", + "resolved": "https://registry.npmjs.org/@reown/appkit-common/-/appkit-common-1.8.17-wc-circular-dependencies-fix.0.tgz", + "integrity": "sha512-wf53EzDmCJ5ICtDY5B1MddVeCwoqDGPVmaxD4wQJLR9uanhBXfKq1sJou+Uj8lZCyI72Z+r9YlsePOlYH2Ge3A==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "big.js": "6.2.2", "dayjs": "1.11.13", - "viem": ">=2.33.3" + "viem": ">=2.37.9" } }, "node_modules/@reown/appkit-controllers": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@reown/appkit-controllers/-/appkit-controllers-1.8.1.tgz", - "integrity": "sha512-k720RMJbXhTFrSsAZrvgu+WAF3Sk8d5iHXo1wKmfNXxzpXeF7f5DlWijye/r7nMVXQGbtZFkjTm54ti7+5UfjQ==", - "license": "Apache-2.0", + "version": "1.8.17-wc-circular-dependencies-fix.0", + "resolved": "https://registry.npmjs.org/@reown/appkit-controllers/-/appkit-controllers-1.8.17-wc-circular-dependencies-fix.0.tgz", + "integrity": "sha512-wY5yvMB0o2AwitwDHHO0u2tmqR+n3Crv0AHjIcY037PC3mhF9TPEUKqE9vlrFImQWQRxl0WRfuKfzmUAPxZExw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@reown/appkit-common": "1.8.1", - "@reown/appkit-wallet": "1.8.1", - "@walletconnect/universal-provider": "2.21.7", - "valtio": "2.1.5", - "viem": ">=2.33.3" + "@reown/appkit-common": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-wallet": "1.8.17-wc-circular-dependencies-fix.0", + "@walletconnect/universal-provider": "2.23.2", + "valtio": "2.1.7", + "viem": ">=2.37.9" } }, - "node_modules/@reown/appkit-controllers/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" - }, + "node_modules/@reown/appkit-controllers/node_modules/@adraffy/ens-normalize": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz", + "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", + "license": "MIT" + }, + "node_modules/@reown/appkit-controllers/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": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">= 18" } }, "node_modules/@reown/appkit-controllers/node_modules/@scure/bip32": { @@ -3957,10 +4676,10 @@ } }, "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/core": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.21.7.tgz", - "integrity": "sha512-q/Au5Ne3g4R+q4GvHR5cvRd3+ha00QZCZiCs058lmy+eDbiZd0YsautvTPJ5a2guD6UaS1k/w5e1JHgixdcgLA==", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.23.2.tgz", + "integrity": "sha512-KkaTELRu8t/mt3J9doCQ1fBGCbYsCNfpo2JpKdCwKQR7PVjVKeVpYQK/blVkA5m6uLPpBtVRbOMKjnHW1m7JLw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@walletconnect/heartbeat": "1.2.2", "@walletconnect/jsonrpc-provider": "1.0.14", @@ -3968,70 +4687,58 @@ "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/jsonrpc-ws-connection": "1.0.16", "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "2.1.2", + "@walletconnect/logger": "3.0.2", "@walletconnect/relay-api": "1.0.11", "@walletconnect/relay-auth": "1.1.0", "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.7", - "@walletconnect/utils": "2.21.7", + "@walletconnect/types": "2.23.2", + "@walletconnect/utils": "2.23.2", "@walletconnect/window-getters": "1.0.1", "es-toolkit": "1.39.3", "events": "3.3.0", "uint8arrays": "3.1.1" }, "engines": { - "node": ">=18" - } - }, - "node_modules/@reown/appkit-controllers/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", - "pino": "7.11.0" + "node": ">=18.20.8" } }, "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/sign-client": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.21.7.tgz", - "integrity": "sha512-9k/JEl9copR6nXRhqnmzWz2Zk1hiWysH+o6bp6Cqo8TgDUrZoMLBZMZ6qbo+2HLI54V02kKf0Vg8M81nNFOpjQ==", - "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.23.2.tgz", + "integrity": "sha512-LL5KgmJHvY5NqQn+ZHQJLia1p6fpUWXHtiG97S5rNfyuPx6gT/Jkkwqc2LwdmAjFkr61t8zTagHC9ETq203mNA==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@walletconnect/core": "2.21.7", + "@walletconnect/core": "2.23.2", "@walletconnect/events": "1.0.1", "@walletconnect/heartbeat": "1.2.2", "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/logger": "2.1.2", + "@walletconnect/logger": "3.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.7", - "@walletconnect/utils": "2.21.7", + "@walletconnect/types": "2.23.2", + "@walletconnect/utils": "2.23.2", "events": "3.3.0" } }, "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/types": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.21.7.tgz", - "integrity": "sha512-kyGnFje4Iq+XGkZZcSoAIrJWBE4BeghVW4O7n9e1MhUyeOOtO55M/kcqceNGYrvwjHvdN+Kf+aoLnKC0zKlpbQ==", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.23.2.tgz", + "integrity": "sha512-5dxBCdUM+4Dqe1/A7uqkm2tWPXce4UUGSr+ImfI0YjwEExQS8+TzdOlhMt3n32ncnBCllU5paG+fsndT06R0iw==", + "license": "SEE LICENSE IN LICENSE.md", "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", + "@walletconnect/logger": "3.0.2", "events": "3.3.0" } }, "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/universal-provider": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.21.7.tgz", - "integrity": "sha512-8PB+vA5VuR9PBqt5Y0xj4JC2doYNPlXLGQt3wJORVF9QC227Mm/8R1CAKpmneeLrUH02LkSRwx+wnN/pPnDiQA==", - "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.23.2.tgz", + "integrity": "sha512-vs9iorPUAiVesFJ95O6XvLjmRgF+B2TspxJNL90ZULbrkRw4JFsmaRdb965PZKc+s182k1MkS/MQ0o964xRcEw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@walletconnect/events": "1.0.1", "@walletconnect/jsonrpc-http-connection": "1.0.8", @@ -4039,98 +4746,53 @@ "@walletconnect/jsonrpc-types": "1.0.4", "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "2.1.2", - "@walletconnect/sign-client": "2.21.7", - "@walletconnect/types": "2.21.7", - "@walletconnect/utils": "2.21.7", + "@walletconnect/logger": "3.0.2", + "@walletconnect/sign-client": "2.23.2", + "@walletconnect/types": "2.23.2", + "@walletconnect/utils": "2.23.2", "es-toolkit": "1.39.3", "events": "3.3.0" } }, "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/utils": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.21.7.tgz", - "integrity": "sha512-qyaclTgcFf9AwVuoV8CLLg8wfH3nX7yZdpylNkDqCpS7wawQL9zmFFTaGgma8sQrCsd3Sd9jUIymcpRvCJnSTw==", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.23.2.tgz", + "integrity": "sha512-ReSjU3kX+3i3tYJQZbVfetY5SSUL+iM6uiIVVD1PJalePa/5A40VgLVRTF7sDCJTIFfpf3Mt4bFjeaYuoxWtIw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@msgpack/msgpack": "3.1.2", "@noble/ciphers": "1.3.0", - "@noble/curves": "1.9.2", + "@noble/curves": "1.9.7", "@noble/hashes": "1.8.0", "@scure/base": "1.2.6", "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "3.0.2", "@walletconnect/relay-api": "1.0.11", "@walletconnect/relay-auth": "1.1.0", "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.7", + "@walletconnect/types": "2.23.2", "@walletconnect/window-getters": "1.0.1", "@walletconnect/window-metadata": "1.0.1", "blakejs": "1.2.1", "bs58": "6.0.0", "detect-browser": "5.3.0", - "query-string": "7.1.3", - "uint8arrays": "3.1.1", - "viem": "2.31.0" - } - }, - "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/utils/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", - "url": "https://github.com/sponsors/wevm" - } - ], - "license": "MIT", - "dependencies": { - "@noble/curves": "1.9.1", - "@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.7.1", - "ws": "8.18.2" - }, - "peerDependencies": { - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@reown/appkit-controllers/node_modules/@walletconnect/utils/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" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "ox": "0.9.3", + "uint8arrays": "3.1.1" } }, "node_modules/@reown/appkit-controllers/node_modules/abitype": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz", - "integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.2.4.tgz", + "integrity": "sha512-dpKH+N27vRjarMVTFFkeY445VTKftzGWpL0FiT7xmVmzQRKazZexzC5uHG0f6XKsVLAuUlndnbGau6lRejClxg==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/wevm" }, "peerDependencies": { "typescript": ">=5.0.4", - "zod": "^3 >=3.22.0" + "zod": "^3.22.0 || ^4.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -4156,16 +4818,20 @@ "base-x": "^5.0.0" } }, - "node_modules/@reown/appkit-controllers/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/@reown/appkit-controllers/node_modules/es-toolkit": { + "version": "1.39.3", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.39.3.tgz", + "integrity": "sha512-Qb/TCFCldgOy8lZ5uC7nLGdqJwSabkQiYQShmw4jyiPk1pZzaYWTwaYKYP7EgLccWYgZocMrtItrwh683voaww==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] }, "node_modules/@reown/appkit-controllers/node_modules/ox": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.7.1.tgz", - "integrity": "sha512-+k9fY9PRNuAMHRFIUbiK9Nt5seYHHzSQs9Bj+iMETcGtlpS7SmBzcGSVUQO3+nqGLEiNK4598pHNFlVRaZbRsg==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.9.3.tgz", + "integrity": "sha512-KzyJP+fPV4uhuuqrTZyok4DC7vFzi7HLUFiUNEmpbyh59htKWkOC98IONC1zgXJPbHAhQgqs6B0Z6StCGhmQvg==", "funding": [ { "type": "github", @@ -4174,13 +4840,13 @@ ], "license": "MIT", "dependencies": { - "@adraffy/ens-normalize": "^1.10.1", + "@adraffy/ens-normalize": "^1.11.0", "@noble/ciphers": "^1.3.0", - "@noble/curves": "^1.6.0", - "@noble/hashes": "^1.5.0", - "@scure/bip32": "^1.5.0", - "@scure/bip39": "^1.4.0", - "abitype": "^1.0.6", + "@noble/curves": "1.9.1", + "@noble/hashes": "^1.8.0", + "@scure/bip32": "^1.7.0", + "@scure/bip39": "^1.6.0", + "abitype": "^1.0.9", "eventemitter3": "5.0.1" }, "peerDependencies": { @@ -4192,193 +4858,111 @@ } } }, - "node_modules/@reown/appkit-controllers/node_modules/pino": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", - "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "node_modules/@reown/appkit-controllers/node_modules/ox/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": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.0.0", - "on-exit-leak-free": "^0.2.0", - "pino-abstract-transport": "v0.5.0", - "pino-std-serializers": "^4.0.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.1.0", - "safe-stable-stringify": "^2.1.0", - "sonic-boom": "^2.2.1", - "thread-stream": "^0.15.1" + "@noble/hashes": "1.8.0" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@reown/appkit-controllers/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", + "node_modules/@reown/appkit-pay": { + "version": "1.8.17-wc-circular-dependencies-fix.0", + "resolved": "https://registry.npmjs.org/@reown/appkit-pay/-/appkit-pay-1.8.17-wc-circular-dependencies-fix.0.tgz", + "integrity": "sha512-sVE8UT7CDA8zsg3opvbGjSZHSnohOVPF77vP6Ln4G0+vfoiXNhZaZa89Pg0MDjh+KGy0OulWVUdXuZ9jJQFvPg==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "duplexify": "^4.1.2", - "split2": "^4.0.0" - } - }, - "node_modules/@reown/appkit-controllers/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/@reown/appkit-controllers/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/@reown/appkit-controllers/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" + "@reown/appkit-common": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-controllers": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-ui": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-utils": "1.8.17-wc-circular-dependencies-fix.0", + "lit": "3.3.0", + "valtio": "2.1.7" } }, - "node_modules/@reown/appkit-controllers/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", + "node_modules/@reown/appkit-polyfills": { + "version": "1.8.17-wc-circular-dependencies-fix.0", + "resolved": "https://registry.npmjs.org/@reown/appkit-polyfills/-/appkit-polyfills-1.8.17-wc-circular-dependencies-fix.0.tgz", + "integrity": "sha512-OyYavslCegfUlKu8Ah6BZhbqQrK7bImvUm+EKjjvnfNN9J0F9uWMFwbTpZxenBcfAI6cyaD9aTTUunMn5no1Og==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "atomic-sleep": "^1.0.0" - } - }, - "node_modules/@reown/appkit-controllers/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" - } - }, - "node_modules/@reown/appkit-controllers/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/@reown/appkit-controllers/node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "license": "MIT", - "optional": true, - "peer": true, - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/@reown/appkit-pay": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@reown/appkit-pay/-/appkit-pay-1.8.1.tgz", - "integrity": "sha512-5NM01g0ygtiGsPUR9N/GaBwyAtZir1Bg+iHZLUNrWOOS36dycEv2bOY1YvrCNgC9sWkQIMr4wiyukiybk3BANQ==", - "license": "Apache-2.0", - "dependencies": { - "@reown/appkit-common": "1.8.1", - "@reown/appkit-controllers": "1.8.1", - "@reown/appkit-ui": "1.8.1", - "@reown/appkit-utils": "1.8.1", - "lit": "3.3.0", - "valtio": "2.1.5" - } - }, - "node_modules/@reown/appkit-polyfills": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@reown/appkit-polyfills/-/appkit-polyfills-1.8.1.tgz", - "integrity": "sha512-jr3m9x1yFyU2W7re551p6mxd5YpxCwfil/bG2ZrFADFwwDXLEYyz1MvXnP2ZJ57WNyFelm9kwB8xFQLqoZwZ8A==", - "license": "Apache-2.0", - "dependencies": { - "buffer": "6.0.3" + "buffer": "6.0.3" } }, "node_modules/@reown/appkit-scaffold-ui": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@reown/appkit-scaffold-ui/-/appkit-scaffold-ui-1.8.1.tgz", - "integrity": "sha512-NrjlEU69+yePbJKrnFl7k7cynl0nthQ4E84POL3TVyuLh894KjSzfHkqmP603R49sYVzuczP3JxMRjsrXXQ2vw==", - "license": "Apache-2.0", + "version": "1.8.17-wc-circular-dependencies-fix.0", + "resolved": "https://registry.npmjs.org/@reown/appkit-scaffold-ui/-/appkit-scaffold-ui-1.8.17-wc-circular-dependencies-fix.0.tgz", + "integrity": "sha512-f+SYFGDy+uY1EAvWcH6vZgga1bOuzBvYSKYiRX2QQy8INtZqwwiLLvS4cgm5Yp1WvYRal5RdfZkKl5qha498gw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@reown/appkit-common": "1.8.1", - "@reown/appkit-controllers": "1.8.1", - "@reown/appkit-ui": "1.8.1", - "@reown/appkit-utils": "1.8.1", - "@reown/appkit-wallet": "1.8.1", + "@reown/appkit-common": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-controllers": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-pay": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-ui": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-utils": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-wallet": "1.8.17-wc-circular-dependencies-fix.0", "lit": "3.3.0" } }, "node_modules/@reown/appkit-ui": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@reown/appkit-ui/-/appkit-ui-1.8.1.tgz", - "integrity": "sha512-iWY1zufKj+gDjQ7zxgnFBj+qJ+9gvN0mJWt5r0P1HYemiIV3VP7HUTxgOqTqTW3ggs4RzQy2sVY0Pli7V6m+1Q==", - "license": "Apache-2.0", + "version": "1.8.17-wc-circular-dependencies-fix.0", + "resolved": "https://registry.npmjs.org/@reown/appkit-ui/-/appkit-ui-1.8.17-wc-circular-dependencies-fix.0.tgz", + "integrity": "sha512-E1u2ZVZV0iFDSgrgtdQTZAXNbI+Lakj8E8V+jJQ47JaEVKv9SROvPu2fVqfIrqHQF68NmAk1dnbYi4luOiM0Fg==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@phosphor-icons/webcomponents": "2.1.5", - "@reown/appkit-common": "1.8.1", - "@reown/appkit-controllers": "1.8.1", - "@reown/appkit-wallet": "1.8.1", + "@reown/appkit-common": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-controllers": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-wallet": "1.8.17-wc-circular-dependencies-fix.0", "lit": "3.3.0", "qrcode": "1.5.3" } }, "node_modules/@reown/appkit-utils": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@reown/appkit-utils/-/appkit-utils-1.8.1.tgz", - "integrity": "sha512-WK+Fy17Qv4Vdx/L9gvCoBd3oikONIcrfkGmstk83+lQcM0krNHLPEA2gWytBOtetW+1bt+IwTaF2m4PKCrgIDw==", - "license": "Apache-2.0", + "version": "1.8.17-wc-circular-dependencies-fix.0", + "resolved": "https://registry.npmjs.org/@reown/appkit-utils/-/appkit-utils-1.8.17-wc-circular-dependencies-fix.0.tgz", + "integrity": "sha512-9El8sYbXDaMYxg4R6LujA965yYQGjNcPMXqympLtzNl1es5qkniW7eAdEpLmZrsaqNrfTaHT1G65wYy7sA595w==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@reown/appkit-common": "1.8.1", - "@reown/appkit-controllers": "1.8.1", - "@reown/appkit-polyfills": "1.8.1", - "@reown/appkit-wallet": "1.8.1", + "@reown/appkit-common": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-controllers": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-polyfills": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-wallet": "1.8.17-wc-circular-dependencies-fix.0", "@wallet-standard/wallet": "1.1.0", - "@walletconnect/logger": "2.1.2", - "@walletconnect/universal-provider": "2.21.7", - "valtio": "2.1.5", - "viem": ">=2.33.3" + "@walletconnect/logger": "3.0.2", + "@walletconnect/universal-provider": "2.23.2", + "valtio": "2.1.7", + "viem": ">=2.37.9" + }, + "optionalDependencies": { + "@base-org/account": "2.4.0", + "@safe-global/safe-apps-provider": "0.18.6", + "@safe-global/safe-apps-sdk": "9.1.0" }, "peerDependencies": { - "valtio": "2.1.5" + "valtio": "2.1.7" } }, - "node_modules/@reown/appkit-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" - }, + "node_modules/@reown/appkit-utils/node_modules/@adraffy/ens-normalize": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz", + "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", + "license": "MIT" + }, + "node_modules/@reown/appkit-utils/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": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">= 18" } }, "node_modules/@reown/appkit-utils/node_modules/@scure/bip32": { @@ -4409,10 +4993,10 @@ } }, "node_modules/@reown/appkit-utils/node_modules/@walletconnect/core": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.21.7.tgz", - "integrity": "sha512-q/Au5Ne3g4R+q4GvHR5cvRd3+ha00QZCZiCs058lmy+eDbiZd0YsautvTPJ5a2guD6UaS1k/w5e1JHgixdcgLA==", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.23.2.tgz", + "integrity": "sha512-KkaTELRu8t/mt3J9doCQ1fBGCbYsCNfpo2JpKdCwKQR7PVjVKeVpYQK/blVkA5m6uLPpBtVRbOMKjnHW1m7JLw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@walletconnect/heartbeat": "1.2.2", "@walletconnect/jsonrpc-provider": "1.0.14", @@ -4420,70 +5004,58 @@ "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/jsonrpc-ws-connection": "1.0.16", "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "2.1.2", + "@walletconnect/logger": "3.0.2", "@walletconnect/relay-api": "1.0.11", "@walletconnect/relay-auth": "1.1.0", "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.7", - "@walletconnect/utils": "2.21.7", + "@walletconnect/types": "2.23.2", + "@walletconnect/utils": "2.23.2", "@walletconnect/window-getters": "1.0.1", "es-toolkit": "1.39.3", "events": "3.3.0", "uint8arrays": "3.1.1" }, "engines": { - "node": ">=18" - } - }, - "node_modules/@reown/appkit-utils/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", - "pino": "7.11.0" + "node": ">=18.20.8" } }, "node_modules/@reown/appkit-utils/node_modules/@walletconnect/sign-client": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.21.7.tgz", - "integrity": "sha512-9k/JEl9copR6nXRhqnmzWz2Zk1hiWysH+o6bp6Cqo8TgDUrZoMLBZMZ6qbo+2HLI54V02kKf0Vg8M81nNFOpjQ==", - "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.23.2.tgz", + "integrity": "sha512-LL5KgmJHvY5NqQn+ZHQJLia1p6fpUWXHtiG97S5rNfyuPx6gT/Jkkwqc2LwdmAjFkr61t8zTagHC9ETq203mNA==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@walletconnect/core": "2.21.7", + "@walletconnect/core": "2.23.2", "@walletconnect/events": "1.0.1", "@walletconnect/heartbeat": "1.2.2", "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/logger": "2.1.2", + "@walletconnect/logger": "3.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.7", - "@walletconnect/utils": "2.21.7", + "@walletconnect/types": "2.23.2", + "@walletconnect/utils": "2.23.2", "events": "3.3.0" } }, "node_modules/@reown/appkit-utils/node_modules/@walletconnect/types": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.21.7.tgz", - "integrity": "sha512-kyGnFje4Iq+XGkZZcSoAIrJWBE4BeghVW4O7n9e1MhUyeOOtO55M/kcqceNGYrvwjHvdN+Kf+aoLnKC0zKlpbQ==", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.23.2.tgz", + "integrity": "sha512-5dxBCdUM+4Dqe1/A7uqkm2tWPXce4UUGSr+ImfI0YjwEExQS8+TzdOlhMt3n32ncnBCllU5paG+fsndT06R0iw==", + "license": "SEE LICENSE IN LICENSE.md", "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", + "@walletconnect/logger": "3.0.2", "events": "3.3.0" } }, "node_modules/@reown/appkit-utils/node_modules/@walletconnect/universal-provider": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.21.7.tgz", - "integrity": "sha512-8PB+vA5VuR9PBqt5Y0xj4JC2doYNPlXLGQt3wJORVF9QC227Mm/8R1CAKpmneeLrUH02LkSRwx+wnN/pPnDiQA==", - "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.23.2.tgz", + "integrity": "sha512-vs9iorPUAiVesFJ95O6XvLjmRgF+B2TspxJNL90ZULbrkRw4JFsmaRdb965PZKc+s182k1MkS/MQ0o964xRcEw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@walletconnect/events": "1.0.1", "@walletconnect/jsonrpc-http-connection": "1.0.8", @@ -4491,98 +5063,53 @@ "@walletconnect/jsonrpc-types": "1.0.4", "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "2.1.2", - "@walletconnect/sign-client": "2.21.7", - "@walletconnect/types": "2.21.7", - "@walletconnect/utils": "2.21.7", + "@walletconnect/logger": "3.0.2", + "@walletconnect/sign-client": "2.23.2", + "@walletconnect/types": "2.23.2", + "@walletconnect/utils": "2.23.2", "es-toolkit": "1.39.3", "events": "3.3.0" } }, "node_modules/@reown/appkit-utils/node_modules/@walletconnect/utils": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.21.7.tgz", - "integrity": "sha512-qyaclTgcFf9AwVuoV8CLLg8wfH3nX7yZdpylNkDqCpS7wawQL9zmFFTaGgma8sQrCsd3Sd9jUIymcpRvCJnSTw==", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.23.2.tgz", + "integrity": "sha512-ReSjU3kX+3i3tYJQZbVfetY5SSUL+iM6uiIVVD1PJalePa/5A40VgLVRTF7sDCJTIFfpf3Mt4bFjeaYuoxWtIw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@msgpack/msgpack": "3.1.2", "@noble/ciphers": "1.3.0", - "@noble/curves": "1.9.2", + "@noble/curves": "1.9.7", "@noble/hashes": "1.8.0", "@scure/base": "1.2.6", "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "3.0.2", "@walletconnect/relay-api": "1.0.11", "@walletconnect/relay-auth": "1.1.0", "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.7", + "@walletconnect/types": "2.23.2", "@walletconnect/window-getters": "1.0.1", "@walletconnect/window-metadata": "1.0.1", "blakejs": "1.2.1", "bs58": "6.0.0", "detect-browser": "5.3.0", - "query-string": "7.1.3", - "uint8arrays": "3.1.1", - "viem": "2.31.0" - } - }, - "node_modules/@reown/appkit-utils/node_modules/@walletconnect/utils/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", - "url": "https://github.com/sponsors/wevm" - } - ], - "license": "MIT", - "dependencies": { - "@noble/curves": "1.9.1", - "@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.7.1", - "ws": "8.18.2" - }, - "peerDependencies": { - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@reown/appkit-utils/node_modules/@walletconnect/utils/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" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "ox": "0.9.3", + "uint8arrays": "3.1.1" } }, "node_modules/@reown/appkit-utils/node_modules/abitype": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz", - "integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.2.4.tgz", + "integrity": "sha512-dpKH+N27vRjarMVTFFkeY445VTKftzGWpL0FiT7xmVmzQRKazZexzC5uHG0f6XKsVLAuUlndnbGau6lRejClxg==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/wevm" }, "peerDependencies": { "typescript": ">=5.0.4", - "zod": "^3 >=3.22.0" + "zod": "^3.22.0 || ^4.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -4608,16 +5135,20 @@ "base-x": "^5.0.0" } }, - "node_modules/@reown/appkit-utils/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/@reown/appkit-utils/node_modules/es-toolkit": { + "version": "1.39.3", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.39.3.tgz", + "integrity": "sha512-Qb/TCFCldgOy8lZ5uC7nLGdqJwSabkQiYQShmw4jyiPk1pZzaYWTwaYKYP7EgLccWYgZocMrtItrwh683voaww==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] }, "node_modules/@reown/appkit-utils/node_modules/ox": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.7.1.tgz", - "integrity": "sha512-+k9fY9PRNuAMHRFIUbiK9Nt5seYHHzSQs9Bj+iMETcGtlpS7SmBzcGSVUQO3+nqGLEiNK4598pHNFlVRaZbRsg==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.9.3.tgz", + "integrity": "sha512-KzyJP+fPV4uhuuqrTZyok4DC7vFzi7HLUFiUNEmpbyh59htKWkOC98IONC1zgXJPbHAhQgqs6B0Z6StCGhmQvg==", "funding": [ { "type": "github", @@ -4626,13 +5157,13 @@ ], "license": "MIT", "dependencies": { - "@adraffy/ens-normalize": "^1.10.1", + "@adraffy/ens-normalize": "^1.11.0", "@noble/ciphers": "^1.3.0", - "@noble/curves": "^1.6.0", - "@noble/hashes": "^1.5.0", - "@scure/bip32": "^1.5.0", - "@scure/bip39": "^1.4.0", - "abitype": "^1.0.6", + "@noble/curves": "1.9.1", + "@noble/hashes": "^1.8.0", + "@scure/bip32": "^1.7.0", + "@scure/bip39": "^1.6.0", + "abitype": "^1.0.9", "eventemitter3": "5.0.1" }, "peerDependencies": { @@ -4644,264 +5175,89 @@ } } }, - "node_modules/@reown/appkit-utils/node_modules/pino": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", - "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "node_modules/@reown/appkit-utils/node_modules/ox/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": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.0.0", - "on-exit-leak-free": "^0.2.0", - "pino-abstract-transport": "v0.5.0", - "pino-std-serializers": "^4.0.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.1.0", - "safe-stable-stringify": "^2.1.0", - "sonic-boom": "^2.2.1", - "thread-stream": "^0.15.1" + "@noble/hashes": "1.8.0" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@reown/appkit-utils/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", + "node_modules/@reown/appkit-wallet": { + "version": "1.8.17-wc-circular-dependencies-fix.0", + "resolved": "https://registry.npmjs.org/@reown/appkit-wallet/-/appkit-wallet-1.8.17-wc-circular-dependencies-fix.0.tgz", + "integrity": "sha512-s0RTVNtgPtXGs+eZELVvTu1FRLuN15MyhVS//3/4XafVQkBBJarciXk9pFP71xeSHRzjYR1lXHnVw28687cUvQ==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "duplexify": "^4.1.2", - "split2": "^4.0.0" + "@reown/appkit-common": "1.8.17-wc-circular-dependencies-fix.0", + "@reown/appkit-polyfills": "1.8.17-wc-circular-dependencies-fix.0", + "@walletconnect/logger": "3.0.2", + "zod": "3.22.4" } }, - "node_modules/@reown/appkit-utils/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/@reown/appkit-wallet/node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } }, - "node_modules/@reown/appkit-utils/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==", + "node_modules/@reown/appkit/node_modules/@adraffy/ens-normalize": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz", + "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", "license": "MIT" }, - "node_modules/@reown/appkit-utils/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", + "node_modules/@reown/appkit/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": ">= 12.13.0" + "node": ">= 18" } }, - "node_modules/@reown/appkit-utils/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==", + "node_modules/@reown/appkit/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": { - "atomic-sleep": "^1.0.0" + "@noble/curves": "~1.9.0", + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@reown/appkit-utils/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==", + "node_modules/@reown/appkit/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": { - "real-require": "^0.1.0" - } - }, - "node_modules/@reown/appkit-utils/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" + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@reown/appkit-utils/node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "license": "MIT", - "optional": true, - "peer": true, "funding": { - "url": "https://github.com/sponsors/colinhacks" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@reown/appkit-wallet": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@reown/appkit-wallet/-/appkit-wallet-1.8.1.tgz", - "integrity": "sha512-luqzVqQdY+WlxFTQsH0RK53dAYhNfIyyimSkkIcNCnMIWYfq2xseeaKeSwViF+af1ae7tYEqZdq/6ohbMizPaw==", - "license": "Apache-2.0", - "dependencies": { - "@reown/appkit-common": "1.8.1", - "@reown/appkit-polyfills": "1.8.1", - "@walletconnect/logger": "2.1.2", - "zod": "3.22.4" - } - }, - "node_modules/@reown/appkit-wallet/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", - "pino": "7.11.0" - } - }, - "node_modules/@reown/appkit-wallet/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/@reown/appkit-wallet/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", - "fast-redact": "^3.0.0", - "on-exit-leak-free": "^0.2.0", - "pino-abstract-transport": "v0.5.0", - "pino-std-serializers": "^4.0.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.1.0", - "safe-stable-stringify": "^2.1.0", - "sonic-boom": "^2.2.1", - "thread-stream": "^0.15.1" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/@reown/appkit-wallet/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", - "split2": "^4.0.0" - } - }, - "node_modules/@reown/appkit-wallet/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/@reown/appkit-wallet/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/@reown/appkit-wallet/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" - } - }, - "node_modules/@reown/appkit-wallet/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" - } - }, - "node_modules/@reown/appkit-wallet/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" - } - }, - "node_modules/@reown/appkit-wallet/node_modules/zod": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", - "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/@reown/appkit/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/@reown/appkit/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/@reown/appkit/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/@reown/appkit/node_modules/@walletconnect/core": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.21.7.tgz", - "integrity": "sha512-q/Au5Ne3g4R+q4GvHR5cvRd3+ha00QZCZiCs058lmy+eDbiZd0YsautvTPJ5a2guD6UaS1k/w5e1JHgixdcgLA==", - "license": "Apache-2.0", + "node_modules/@reown/appkit/node_modules/@walletconnect/core": { + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.23.2.tgz", + "integrity": "sha512-KkaTELRu8t/mt3J9doCQ1fBGCbYsCNfpo2JpKdCwKQR7PVjVKeVpYQK/blVkA5m6uLPpBtVRbOMKjnHW1m7JLw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@walletconnect/heartbeat": "1.2.2", "@walletconnect/jsonrpc-provider": "1.0.14", @@ -4909,70 +5265,58 @@ "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/jsonrpc-ws-connection": "1.0.16", "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "2.1.2", + "@walletconnect/logger": "3.0.2", "@walletconnect/relay-api": "1.0.11", "@walletconnect/relay-auth": "1.1.0", "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.7", - "@walletconnect/utils": "2.21.7", + "@walletconnect/types": "2.23.2", + "@walletconnect/utils": "2.23.2", "@walletconnect/window-getters": "1.0.1", "es-toolkit": "1.39.3", "events": "3.3.0", "uint8arrays": "3.1.1" }, "engines": { - "node": ">=18" - } - }, - "node_modules/@reown/appkit/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", - "pino": "7.11.0" + "node": ">=18.20.8" } }, "node_modules/@reown/appkit/node_modules/@walletconnect/sign-client": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.21.7.tgz", - "integrity": "sha512-9k/JEl9copR6nXRhqnmzWz2Zk1hiWysH+o6bp6Cqo8TgDUrZoMLBZMZ6qbo+2HLI54V02kKf0Vg8M81nNFOpjQ==", - "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.23.2.tgz", + "integrity": "sha512-LL5KgmJHvY5NqQn+ZHQJLia1p6fpUWXHtiG97S5rNfyuPx6gT/Jkkwqc2LwdmAjFkr61t8zTagHC9ETq203mNA==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@walletconnect/core": "2.21.7", + "@walletconnect/core": "2.23.2", "@walletconnect/events": "1.0.1", "@walletconnect/heartbeat": "1.2.2", "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/logger": "2.1.2", + "@walletconnect/logger": "3.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.7", - "@walletconnect/utils": "2.21.7", + "@walletconnect/types": "2.23.2", + "@walletconnect/utils": "2.23.2", "events": "3.3.0" } }, "node_modules/@reown/appkit/node_modules/@walletconnect/types": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.21.7.tgz", - "integrity": "sha512-kyGnFje4Iq+XGkZZcSoAIrJWBE4BeghVW4O7n9e1MhUyeOOtO55M/kcqceNGYrvwjHvdN+Kf+aoLnKC0zKlpbQ==", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.23.2.tgz", + "integrity": "sha512-5dxBCdUM+4Dqe1/A7uqkm2tWPXce4UUGSr+ImfI0YjwEExQS8+TzdOlhMt3n32ncnBCllU5paG+fsndT06R0iw==", + "license": "SEE LICENSE IN LICENSE.md", "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", + "@walletconnect/logger": "3.0.2", "events": "3.3.0" } }, "node_modules/@reown/appkit/node_modules/@walletconnect/universal-provider": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.21.7.tgz", - "integrity": "sha512-8PB+vA5VuR9PBqt5Y0xj4JC2doYNPlXLGQt3wJORVF9QC227Mm/8R1CAKpmneeLrUH02LkSRwx+wnN/pPnDiQA==", - "deprecated": "Reliability and performance improvements. See: https://github.com/WalletConnect/walletconnect-monorepo/releases", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.23.2.tgz", + "integrity": "sha512-vs9iorPUAiVesFJ95O6XvLjmRgF+B2TspxJNL90ZULbrkRw4JFsmaRdb965PZKc+s182k1MkS/MQ0o964xRcEw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@walletconnect/events": "1.0.1", "@walletconnect/jsonrpc-http-connection": "1.0.8", @@ -4980,98 +5324,53 @@ "@walletconnect/jsonrpc-types": "1.0.4", "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "2.1.2", - "@walletconnect/sign-client": "2.21.7", - "@walletconnect/types": "2.21.7", - "@walletconnect/utils": "2.21.7", + "@walletconnect/logger": "3.0.2", + "@walletconnect/sign-client": "2.23.2", + "@walletconnect/types": "2.23.2", + "@walletconnect/utils": "2.23.2", "es-toolkit": "1.39.3", "events": "3.3.0" } }, "node_modules/@reown/appkit/node_modules/@walletconnect/utils": { - "version": "2.21.7", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.21.7.tgz", - "integrity": "sha512-qyaclTgcFf9AwVuoV8CLLg8wfH3nX7yZdpylNkDqCpS7wawQL9zmFFTaGgma8sQrCsd3Sd9jUIymcpRvCJnSTw==", - "license": "Apache-2.0", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.23.2.tgz", + "integrity": "sha512-ReSjU3kX+3i3tYJQZbVfetY5SSUL+iM6uiIVVD1PJalePa/5A40VgLVRTF7sDCJTIFfpf3Mt4bFjeaYuoxWtIw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@msgpack/msgpack": "3.1.2", "@noble/ciphers": "1.3.0", - "@noble/curves": "1.9.2", + "@noble/curves": "1.9.7", "@noble/hashes": "1.8.0", "@scure/base": "1.2.6", "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "3.0.2", "@walletconnect/relay-api": "1.0.11", "@walletconnect/relay-auth": "1.1.0", "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.7", + "@walletconnect/types": "2.23.2", "@walletconnect/window-getters": "1.0.1", "@walletconnect/window-metadata": "1.0.1", "blakejs": "1.2.1", "bs58": "6.0.0", "detect-browser": "5.3.0", - "query-string": "7.1.3", - "uint8arrays": "3.1.1", - "viem": "2.31.0" - } - }, - "node_modules/@reown/appkit/node_modules/@walletconnect/utils/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", - "url": "https://github.com/sponsors/wevm" - } - ], - "license": "MIT", - "dependencies": { - "@noble/curves": "1.9.1", - "@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.7.1", - "ws": "8.18.2" - }, - "peerDependencies": { - "typescript": ">=5.0.4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@reown/appkit/node_modules/@walletconnect/utils/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" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "ox": "0.9.3", + "uint8arrays": "3.1.1" } }, "node_modules/@reown/appkit/node_modules/abitype": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz", - "integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.2.4.tgz", + "integrity": "sha512-dpKH+N27vRjarMVTFFkeY445VTKftzGWpL0FiT7xmVmzQRKazZexzC5uHG0f6XKsVLAuUlndnbGau6lRejClxg==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/wevm" }, "peerDependencies": { "typescript": ">=5.0.4", - "zod": "^3 >=3.22.0" + "zod": "^3.22.0 || ^4.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -5097,16 +5396,20 @@ "base-x": "^5.0.0" } }, - "node_modules/@reown/appkit/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/@reown/appkit/node_modules/es-toolkit": { + "version": "1.39.3", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.39.3.tgz", + "integrity": "sha512-Qb/TCFCldgOy8lZ5uC7nLGdqJwSabkQiYQShmw4jyiPk1pZzaYWTwaYKYP7EgLccWYgZocMrtItrwh683voaww==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] }, "node_modules/@reown/appkit/node_modules/ox": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.7.1.tgz", - "integrity": "sha512-+k9fY9PRNuAMHRFIUbiK9Nt5seYHHzSQs9Bj+iMETcGtlpS7SmBzcGSVUQO3+nqGLEiNK4598pHNFlVRaZbRsg==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.9.3.tgz", + "integrity": "sha512-KzyJP+fPV4uhuuqrTZyok4DC7vFzi7HLUFiUNEmpbyh59htKWkOC98IONC1zgXJPbHAhQgqs6B0Z6StCGhmQvg==", "funding": [ { "type": "github", @@ -5115,13 +5418,13 @@ ], "license": "MIT", "dependencies": { - "@adraffy/ens-normalize": "^1.10.1", + "@adraffy/ens-normalize": "^1.11.0", "@noble/ciphers": "^1.3.0", - "@noble/curves": "^1.6.0", - "@noble/hashes": "^1.5.0", - "@scure/bip32": "^1.5.0", - "@scure/bip39": "^1.4.0", - "abitype": "^1.0.6", + "@noble/curves": "1.9.1", + "@noble/hashes": "^1.8.0", + "@scure/bip32": "^1.7.0", + "@scure/bip39": "^1.6.0", + "abitype": "^1.0.9", "eventemitter3": "5.0.1" }, "peerDependencies": { @@ -5133,57 +5436,19 @@ } } }, - "node_modules/@reown/appkit/node_modules/pino": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", - "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "node_modules/@reown/appkit/node_modules/ox/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": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.0.0", - "on-exit-leak-free": "^0.2.0", - "pino-abstract-transport": "v0.5.0", - "pino-std-serializers": "^4.0.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.1.0", - "safe-stable-stringify": "^2.1.0", - "sonic-boom": "^2.2.1", - "thread-stream": "^0.15.1" + "@noble/hashes": "1.8.0" }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/@reown/appkit/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", - "split2": "^4.0.0" - } - }, - "node_modules/@reown/appkit/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/@reown/appkit/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/@reown/appkit/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" + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, "node_modules/@reown/appkit/node_modules/semver": { @@ -5198,56 +5463,6 @@ "node": ">=10" } }, - "node_modules/@reown/appkit/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" - } - }, - "node_modules/@reown/appkit/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" - } - }, - "node_modules/@reown/appkit/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/@reown/appkit/node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "license": "MIT", - "optional": true, - "peer": true, - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.27", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", @@ -5256,9 +5471,9 @@ "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.1.tgz", - "integrity": "sha512-xB0b51TB7IfDEzAojXahmr+gfA00uYVInJGgNNkeQG6RPnCPGr7udsylFLTubuIUSRE6FkcI1NElyRt83PP5oQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", "cpu": [ "arm" ], @@ -5270,9 +5485,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.1.tgz", - "integrity": "sha512-XOjPId0qwSDKHaIsdzHJtKCxX0+nH8MhBwvrNsT7tVyKmdTx1jJ4XzN5RZXCdTzMpufLb+B8llTC0D8uCrLhcw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", "cpu": [ "arm64" ], @@ -5284,9 +5499,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.1.tgz", - "integrity": "sha512-vQuRd28p0gQpPrS6kppd8IrWmFo42U8Pz1XLRjSZXq5zCqyMDYFABT7/sywL11mO1EL10Qhh7MVPEwkG8GiBeg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", "cpu": [ "arm64" ], @@ -5298,9 +5513,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.1.tgz", - "integrity": "sha512-x6VG6U29+Ivlnajrg1IHdzXeAwSoEHBFVO+CtC9Brugx6de712CUJobRUxsIA0KYrQvCmzNrMPFTT1A4CCqNTg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", "cpu": [ "x64" ], @@ -5312,9 +5527,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.1.tgz", - "integrity": "sha512-Sgi0Uo6t1YCHJMNO3Y8+bm+SvOanUGkoZKn/VJPwYUe2kp31X5KnXmzKd/NjW8iA3gFcfNZ64zh14uOGrIllCQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", "cpu": [ "arm64" ], @@ -5326,9 +5541,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.1.tgz", - "integrity": "sha512-AM4xnwEZwukdhk7laMWfzWu9JGSVnJd+Fowt6Fd7QW1nrf3h0Hp7Qx5881M4aqrUlKBCybOxz0jofvIIfl7C5g==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", "cpu": [ "x64" ], @@ -5340,9 +5555,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.1.tgz", - "integrity": "sha512-KUizqxpwaR2AZdAUsMWfL/C94pUu7TKpoPd88c8yFVixJ+l9hejkrwoK5Zj3wiNh65UeyryKnJyxL1b7yNqFQA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", "cpu": [ "arm" ], @@ -5354,9 +5569,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.1.tgz", - "integrity": "sha512-MZoQ/am77ckJtZGFAtPucgUuJWiop3m2R3lw7tC0QCcbfl4DRhQUBUkHWCkcrT3pqy5Mzv5QQgY6Dmlba6iTWg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", "cpu": [ "arm" ], @@ -5368,9 +5583,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.1.tgz", - "integrity": "sha512-Sez95TP6xGjkWB1608EfhCX1gdGrO5wzyN99VqzRtC17x/1bhw5VU1V0GfKUwbW/Xr1J8mSasoFoJa6Y7aGGSA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", "cpu": [ "arm64" ], @@ -5382,9 +5597,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.1.tgz", - "integrity": "sha512-9Cs2Seq98LWNOJzR89EGTZoiP8EkZ9UbQhBlDgfAkM6asVna1xJ04W2CLYWDN/RpUgOjtQvcv8wQVi1t5oQazA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", "cpu": [ "arm64" ], @@ -5396,9 +5611,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.1.tgz", - "integrity": "sha512-n9yqttftgFy7IrNEnHy1bOp6B4OSe8mJDiPkT7EqlM9FnKOwUMnCK62ixW0Kd9Clw0/wgvh8+SqaDXMFvw3KqQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", "cpu": [ "loong64" ], @@ -5410,9 +5625,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.1.tgz", - "integrity": "sha512-SfpNXDzVTqs/riak4xXcLpq5gIQWsqGWMhN1AGRQKB4qGSs4r0sEs3ervXPcE1O9RsQ5bm8Muz6zmQpQnPss1g==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", "cpu": [ "loong64" ], @@ -5424,9 +5639,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.1.tgz", - "integrity": "sha512-LjaChED0wQnjKZU+tsmGbN+9nN1XhaWUkAlSbTdhpEseCS4a15f/Q8xC2BN4GDKRzhhLZpYtJBZr2NZhR0jvNw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", "cpu": [ "ppc64" ], @@ -5438,9 +5653,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.1.tgz", - "integrity": "sha512-ojW7iTJSIs4pwB2xV6QXGwNyDctvXOivYllttuPbXguuKDX5vwpqYJsHc6D2LZzjDGHML414Tuj3LvVPe1CT1A==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", "cpu": [ "ppc64" ], @@ -5452,9 +5667,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.1.tgz", - "integrity": "sha512-FP+Q6WTcxxvsr0wQczhSE+tOZvFPV8A/mUE6mhZYFW9/eea/y/XqAgRoLLMuE9Cz0hfX5bi7p116IWoB+P237A==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", "cpu": [ "riscv64" ], @@ -5466,9 +5681,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.1.tgz", - "integrity": "sha512-L1uD9b/Ig8Z+rn1KttCJjwhN1FgjRMBKsPaBsDKkfUl7GfFq71pU4vWCnpOsGljycFEbkHWARZLf4lMYg3WOLw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", "cpu": [ "riscv64" ], @@ -5480,9 +5695,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.1.tgz", - "integrity": "sha512-EZc9NGTk/oSUzzOD4nYY4gIjteo2M3CiozX6t1IXGCOdgxJTlVu/7EdPeiqeHPSIrxkLhavqpBAUCfvC6vBOug==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", "cpu": [ "s390x" ], @@ -5494,9 +5709,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.1.tgz", - "integrity": "sha512-NQ9KyU1Anuy59L8+HHOKM++CoUxrQWrZWXRik4BJFm+7i5NP6q/SW43xIBr80zzt+PDBJ7LeNmloQGfa0JGk0w==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", "cpu": [ "x64" ], @@ -5507,9 +5722,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.1.tgz", - "integrity": "sha512-GZkLk2t6naywsveSFBsEb0PLU+JC9ggVjbndsbG20VPhar6D1gkMfCx4NfP9owpovBXTN+eRdqGSkDGIxPHhmQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", "cpu": [ "x64" ], @@ -5521,9 +5736,9 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.1.tgz", - "integrity": "sha512-1hjG9Jpl2KDOetr64iQd8AZAEjkDUUK5RbDkYWsViYLC1op1oNzdjMJeFiofcGhqbNTaY2kfgqowE7DILifsrA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", "cpu": [ "x64" ], @@ -5535,9 +5750,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.1.tgz", - "integrity": "sha512-ARoKfflk0SiiYm3r1fmF73K/yB+PThmOwfWCk1sr7x/k9dc3uGLWuEE9if+Pw21el8MSpp3TMnG5vLNsJ/MMGQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", "cpu": [ "arm64" ], @@ -5549,9 +5764,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.1.tgz", - "integrity": "sha512-oOST61G6VM45Mz2vdzWMr1s2slI7y9LqxEV5fCoWi2MDONmMvgsJVHSXxce/I2xOSZPTZ47nDPOl1tkwKWSHcw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", "cpu": [ "arm64" ], @@ -5563,9 +5778,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.1.tgz", - "integrity": "sha512-x5WgLi5dWpRz7WclKBGEF15LcWTh0ewrHM6Cq4A+WUbkysUMZNeqt05bwPonOQ3ihPS/WMhAZV5zB1DfnI4Sxg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", "cpu": [ "ia32" ], @@ -5577,9 +5792,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.1.tgz", - "integrity": "sha512-wS+zHAJRVP5zOL0e+a3V3E/NTEwM2HEvvNKoDy5Xcfs0o8lljxn+EAFPkUsxihBdmDq1JWzXmmB9cbssCPdxxw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", "cpu": [ "x64" ], @@ -5591,9 +5806,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.1.tgz", - "integrity": "sha512-rhHyrMeLpErT/C7BxcEsU4COHQUzHyrPYW5tOZUeUhziNtRuYxmDWvqQqzpuUt8xpOgmbKa1btGXfnA/ANVO+g==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", "cpu": [ "x64" ], @@ -5611,8 +5826,40 @@ "dev": true, "license": "MIT" }, - "node_modules/@scure/base": { - "version": "1.2.6", + "node_modules/@safe-global/safe-apps-provider": { + "version": "0.18.6", + "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.6.tgz", + "integrity": "sha512-4LhMmjPWlIO8TTDC2AwLk44XKXaK6hfBTWyljDm0HQ6TWlOEijVWNrt2s3OCVMSxlXAcEzYfqyu1daHZooTC2Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "@safe-global/safe-apps-sdk": "^9.1.0", + "events": "^3.3.0" + } + }, + "node_modules/@safe-global/safe-apps-sdk": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@safe-global/safe-apps-sdk/-/safe-apps-sdk-9.1.0.tgz", + "integrity": "sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "@safe-global/safe-gateway-typescript-sdk": "^3.5.3", + "viem": "^2.1.1" + } + }, + "node_modules/@safe-global/safe-gateway-typescript-sdk": { + "version": "3.23.1", + "resolved": "https://registry.npmjs.org/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.23.1.tgz", + "integrity": "sha512-6ORQfwtEJYpalCeVO21L4XXGSdbEMfyp2hEv6cP82afKXSwvse6d3sdelgaPWUxHIsFRkWvHDdzh8IyyKHZKxw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=16" + } + }, + "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", @@ -5713,6 +5960,12 @@ "tslib": "^2.4.1" } }, + "node_modules/@segment/analytics-core/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/@segment/analytics-generic-utils": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.2.0.tgz", @@ -5722,10 +5975,16 @@ "tslib": "^2.4.1" } }, + "node_modules/@segment/analytics-generic-utils/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/@segment/analytics-next": { - "version": "1.82.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.82.0.tgz", - "integrity": "sha512-oFKpS9nASZC32/cjVVtqptTmsYRBh0v9ZH7EQgGyzyUhHJ6CDNVRSR8gt5G/POg7XBIIh8Tv9FC+ZRy2ByRocQ==", + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.83.0.tgz", + "integrity": "sha512-HsXo3YrcS57UvG8IpamXDIiveHhLHarOUOL80rWlwpJH7nXk6RDYgSWz0ejla5UDsLLfi8tKar0WkCp+0CyJJw==", "license": "MIT", "dependencies": { "@lukeed/uuid": "^2.0.0", @@ -5741,6 +6000,12 @@ "unfetch": "^4.1.0" } }, + "node_modules/@segment/analytics-next/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/@segment/analytics-page-tools": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@segment/analytics-page-tools/-/analytics-page-tools-1.0.0.tgz", @@ -5750,6 +6015,12 @@ "tslib": "^2.4.1" } }, + "node_modules/@segment/analytics-page-tools/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/@segment/analytics.js-video-plugins": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/@segment/analytics.js-video-plugins/-/analytics.js-video-plugins-0.2.1.tgz", @@ -5807,57 +6078,82 @@ "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", "license": "MIT" }, - "node_modules/@solana/buffer-layout": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", - "integrity": "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==", - "license": "MIT", - "dependencies": { - "buffer": "~6.0.3" - }, - "engines": { - "node": ">=5.10" + "node_modules/@solana-program/system": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@solana-program/system/-/system-0.10.0.tgz", + "integrity": "sha512-Go+LOEZmqmNlfr+Gjy5ZWAdY5HbYzk2RBewD9QinEU/bBSzpFfzqDRT55JjFRBGJUvMgf3C2vfXEGT4i8DSI4g==", + "license": "Apache-2.0", + "optional": true, + "peerDependencies": { + "@solana/kit": "^5.0" } }, - "node_modules/@solana/codecs-core": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.3.0.tgz", - "integrity": "sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw==", + "node_modules/@solana-program/token": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@solana-program/token/-/token-0.9.0.tgz", + "integrity": "sha512-vnZxndd4ED4Fc56sw93cWZ2djEeeOFxtaPS8SPf5+a+JZjKA/EnKqzbE1y04FuMhIVrLERQ8uR8H2h72eZzlsA==", + "license": "Apache-2.0", + "optional": true, + "peerDependencies": { + "@solana/kit": "^5.0" + } + }, + "node_modules/@solana/accounts": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/accounts/-/accounts-5.5.1.tgz", + "integrity": "sha512-TfOY9xixg5rizABuLVuZ9XI2x2tmWUC/OoN556xwfDlhBHBjKfszicYYOyD6nbFmwTGYarCmyGIdteXxTXIdhQ==", "license": "MIT", + "optional": true, "dependencies": { - "@solana/errors": "2.3.0" + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/rpc-spec": "5.5.1", + "@solana/rpc-types": "5.5.1" }, "engines": { "node": ">=20.18.0" }, "peerDependencies": { - "typescript": ">=5.3.3" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@solana/codecs-numbers": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.3.0.tgz", - "integrity": "sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg==", + "node_modules/@solana/accounts/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "@solana/codecs-core": "2.3.0", - "@solana/errors": "2.3.0" + "@solana/errors": "5.5.1" }, "engines": { "node": ">=20.18.0" }, "peerDependencies": { - "typescript": ">=5.3.3" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@solana/errors": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-2.3.0.tgz", - "integrity": "sha512-66RI9MAbwYV0UtP7kGcTBVLxJgUxoZGm8Fbc0ah+lGiAw17Gugco6+9GrJCV83VyF2mDWyYnYM9qdI3yjgpnaQ==", + "node_modules/@solana/accounts/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "chalk": "^5.4.1", - "commander": "^14.0.0" + "chalk": "5.6.2", + "commander": "14.0.2" }, "bin": { "errors": "bin/cli.mjs" @@ -5866,2230 +6162,2470 @@ "node": ">=20.18.0" }, "peerDependencies": { - "typescript": ">=5.3.3" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@solana/errors/node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "node_modules/@solana/accounts/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", + "optional": true, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=20" } }, - "node_modules/@solana/wallet-standard-features": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@solana/wallet-standard-features/-/wallet-standard-features-1.3.0.tgz", - "integrity": "sha512-ZhpZtD+4VArf6RPitsVExvgkF+nGghd1rzPjd97GmBximpnt1rsUxMOEyoIEuH3XBxPyNB6Us7ha7RHWQR+abg==", - "license": "Apache-2.0", + "node_modules/@solana/addresses": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/addresses/-/addresses-5.5.1.tgz", + "integrity": "sha512-5xoah3Q9G30HQghu/9BiHLb5pzlPKRC3zydQDmE3O9H//WfayxTFppsUDCL6FjYUHqj/wzK6CWHySglc2RkpdA==", + "license": "MIT", + "optional": true, "dependencies": { - "@wallet-standard/base": "^1.1.0", - "@wallet-standard/features": "^1.1.0" + "@solana/assertions": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/nominal-types": "5.5.1" }, "engines": { - "node": ">=16" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@solana/web3.js": { - "version": "1.98.4", - "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.98.4.tgz", - "integrity": "sha512-vv9lfnvjUsRiq//+j5pBdXig0IQdtzA0BRZ3bXEP4KaIyF1CcaydWqgyzQgfZMNIsWNWmG+AUHwPy4AHOD6gpw==", + "node_modules/@solana/addresses/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "@babel/runtime": "^7.25.0", - "@noble/curves": "^1.4.2", - "@noble/hashes": "^1.4.0", - "@solana/buffer-layout": "^4.0.1", - "@solana/codecs-numbers": "^2.1.0", - "agentkeepalive": "^4.5.0", - "bn.js": "^5.2.1", - "borsh": "^0.7.0", - "bs58": "^4.0.1", - "buffer": "6.0.3", - "fast-stable-stringify": "^1.0.0", - "jayson": "^4.1.1", - "node-fetch": "^2.7.0", - "rpc-websockets": "^9.0.2", - "superstruct": "^2.0.2" - } - }, - "node_modules/@standard-schema/spec": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", - "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@standard-schema/utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", - "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", - "license": "MIT" - }, - "node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@tailwindcss/node": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", - "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", - "dev": true, + "node_modules/@solana/addresses/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@jridgewell/remapping": "^2.3.4", - "enhanced-resolve": "^5.18.3", - "jiti": "^2.6.1", - "lightningcss": "1.30.2", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.1.18" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", - "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", - "dev": true, + "node_modules/@solana/addresses/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", + "optional": true, "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.18", - "@tailwindcss/oxide-darwin-arm64": "4.1.18", - "@tailwindcss/oxide-darwin-x64": "4.1.18", - "@tailwindcss/oxide-freebsd-x64": "4.1.18", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", - "@tailwindcss/oxide-linux-x64-musl": "4.1.18", - "@tailwindcss/oxide-wasm32-wasi": "4.1.18", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + "node": ">=20" } }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", - "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@solana/assertions": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/assertions/-/assertions-5.5.1.tgz", + "integrity": "sha512-YTCSWAlGwSlVPnWtWLm3ukz81wH4j2YaCveK+TjpvUU88hTy6fmUqxi0+hvAMAe4zKXpJyj3Az7BrLJRxbIm4Q==", "license": "MIT", "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@solana/errors": "5.5.1" + }, "engines": { - "node": ">= 10" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", - "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@solana/assertions/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" + }, "engines": { - "node": ">= 10" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", - "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@solana/assertions/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">= 10" + "node": ">=20" } }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", - "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", - "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", - "cpu": [ - "arm" - ], - "dev": true, + "node_modules/@solana/buffer-layout": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz", + "integrity": "sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "buffer": "~6.0.3" + }, "engines": { - "node": ">= 10" + "node": ">=5.10" } }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", - "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@solana/codecs": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs/-/codecs-5.5.1.tgz", + "integrity": "sha512-Vea29nJub/bXjfzEV7ZZQ/PWr1pYLZo3z0qW0LQL37uKKVzVFRQlwetd7INk3YtTD3xm9WUYr7bCvYUk3uKy2g==", "license": "MIT", "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@solana/codecs-core": "5.5.1", + "@solana/codecs-data-structures": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/options": "5.5.1" + }, "engines": { - "node": ">= 10" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", - "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@solana/codecs-core": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-2.3.0.tgz", + "integrity": "sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw==", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@solana/errors": "2.3.0" + }, "engines": { - "node": ">= 10" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": ">=5.3.3" } }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", - "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@solana/codecs-data-structures": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-data-structures/-/codecs-data-structures-5.5.1.tgz", + "integrity": "sha512-97bJWGyUY9WvBz3mX1UV3YPWGDTez6btCfD0ip3UVEXJbItVuUiOkzcO5iFDUtQT5riKT6xC+Mzl+0nO76gd0w==", "license": "MIT", "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@solana/codecs-core": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/errors": "5.5.1" + }, "engines": { - "node": ">= 10" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", - "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@solana/codecs-data-structures/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@solana/errors": "5.5.1" + }, "engines": { - "node": ">= 10" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", - "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, + "node_modules/@solana/codecs-data-structures/node_modules/@solana/codecs-numbers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-5.5.1.tgz", + "integrity": "sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==", "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.1.0", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.4.0" + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", - "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@solana/codecs-data-structures/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" + }, "engines": { - "node": ">= 10" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", - "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@solana/codecs-data-structures/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">= 10" + "node": ">=20" } }, - "node_modules/@tailwindcss/postcss": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.18.tgz", - "integrity": "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==", - "dev": true, + "node_modules/@solana/codecs-numbers": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-2.3.0.tgz", + "integrity": "sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg==", "license": "MIT", "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.1.18", - "@tailwindcss/oxide": "4.1.18", - "postcss": "^8.4.41", - "tailwindcss": "4.1.18" - } - }, - "node_modules/@tanstack/query-core": { - "version": "5.95.2", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.95.2.tgz", - "integrity": "sha512-o4T8vZHZET4Bib3jZ/tCW9/7080urD4c+0/AUaYVpIqOsr7y0reBc1oX3ttNaSW5mYyvZHctiQ/UOP2PfdmFEQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "@solana/codecs-core": "2.3.0", + "@solana/errors": "2.3.0" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": ">=5.3.3" } }, - "node_modules/@tanstack/react-query": { - "version": "5.95.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.95.2.tgz", - "integrity": "sha512-/wGkvLj/st5Ud1Q76KF1uFxScV7WeqN1slQx5280ycwAyYkIPGaRZAEgHxe3bjirSd5Zpwkj6zNcR4cqYni/ZA==", + "node_modules/@solana/codecs-strings": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-strings/-/codecs-strings-5.5.1.tgz", + "integrity": "sha512-7klX4AhfHYA+uKKC/nxRGP2MntbYQCR3N6+v7bk1W/rSxYuhNmt+FN8aoThSZtWIKwN6BEyR1167ka8Co1+E7A==", "license": "MIT", + "optional": true, "dependencies": { - "@tanstack/query-core": "5.95.2" + "@solana/codecs-core": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/errors": "5.5.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "engines": { + "node": ">=20.18.0" }, "peerDependencies": { - "react": "^18 || ^19" + "fastestsmallesttextencoderdecoder": "^1.0.22", + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "fastestsmallesttextencoderdecoder": { + "optional": true + }, + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/base-controllers": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-5.11.0.tgz", - "integrity": "sha512-5AsGOlpf3DRIsd6PzEemBoRq+o2OhgSFXj5LZD6gXcBlfe0OpF+ydJb7Q8rIt5wwpQLNJCs8psBUbqIv7ukD2w==", - "license": "ISC", + "node_modules/@solana/codecs-strings/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", + "license": "MIT", + "optional": true, "dependencies": { - "@ethereumjs/util": "^9.0.3", - "@toruslabs/broadcast-channel": "^10.0.2", - "@toruslabs/http-helpers": "^6.1.1", - "@toruslabs/openlogin-jrpc": "^8.3.0", - "@toruslabs/openlogin-utils": "^8.2.1", - "async-mutex": "^0.5.0", - "bignumber.js": "^9.1.2", - "bowser": "^2.11.0", - "jwt-decode": "^4.0.0", - "loglevel": "^1.9.1" + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/base-session-manager": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@toruslabs/base-session-manager/-/base-session-manager-3.1.1.tgz", - "integrity": "sha512-/awg0VbJcfcdJTB2zYdnoFkNGOioODvBc7i3vfxR6lRpFvVwndYPwbD870bgRiSUt9hSee8pSfokejnjDZGpew==", - "license": "ISC", + "node_modules/@solana/codecs-strings/node_modules/@solana/codecs-numbers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-5.5.1.tgz", + "integrity": "sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==", + "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/http-helpers": "^6.1.0" + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/broadcast-channel": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@toruslabs/broadcast-channel/-/broadcast-channel-10.0.2.tgz", - "integrity": "sha512-aZbKNgV/OhiTKSdxBTGO86xRdeR7Ct1vkB8yeyXRX32moARhZ69uJQL49jKh4cWKV3VeijrL9XvKdn5bzgHQZg==", + "node_modules/@solana/codecs-strings/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@babel/runtime": "^7.24.0", - "@toruslabs/eccrypto": "^4.0.0", - "@toruslabs/metadata-helpers": "^5.1.0", - "loglevel": "^1.9.1", - "oblivious-set": "1.4.0", - "socket.io-client": "^4.7.5", - "unload": "^2.4.1" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=18.x", - "npm": ">=9.x" - } - }, - "node_modules/@toruslabs/bs58": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/bs58/-/bs58-1.0.0.tgz", - "integrity": "sha512-osqIgm1MzEB6+fkaQeEUg4tuZXmhhXTn+K7+nZU7xDBcy+8Yr3eGNqJcQ4jds82g+dhkk2cBkge9sffv38iDQQ==", - "license": "MIT", - "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/constants": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-13.4.0.tgz", - "integrity": "sha512-CjmnMQ5Oj0bqSBGkhv7Xm3LciGJDHwe4AJ1LF6mijlP+QcCnUM5I6kVp60j7zZ/r0DT7nIEiuHHHczGpCZor0A==", + "node_modules/@solana/codecs-strings/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", + "optional": true, "engines": { - "node": ">=18.x", - "npm": ">=9.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" + "node": ">=20" } }, - "node_modules/@toruslabs/customauth": { - "version": "21.3.2", - "resolved": "https://registry.npmjs.org/@toruslabs/customauth/-/customauth-21.3.2.tgz", - "integrity": "sha512-OEwb7hFZK4+TVsCuIh0lQZdSKmpO5cazeM2JbBwK3t1RmAqB9naM+SsactRoESP+MMz1IvFh3AMt6/+v8mj6aw==", + "node_modules/@solana/codecs/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "@chaitanyapotti/register-service-worker": "^1.7.4", - "@toruslabs/broadcast-channel": "^12.0.0", - "@toruslabs/constants": "^15.0.0", - "@toruslabs/eccrypto": "^6.2.0", - "@toruslabs/fetch-node-details": "^15.0.0", - "@toruslabs/http-helpers": "^8.1.1", - "@toruslabs/metadata-helpers": "^7.0.2", - "@toruslabs/session-manager": "^4.0.2", - "@toruslabs/torus.js": "^16.0.0", - "base64url": "^3.0.1", - "bowser": "^2.12.1", - "deepmerge": "^4.3.1", - "events": "^3.3.0", - "loglevel": "^1.9.2" + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "^7.x", - "@sentry/core": "^9.x" + "typescript": "^5.0.0" }, "peerDependenciesMeta": { - "@sentry/core": { + "typescript": { "optional": true } } }, - "node_modules/@toruslabs/customauth/node_modules/@noble/curves": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", - "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "node_modules/@solana/codecs/node_modules/@solana/codecs-numbers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-5.5.1.tgz", + "integrity": "sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/hashes": "1.8.0" + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" }, "engines": { - "node": "^14.21.3 || >=16" + "node": ">=20.18.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/customauth/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==", + "node_modules/@solana/codecs/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/curves": "~1.9.0", - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" + "chalk": "5.6.2", + "commander": "14.0.2" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "bin": { + "errors": "bin/cli.mjs" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/customauth/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==", + "node_modules/@solana/codecs/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", - "dependencies": { - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "optional": true, + "engines": { + "node": ">=20" } }, - "node_modules/@toruslabs/customauth/node_modules/@toruslabs/broadcast-channel": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/broadcast-channel/-/broadcast-channel-12.0.0.tgz", - "integrity": "sha512-ZdkZWEbxLaoRFPXYrlAnuaXDejsYS7Nl0mL+trBkRcN/agsNoOeS/t7LExGP74Opdcj06bYJeB5KmhN6938kKw==", + "node_modules/@solana/errors": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-2.3.0.tgz", + "integrity": "sha512-66RI9MAbwYV0UtP7kGcTBVLxJgUxoZGm8Fbc0ah+lGiAw17Gugco6+9GrJCV83VyF2mDWyYnYM9qdI3yjgpnaQ==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.26.9", - "@toruslabs/constants": "^14.2.0", - "@toruslabs/eccrypto": "^6.0.2", - "@toruslabs/metadata-helpers": "^7.0.1", - "base64url": "^3.0.1", - "loglevel": "^1.9.2", - "oblivious-set": "1.4.0", - "socket.io-client": "^4.8.1", - "unload": "^2.4.1" + "chalk": "^5.4.1", + "commander": "^14.0.0" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": ">=5.3.3" } }, - "node_modules/@toruslabs/customauth/node_modules/@toruslabs/broadcast-channel/node_modules/@toruslabs/constants": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-14.2.0.tgz", - "integrity": "sha512-Mb5EfYNSPyvvw5s1JXnpZwritCgp4NmLni1imTqrSKGV3yikYhUn1ufyLMAHGnBBgv4AuMIXBIe3EpJJ+SpA0g==", + "node_modules/@solana/fast-stable-stringify": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/fast-stable-stringify/-/fast-stable-stringify-5.5.1.tgz", + "integrity": "sha512-Ni7s2FN33zTzhTFgRjEbOVFO+UAmK8qi3Iu0/GRFYK4jN696OjKHnboSQH/EacQ+yGqS54bfxf409wU5dsLLCw==", "license": "MIT", + "optional": true, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/customauth/node_modules/@toruslabs/constants": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-15.0.0.tgz", - "integrity": "sha512-0nr6vU3FQT2eRsnPYRwfVIkjwawLTkDTkCusiny9DgAw1M2zbmNqPOAqWuljUcDaK/u4VB0/PrN5SzhVBLnNGg==", + "node_modules/@solana/functional": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/functional/-/functional-5.5.1.tgz", + "integrity": "sha512-tTHoJcEQq3gQx5qsdsDJ0LEJeFzwNpXD80xApW9o/PPoCNimI3SALkZl+zNW8VnxRrV3l3yYvfHWBKe/X3WG3w==", "license": "MIT", + "optional": true, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/customauth/node_modules/@toruslabs/eccrypto": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-6.2.0.tgz", - "integrity": "sha512-GbVAXDC5AIecb01gEafiiZzVfRNGiNk85R7ZUDMpUjoYGOy6/FdHdM4x2ySqBj7B6xiXWf+rMfr99J7+TLjyxg==", - "license": "CC0-1.0", + "node_modules/@solana/instruction-plans": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/instruction-plans/-/instruction-plans-5.5.1.tgz", + "integrity": "sha512-7z3CB7YMcFKuVvgcnNY8bY6IsZ8LG61Iytbz7HpNVGX2u1RthOs1tRW8luTzSG1MPL0Ox7afyAVMYeFqSPHnaQ==", + "license": "MIT", + "optional": true, "dependencies": { - "elliptic": "^6.6.1" + "@solana/errors": "5.5.1", + "@solana/instructions": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/promises": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/customauth/node_modules/@toruslabs/http-helpers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-8.1.1.tgz", - "integrity": "sha512-bcymgOEAHjWJtqWvbCw+jCLk8vch5V53E/17moM0kAQO+tY0omhsMpZYDtFcbF3xl8/fLyW7G0HGUfThPykQ7A==", + "node_modules/@solana/instruction-plans/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "deepmerge": "^4.3.1", - "loglevel": "^1.9.2" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "^7.x", - "@sentry/core": "^9.x" + "typescript": "^5.0.0" }, "peerDependenciesMeta": { - "@sentry/core": { + "typescript": { "optional": true } } }, - "node_modules/@toruslabs/customauth/node_modules/@toruslabs/metadata-helpers": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@toruslabs/metadata-helpers/-/metadata-helpers-7.0.2.tgz", - "integrity": "sha512-N8UeKwtTlRlGAuQJQfYwCshsu5g9Fte8Xe6ZEt/WH6blNAoKjz579BPN4FrS478JIj/kMtIkD1guT84Umpdv1w==", + "node_modules/@solana/instruction-plans/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", + "optional": true, + "engines": { + "node": ">=20" + } + }, + "node_modules/@solana/instructions": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/instructions/-/instructions-5.5.1.tgz", + "integrity": "sha512-h0G1CG6S+gUUSt0eo6rOtsaXRBwCq1+Js2a+Ps9Bzk9q7YHNFA75/X0NWugWLgC92waRp66hrjMTiYYnLBoWOQ==", + "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/eccrypto": "^6.0.2", - "@toruslabs/http-helpers": "^8.1.0", - "elliptic": "^6.6.1", - "ethereum-cryptography": "^3.1.0", - "json-stable-stringify": "^1.2.1" + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/customauth/node_modules/ethereum-cryptography": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", - "integrity": "sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==", + "node_modules/@solana/instructions/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/ciphers": "1.3.0", - "@noble/curves": "1.9.0", - "@noble/hashes": "1.8.0", - "@scure/bip32": "1.7.0", - "@scure/bip39": "1.6.0" + "@solana/errors": "5.5.1" }, "engines": { - "node": "^14.21.3 || >=16", - "npm": ">=9" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/eccrypto": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-4.0.0.tgz", - "integrity": "sha512-Z3EINkbsgJx1t6jCDVIJjLSUEGUtNIeDjhMWmeDGOWcP/+v/yQ1hEvd1wfxEz4q5WqIHhevacmPiVxiJ4DljGQ==", - "license": "CC0-1.0", + "node_modules/@solana/instructions/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", + "license": "MIT", + "optional": true, "dependencies": { - "elliptic": "^6.5.4" + "chalk": "5.6.2", + "commander": "14.0.2" }, - "engines": { - "node": ">=18.x", - "npm": ">=9.x" - } - }, - "node_modules/@toruslabs/ethereum-controllers": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/@toruslabs/ethereum-controllers/-/ethereum-controllers-8.17.1.tgz", - "integrity": "sha512-3cqGQd2dlmaiwQdetnKhDzshARTtvDgkrtU8TUOX1FHJpdsHvABC6qLPII2Jl8o7fNUnVIkfFwrrI/qBwgiMCg==", - "license": "ISC", - "dependencies": { - "@ethereumjs/common": "^10.1.0", - "@ethereumjs/rlp": "^10.1.0", - "@ethereumjs/tx": "^10.1.0", - "@ethereumjs/util": "^10.1.0", - "@metamask/smart-accounts-kit": "~0.3.0", - "@toruslabs/base-controllers": "^8.17.0", - "@toruslabs/http-helpers": "^8.1.1", - "@web3auth/auth": "^10.8.0", - "async-mutex": "^0.5.0", - "bignumber.js": "^9.3.1", - "bn.js": "^5.2.2", - "deepmerge": "^4.3.1", - "ethereum-cryptography": "^3.2.0", - "ethers": "^6.16.0", - "fast-json-patch": "^3.1.1", - "fast-safe-stringify": "^2.1.1", - "jsonschema": "^1.5.0", - "loglevel": "^1.9.2", - "permissionless": "^0.3.4", - "uuid": "^8.3.2" + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x", - "viem": ">=2.45.0" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/common": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-10.1.1.tgz", - "integrity": "sha512-NefPzPlrJ9w+NWVe06P+sHZQU98E1AEU9vhiHJEVT2wEcNBC1YX6hON9+smrfbn86C4U1pb2zbvjhkF+n/LKBw==", + "node_modules/@solana/instructions/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", - "dependencies": { - "@ethereumjs/util": "^10.1.1", - "eventemitter3": "^5.0.1" - } - }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/rlp": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-10.1.1.tgz", - "integrity": "sha512-jbnWTEwcpoY+gE0r+wxfDG9zgiu54DcTcwnc9sX3DsqKR4l5K7x2V8mQL3Et6hURa4DuT9g7z6ukwpBLFchszg==", - "license": "MPL-2.0", - "bin": { - "rlp": "bin/rlp.cjs" - }, + "optional": true, "engines": { "node": ">=20" } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/tx": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-10.1.1.tgz", - "integrity": "sha512-Kz8GWIKQjEQB60ko9hsYDX3rZMHZZOTcmm6OFl855Lu3padVnf5ZactUKM6nmWPsumHED5bWDjO32novZd1zyw==", - "license": "MPL-2.0", + "node_modules/@solana/keys": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/keys/-/keys-5.5.1.tgz", + "integrity": "sha512-KRD61cL7CRL+b4r/eB9dEoVxIf/2EJ1Pm1DmRYhtSUAJD2dJ5Xw8QFuehobOGm9URqQ7gaQl+Fkc1qvDlsWqKg==", + "license": "MIT", + "optional": true, "dependencies": { - "@ethereumjs/common": "^10.1.1", - "@ethereumjs/rlp": "^10.1.1", - "@ethereumjs/util": "^10.1.1", - "@noble/curves": "^2.0.1", - "@noble/hashes": "^2.0.1" + "@solana/assertions": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/nominal-types": "5.5.1" }, "engines": { - "node": ">=20" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/tx/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "node_modules/@solana/keys/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, + "dependencies": { + "@solana/errors": "5.5.1" + }, "engines": { - "node": ">= 20.19.0" + "node": ">=20.18.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/util": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-10.1.1.tgz", - "integrity": "sha512-r2EhaeEmLZXVs1dT2HJFQysAkr63ZWATu/9tgYSp1IlvjvwyC++DLg5kCDwMM49HBq3sOAhrPnXkoqf9DV2gbw==", - "license": "MPL-2.0", + "node_modules/@solana/keys/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", + "license": "MIT", + "optional": true, "dependencies": { - "@ethereumjs/rlp": "^10.1.1", - "@noble/curves": "^2.0.1", - "@noble/hashes": "^2.0.1" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/keys/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", + "license": "MIT", + "optional": true, "engines": { "node": ">=20" } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/util/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "node_modules/@solana/kit": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/kit/-/kit-5.5.1.tgz", + "integrity": "sha512-irKUGiV2yRoyf+4eGQ/ZeCRxa43yjFEL1DUI5B0DkcfZw3cr0VJtVJnrG8OtVF01vT0OUfYOcUn6zJW5TROHvQ==", "license": "MIT", + "optional": true, + "dependencies": { + "@solana/accounts": "5.5.1", + "@solana/addresses": "5.5.1", + "@solana/codecs": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/instruction-plans": "5.5.1", + "@solana/instructions": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/offchain-messages": "5.5.1", + "@solana/plugin-core": "5.5.1", + "@solana/programs": "5.5.1", + "@solana/rpc": "5.5.1", + "@solana/rpc-api": "5.5.1", + "@solana/rpc-parsed-types": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "@solana/rpc-subscriptions": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/signers": "5.5.1", + "@solana/sysvars": "5.5.1", + "@solana/transaction-confirmation": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" + }, "engines": { - "node": ">= 20.19.0" + "node": ">=20.18.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@noble/curves": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.0.1.tgz", - "integrity": "sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==", + "node_modules/@solana/kit/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/hashes": "2.0.1" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">= 20.19.0" + "node": ">=20.18.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@noble/curves/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "node_modules/@solana/kit/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", + "optional": true, "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=20" } }, - "node_modules/@toruslabs/ethereum-controllers/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==", + "node_modules/@solana/nominal-types": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/nominal-types/-/nominal-types-5.5.1.tgz", + "integrity": "sha512-I1ImR+kfrLFxN5z22UDiTWLdRZeKtU0J/pkWkO8qm/8WxveiwdIv4hooi8pb6JnlR4mSrWhq0pCIOxDYrL9GIQ==", "license": "MIT", - "dependencies": { - "@noble/curves": "~1.9.0", - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" + "optional": true, + "engines": { + "node": ">=20.18.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@scure/bip32/node_modules/@noble/curves": { - "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz", - "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==", + "node_modules/@solana/offchain-messages": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/offchain-messages/-/offchain-messages-5.5.1.tgz", + "integrity": "sha512-g+xHH95prTU+KujtbOzj8wn+C7ZNoiLhf3hj6nYq3MTyxOXtBEysguc97jJveUZG0K97aIKG6xVUlMutg5yxhw==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/hashes": "1.8.0" + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-data-structures": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/nominal-types": "5.5.1" }, "engines": { - "node": "^14.21.3 || >=16" + "node": ">=20.18.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/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==", + "node_modules/@solana/offchain-messages/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" + "@solana/errors": "5.5.1" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/base-controllers": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-8.17.0.tgz", - "integrity": "sha512-AQwl7VANyIwXSCXNnSg5Is8L4W4rMd6LprYthzp5C9DimzGTIqj+rvjvh1dhaM+fbBCHrln75vveiVuW6pRRNA==", - "license": "ISC", + "node_modules/@solana/offchain-messages/node_modules/@solana/codecs-numbers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-5.5.1.tgz", + "integrity": "sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==", + "license": "MIT", + "optional": true, "dependencies": { - "@ethereumjs/util": "^10.1.0", - "@toruslabs/broadcast-channel": "^12.0.0", - "@toruslabs/http-helpers": "^8.1.1", - "@web3auth/auth": "^10.8.0", - "async-mutex": "^0.5.0", - "bignumber.js": "^9.3.1", - "bowser": "^2.13.1", - "ethereum-cryptography": "^3.2.0", - "events": "^3.3.0", - "jwt-decode": "^4.0.0", - "loglevel": "^1.9.2" + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/broadcast-channel": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/broadcast-channel/-/broadcast-channel-12.0.0.tgz", - "integrity": "sha512-ZdkZWEbxLaoRFPXYrlAnuaXDejsYS7Nl0mL+trBkRcN/agsNoOeS/t7LExGP74Opdcj06bYJeB5KmhN6938kKw==", + "node_modules/@solana/offchain-messages/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@babel/runtime": "^7.26.9", - "@toruslabs/constants": "^14.2.0", - "@toruslabs/eccrypto": "^6.0.2", - "@toruslabs/metadata-helpers": "^7.0.1", - "base64url": "^3.0.1", - "loglevel": "^1.9.2", - "oblivious-set": "1.4.0", - "socket.io-client": "^4.8.1", - "unload": "^2.4.1" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" - } - }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/constants": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-14.2.0.tgz", - "integrity": "sha512-Mb5EfYNSPyvvw5s1JXnpZwritCgp4NmLni1imTqrSKGV3yikYhUn1ufyLMAHGnBBgv4AuMIXBIe3EpJJ+SpA0g==", - "license": "MIT", - "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/eccrypto": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-6.2.0.tgz", - "integrity": "sha512-GbVAXDC5AIecb01gEafiiZzVfRNGiNk85R7ZUDMpUjoYGOy6/FdHdM4x2ySqBj7B6xiXWf+rMfr99J7+TLjyxg==", - "license": "CC0-1.0", - "dependencies": { - "elliptic": "^6.6.1" - }, + "node_modules/@solana/offchain-messages/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", + "license": "MIT", + "optional": true, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20" } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/http-helpers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-8.1.1.tgz", - "integrity": "sha512-bcymgOEAHjWJtqWvbCw+jCLk8vch5V53E/17moM0kAQO+tY0omhsMpZYDtFcbF3xl8/fLyW7G0HGUfThPykQ7A==", + "node_modules/@solana/options": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/options/-/options-5.5.1.tgz", + "integrity": "sha512-eo971c9iLNLmk+yOFyo7yKIJzJ/zou6uKpy6mBuyb/thKtS/haiKIc3VLhyTXty3OH2PW8yOlORJnv4DexJB8A==", "license": "MIT", + "optional": true, "dependencies": { - "deepmerge": "^4.3.1", - "loglevel": "^1.9.2" + "@solana/codecs-core": "5.5.1", + "@solana/codecs-data-structures": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "^7.x", - "@sentry/core": "^9.x" + "typescript": "^5.0.0" }, "peerDependenciesMeta": { - "@sentry/core": { + "typescript": { "optional": true } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/metadata-helpers": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@toruslabs/metadata-helpers/-/metadata-helpers-7.0.2.tgz", - "integrity": "sha512-N8UeKwtTlRlGAuQJQfYwCshsu5g9Fte8Xe6ZEt/WH6blNAoKjz579BPN4FrS478JIj/kMtIkD1guT84Umpdv1w==", + "node_modules/@solana/options/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/eccrypto": "^6.0.2", - "@toruslabs/http-helpers": "^8.1.0", - "elliptic": "^6.6.1", - "ethereum-cryptography": "^3.1.0", - "json-stable-stringify": "^1.2.1" + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/secure-pub-sub": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@toruslabs/secure-pub-sub/-/secure-pub-sub-3.0.2.tgz", - "integrity": "sha512-JxqXSMlKnT2Q8ER0dpjtciT/yYO6KV/bZFxVWF9T6t2u20PaVU+bo9MSYWPxSdz76szEt7DwRHxwjDMhzZKFeA==", + "node_modules/@solana/options/node_modules/@solana/codecs-numbers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-5.5.1.tgz", + "integrity": "sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==", "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/constants": "^14.2.0", - "@toruslabs/eccrypto": "^6.0.2", - "@toruslabs/http-helpers": "^8.1.0", - "@toruslabs/metadata-helpers": "^7.0.2", - "loglevel": "^1.9.2", - "socket.io-client": "^4.8.1" + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@web3auth/auth": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/@web3auth/auth/-/auth-10.8.0.tgz", - "integrity": "sha512-c0a7HVzzbO8IygPetCzw6CkUIcFkWlXSjIAQkJwwMSYtWofsHYhYLLMV7cixSgvIOxQKCuRcvO6Qo7fxz9BiBg==", + "node_modules/@solana/options/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@ethereumjs/util": "^10.1.0", - "@toruslabs/constants": "^15.0.0", - "@toruslabs/customauth": "^21.3.2", - "@toruslabs/ffjavascript": "^5.0.0", - "@toruslabs/metadata-helpers": "^7.0.2", - "@toruslabs/secure-pub-sub": "^3.0.2", - "@toruslabs/session-manager": "^4.0.2", - "@toruslabs/starkware-crypto": "^5.0.0", - "@toruslabs/tweetnacl-js": "^1.0.4", - "base64url": "^3.0.1", - "bip39": "^3.1.0", - "bn.js": "^5.2.2", - "deepmerge": "^4.3.1", - "enc-utils": "^3.0.0", - "end-of-stream": "^1.4.5", - "events": "^3.3.0", - "json-stable-stringify": "^1.3.0", - "loglevel": "^1.9.2", - "once": "^1.4.0", - "pump": "^3.0.3", - "readable-stream": "^4.7.0", - "ts-custom-error": "^3.3.1", - "typed-emitter": "^2.1.0" + "chalk": "5.6.2", + "commander": "14.0.2" }, - "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "bin": { + "errors": "bin/cli.mjs" }, - "optionalDependencies": { - "@nx/nx-linux-x64-gnu": "^22.0.2", - "@rollup/rollup-linux-x64-gnu": "^4.52.5" + "engines": { + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x", - "color": "^5.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/@web3auth/auth/node_modules/@toruslabs/constants": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-15.0.0.tgz", - "integrity": "sha512-0nr6vU3FQT2eRsnPYRwfVIkjwawLTkDTkCusiny9DgAw1M2zbmNqPOAqWuljUcDaK/u4VB0/PrN5SzhVBLnNGg==", + "node_modules/@solana/options/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", + "optional": true, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20" + } + }, + "node_modules/@solana/plugin-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/plugin-core/-/plugin-core-5.5.1.tgz", + "integrity": "sha512-VUZl30lDQFJeiSyNfzU1EjYt2QZvoBFKEwjn1lilUJw7KgqD5z7mbV7diJhT+dLFs36i0OsjXvq5kSygn8YJ3A==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/color": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/color/-/color-5.0.3.tgz", - "integrity": "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==", + "node_modules/@solana/programs": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/programs/-/programs-5.5.1.tgz", + "integrity": "sha512-7U9kn0Jsx1NuBLn5HRTFYh78MV4XN145Yc3WP/q5BlqAVNlMoU9coG5IUTJIG847TUqC1lRto3Dnpwm6T4YRpA==", "license": "MIT", - "peer": true, + "optional": true, "dependencies": { - "color-convert": "^3.1.3", - "color-string": "^2.1.3" + "@solana/addresses": "5.5.1", + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=18" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/color-convert": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.3.tgz", - "integrity": "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==", + "node_modules/@solana/programs/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", - "peer": true, + "optional": true, "dependencies": { - "color-name": "^2.0.0" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=14.6" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/color-name": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", - "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", + "node_modules/@solana/programs/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", - "peer": true, + "optional": true, "engines": { - "node": ">=12.20" + "node": ">=20" } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/color-string": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.4.tgz", - "integrity": "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==", + "node_modules/@solana/promises": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/promises/-/promises-5.5.1.tgz", + "integrity": "sha512-T9lfuUYkGykJmppEcssNiCf6yiYQxJkhiLPP+pyAc2z84/7r3UVIb2tNJk4A9sucS66pzJnVHZKcZVGUUp6wzA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@solana/rpc": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc/-/rpc-5.5.1.tgz", + "integrity": "sha512-ku8zTUMrkCWci66PRIBC+1mXepEnZH/q1f3ck0kJZ95a06bOTl5KU7HeXWtskkyefzARJ5zvCs54AD5nxjQJ+A==", "license": "MIT", - "peer": true, + "optional": true, "dependencies": { - "color-name": "^2.0.0" + "@solana/errors": "5.5.1", + "@solana/fast-stable-stringify": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/rpc-api": "5.5.1", + "@solana/rpc-spec": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "@solana/rpc-transformers": "5.5.1", + "@solana/rpc-transport-http": "5.5.1", + "@solana/rpc-types": "5.5.1" }, "engines": { - "node": ">=18" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/ethereum-cryptography": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", - "integrity": "sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==", + "node_modules/@solana/rpc-api": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-api/-/rpc-api-5.5.1.tgz", + "integrity": "sha512-XWOQQPhKl06Vj0xi3RYHAc6oEQd8B82okYJ04K7N0Vvy3J4PN2cxeK7klwkjgavdcN9EVkYCChm2ADAtnztKnA==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/ciphers": "1.3.0", - "@noble/curves": "1.9.0", - "@noble/hashes": "1.8.0", - "@scure/bip32": "1.7.0", - "@scure/bip39": "1.6.0" + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/rpc-parsed-types": "5.5.1", + "@solana/rpc-spec": "5.5.1", + "@solana/rpc-transformers": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" }, "engines": { - "node": "^14.21.3 || >=16", - "npm": ">=9" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/node_modules/ethereum-cryptography/node_modules/@noble/curves": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", - "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "node_modules/@solana/rpc-api/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/hashes": "1.8.0" + "@solana/errors": "5.5.1" }, "engines": { - "node": "^14.21.3 || >=16" + "node": ">=20.18.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/ethereum-controllers/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/@toruslabs/fetch-node-details": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/fetch-node-details/-/fetch-node-details-15.0.0.tgz", - "integrity": "sha512-uYTV+mv5U6egTQj94zSyy9NqlfUYdwen6GeyDdCA7g0TN+YnRV4WgkcjloN0llscrND7mzuJNSIVDHCE+kSpcQ==", + "node_modules/@solana/rpc-api/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/constants": "^15.0.0", - "@toruslabs/fnd-base": "^15.0.0", - "@toruslabs/http-helpers": "^8.1.1", - "loglevel": "^1.9.2" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/fetch-node-details/node_modules/@toruslabs/constants": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-15.0.0.tgz", - "integrity": "sha512-0nr6vU3FQT2eRsnPYRwfVIkjwawLTkDTkCusiny9DgAw1M2zbmNqPOAqWuljUcDaK/u4VB0/PrN5SzhVBLnNGg==", + "node_modules/@solana/rpc-api/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", + "optional": true, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20" + } + }, + "node_modules/@solana/rpc-parsed-types": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-parsed-types/-/rpc-parsed-types-5.5.1.tgz", + "integrity": "sha512-HEi3G2nZqGEsa3vX6U0FrXLaqnUCg4SKIUrOe8CezD+cSFbRTOn3rCLrUmJrhVyXlHoQVaRO9mmeovk31jWxJg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/fetch-node-details/node_modules/@toruslabs/http-helpers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-8.1.1.tgz", - "integrity": "sha512-bcymgOEAHjWJtqWvbCw+jCLk8vch5V53E/17moM0kAQO+tY0omhsMpZYDtFcbF3xl8/fLyW7G0HGUfThPykQ7A==", + "node_modules/@solana/rpc-spec": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-spec/-/rpc-spec-5.5.1.tgz", + "integrity": "sha512-m3LX2bChm3E3by4mQrH4YwCAFY57QBzuUSWqlUw7ChuZ+oLLOq7b2czi4i6L4Vna67j3eCmB3e+4tqy1j5wy7Q==", "license": "MIT", + "optional": true, "dependencies": { - "deepmerge": "^4.3.1", - "loglevel": "^1.9.2" + "@solana/errors": "5.5.1", + "@solana/rpc-spec-types": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "^7.x", - "@sentry/core": "^9.x" + "typescript": "^5.0.0" }, "peerDependenciesMeta": { - "@sentry/core": { + "typescript": { "optional": true } } }, - "node_modules/@toruslabs/ffjavascript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/ffjavascript/-/ffjavascript-5.0.0.tgz", - "integrity": "sha512-smC85L5SREn31pA+XayZ86Cxd+2VeRzKKZ5ytLrMDYb5ZrXpUAd9Hr2HlaJbQiGPQgyR6KxOU9W5qyHSLFJmHg==", - "license": "GPL-3.0", + "node_modules/@solana/rpc-spec-types": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-spec-types/-/rpc-spec-types-5.5.1.tgz", + "integrity": "sha512-6OFKtRpIEJQs8Jb2C4OO8KyP2h2Hy1MFhatMAoXA+0Ik8S3H+CicIuMZvGZ91mIu/tXicuOOsNNLu3HAkrakrw==", + "license": "MIT", + "optional": true, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/fnd-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/fnd-base/-/fnd-base-15.0.0.tgz", - "integrity": "sha512-KygYyPBHADmXKmzClbGcKc0oOI/Ay5FP/fUsFvXXRv4ey+VfIKiHHSAo6IojozvVUSrs0kDwocSpeE3sp/hBPA==", + "node_modules/@solana/rpc-spec/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/constants": "^15.0.0" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/fnd-base/node_modules/@toruslabs/constants": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-15.0.0.tgz", - "integrity": "sha512-0nr6vU3FQT2eRsnPYRwfVIkjwawLTkDTkCusiny9DgAw1M2zbmNqPOAqWuljUcDaK/u4VB0/PrN5SzhVBLnNGg==", + "node_modules/@solana/rpc-spec/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", + "optional": true, "engines": { - "node": ">=18.x", - "npm": ">=9.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" + "node": ">=20" } }, - "node_modules/@toruslabs/http-helpers": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-6.1.1.tgz", - "integrity": "sha512-bJYOaltRzklzObhRdutT1wau17vXyrCCBKJOeN46F1t99MUXi5udQNeErFOcr9qBsvrq2q67eVBkU5XOeBMX5A==", + "node_modules/@solana/rpc-subscriptions": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-subscriptions/-/rpc-subscriptions-5.5.1.tgz", + "integrity": "sha512-CTMy5bt/6mDh4tc6vUJms9EcuZj3xvK0/xq8IQ90rhkpYvate91RjBP+egvjgSayUg9yucU9vNuUpEjz4spM7w==", "license": "MIT", + "optional": true, "dependencies": { - "lodash.merge": "^4.6.2", - "loglevel": "^1.9.1" + "@solana/errors": "5.5.1", + "@solana/fast-stable-stringify": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/promises": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "@solana/rpc-subscriptions-api": "5.5.1", + "@solana/rpc-subscriptions-channel-websocket": "5.5.1", + "@solana/rpc-subscriptions-spec": "5.5.1", + "@solana/rpc-transformers": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/subscribable": "5.5.1" }, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "^7.x", - "@sentry/types": "^7.x" + "typescript": "^5.0.0" }, "peerDependenciesMeta": { - "@sentry/types": { + "typescript": { "optional": true } } }, - "node_modules/@toruslabs/loglevel-sentry": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@toruslabs/loglevel-sentry/-/loglevel-sentry-8.1.0.tgz", - "integrity": "sha512-cE8Q7R9HybrqrTU7bz5rh1j9QiBGjd/mVxekIKjK8AJYzGMFuVtDumsX9fBXg5nKoNcejS1jbOACjEx8BM+uLQ==", + "node_modules/@solana/rpc-subscriptions-api": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-subscriptions-api/-/rpc-subscriptions-api-5.5.1.tgz", + "integrity": "sha512-5Oi7k+GdeS8xR2ly1iuSFkAv6CZqwG0Z6b1QZKbEgxadE1XGSDrhM2cn59l+bqCozUWCqh4c/A2znU/qQjROlw==", "license": "MIT", + "optional": true, "dependencies": { - "@sentry/core": "^9.11.0", - "loglevel": "^1.9.2" + "@solana/addresses": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/rpc-subscriptions-spec": "5.5.1", + "@solana/rpc-transformers": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "^7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/metadata-helpers": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@toruslabs/metadata-helpers/-/metadata-helpers-5.1.0.tgz", - "integrity": "sha512-7fdqKuWUaJT/ng+PlqrA4XKkn8Dij4JJozfv/4gHTi0f/6JFncpzIces09jTV70hCf0JIsTCvIDlzKOdJ+aeZg==", + "node_modules/@solana/rpc-subscriptions-channel-websocket": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-subscriptions-channel-websocket/-/rpc-subscriptions-channel-websocket-5.5.1.tgz", + "integrity": "sha512-7tGfBBrYY8TrngOyxSHoCU5shy86iA9SRMRrPSyBhEaZRAk6dnbdpmUTez7gtdVo0BCvh9nzQtUycKWSS7PnFQ==", "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/eccrypto": "^4.0.0", - "@toruslabs/http-helpers": "^6.1.0", - "elliptic": "^6.5.5", - "ethereum-cryptography": "^2.1.3", - "json-stable-stringify": "^1.1.1" + "@solana/errors": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/rpc-subscriptions-spec": "5.5.1", + "@solana/subscribable": "5.5.1", + "ws": "^8.19.0" }, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/openlogin": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@toruslabs/openlogin/-/openlogin-8.2.1.tgz", - "integrity": "sha512-2X1s6dg8PhF/eXjKChkEHhKNO27gx7pjdUD7moMwu+YNm3+SJWJtt+bJWNbHIvWKHcCsms7nC8Pn3RZ8arOEQg==", - "license": "ISC", + "node_modules/@solana/rpc-subscriptions-channel-websocket/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", + "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/constants": "^13.2.0", - "@toruslabs/eccrypto": "^4.0.0", - "@toruslabs/metadata-helpers": "^5.1.0", - "@toruslabs/openlogin-session-manager": "^3.1.1", - "@toruslabs/openlogin-utils": "^8.2.1", - "@toruslabs/secure-pub-sub": "^0.2.0", - "bowser": "^2.11.0", - "events": "^3.3.0", - "loglevel": "^1.9.1", - "ts-custom-error": "^3.3.1" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/openlogin-jrpc": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-8.3.0.tgz", - "integrity": "sha512-1OdSkUXGXJobkkMIJHuf+XzwmUB4ROy6uQfPEJ3NXvNj84+N4hNpvC4JPg7VoWBHdfCba9cv6QnQsVArlwai4A==", - "license": "ISC", - "dependencies": { - "end-of-stream": "^1.4.4", - "events": "^3.3.0", - "fast-safe-stringify": "^2.1.1", - "once": "^1.4.0", - "pump": "^3.0.0", - "readable-stream": "^4.5.2" - }, + "node_modules/@solana/rpc-subscriptions-channel-websocket/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", + "license": "MIT", + "optional": true, "engines": { - "node": ">=18.x", - "npm": ">=9.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" + "node": ">=20" } }, - "node_modules/@toruslabs/openlogin-session-manager": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@toruslabs/openlogin-session-manager/-/openlogin-session-manager-3.1.1.tgz", - "integrity": "sha512-hikBX7CdiWCTNNfsiacPM9O+2Ysf6ULcn9E4og9BVSt4brduUQoa9ioNY6G5m0eH/xQCzRsLpSRGNuOPTBJm3w==", - "license": "ISC", + "node_modules/@solana/rpc-subscriptions-spec": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-subscriptions-spec/-/rpc-subscriptions-spec-5.5.1.tgz", + "integrity": "sha512-iq+rGq5fMKP3/mKHPNB6MC8IbVW41KGZg83Us/+LE3AWOTWV1WT20KT2iH1F1ik9roi42COv/TpoZZvhKj45XQ==", + "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/base-session-manager": "^3.1.1", - "@toruslabs/eccrypto": "^4.0.0", - "@toruslabs/metadata-helpers": "5.1.0" + "@solana/errors": "5.5.1", + "@solana/promises": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "@solana/subscribable": "5.5.1" }, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/openlogin-utils": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@toruslabs/openlogin-utils/-/openlogin-utils-8.2.1.tgz", - "integrity": "sha512-NSOtj61NZe7w9qbd92cYwMlE/1UwPGtDH02NfUjoEEc3p1yD5U2cLZjdSwsnAgjGNgRqVomXpND4hii12lI/ew==", - "license": "ISC", + "node_modules/@solana/rpc-subscriptions-spec/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", + "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/constants": "^13.2.0", - "base64url": "^3.0.1", - "color": "^4.2.3" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/secure-pub-sub": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@toruslabs/secure-pub-sub/-/secure-pub-sub-0.2.0.tgz", - "integrity": "sha512-pkpEbeJaGHYUFj7M3lVYfzUFSX+54Vfb4M+IB+RagNpWviTp/rUQ+hy+vcFKkuuwsxZ5NDnucHzb7+XJmdLTmA==", + "node_modules/@solana/rpc-subscriptions-spec/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", - "dependencies": { - "@toruslabs/eccrypto": "^4.0.0", - "@toruslabs/http-helpers": "^6.1.0", - "@toruslabs/metadata-helpers": "^5.1.0", - "loglevel": "^1.9.1", - "socket.io-client": "^4.7.4" - }, + "optional": true, "engines": { - "node": ">=18.x", - "npm": ">=9.x" - }, - "peerDependencies": { - "@babel/runtime": "7.x" + "node": ">=20" } }, - "node_modules/@toruslabs/session-manager": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@toruslabs/session-manager/-/session-manager-4.0.2.tgz", - "integrity": "sha512-26GflDkna9kDF4kd7+XmFAsI69CIz/ZSmsbQH6ehylaNDYcro/xuPQB2SnzyRMi4VMkLXYDwHapm2OBURmuMbQ==", + "node_modules/@solana/rpc-subscriptions/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/constants": "^14.2.0", - "@toruslabs/eccrypto": "^6.0.2", - "@toruslabs/http-helpers": "^8.1.0", - "@toruslabs/metadata-helpers": "^7.0.2" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, - "optionalDependencies": { - "@rollup/rollup-linux-x64-gnu": "^4.35.0" + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/session-manager/node_modules/@noble/curves": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", - "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "node_modules/@solana/rpc-subscriptions/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", - "dependencies": { - "@noble/hashes": "1.8.0" - }, + "optional": true, "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=20" } }, - "node_modules/@toruslabs/session-manager/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==", + "node_modules/@solana/rpc-transformers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-transformers/-/rpc-transformers-5.5.1.tgz", + "integrity": "sha512-OsWqLCQdcrRJKvHiMmwFhp9noNZ4FARuMkHT5us3ustDLXaxOjF0gfqZLnMkulSLcKt7TGXqMhBV+HCo7z5M8Q==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/curves": "~1.9.0", - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" + "@solana/errors": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/nominal-types": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "@solana/rpc-types": "5.5.1" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/session-manager/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==", + "node_modules/@solana/rpc-transformers/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@toruslabs/session-manager/node_modules/@toruslabs/constants": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-14.2.0.tgz", - "integrity": "sha512-Mb5EfYNSPyvvw5s1JXnpZwritCgp4NmLni1imTqrSKGV3yikYhUn1ufyLMAHGnBBgv4AuMIXBIe3EpJJ+SpA0g==", - "license": "MIT", "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/session-manager/node_modules/@toruslabs/eccrypto": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-6.2.0.tgz", - "integrity": "sha512-GbVAXDC5AIecb01gEafiiZzVfRNGiNk85R7ZUDMpUjoYGOy6/FdHdM4x2ySqBj7B6xiXWf+rMfr99J7+TLjyxg==", - "license": "CC0-1.0", - "dependencies": { - "elliptic": "^6.6.1" - }, + "node_modules/@solana/rpc-transformers/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", + "license": "MIT", + "optional": true, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20" } }, - "node_modules/@toruslabs/session-manager/node_modules/@toruslabs/http-helpers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-8.1.1.tgz", - "integrity": "sha512-bcymgOEAHjWJtqWvbCw+jCLk8vch5V53E/17moM0kAQO+tY0omhsMpZYDtFcbF3xl8/fLyW7G0HGUfThPykQ7A==", + "node_modules/@solana/rpc-transport-http": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-transport-http/-/rpc-transport-http-5.5.1.tgz", + "integrity": "sha512-yv8GoVSHqEV0kUJEIhkdOVkR2SvJ6yoWC51cJn2rSV7plr6huLGe0JgujCmB7uZhhaLbcbP3zxXxu9sOjsi7Fg==", "license": "MIT", + "optional": true, "dependencies": { - "deepmerge": "^4.3.1", - "loglevel": "^1.9.2" + "@solana/errors": "5.5.1", + "@solana/rpc-spec": "5.5.1", + "@solana/rpc-spec-types": "5.5.1", + "undici-types": "^7.19.2" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "^7.x", - "@sentry/core": "^9.x" + "typescript": "^5.0.0" }, "peerDependenciesMeta": { - "@sentry/core": { + "typescript": { "optional": true } } }, - "node_modules/@toruslabs/session-manager/node_modules/@toruslabs/metadata-helpers": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@toruslabs/metadata-helpers/-/metadata-helpers-7.0.2.tgz", - "integrity": "sha512-N8UeKwtTlRlGAuQJQfYwCshsu5g9Fte8Xe6ZEt/WH6blNAoKjz579BPN4FrS478JIj/kMtIkD1guT84Umpdv1w==", + "node_modules/@solana/rpc-transport-http/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/eccrypto": "^6.0.2", - "@toruslabs/http-helpers": "^8.1.0", - "elliptic": "^6.6.1", - "ethereum-cryptography": "^3.1.0", - "json-stable-stringify": "^1.2.1" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/session-manager/node_modules/ethereum-cryptography": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", - "integrity": "sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==", + "node_modules/@solana/rpc-transport-http/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", - "dependencies": { - "@noble/ciphers": "1.3.0", - "@noble/curves": "1.9.0", - "@noble/hashes": "1.8.0", - "@scure/bip32": "1.7.0", - "@scure/bip39": "1.6.0" - }, + "optional": true, "engines": { - "node": "^14.21.3 || >=16", - "npm": ">=9" + "node": ">=20" } }, - "node_modules/@toruslabs/starkware-crypto": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/starkware-crypto/-/starkware-crypto-5.0.0.tgz", - "integrity": "sha512-CZjpkeuT0hBsX5dNGEekLcjR2n6UHzh682Pt/AheJYL4+zrupqPWZTfvOlo4K3Iihyv6FzRZmrbHLdQutkz5oQ==", + "node_modules/@solana/rpc-transport-http/node_modules/undici-types": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.25.0.tgz", + "integrity": "sha512-AXNgS1Byr27fTI+2bsPEkV9CxkT8H6xNyRI68b3TatlZo3RkzlqQBLL+w7SmGPVpokjHbcuNVQUWE7FRTg+LRA==", + "license": "MIT", + "optional": true + }, + "node_modules/@solana/rpc-types": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/rpc-types/-/rpc-types-5.5.1.tgz", + "integrity": "sha512-bibTFQ7PbHJJjGJPmfYC2I+/5CRFS4O2p9WwbFraX1Keeel+nRrt/NBXIy8veP5AEn2sVJIyJPpWBRpCx1oATA==", "license": "MIT", + "optional": true, "dependencies": { - "assert": "^2.1.0", - "bip39": "^3.1.0", - "bn.js": "^5.2.1", - "elliptic": "^6.6.1", - "enc-utils": "^3.0.0", - "ethereum-cryptography": "^3.1.0", - "hash.js": "^1.1.7" + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/nominal-types": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/starkware-crypto/node_modules/@noble/curves": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", - "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "node_modules/@solana/rpc-types/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/hashes": "1.8.0" + "@solana/errors": "5.5.1" }, "engines": { - "node": "^14.21.3 || >=16" + "node": ">=20.18.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/starkware-crypto/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==", + "node_modules/@solana/rpc-types/node_modules/@solana/codecs-numbers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-5.5.1.tgz", + "integrity": "sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/curves": "~1.9.0", - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/starkware-crypto/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==", + "node_modules/@solana/rpc-types/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" + "chalk": "5.6.2", + "commander": "14.0.2" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "bin": { + "errors": "bin/cli.mjs" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/starkware-crypto/node_modules/ethereum-cryptography": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", - "integrity": "sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==", + "node_modules/@solana/rpc-types/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", - "dependencies": { - "@noble/ciphers": "1.3.0", - "@noble/curves": "1.9.0", - "@noble/hashes": "1.8.0", - "@scure/bip32": "1.7.0", - "@scure/bip39": "1.6.0" - }, + "optional": true, "engines": { - "node": "^14.21.3 || >=16", - "npm": ">=9" + "node": ">=20" } }, - "node_modules/@toruslabs/torus.js": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/torus.js/-/torus.js-16.0.0.tgz", - "integrity": "sha512-kTGn0jytD9YyPhunxN1LacVAHCCkZEOMe7hWShM65zvgqaXHccMsytgiZr3Ah1sIqsLVUMKhrHimnQ2eqfihtg==", + "node_modules/@solana/rpc/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@toruslabs/bs58": "^1.0.0", - "@toruslabs/constants": "^15.0.0", - "@toruslabs/eccrypto": "^6.0.2", - "@toruslabs/http-helpers": "^8.1.1", - "bn.js": "^5.2.1", - "elliptic": "^6.6.1", - "ethereum-cryptography": "^3.1.0", - "json-stable-stringify": "^1.2.1", - "loglevel": "^1.9.2" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/torus.js/node_modules/@noble/curves": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", - "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "node_modules/@solana/rpc/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", - "dependencies": { - "@noble/hashes": "1.8.0" - }, + "optional": true, "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=20" } }, - "node_modules/@toruslabs/torus.js/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==", + "node_modules/@solana/signers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/signers/-/signers-5.5.1.tgz", + "integrity": "sha512-FY0IVaBT2kCAze55vEieR6hag4coqcuJ31Aw3hqRH7mv6sV8oqwuJmUrx+uFwOp1gwd5OEAzlv6N4hOOple4sQ==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/curves": "~1.9.0", - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/instructions": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/nominal-types": "5.5.1", + "@solana/offchain-messages": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/torus.js/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==", + "node_modules/@solana/signers/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" + "@solana/errors": "5.5.1" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/torus.js/node_modules/@toruslabs/constants": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-15.0.0.tgz", - "integrity": "sha512-0nr6vU3FQT2eRsnPYRwfVIkjwawLTkDTkCusiny9DgAw1M2zbmNqPOAqWuljUcDaK/u4VB0/PrN5SzhVBLnNGg==", + "node_modules/@solana/signers/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, + "dependencies": { + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" + }, "engines": { - "node": ">=18.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "7.x" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/torus.js/node_modules/@toruslabs/eccrypto": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-6.2.0.tgz", - "integrity": "sha512-GbVAXDC5AIecb01gEafiiZzVfRNGiNk85R7ZUDMpUjoYGOy6/FdHdM4x2ySqBj7B6xiXWf+rMfr99J7+TLjyxg==", - "license": "CC0-1.0", - "dependencies": { - "elliptic": "^6.6.1" - }, + "node_modules/@solana/signers/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", + "license": "MIT", + "optional": true, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20" } }, - "node_modules/@toruslabs/torus.js/node_modules/@toruslabs/http-helpers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-8.1.1.tgz", - "integrity": "sha512-bcymgOEAHjWJtqWvbCw+jCLk8vch5V53E/17moM0kAQO+tY0omhsMpZYDtFcbF3xl8/fLyW7G0HGUfThPykQ7A==", + "node_modules/@solana/subscribable": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/subscribable/-/subscribable-5.5.1.tgz", + "integrity": "sha512-9K0PsynFq0CsmK1CDi5Y2vUIJpCqkgSS5yfDN0eKPgHqEptLEaia09Kaxc90cSZDZU5mKY/zv1NBmB6Aro9zQQ==", "license": "MIT", + "optional": true, "dependencies": { - "deepmerge": "^4.3.1", - "loglevel": "^1.9.2" + "@solana/errors": "5.5.1" }, "engines": { - "node": ">=20.x", - "npm": ">=9.x" + "node": ">=20.18.0" }, "peerDependencies": { - "@babel/runtime": "^7.x", - "@sentry/core": "^9.x" + "typescript": "^5.0.0" }, "peerDependenciesMeta": { - "@sentry/core": { + "typescript": { "optional": true } } }, - "node_modules/@toruslabs/torus.js/node_modules/ethereum-cryptography": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", - "integrity": "sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==", + "node_modules/@solana/subscribable/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@noble/ciphers": "1.3.0", - "@noble/curves": "1.9.0", - "@noble/hashes": "1.8.0", - "@scure/bip32": "1.7.0", - "@scure/bip39": "1.6.0" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" }, "engines": { - "node": "^14.21.3 || >=16", - "npm": ">=9" + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@toruslabs/tweetnacl-js": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@toruslabs/tweetnacl-js/-/tweetnacl-js-1.0.4.tgz", - "integrity": "sha512-h8fVemW5pstsKbm/fTx+y61dZkh5Pepy/92lsyKp83KErf96jT+w4LGx4nEgeAVrdYQDTLg2tO7vu/boEb23Iw==", - "license": "Unlicense" - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, + "node_modules/@solana/subscribable/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", "optional": true, - "dependencies": { - "tslib": "^2.4.0" + "engines": { + "node": ">=20" } }, - "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==", - "dev": true, + "node_modules/@solana/sysvars": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/sysvars/-/sysvars-5.5.1.tgz", + "integrity": "sha512-k3Quq87Mm+geGUu1GWv6knPk0ALsfY6EKSJGw9xUJDHzY/RkYSBnh0RiOrUhtFm2TDNjOailg8/m0VHmi3reFA==", "license": "MIT", + "optional": true, "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@solana/accounts": "5.5.1", + "@solana/codecs": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/rpc-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "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==", - "dev": true, + "node_modules/@solana/sysvars/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@babel/types": "^7.0.0" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "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==", - "dev": true, + "node_modules/@solana/sysvars/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "optional": true, + "engines": { + "node": ">=20" } }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, + "node_modules/@solana/transaction-confirmation": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/transaction-confirmation/-/transaction-confirmation-5.5.1.tgz", + "integrity": "sha512-j4mKlYPHEyu+OD7MBt3jRoX4ScFgkhZC6H65on4Fux6LMScgivPJlwnKoZMnsgxFgWds0pl+BYzSiALDsXlYtw==", "license": "MIT", + "optional": true, "dependencies": { - "@babel/types": "^7.28.2" + "@solana/addresses": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/promises": "5.5.1", + "@solana/rpc": "5.5.1", + "@solana/rpc-subscriptions": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/transaction-messages": "5.5.1", + "@solana/transactions": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@types/brorand": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/@types/brorand/-/brorand-1.0.33.tgz", - "integrity": "sha512-KmNsWYtzKXpmxjecvYWUEGK5biJB/1kpHRObHZD8eme1tz/TvbESbZeNAHPRNd5qyCJiHk2ztbNzKbPC6TuPFg==", + "node_modules/@solana/transaction-confirmation/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@types/node": "*" + "chalk": "5.6.2", + "commander": "14.0.2" + }, + "bin": { + "errors": "bin/cli.mjs" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@types/chai": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", - "dev": true, + "node_modules/@solana/transaction-confirmation/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", - "dependencies": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" + "optional": true, + "engines": { + "node": ">=20" } }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", - "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true, - "license": "MIT" - }, - "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/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/lodash": { - "version": "4.17.24", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", - "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", - "license": "MIT" - }, - "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": "20.19.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz", - "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", + "node_modules/@solana/transaction-messages": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/transaction-messages/-/transaction-messages-5.5.1.tgz", + "integrity": "sha512-aXyhMCEaAp3M/4fP0akwBBQkFPr4pfwoC5CLDq999r/FUwDax2RE/h4Ic7h2Xk+JdcUwsb+rLq85Y52hq84XvQ==", "license": "MIT", + "optional": true, "dependencies": { - "undici-types": "~6.21.0" + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-data-structures": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/instructions": "5.5.1", + "@solana/nominal-types": "5.5.1", + "@solana/rpc-types": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@types/react": { - "version": "19.2.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", - "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", - "devOptional": true, + "node_modules/@solana/transaction-messages/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "devOptional": true, - "license": "MIT", + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, "peerDependencies": { - "@types/react": "^19.2.0" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "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/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/@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "node_modules/@solana/transaction-messages/node_modules/@solana/codecs-numbers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-5.5.1.tgz", + "integrity": "sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==", "license": "MIT", + "optional": true, "dependencies": { - "@types/node": "*" + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" + }, + "engines": { + "node": ">=20.18.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.50.0.tgz", - "integrity": "sha512-O7QnmOXYKVtPrfYzMolrCTfkezCJS9+ljLdKW/+DCvRsc3UAz+sbH6Xcsv7p30+0OwUbeWfUDAQE0vpabZ3QLg==", - "dev": true, + "node_modules/@solana/transaction-messages/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/type-utils": "8.50.0", - "@typescript-eslint/utils": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" + "chalk": "5.6.2", + "commander": "14.0.2" }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "bin": { + "errors": "bin/cli.mjs" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=20.18.0" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.50.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, + "node_modules/@solana/transaction-messages/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", + "optional": true, "engines": { - "node": ">= 4" + "node": ">=20" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.50.0.tgz", - "integrity": "sha512-6/cmF2piao+f6wSxUsJLZjck7OQsYyRtcOZS02k7XINSNlz93v6emM8WutDQSXnroG2xwYlEVHJI+cPA7CPM3Q==", - "dev": true, + "node_modules/@solana/transactions": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/transactions/-/transactions-5.5.1.tgz", + "integrity": "sha512-8hHtDxtqalZ157pnx6p8k10D7J/KY/biLzfgh9R09VNLLY3Fqi7kJvJCr7M2ik3oRll56pxhraAGCC9yIT6eOA==", "license": "MIT", + "optional": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", - "debug": "^4.3.4" + "@solana/addresses": "5.5.1", + "@solana/codecs-core": "5.5.1", + "@solana/codecs-data-structures": "5.5.1", + "@solana/codecs-numbers": "5.5.1", + "@solana/codecs-strings": "5.5.1", + "@solana/errors": "5.5.1", + "@solana/functional": "5.5.1", + "@solana/instructions": "5.5.1", + "@solana/keys": "5.5.1", + "@solana/nominal-types": "5.5.1", + "@solana/rpc-types": "5.5.1", + "@solana/transaction-messages": "5.5.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=20.18.0" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.50.0.tgz", - "integrity": "sha512-Cg/nQcL1BcoTijEWyx4mkVC56r8dj44bFDvBdygifuS20f3OZCHmFbjF34DPSi07kwlFvqfv/xOLnJ5DquxSGQ==", - "dev": true, + "node_modules/@solana/transactions/node_modules/@solana/codecs-core": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-core/-/codecs-core-5.5.1.tgz", + "integrity": "sha512-TgBt//bbKBct0t6/MpA8ElaOA3sa8eYVvR7LGslCZ84WiAwwjCY0lW/lOYsFHJQzwREMdUyuEyy5YWBKtdh8Rw==", "license": "MIT", + "optional": true, "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.50.0", - "@typescript-eslint/types": "^8.50.0", - "debug": "^4.3.4" + "@solana/errors": "5.5.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=20.18.0" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.50.0.tgz", - "integrity": "sha512-xCwfuCZjhIqy7+HKxBLrDVT5q/iq7XBVBXLn57RTIIpelLtEIZHXAF/Upa3+gaCpeV1NNS5Z9A+ID6jn50VD4A==", - "dev": true, + "node_modules/@solana/transactions/node_modules/@solana/codecs-numbers": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/codecs-numbers/-/codecs-numbers-5.5.1.tgz", + "integrity": "sha512-rllMIZAHqmtvC0HO/dc/21wDuWaD0B8Ryv8o+YtsICQBuiL/0U4AGwH7Pi5GNFySYk0/crSuwfIqQFtmxNSPFw==", "license": "MIT", + "optional": true, "dependencies": { - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "@solana/codecs-core": "5.5.1", + "@solana/errors": "5.5.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.0.tgz", - "integrity": "sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w==", - "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": ">=20.18.0" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.50.0.tgz", - "integrity": "sha512-7OciHT2lKCewR0mFoBrvZJ4AXTMe/sYOe87289WAViOocEmDjjv8MvIOT2XESuKj9jp8u3SZYUSh89QA4S1kQw==", - "dev": true, + "node_modules/@solana/transactions/node_modules/@solana/errors": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/@solana/errors/-/errors-5.5.1.tgz", + "integrity": "sha512-vFO3p+S7HoyyrcAectnXbdsMfwUzY2zYFUc2DEe5BwpiE9J1IAxPBGjOWO6hL1bbYdBrlmjNx8DXCslqS+Kcmg==", "license": "MIT", + "optional": true, "dependencies": { - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/utils": "8.50.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" + "chalk": "5.6.2", + "commander": "14.0.2" }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "bin": { + "errors": "bin/cli.mjs" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=20.18.0" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@typescript-eslint/types": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.50.0.tgz", - "integrity": "sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w==", - "dev": true, + "node_modules/@solana/transactions/node_modules/commander": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", + "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", "license": "MIT", + "optional": true, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=20" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.50.0.tgz", - "integrity": "sha512-W7SVAGBR/IX7zm1t70Yujpbk+zdPq/u4soeFSknWFdXIFuWsBGBOUu/Tn/I6KHSKvSh91OiMuaSnYp3mtPt5IQ==", - "dev": true, - "license": "MIT", + "node_modules/@solana/wallet-standard-features": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@solana/wallet-standard-features/-/wallet-standard-features-1.3.0.tgz", + "integrity": "sha512-ZhpZtD+4VArf6RPitsVExvgkF+nGghd1rzPjd97GmBximpnt1rsUxMOEyoIEuH3XBxPyNB6Us7ha7RHWQR+abg==", + "license": "Apache-2.0", "dependencies": { - "@typescript-eslint/project-service": "8.50.0", - "@typescript-eslint/tsconfig-utils": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/visitor-keys": "8.50.0", - "debug": "^4.3.4", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.1.0" + "@wallet-standard/base": "^1.1.0", + "@wallet-standard/features": "^1.1.0" }, "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 <6.0.0" + "node": ">=16" } }, - "node_modules/@typescript-eslint/typescript-estree/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "node_modules/@solana/web3.js": { + "version": "1.98.4", + "resolved": "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.98.4.tgz", + "integrity": "sha512-vv9lfnvjUsRiq//+j5pBdXig0IQdtzA0BRZ3bXEP4KaIyF1CcaydWqgyzQgfZMNIsWNWmG+AUHwPy4AHOD6gpw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.25.0", + "@noble/curves": "^1.4.2", + "@noble/hashes": "^1.4.0", + "@solana/buffer-layout": "^4.0.1", + "@solana/codecs-numbers": "^2.1.0", + "agentkeepalive": "^4.5.0", + "bn.js": "^5.2.1", + "borsh": "^0.7.0", + "bs58": "^4.0.1", + "buffer": "6.0.3", + "fast-stable-stringify": "^1.0.0", + "jayson": "^4.1.1", + "node-fetch": "^2.7.0", + "rpc-websockets": "^9.0.2", + "superstruct": "^2.0.2" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "license": "Apache-2.0", "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "tslib": "^2.8.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "node_modules/@swc/helpers/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/@tabby_ai/hijri-converter": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@tabby_ai/hijri-converter/-/hijri-converter-1.0.5.tgz", + "integrity": "sha512-r5bClKrcIusDoo049dSL8CawnHR6mRdDwhlQuIgZRNty68q0x8k3Lf1BtPAMxRf/GgnHBnIO4ujd3+GQdLWzxQ==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=16.0.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.50.0.tgz", - "integrity": "sha512-87KgUXET09CRjGCi2Ejxy3PULXna63/bMYv72tCAlDJC3Yqwln0HiFJ3VJMst2+mEtNtZu5oFvX4qJGjKsnAgg==", + "node_modules/@tailwindcss/node": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.4.tgz", + "integrity": "sha512-Ai7+yQPxz3ddrDQzFfBKdHEVBg0w3Zl83jnjuwxnZOsnH9pGn93QHQtpU0p/8rYWxvbFZHneni6p1BSLK4DkGA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.50.0", - "@typescript-eslint/types": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.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 <6.0.0" + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.4" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.50.0.tgz", - "integrity": "sha512-Xzmnb58+Db78gT/CCj/PVCvK+zxbnsw6F+O1oheYszJbBSdEjVhQi3C/Xttzxgi/GLmpvOggRs1RFpiJ8+c34Q==", + "node_modules/@tailwindcss/oxide": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.4.tgz", + "integrity": "sha512-9El/iI069DKDSXwTvB9J4BwdO5JhRrOweGaK25taBAvBXyXqJAX+Jqdvs8r8gKpsI/1m0LeJLyQYTf/WLrBT1Q==", "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.50.0", - "eslint-visitor-keys": "^4.2.1" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 20" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.2.4", + "@tailwindcss/oxide-darwin-arm64": "4.2.4", + "@tailwindcss/oxide-darwin-x64": "4.2.4", + "@tailwindcss/oxide-freebsd-x64": "4.2.4", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.4", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.4", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.4", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.4", + "@tailwindcss/oxide-linux-x64-musl": "4.2.4", + "@tailwindcss/oxide-wasm32-wasi": "4.2.4", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.4", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.4" } }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.4.tgz", + "integrity": "sha512-e7MOr1SAn9U8KlZzPi1ZXGZHeC5anY36qjNwmZv9pOJ8E4Q6jmD1vyEHkQFmNOIN7twGPEMXRHmitN4zCMN03g==", "cpu": [ "arm64" ], @@ -8098,12 +8634,15 @@ "optional": true, "os": [ "android" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.4.tgz", + "integrity": "sha512-tSC/Kbqpz/5/o/C2sG7QvOxAKqyd10bq+ypZNf+9Fi2TvbVbv1zNpcEptcsU7DPROaSbVgUXmrzKhurFvo5eDg==", "cpu": [ "arm64" ], @@ -8112,12 +8651,15 @@ "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.4.tgz", + "integrity": "sha512-yPyUXn3yO/ufR6+Kzv0t4fCg2qNr90jxXc5QqBpjlPNd0NqyDXcmQb/6weunH/MEDXW5dhyEi+agTDiqa3WsGg==", "cpu": [ "x64" ], @@ -8126,12 +8668,15 @@ "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.4.tgz", + "integrity": "sha512-BoMIB4vMQtZsXdGLVc2z+P9DbETkiopogfWZKbWwM8b/1Vinbs4YcUwo+kM/KeLkX3Ygrf4/PsRndKaYhS8Eiw==", "cpu": [ "x64" ], @@ -8140,12 +8685,15 @@ "optional": true, "os": [ "freebsd" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.4.tgz", + "integrity": "sha512-7pIHBLTHYRAlS7V22JNuTh33yLH4VElwKtB3bwchK/UaKUPpQ0lPQiOWcbm4V3WP2I6fNIJ23vABIvoy2izdwA==", "cpu": [ "arm" ], @@ -8154,26 +8702,32 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.4.tgz", + "integrity": "sha512-+E4wxJ0ZGOzSH325reXTWB48l42i93kQqMvDyz5gqfRzRZ7faNhnmvlV4EPGJU3QJM/3Ab5jhJ5pCRUsKn6OQw==", "cpu": [ - "arm" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.4.tgz", + "integrity": "sha512-bBADEGAbo4ASnppIziaQJelekCxdMaxisrk+fB7Thit72IBnALp9K6ffA2G4ruj90G9XRS2VQ6q2bCKbfFV82g==", "cpu": [ "arm64" ], @@ -8182,155 +8736,160 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.4.tgz", + "integrity": "sha512-7Mx25E4WTfnht0TVRTyC00j3i0M+EeFe7wguMDTlX4mRxafznw0CA8WJkFjWYH5BlgELd1kSjuU2JiPnNZbJDA==", "cpu": [ - "arm64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.4.tgz", + "integrity": "sha512-2wwJRF7nyhOR0hhHoChc04xngV3iS+akccHTGtz965FwF0up4b2lOdo6kI1EbDaEXKgvcrFBYcYQQ/rrnWFVfA==", "cpu": [ - "ppc64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.4.tgz", + "integrity": "sha512-FQsqApeor8Fo6gUEklzmaa9994orJZZDBAlQpK2Mq+DslRKFJeD6AjHpBQ0kZFQohVr8o85PPh8eOy86VlSCmw==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], "cpu": [ - "riscv64" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@emnapi/core": "^1.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.8.1", "dev": true, + "inBundle": true, "license": "MIT", "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.8.1", "dev": true, + "inBundle": true, "license": "MIT", "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "tslib": "^2.4.0" + } }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", "dev": true, + "inBundle": true, "license": "MIT", "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "tslib": "^2.4.0" + } }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.1", "dev": true, + "inBundle": true, "license": "MIT", "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util": { + "version": "0.10.1", "dev": true, + "inBundle": true, "license": "MIT", "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" + "tslib": "^2.4.0" } }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib": { + "version": "2.8.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "inBundle": true, + "license": "0BSD", + "optional": true }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.4.tgz", + "integrity": "sha512-L9BXqxC4ToVgwMFqj3pmZRqyHEztulpUJzCxUtLjobMCzTPsGt1Fa9enKbOpY2iIyVtaHNeNvAK8ERP/64sqGQ==", "cpu": [ - "ia32" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": ">= 20" + } }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.4.tgz", + "integrity": "sha512-ESlKG0EpVJQwRjXDDa9rLvhEAh0mhP1sF7sap9dNZT0yyl9SAG6T7gdP09EH0vIv0UNTlo6jPWyujD6559fZvw==", "cpu": [ "x64" ], @@ -8339,326 +8898,188 @@ "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": ">= 20" + } }, - "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==", + "node_modules/@tailwindcss/postcss": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.4.tgz", + "integrity": "sha512-wgAVj6nUWAolAu8YFvzT2cTBIElWHkjZwFYovF+xsqKsW2ADxM/X2opxj5NsF/qVccAOjRNe8X2IdPzMsWyHTg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.28.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.27", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.2.4", + "@tailwindcss/oxide": "4.2.4", + "postcss": "^8.5.6", + "tailwindcss": "4.2.4" } }, - "node_modules/@vitest/expect": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.1.tgz", - "integrity": "sha512-xAV0fqBTk44Rn6SjJReEQkHP3RrqbJo6JQ4zZ7/uVOiJZRarBtblzrOfFIZeYUrukp2YD6snZG6IBqhOoHTm+A==", - "dev": true, + "node_modules/@tanstack/query-core": { + "version": "5.100.4", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.100.4.tgz", + "integrity": "sha512-LdW/DDImiw9g4ukyndlrifIXPFpoQjNybCAIDBcPvdYu9iUIhAKwhznfAATe2dJBonhm0O3ksoCMmVTUxN89uA==", "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.1.0", - "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.1", - "@vitest/utils": "4.1.1", - "chai": "^6.2.2", - "tinyrainbow": "^3.0.3" - }, "funding": { - "url": "https://opencollective.com/vitest" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@vitest/mocker": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.1.tgz", - "integrity": "sha512-h3BOylsfsCLPeceuCPAAJ+BvNwSENgJa4hXoXu4im0bs9Lyp4URc4JYK4pWLZ4pG/UQn7AT92K6IByi6rE6g3A==", - "dev": true, + "node_modules/@tanstack/react-query": { + "version": "5.100.4", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.100.4.tgz", + "integrity": "sha512-L6n5UWBvnMuYaZTu6WgTbl2mJ7fob1NIdL2vIFo05R/mkr9XvP5PmesZOBiicxzhDAuUurYIG+ZFONbvarEFtQ==", "license": "MIT", "dependencies": { - "@vitest/spy": "4.1.1", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.21" + "@tanstack/query-core": "5.100.4" }, "funding": { - "url": "https://opencollective.com/vitest" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } + "react": "^18 || ^19" } }, - "node_modules/@vitest/pretty-format": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.1.tgz", - "integrity": "sha512-GM+TEQN5WhOygr1lp7skeVjdLPqqWMHsfzXrcHAqZJi/lIVh63H0kaRCY8MDhNWikx19zBUK8ceaLB7X5AH9NQ==", - "dev": true, - "license": "MIT", + "node_modules/@toruslabs/base-controllers": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-5.11.0.tgz", + "integrity": "sha512-5AsGOlpf3DRIsd6PzEemBoRq+o2OhgSFXj5LZD6gXcBlfe0OpF+ydJb7Q8rIt5wwpQLNJCs8psBUbqIv7ukD2w==", + "license": "ISC", "dependencies": { - "tinyrainbow": "^3.0.3" + "@ethereumjs/util": "^9.0.3", + "@toruslabs/broadcast-channel": "^10.0.2", + "@toruslabs/http-helpers": "^6.1.1", + "@toruslabs/openlogin-jrpc": "^8.3.0", + "@toruslabs/openlogin-utils": "^8.2.1", + "async-mutex": "^0.5.0", + "bignumber.js": "^9.1.2", + "bowser": "^2.11.0", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.1" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" } }, - "node_modules/@vitest/runner": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.1.tgz", - "integrity": "sha512-f7+FPy75vN91QGWsITueq0gedwUZy1fLtHOCMeQpjs8jTekAHeKP80zfDEnhrleviLHzVSDXIWuCIOFn3D3f8A==", - "dev": true, - "license": "MIT", + "node_modules/@toruslabs/base-session-manager": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@toruslabs/base-session-manager/-/base-session-manager-3.1.1.tgz", + "integrity": "sha512-/awg0VbJcfcdJTB2zYdnoFkNGOioODvBc7i3vfxR6lRpFvVwndYPwbD870bgRiSUt9hSee8pSfokejnjDZGpew==", + "license": "ISC", "dependencies": { - "@vitest/utils": "4.1.1", - "pathe": "^2.0.3" + "@toruslabs/http-helpers": "^6.1.0" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" } }, - "node_modules/@vitest/snapshot": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.1.tgz", - "integrity": "sha512-kMVSgcegWV2FibXEx9p9WIKgje58lcTbXgnJixfcg15iK8nzCXhmalL0ZLtTWLW9PH1+1NEDShiFFedB3tEgWg==", - "dev": true, + "node_modules/@toruslabs/broadcast-channel": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@toruslabs/broadcast-channel/-/broadcast-channel-10.0.2.tgz", + "integrity": "sha512-aZbKNgV/OhiTKSdxBTGO86xRdeR7Ct1vkB8yeyXRX32moARhZ69uJQL49jKh4cWKV3VeijrL9XvKdn5bzgHQZg==", "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.1", - "@vitest/utils": "4.1.1", - "magic-string": "^0.30.21", - "pathe": "^2.0.3" + "@babel/runtime": "^7.24.0", + "@toruslabs/eccrypto": "^4.0.0", + "@toruslabs/metadata-helpers": "^5.1.0", + "loglevel": "^1.9.1", + "oblivious-set": "1.4.0", + "socket.io-client": "^4.7.5", + "unload": "^2.4.1" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=18.x", + "npm": ">=9.x" } }, - "node_modules/@vitest/spy": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.1.tgz", - "integrity": "sha512-6Ti/KT5OVaiupdIZEuZN7l3CZcR0cxnxt70Z0//3CtwgObwA6jZhmVBA3yrXSVN3gmwjgd7oDNLlsXz526gpRA==", - "dev": true, + "node_modules/@toruslabs/bs58": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/bs58/-/bs58-1.0.0.tgz", + "integrity": "sha512-osqIgm1MzEB6+fkaQeEUg4tuZXmhhXTn+K7+nZU7xDBcy+8Yr3eGNqJcQ4jds82g+dhkk2cBkge9sffv38iDQQ==", "license": "MIT", - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" } }, - "node_modules/@vitest/utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.1.tgz", - "integrity": "sha512-cNxAlaB3sHoCdL6pj6yyUXv9Gry1NHNg0kFTXdvSIZXLHsqKH7chiWOkwJ5s5+d/oMwcoG9T0bKU38JZWKusrQ==", - "dev": true, + "node_modules/@toruslabs/constants": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-13.4.0.tgz", + "integrity": "sha512-CjmnMQ5Oj0bqSBGkhv7Xm3LciGJDHwe4AJ1LF6mijlP+QcCnUM5I6kVp60j7zZ/r0DT7nIEiuHHHczGpCZor0A==", "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "4.1.1", - "convert-source-map": "^2.0.0", - "tinyrainbow": "^3.0.3" + "engines": { + "node": ">=18.x", + "npm": ">=9.x" }, - "funding": { - "url": "https://opencollective.com/vitest" + "peerDependencies": { + "@babel/runtime": "7.x" } }, - "node_modules/@wagmi/core": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-3.4.1.tgz", - "integrity": "sha512-sEiwTERUmmxYwcvTEmKfN8ERDftt7JwutSAwa8RRAjmtJblUNBJp5VcPEzgQ+NPfnSO9Kq05OBSKSiocLNhhOQ==", + "node_modules/@toruslabs/customauth": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@toruslabs/customauth/-/customauth-21.3.2.tgz", + "integrity": "sha512-OEwb7hFZK4+TVsCuIh0lQZdSKmpO5cazeM2JbBwK3t1RmAqB9naM+SsactRoESP+MMz1IvFh3AMt6/+v8mj6aw==", "license": "MIT", "dependencies": { - "eventemitter3": "5.0.1", - "mipd": "0.0.7", - "zustand": "5.0.0" + "@chaitanyapotti/register-service-worker": "^1.7.4", + "@toruslabs/broadcast-channel": "^12.0.0", + "@toruslabs/constants": "^15.0.0", + "@toruslabs/eccrypto": "^6.2.0", + "@toruslabs/fetch-node-details": "^15.0.0", + "@toruslabs/http-helpers": "^8.1.1", + "@toruslabs/metadata-helpers": "^7.0.2", + "@toruslabs/session-manager": "^4.0.2", + "@toruslabs/torus.js": "^16.0.0", + "base64url": "^3.0.1", + "bowser": "^2.12.1", + "deepmerge": "^4.3.1", + "events": "^3.3.0", + "loglevel": "^1.9.2" }, - "funding": { - "url": "https://github.com/sponsors/wevm" + "engines": { + "node": ">=20.x", + "npm": ">=9.x" }, "peerDependencies": { - "@tanstack/query-core": ">=5.0.0", - "ox": ">=0.11.1", - "typescript": ">=5.7.3", - "viem": "2.x" + "@babel/runtime": "^7.x", + "@sentry/core": "^9.x" }, "peerDependenciesMeta": { - "@tanstack/query-core": { - "optional": true - }, - "ox": { - "optional": true - }, - "typescript": { + "@sentry/core": { "optional": true } } }, - "node_modules/@wagmi/core/node_modules/zustand": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.0.tgz", - "integrity": "sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==", + "node_modules/@toruslabs/customauth/node_modules/@noble/curves": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", + "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", "license": "MIT", - "engines": { - "node": ">=12.20.0" - }, - "peerDependencies": { - "@types/react": ">=18.0.0", - "immer": ">=9.0.6", - "react": ">=18.0.0", - "use-sync-external-store": ">=1.2.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "immer": { - "optional": true - }, - "react": { - "optional": true - }, - "use-sync-external-store": { - "optional": true - } - } - }, - "node_modules/@wallet-standard/app": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@wallet-standard/app/-/app-1.1.0.tgz", - "integrity": "sha512-3CijvrO9utx598kjr45hTbbeeykQrQfKmSnxeWOgU25TOEpvcipD/bYDQWIqUv1Oc6KK4YStokSMu/FBNecGUQ==", - "license": "Apache-2.0", - "dependencies": { - "@wallet-standard/base": "^1.1.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@wallet-standard/base": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@wallet-standard/base/-/base-1.1.0.tgz", - "integrity": "sha512-DJDQhjKmSNVLKWItoKThJS+CsJQjR9AOBOirBVT1F9YpRyC9oYHE+ZnSf8y8bxUphtKqdQMPVQ2mHohYdRvDVQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=16" - } - }, - "node_modules/@wallet-standard/features": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@wallet-standard/features/-/features-1.1.0.tgz", - "integrity": "sha512-hiEivWNztx73s+7iLxsuD1sOJ28xtRix58W7Xnz4XzzA/pF0+aicnWgjOdA10doVDEDZdUuZCIIqG96SFNlDUg==", - "license": "Apache-2.0", - "dependencies": { - "@wallet-standard/base": "^1.1.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@wallet-standard/wallet": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@wallet-standard/wallet/-/wallet-1.1.0.tgz", - "integrity": "sha512-Gt8TnSlDZpAl+RWOOAB/kuvC7RpcdWAlFbHNoi4gsXsfaWa1QCT6LBcfIYTPdOZC9OVZUDwqGuGAcqZejDmHjg==", - "license": "Apache-2.0", "dependencies": { - "@wallet-standard/base": "^1.1.0" + "@noble/hashes": "1.8.0" }, "engines": { - "node": ">=16" - } - }, - "node_modules/@walletconnect/core": { - "version": "2.23.8", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.23.8.tgz", - "integrity": "sha512-559+fA6Hh9CkEIOtrWKdDWoa3HL47glDF7D75LbqQzv4v325KXq24KEsjzDPBYr7pI49gQo7P2HpPnY1ax+8Aw==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@walletconnect/heartbeat": "1.2.2", - "@walletconnect/jsonrpc-provider": "1.0.14", - "@walletconnect/jsonrpc-types": "1.0.4", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/jsonrpc-ws-connection": "1.0.16", - "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "3.0.2", - "@walletconnect/relay-api": "1.0.11", - "@walletconnect/relay-auth": "1.1.0", - "@walletconnect/safe-json": "1.0.2", - "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.23.8", - "@walletconnect/utils": "2.23.8", - "@walletconnect/window-getters": "1.0.1", - "es-toolkit": "1.44.0", - "events": "3.3.0", - "uint8arrays": "3.1.1" + "node": "^14.21.3 || >=16" }, - "engines": { - "node": ">=18.20.8" - } - }, - "node_modules/@walletconnect/core/node_modules/es-toolkit": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.44.0.tgz", - "integrity": "sha512-6penXeZalaV88MM3cGkFZZfOoLGWshWWfdy0tWw/RlVVyhvMaWSBTOvXNeiW3e5FwdS5ePW0LGEu17zT139ktg==", - "license": "MIT", - "workspaces": [ - "docs", - "benchmarks" - ] - }, - "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" - } - }, - "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/ethereum-provider": { - "version": "2.21.10", - "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.21.10.tgz", - "integrity": "sha512-QhsZmrMKReR7YW6QB8O3c0YTQgeK/U8I+/nbbp6W37HVx2OcWMfdcGuXd06fgtP3YzEnVr0l6T9CAtAPKSU4cg==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@reown/appkit": "1.8.1", - "@walletconnect/jsonrpc-http-connection": "1.0.8", - "@walletconnect/jsonrpc-provider": "1.0.14", - "@walletconnect/jsonrpc-types": "1.0.4", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/sign-client": "2.21.10", - "@walletconnect/types": "2.21.10", - "@walletconnect/universal-provider": "2.21.10", - "@walletconnect/utils": "2.21.10", - "events": "3.3.0" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@walletconnect/ethereum-provider/node_modules/@adraffy/ens-normalize": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz", - "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", - "license": "MIT" - }, - "node_modules/@walletconnect/ethereum-provider/node_modules/@scure/bip32": { + "node_modules/@toruslabs/customauth/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==", @@ -8672,7 +9093,7 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@walletconnect/ethereum-provider/node_modules/@scure/bip39": { + "node_modules/@toruslabs/customauth/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==", @@ -8685,157 +9106,296 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@walletconnect/ethereum-provider/node_modules/@walletconnect/core": { - "version": "2.21.10", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.21.10.tgz", - "integrity": "sha512-azWSsDeUZupqK0E8V85w7toNYVm/uzLtxhNv28dvNMtUf8aKlww3DilQxP9T2HZ3z+3n0ocuRzi0nfktjsaHyw==", - "license": "SEE LICENSE IN LICENSE.md", + "node_modules/@toruslabs/customauth/node_modules/@toruslabs/broadcast-channel": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/broadcast-channel/-/broadcast-channel-12.0.0.tgz", + "integrity": "sha512-ZdkZWEbxLaoRFPXYrlAnuaXDejsYS7Nl0mL+trBkRcN/agsNoOeS/t7LExGP74Opdcj06bYJeB5KmhN6938kKw==", + "license": "MIT", "dependencies": { - "@walletconnect/heartbeat": "1.2.2", - "@walletconnect/jsonrpc-provider": "1.0.14", - "@walletconnect/jsonrpc-types": "1.0.4", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/jsonrpc-ws-connection": "1.0.16", - "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "2.1.2", - "@walletconnect/relay-api": "1.0.11", - "@walletconnect/relay-auth": "1.1.0", - "@walletconnect/safe-json": "1.0.2", - "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.10", - "@walletconnect/utils": "2.21.10", - "@walletconnect/window-getters": "1.0.1", - "es-toolkit": "1.39.3", - "events": "3.3.0", - "uint8arrays": "3.1.1" + "@babel/runtime": "^7.26.9", + "@toruslabs/constants": "^14.2.0", + "@toruslabs/eccrypto": "^6.0.2", + "@toruslabs/metadata-helpers": "^7.0.1", + "base64url": "^3.0.1", + "loglevel": "^1.9.2", + "oblivious-set": "1.4.0", + "socket.io-client": "^4.8.1", + "unload": "^2.4.1" }, "engines": { - "node": ">=18.20.8" + "node": ">=20.x", + "npm": ">=9.x" } }, - "node_modules/@walletconnect/ethereum-provider/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==", + "node_modules/@toruslabs/customauth/node_modules/@toruslabs/broadcast-channel/node_modules/@toruslabs/constants": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-14.2.0.tgz", + "integrity": "sha512-Mb5EfYNSPyvvw5s1JXnpZwritCgp4NmLni1imTqrSKGV3yikYhUn1ufyLMAHGnBBgv4AuMIXBIe3EpJJ+SpA0g==", "license": "MIT", - "dependencies": { - "@walletconnect/safe-json": "^1.0.2", - "pino": "7.11.0" + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" } }, - "node_modules/@walletconnect/ethereum-provider/node_modules/@walletconnect/sign-client": { - "version": "2.21.10", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.21.10.tgz", - "integrity": "sha512-ZXpMhgxWehPXyL9Lfzg61Q+89rSoG4XQgAqA90UEB94BHuG9SSOjnmPCK3TZeil70E66ekwAOvO7kphnhQGd5A==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@walletconnect/core": "2.21.10", - "@walletconnect/events": "1.0.1", - "@walletconnect/heartbeat": "1.2.2", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/logger": "2.1.2", - "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.10", - "@walletconnect/utils": "2.21.10", - "events": "3.3.0" + "node_modules/@toruslabs/customauth/node_modules/@toruslabs/constants": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-15.0.0.tgz", + "integrity": "sha512-0nr6vU3FQT2eRsnPYRwfVIkjwawLTkDTkCusiny9DgAw1M2zbmNqPOAqWuljUcDaK/u4VB0/PrN5SzhVBLnNGg==", + "license": "MIT", + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" } }, - "node_modules/@walletconnect/ethereum-provider/node_modules/@walletconnect/types": { - "version": "2.21.10", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.21.10.tgz", - "integrity": "sha512-9oSvgxv1hE5aS+j4aHS9YgKeq50BP4iMh49tjubTW5574cBWqmt1bXfQhZddSTbq9OirwLSegl6W36itkzryBQ==", - "license": "SEE LICENSE IN LICENSE.md", + "node_modules/@toruslabs/customauth/node_modules/@toruslabs/eccrypto": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-6.2.0.tgz", + "integrity": "sha512-GbVAXDC5AIecb01gEafiiZzVfRNGiNk85R7ZUDMpUjoYGOy6/FdHdM4x2ySqBj7B6xiXWf+rMfr99J7+TLjyxg==", + "license": "CC0-1.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" + "elliptic": "^6.6.1" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" } }, - "node_modules/@walletconnect/ethereum-provider/node_modules/@walletconnect/utils": { - "version": "2.21.10", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.21.10.tgz", - "integrity": "sha512-LC5hmP3uxVoMyw7Ibea1JQdE98FTb7jZie60qiaybmaIsg/ApEUosU5uCLTFRJwEWUip2p3sJTb0n/3pU+yR/Q==", - "license": "SEE LICENSE IN LICENSE.md", + "node_modules/@toruslabs/customauth/node_modules/@toruslabs/http-helpers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-8.1.1.tgz", + "integrity": "sha512-bcymgOEAHjWJtqWvbCw+jCLk8vch5V53E/17moM0kAQO+tY0omhsMpZYDtFcbF3xl8/fLyW7G0HGUfThPykQ7A==", + "license": "MIT", "dependencies": { - "@msgpack/msgpack": "3.1.2", - "@noble/ciphers": "1.3.0", - "@noble/curves": "1.9.7", - "@noble/hashes": "1.8.0", - "@scure/base": "1.2.6", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/relay-api": "1.0.11", - "@walletconnect/relay-auth": "1.1.0", - "@walletconnect/safe-json": "1.0.2", - "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.10", - "@walletconnect/window-getters": "1.0.1", - "@walletconnect/window-metadata": "1.0.1", - "blakejs": "1.2.1", - "bs58": "6.0.0", - "detect-browser": "5.3.0", - "ox": "0.9.3", - "uint8arrays": "3.1.1" + "deepmerge": "^4.3.1", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x", + "@sentry/core": "^9.x" + }, + "peerDependenciesMeta": { + "@sentry/core": { + "optional": true + } } }, - "node_modules/@walletconnect/ethereum-provider/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/@toruslabs/customauth/node_modules/@toruslabs/metadata-helpers": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@toruslabs/metadata-helpers/-/metadata-helpers-7.0.2.tgz", + "integrity": "sha512-N8UeKwtTlRlGAuQJQfYwCshsu5g9Fte8Xe6ZEt/WH6blNAoKjz579BPN4FrS478JIj/kMtIkD1guT84Umpdv1w==", + "license": "MIT", + "dependencies": { + "@toruslabs/eccrypto": "^6.0.2", + "@toruslabs/http-helpers": "^8.1.0", + "elliptic": "^6.6.1", + "ethereum-cryptography": "^3.1.0", + "json-stable-stringify": "^1.2.1" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } }, - "node_modules/@walletconnect/ethereum-provider/node_modules/bs58": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz", - "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==", + "node_modules/@toruslabs/customauth/node_modules/ethereum-cryptography": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", + "integrity": "sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==", "license": "MIT", "dependencies": { - "base-x": "^5.0.0" + "@noble/ciphers": "1.3.0", + "@noble/curves": "1.9.0", + "@noble/hashes": "1.8.0", + "@scure/bip32": "1.7.0", + "@scure/bip39": "1.6.0" + }, + "engines": { + "node": "^14.21.3 || >=16", + "npm": ">=9" } }, - "node_modules/@walletconnect/ethereum-provider/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/@toruslabs/eccrypto": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-4.0.0.tgz", + "integrity": "sha512-Z3EINkbsgJx1t6jCDVIJjLSUEGUtNIeDjhMWmeDGOWcP/+v/yQ1hEvd1wfxEz4q5WqIHhevacmPiVxiJ4DljGQ==", + "license": "CC0-1.0", + "dependencies": { + "elliptic": "^6.5.4" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + } }, - "node_modules/@walletconnect/ethereum-provider/node_modules/ox": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.9.3.tgz", - "integrity": "sha512-KzyJP+fPV4uhuuqrTZyok4DC7vFzi7HLUFiUNEmpbyh59htKWkOC98IONC1zgXJPbHAhQgqs6B0Z6StCGhmQvg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wevm" - } - ], - "license": "MIT", + "node_modules/@toruslabs/ethereum-controllers": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/@toruslabs/ethereum-controllers/-/ethereum-controllers-8.17.1.tgz", + "integrity": "sha512-3cqGQd2dlmaiwQdetnKhDzshARTtvDgkrtU8TUOX1FHJpdsHvABC6qLPII2Jl8o7fNUnVIkfFwrrI/qBwgiMCg==", + "license": "ISC", "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.9", - "eventemitter3": "5.0.1" + "@ethereumjs/common": "^10.1.0", + "@ethereumjs/rlp": "^10.1.0", + "@ethereumjs/tx": "^10.1.0", + "@ethereumjs/util": "^10.1.0", + "@metamask/smart-accounts-kit": "~0.3.0", + "@toruslabs/base-controllers": "^8.17.0", + "@toruslabs/http-helpers": "^8.1.1", + "@web3auth/auth": "^10.8.0", + "async-mutex": "^0.5.0", + "bignumber.js": "^9.3.1", + "bn.js": "^5.2.2", + "deepmerge": "^4.3.1", + "ethereum-cryptography": "^3.2.0", + "ethers": "^6.16.0", + "fast-json-patch": "^3.1.1", + "fast-safe-stringify": "^2.1.1", + "jsonschema": "^1.5.0", + "loglevel": "^1.9.2", + "permissionless": "^0.3.4", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" }, "peerDependencies": { - "typescript": ">=5.4.0" + "@babel/runtime": "7.x", + "viem": ">=2.45.0" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/common": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-10.1.1.tgz", + "integrity": "sha512-NefPzPlrJ9w+NWVe06P+sHZQU98E1AEU9vhiHJEVT2wEcNBC1YX6hON9+smrfbn86C4U1pb2zbvjhkF+n/LKBw==", + "license": "MIT", + "dependencies": { + "@ethereumjs/util": "^10.1.1", + "eventemitter3": "^5.0.1" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/rlp": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-10.1.1.tgz", + "integrity": "sha512-jbnWTEwcpoY+gE0r+wxfDG9zgiu54DcTcwnc9sX3DsqKR4l5K7x2V8mQL3Et6hURa4DuT9g7z6ukwpBLFchszg==", + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp.cjs" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": ">=20" } }, - "node_modules/@walletconnect/ethereum-provider/node_modules/ox/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==", + "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/tx": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-10.1.1.tgz", + "integrity": "sha512-Kz8GWIKQjEQB60ko9hsYDX3rZMHZZOTcmm6OFl855Lu3padVnf5ZactUKM6nmWPsumHED5bWDjO32novZd1zyw==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/common": "^10.1.1", + "@ethereumjs/rlp": "^10.1.1", + "@ethereumjs/util": "^10.1.1", + "@noble/curves": "^2.0.1", + "@noble/hashes": "^2.0.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/tx/node_modules/@noble/hashes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/util": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-10.1.1.tgz", + "integrity": "sha512-r2EhaeEmLZXVs1dT2HJFQysAkr63ZWATu/9tgYSp1IlvjvwyC++DLg5kCDwMM49HBq3sOAhrPnXkoqf9DV2gbw==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^10.1.1", + "@noble/curves": "^2.0.1", + "@noble/hashes": "^2.0.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@ethereumjs/util/node_modules/@noble/hashes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@noble/curves": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.2.0.tgz", + "integrity": "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "2.2.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@noble/curves/node_modules/@noble/hashes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@toruslabs/ethereum-controllers/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/@toruslabs/ethereum-controllers/node_modules/@scure/bip32/node_modules/@noble/curves": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz", + "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==", "license": "MIT", "dependencies": { "@noble/hashes": "1.8.0" @@ -8847,521 +9407,2098 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@walletconnect/ethereum-provider/node_modules/pino": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", - "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "node_modules/@toruslabs/ethereum-controllers/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/@toruslabs/ethereum-controllers/node_modules/@toruslabs/base-controllers": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-8.17.0.tgz", + "integrity": "sha512-AQwl7VANyIwXSCXNnSg5Is8L4W4rMd6LprYthzp5C9DimzGTIqj+rvjvh1dhaM+fbBCHrln75vveiVuW6pRRNA==", + "license": "ISC", + "dependencies": { + "@ethereumjs/util": "^10.1.0", + "@toruslabs/broadcast-channel": "^12.0.0", + "@toruslabs/http-helpers": "^8.1.1", + "@web3auth/auth": "^10.8.0", + "async-mutex": "^0.5.0", + "bignumber.js": "^9.3.1", + "bowser": "^2.13.1", + "ethereum-cryptography": "^3.2.0", + "events": "^3.3.0", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/broadcast-channel": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/broadcast-channel/-/broadcast-channel-12.0.0.tgz", + "integrity": "sha512-ZdkZWEbxLaoRFPXYrlAnuaXDejsYS7Nl0mL+trBkRcN/agsNoOeS/t7LExGP74Opdcj06bYJeB5KmhN6938kKw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.26.9", + "@toruslabs/constants": "^14.2.0", + "@toruslabs/eccrypto": "^6.0.2", + "@toruslabs/metadata-helpers": "^7.0.1", + "base64url": "^3.0.1", + "loglevel": "^1.9.2", + "oblivious-set": "1.4.0", + "socket.io-client": "^4.8.1", + "unload": "^2.4.1" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/constants": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-14.2.0.tgz", + "integrity": "sha512-Mb5EfYNSPyvvw5s1JXnpZwritCgp4NmLni1imTqrSKGV3yikYhUn1ufyLMAHGnBBgv4AuMIXBIe3EpJJ+SpA0g==", + "license": "MIT", + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/eccrypto": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-6.2.0.tgz", + "integrity": "sha512-GbVAXDC5AIecb01gEafiiZzVfRNGiNk85R7ZUDMpUjoYGOy6/FdHdM4x2ySqBj7B6xiXWf+rMfr99J7+TLjyxg==", + "license": "CC0-1.0", + "dependencies": { + "elliptic": "^6.6.1" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/http-helpers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-8.1.1.tgz", + "integrity": "sha512-bcymgOEAHjWJtqWvbCw+jCLk8vch5V53E/17moM0kAQO+tY0omhsMpZYDtFcbF3xl8/fLyW7G0HGUfThPykQ7A==", + "license": "MIT", + "dependencies": { + "deepmerge": "^4.3.1", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x", + "@sentry/core": "^9.x" + }, + "peerDependenciesMeta": { + "@sentry/core": { + "optional": true + } + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/metadata-helpers": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@toruslabs/metadata-helpers/-/metadata-helpers-7.0.2.tgz", + "integrity": "sha512-N8UeKwtTlRlGAuQJQfYwCshsu5g9Fte8Xe6ZEt/WH6blNAoKjz579BPN4FrS478JIj/kMtIkD1guT84Umpdv1w==", + "license": "MIT", + "dependencies": { + "@toruslabs/eccrypto": "^6.0.2", + "@toruslabs/http-helpers": "^8.1.0", + "elliptic": "^6.6.1", + "ethereum-cryptography": "^3.1.0", + "json-stable-stringify": "^1.2.1" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@toruslabs/secure-pub-sub": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@toruslabs/secure-pub-sub/-/secure-pub-sub-3.0.2.tgz", + "integrity": "sha512-JxqXSMlKnT2Q8ER0dpjtciT/yYO6KV/bZFxVWF9T6t2u20PaVU+bo9MSYWPxSdz76szEt7DwRHxwjDMhzZKFeA==", + "license": "MIT", + "dependencies": { + "@toruslabs/constants": "^14.2.0", + "@toruslabs/eccrypto": "^6.0.2", + "@toruslabs/http-helpers": "^8.1.0", + "@toruslabs/metadata-helpers": "^7.0.2", + "loglevel": "^1.9.2", + "socket.io-client": "^4.8.1" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@web3auth/auth": { + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/@web3auth/auth/-/auth-10.8.0.tgz", + "integrity": "sha512-c0a7HVzzbO8IygPetCzw6CkUIcFkWlXSjIAQkJwwMSYtWofsHYhYLLMV7cixSgvIOxQKCuRcvO6Qo7fxz9BiBg==", + "license": "MIT", + "dependencies": { + "@ethereumjs/util": "^10.1.0", + "@toruslabs/constants": "^15.0.0", + "@toruslabs/customauth": "^21.3.2", + "@toruslabs/ffjavascript": "^5.0.0", + "@toruslabs/metadata-helpers": "^7.0.2", + "@toruslabs/secure-pub-sub": "^3.0.2", + "@toruslabs/session-manager": "^4.0.2", + "@toruslabs/starkware-crypto": "^5.0.0", + "@toruslabs/tweetnacl-js": "^1.0.4", + "base64url": "^3.0.1", + "bip39": "^3.1.0", + "bn.js": "^5.2.2", + "deepmerge": "^4.3.1", + "enc-utils": "^3.0.0", + "end-of-stream": "^1.4.5", + "events": "^3.3.0", + "json-stable-stringify": "^1.3.0", + "loglevel": "^1.9.2", + "once": "^1.4.0", + "pump": "^3.0.3", + "readable-stream": "^4.7.0", + "ts-custom-error": "^3.3.1", + "typed-emitter": "^2.1.0" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "optionalDependencies": { + "@nx/nx-linux-x64-gnu": "^22.0.2", + "@rollup/rollup-linux-x64-gnu": "^4.52.5" + }, + "peerDependencies": { + "@babel/runtime": "7.x", + "color": "^5.x" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/@web3auth/auth/node_modules/@toruslabs/constants": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-15.0.0.tgz", + "integrity": "sha512-0nr6vU3FQT2eRsnPYRwfVIkjwawLTkDTkCusiny9DgAw1M2zbmNqPOAqWuljUcDaK/u4VB0/PrN5SzhVBLnNGg==", + "license": "MIT", + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/ethereum-cryptography": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", + "integrity": "sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==", + "license": "MIT", + "dependencies": { + "@noble/ciphers": "1.3.0", + "@noble/curves": "1.9.0", + "@noble/hashes": "1.8.0", + "@scure/bip32": "1.7.0", + "@scure/bip39": "1.6.0" + }, + "engines": { + "node": "^14.21.3 || >=16", + "npm": ">=9" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/ethereum-cryptography/node_modules/@noble/curves": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", + "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@toruslabs/ethereum-controllers/node_modules/permissionless": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/permissionless/-/permissionless-0.3.5.tgz", + "integrity": "sha512-hYc9ALMMQVc3kETuDss60Xs3mb2wHhNu4kTwR9DLNu9+BwrPhzt0ZtPJyLAaeYMuw3BtPiRte+reumFpAfYChQ==", + "license": "MIT", + "peerDependencies": { + "ox": "^0.11.3", + "viem": "^2.44.4" + }, + "peerDependenciesMeta": { + "ox": { + "optional": true + } + } + }, + "node_modules/@toruslabs/ethereum-controllers/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/@toruslabs/fetch-node-details": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/fetch-node-details/-/fetch-node-details-15.0.0.tgz", + "integrity": "sha512-uYTV+mv5U6egTQj94zSyy9NqlfUYdwen6GeyDdCA7g0TN+YnRV4WgkcjloN0llscrND7mzuJNSIVDHCE+kSpcQ==", + "license": "MIT", + "dependencies": { + "@toruslabs/constants": "^15.0.0", + "@toruslabs/fnd-base": "^15.0.0", + "@toruslabs/http-helpers": "^8.1.1", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/fetch-node-details/node_modules/@toruslabs/constants": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-15.0.0.tgz", + "integrity": "sha512-0nr6vU3FQT2eRsnPYRwfVIkjwawLTkDTkCusiny9DgAw1M2zbmNqPOAqWuljUcDaK/u4VB0/PrN5SzhVBLnNGg==", + "license": "MIT", + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/fetch-node-details/node_modules/@toruslabs/http-helpers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-8.1.1.tgz", + "integrity": "sha512-bcymgOEAHjWJtqWvbCw+jCLk8vch5V53E/17moM0kAQO+tY0omhsMpZYDtFcbF3xl8/fLyW7G0HGUfThPykQ7A==", + "license": "MIT", + "dependencies": { + "deepmerge": "^4.3.1", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x", + "@sentry/core": "^9.x" + }, + "peerDependenciesMeta": { + "@sentry/core": { + "optional": true + } + } + }, + "node_modules/@toruslabs/ffjavascript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/ffjavascript/-/ffjavascript-5.0.0.tgz", + "integrity": "sha512-smC85L5SREn31pA+XayZ86Cxd+2VeRzKKZ5ytLrMDYb5ZrXpUAd9Hr2HlaJbQiGPQgyR6KxOU9W5qyHSLFJmHg==", + "license": "GPL-3.0", + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + } + }, + "node_modules/@toruslabs/fnd-base": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/fnd-base/-/fnd-base-15.0.0.tgz", + "integrity": "sha512-KygYyPBHADmXKmzClbGcKc0oOI/Ay5FP/fUsFvXXRv4ey+VfIKiHHSAo6IojozvVUSrs0kDwocSpeE3sp/hBPA==", + "license": "MIT", + "dependencies": { + "@toruslabs/constants": "^15.0.0" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/fnd-base/node_modules/@toruslabs/constants": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-15.0.0.tgz", + "integrity": "sha512-0nr6vU3FQT2eRsnPYRwfVIkjwawLTkDTkCusiny9DgAw1M2zbmNqPOAqWuljUcDaK/u4VB0/PrN5SzhVBLnNGg==", + "license": "MIT", + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/http-helpers": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-6.1.1.tgz", + "integrity": "sha512-bJYOaltRzklzObhRdutT1wau17vXyrCCBKJOeN46F1t99MUXi5udQNeErFOcr9qBsvrq2q67eVBkU5XOeBMX5A==", + "license": "MIT", + "dependencies": { + "lodash.merge": "^4.6.2", + "loglevel": "^1.9.1" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x", + "@sentry/types": "^7.x" + }, + "peerDependenciesMeta": { + "@sentry/types": { + "optional": true + } + } + }, + "node_modules/@toruslabs/loglevel-sentry": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@toruslabs/loglevel-sentry/-/loglevel-sentry-8.1.0.tgz", + "integrity": "sha512-cE8Q7R9HybrqrTU7bz5rh1j9QiBGjd/mVxekIKjK8AJYzGMFuVtDumsX9fBXg5nKoNcejS1jbOACjEx8BM+uLQ==", + "license": "MIT", + "dependencies": { + "@sentry/core": "^9.11.0", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x" + } + }, + "node_modules/@toruslabs/metadata-helpers": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@toruslabs/metadata-helpers/-/metadata-helpers-5.1.0.tgz", + "integrity": "sha512-7fdqKuWUaJT/ng+PlqrA4XKkn8Dij4JJozfv/4gHTi0f/6JFncpzIces09jTV70hCf0JIsTCvIDlzKOdJ+aeZg==", + "license": "MIT", + "dependencies": { + "@toruslabs/eccrypto": "^4.0.0", + "@toruslabs/http-helpers": "^6.1.0", + "elliptic": "^6.5.5", + "ethereum-cryptography": "^2.1.3", + "json-stable-stringify": "^1.1.1" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/openlogin": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@toruslabs/openlogin/-/openlogin-8.2.1.tgz", + "integrity": "sha512-2X1s6dg8PhF/eXjKChkEHhKNO27gx7pjdUD7moMwu+YNm3+SJWJtt+bJWNbHIvWKHcCsms7nC8Pn3RZ8arOEQg==", + "license": "ISC", + "dependencies": { + "@toruslabs/constants": "^13.2.0", + "@toruslabs/eccrypto": "^4.0.0", + "@toruslabs/metadata-helpers": "^5.1.0", + "@toruslabs/openlogin-session-manager": "^3.1.1", + "@toruslabs/openlogin-utils": "^8.2.1", + "@toruslabs/secure-pub-sub": "^0.2.0", + "bowser": "^2.11.0", + "events": "^3.3.0", + "loglevel": "^1.9.1", + "ts-custom-error": "^3.3.1" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/openlogin-jrpc": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-8.3.0.tgz", + "integrity": "sha512-1OdSkUXGXJobkkMIJHuf+XzwmUB4ROy6uQfPEJ3NXvNj84+N4hNpvC4JPg7VoWBHdfCba9cv6QnQsVArlwai4A==", + "license": "ISC", + "dependencies": { + "end-of-stream": "^1.4.4", + "events": "^3.3.0", + "fast-safe-stringify": "^2.1.1", + "once": "^1.4.0", + "pump": "^3.0.0", + "readable-stream": "^4.5.2" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/openlogin-session-manager": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@toruslabs/openlogin-session-manager/-/openlogin-session-manager-3.1.1.tgz", + "integrity": "sha512-hikBX7CdiWCTNNfsiacPM9O+2Ysf6ULcn9E4og9BVSt4brduUQoa9ioNY6G5m0eH/xQCzRsLpSRGNuOPTBJm3w==", + "license": "ISC", + "dependencies": { + "@toruslabs/base-session-manager": "^3.1.1", + "@toruslabs/eccrypto": "^4.0.0", + "@toruslabs/metadata-helpers": "5.1.0" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/openlogin-utils": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@toruslabs/openlogin-utils/-/openlogin-utils-8.2.1.tgz", + "integrity": "sha512-NSOtj61NZe7w9qbd92cYwMlE/1UwPGtDH02NfUjoEEc3p1yD5U2cLZjdSwsnAgjGNgRqVomXpND4hii12lI/ew==", + "license": "ISC", + "dependencies": { + "@toruslabs/constants": "^13.2.0", + "base64url": "^3.0.1", + "color": "^4.2.3" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/secure-pub-sub": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@toruslabs/secure-pub-sub/-/secure-pub-sub-0.2.0.tgz", + "integrity": "sha512-pkpEbeJaGHYUFj7M3lVYfzUFSX+54Vfb4M+IB+RagNpWviTp/rUQ+hy+vcFKkuuwsxZ5NDnucHzb7+XJmdLTmA==", + "license": "MIT", + "dependencies": { + "@toruslabs/eccrypto": "^4.0.0", + "@toruslabs/http-helpers": "^6.1.0", + "@toruslabs/metadata-helpers": "^5.1.0", + "loglevel": "^1.9.1", + "socket.io-client": "^4.7.4" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/session-manager": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@toruslabs/session-manager/-/session-manager-4.0.2.tgz", + "integrity": "sha512-26GflDkna9kDF4kd7+XmFAsI69CIz/ZSmsbQH6ehylaNDYcro/xuPQB2SnzyRMi4VMkLXYDwHapm2OBURmuMbQ==", + "license": "MIT", + "dependencies": { + "@toruslabs/constants": "^14.2.0", + "@toruslabs/eccrypto": "^6.0.2", + "@toruslabs/http-helpers": "^8.1.0", + "@toruslabs/metadata-helpers": "^7.0.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "optionalDependencies": { + "@rollup/rollup-linux-x64-gnu": "^4.35.0" + } + }, + "node_modules/@toruslabs/session-manager/node_modules/@noble/curves": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", + "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@toruslabs/session-manager/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/@toruslabs/session-manager/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/@toruslabs/session-manager/node_modules/@toruslabs/constants": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-14.2.0.tgz", + "integrity": "sha512-Mb5EfYNSPyvvw5s1JXnpZwritCgp4NmLni1imTqrSKGV3yikYhUn1ufyLMAHGnBBgv4AuMIXBIe3EpJJ+SpA0g==", + "license": "MIT", + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/session-manager/node_modules/@toruslabs/eccrypto": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-6.2.0.tgz", + "integrity": "sha512-GbVAXDC5AIecb01gEafiiZzVfRNGiNk85R7ZUDMpUjoYGOy6/FdHdM4x2ySqBj7B6xiXWf+rMfr99J7+TLjyxg==", + "license": "CC0-1.0", + "dependencies": { + "elliptic": "^6.6.1" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + } + }, + "node_modules/@toruslabs/session-manager/node_modules/@toruslabs/http-helpers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-8.1.1.tgz", + "integrity": "sha512-bcymgOEAHjWJtqWvbCw+jCLk8vch5V53E/17moM0kAQO+tY0omhsMpZYDtFcbF3xl8/fLyW7G0HGUfThPykQ7A==", + "license": "MIT", + "dependencies": { + "deepmerge": "^4.3.1", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x", + "@sentry/core": "^9.x" + }, + "peerDependenciesMeta": { + "@sentry/core": { + "optional": true + } + } + }, + "node_modules/@toruslabs/session-manager/node_modules/@toruslabs/metadata-helpers": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@toruslabs/metadata-helpers/-/metadata-helpers-7.0.2.tgz", + "integrity": "sha512-N8UeKwtTlRlGAuQJQfYwCshsu5g9Fte8Xe6ZEt/WH6blNAoKjz579BPN4FrS478JIj/kMtIkD1guT84Umpdv1w==", + "license": "MIT", + "dependencies": { + "@toruslabs/eccrypto": "^6.0.2", + "@toruslabs/http-helpers": "^8.1.0", + "elliptic": "^6.6.1", + "ethereum-cryptography": "^3.1.0", + "json-stable-stringify": "^1.2.1" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/session-manager/node_modules/ethereum-cryptography": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", + "integrity": "sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==", + "license": "MIT", + "dependencies": { + "@noble/ciphers": "1.3.0", + "@noble/curves": "1.9.0", + "@noble/hashes": "1.8.0", + "@scure/bip32": "1.7.0", + "@scure/bip39": "1.6.0" + }, + "engines": { + "node": "^14.21.3 || >=16", + "npm": ">=9" + } + }, + "node_modules/@toruslabs/starkware-crypto": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/starkware-crypto/-/starkware-crypto-5.0.0.tgz", + "integrity": "sha512-CZjpkeuT0hBsX5dNGEekLcjR2n6UHzh682Pt/AheJYL4+zrupqPWZTfvOlo4K3Iihyv6FzRZmrbHLdQutkz5oQ==", + "license": "MIT", + "dependencies": { + "assert": "^2.1.0", + "bip39": "^3.1.0", + "bn.js": "^5.2.1", + "elliptic": "^6.6.1", + "enc-utils": "^3.0.0", + "ethereum-cryptography": "^3.1.0", + "hash.js": "^1.1.7" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/starkware-crypto/node_modules/@noble/curves": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", + "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@toruslabs/starkware-crypto/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/@toruslabs/starkware-crypto/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/@toruslabs/starkware-crypto/node_modules/ethereum-cryptography": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", + "integrity": "sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==", + "license": "MIT", + "dependencies": { + "@noble/ciphers": "1.3.0", + "@noble/curves": "1.9.0", + "@noble/hashes": "1.8.0", + "@scure/bip32": "1.7.0", + "@scure/bip39": "1.6.0" + }, + "engines": { + "node": "^14.21.3 || >=16", + "npm": ">=9" + } + }, + "node_modules/@toruslabs/torus.js": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/torus.js/-/torus.js-16.0.0.tgz", + "integrity": "sha512-kTGn0jytD9YyPhunxN1LacVAHCCkZEOMe7hWShM65zvgqaXHccMsytgiZr3Ah1sIqsLVUMKhrHimnQ2eqfihtg==", + "license": "MIT", + "dependencies": { + "@toruslabs/bs58": "^1.0.0", + "@toruslabs/constants": "^15.0.0", + "@toruslabs/eccrypto": "^6.0.2", + "@toruslabs/http-helpers": "^8.1.1", + "bn.js": "^5.2.1", + "elliptic": "^6.6.1", + "ethereum-cryptography": "^3.1.0", + "json-stable-stringify": "^1.2.1", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/torus.js/node_modules/@noble/curves": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.0.tgz", + "integrity": "sha512-7YDlXiNMdO1YZeH6t/kvopHHbIZzlxrCV9WLqCY6QhcXOoXiNCMDqJIglZ9Yjx5+w7Dz30TITFrlTjnRg7sKEg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.8.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@toruslabs/torus.js/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/@toruslabs/torus.js/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/@toruslabs/torus.js/node_modules/@toruslabs/constants": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@toruslabs/constants/-/constants-15.0.0.tgz", + "integrity": "sha512-0nr6vU3FQT2eRsnPYRwfVIkjwawLTkDTkCusiny9DgAw1M2zbmNqPOAqWuljUcDaK/u4VB0/PrN5SzhVBLnNGg==", + "license": "MIT", + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@toruslabs/torus.js/node_modules/@toruslabs/eccrypto": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@toruslabs/eccrypto/-/eccrypto-6.2.0.tgz", + "integrity": "sha512-GbVAXDC5AIecb01gEafiiZzVfRNGiNk85R7ZUDMpUjoYGOy6/FdHdM4x2ySqBj7B6xiXWf+rMfr99J7+TLjyxg==", + "license": "CC0-1.0", + "dependencies": { + "elliptic": "^6.6.1" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + } + }, + "node_modules/@toruslabs/torus.js/node_modules/@toruslabs/http-helpers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-8.1.1.tgz", + "integrity": "sha512-bcymgOEAHjWJtqWvbCw+jCLk8vch5V53E/17moM0kAQO+tY0omhsMpZYDtFcbF3xl8/fLyW7G0HGUfThPykQ7A==", + "license": "MIT", + "dependencies": { + "deepmerge": "^4.3.1", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=20.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x", + "@sentry/core": "^9.x" + }, + "peerDependenciesMeta": { + "@sentry/core": { + "optional": true + } + } + }, + "node_modules/@toruslabs/torus.js/node_modules/ethereum-cryptography": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", + "integrity": "sha512-Urr5YVsalH+Jo0sYkTkv1MyI9bLYZwW8BENZCeE1QYaTHETEYx0Nv/SVsWkSqpYrzweg6d8KMY1wTjH/1m/BIg==", + "license": "MIT", + "dependencies": { + "@noble/ciphers": "1.3.0", + "@noble/curves": "1.9.0", + "@noble/hashes": "1.8.0", + "@scure/bip32": "1.7.0", + "@scure/bip39": "1.6.0" + }, + "engines": { + "node": "^14.21.3 || >=16", + "npm": ">=9" + } + }, + "node_modules/@toruslabs/tweetnacl-js": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@toruslabs/tweetnacl-js/-/tweetnacl-js-1.0.4.tgz", + "integrity": "sha512-h8fVemW5pstsKbm/fTx+y61dZkh5Pepy/92lsyKp83KErf96jT+w4LGx4nEgeAVrdYQDTLg2tO7vu/boEb23Iw==", + "license": "Unlicense" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tybys/wasm-util/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==", + "dev": true, + "license": "0BSD", + "optional": true + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/brorand": { + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/@types/brorand/-/brorand-1.0.33.tgz", + "integrity": "sha512-KmNsWYtzKXpmxjecvYWUEGK5biJB/1kpHRObHZD8eme1tz/TvbESbZeNAHPRNd5qyCJiHk2ztbNzKbPC6TuPFg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "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/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/lodash": { + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", + "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", + "license": "MIT" + }, + "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": "20.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", + "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "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/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/@types/ws": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", + "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.0.tgz", + "integrity": "sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/type-utils": "8.59.0", + "@typescript-eslint/utils": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.5.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.59.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.0.tgz", + "integrity": "sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", + "debug": "^4.4.3" + }, + "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 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.0.tgz", + "integrity": "sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.59.0", + "@typescript-eslint/types": "^8.59.0", + "debug": "^4.4.3" + }, + "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 <6.1.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.0.tgz", + "integrity": "sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.0.tgz", + "integrity": "sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg==", + "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 <6.1.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.0.tgz", + "integrity": "sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/utils": "8.59.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.5.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 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.0.tgz", + "integrity": "sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==", + "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/typescript-estree": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.0.tgz", + "integrity": "sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.59.0", + "@typescript-eslint/tsconfig-utils": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/visitor-keys": "8.59.0", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, + "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 <6.1.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.0.tgz", + "integrity": "sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.59.0", + "@typescript-eslint/types": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.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 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.0.tgz", + "integrity": "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.59.0", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.0.0", - "on-exit-leak-free": "^0.2.0", - "pino-abstract-transport": "v0.5.0", - "pino-std-serializers": "^4.0.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.1.0", - "safe-stable-stringify": "^2.1.0", - "sonic-boom": "^2.2.1", - "thread-stream": "^0.15.1" + "@napi-rs/wasm-runtime": "^0.2.11" }, - "bin": { - "pino": "bin.js" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@walletconnect/ethereum-provider/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==", + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "duplexify": "^4.1.2", - "split2": "^4.0.0" - } - }, - "node_modules/@walletconnect/ethereum-provider/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/ethereum-provider/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" + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@walletconnect/ethereum-provider/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==", + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, "license": "MIT", - "engines": { - "node": ">= 12.13.0" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@walletconnect/ethereum-provider/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==", + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "atomic-sleep": "^1.0.0" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@walletconnect/ethereum-provider/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==", + "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": { - "real-require": "^0.1.0" + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, - "node_modules/@walletconnect/events": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", - "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", + "node_modules/@vitest/expect": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.5.tgz", + "integrity": "sha512-PWBaRY5JoKuRnHlUHfpV/KohFylaDZTupcXN1H9vYryNLOnitSw60Mw9IAE2r67NbwwzBw/Cc/8q9BK3kIX8Kw==", + "dev": true, "license": "MIT", "dependencies": { - "keyvaluestorage-interface": "^1.0.0", - "tslib": "1.14.1" + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.5", + "@vitest/utils": "4.1.5", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/mocker": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.5.tgz", + "integrity": "sha512-/x2EmFC4mT4NNzqvC3fmesuV97w5FC903KPmey4gsnJiMQ3Be1IlDKVaDaG8iqaLFHqJ2FVEkxZk5VmeLjIItw==", + "dev": true, "license": "MIT", "dependencies": { - "@walletconnect/events": "^1.0.1", - "@walletconnect/time": "^1.0.2", - "events": "^3.3.0" + "@vitest/spy": "4.1.5", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "node_modules/@walletconnect/jsonrpc-http-connection": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.8.tgz", - "integrity": "sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw==", + "node_modules/@vitest/pretty-format": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.5.tgz", + "integrity": "sha512-7I3q6l5qr03dVfMX2wCo9FxwSJbPdwKjy2uu/YPpU3wfHvIL4QHwVRp57OfGrDFeUJ8/8QdfBKIV12FTtLn00g==", + "dev": true, "license": "MIT", "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.6", - "@walletconnect/safe-json": "^1.0.1", - "cross-fetch": "^3.1.4", - "events": "^3.3.0" + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/cross-fetch": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", - "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "node_modules/@vitest/runner": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.5.tgz", + "integrity": "sha512-2D+o7Pr82IEO46YPpoA/YU0neeyr6FTerQb5Ro7BUnBuv6NQtT/kmVnczngiMEBhzgqz2UZYl5gArejsyERDSQ==", + "dev": true, "license": "MIT", "dependencies": { - "node-fetch": "^2.7.0" + "@vitest/utils": "4.1.5", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/snapshot": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.5.tgz", + "integrity": "sha512-zypXEt4KH/XgKGPUz4eC2AvErYx0My5hfL8oDb1HzGFpEk1P62bxSohdyOmvz+d9UJwanI68MKwr2EquOaOgMQ==", + "dev": true, "license": "MIT", "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.8", - "@walletconnect/safe-json": "^1.0.2", - "events": "^3.3.0" + "@vitest/pretty-format": "4.1.5", + "@vitest/utils": "4.1.5", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/spy": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.5.tgz", + "integrity": "sha512-2lNOsh6+R2Idnf1TCZqSwYlKN2E/iDlD8sgU59kYVl+OMDmvldO1VDk39smRfpUNwYpNRVn3w4YfuC7KfbBnkQ==", + "dev": true, "license": "MIT", - "dependencies": { - "events": "^3.3.0", - "keyvaluestorage-interface": "^1.0.0" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/utils": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.5.tgz", + "integrity": "sha512-76wdkrmfXfqGjueGgnb45ITPyUi1ycZ4IHgC2bhPDUfWHklY/q3MdLOAB+TF1e6xfl8NxNY0ZYaPCFNWSsw3Ug==", + "dev": true, "license": "MIT", "dependencies": { - "@walletconnect/environment": "^1.0.1", - "@walletconnect/jsonrpc-types": "^1.0.3", - "tslib": "1.14.1" + "@vitest/pretty-format": "4.1.5", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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.16", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.16.tgz", - "integrity": "sha512-G81JmsMqh5nJheE1mPst1W0WfVv0SG3N7JggwLLGnI7iuDZJq8cRJvQwLGKHn5H1WTW7DEPCo00zz5w62AbL3Q==", + "node_modules/@wagmi/core": { + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/@wagmi/core/-/core-3.4.5.tgz", + "integrity": "sha512-rmqnLRlyFWcP2VvvQtS1XMmupaSruxCwSTfwB8v7pRyeVDywsOoJwIpLh4PI5o//b3ia4P0gND4vkQ1MmU8C3g==", "license": "MIT", "dependencies": { - "@walletconnect/jsonrpc-utils": "^1.0.6", - "@walletconnect/safe-json": "^1.0.2", - "events": "^3.3.0", - "ws": "^7.5.1" + "eventemitter3": "5.0.1", + "mipd": "0.0.7", + "zustand": "5.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "@tanstack/query-core": ">=5.0.0", + "accounts": "~0.6.7", + "typescript": ">=5.7.3", + "viem": "2.x" + }, + "peerDependenciesMeta": { + "@tanstack/query-core": { + "optional": true + }, + "accounts": { + "optional": true + }, + "typescript": { + "optional": true + } } }, - "node_modules/@walletconnect/keyvaluestorage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz", - "integrity": "sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==", + "node_modules/@wagmi/core/node_modules/zustand": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.0.tgz", + "integrity": "sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ==", "license": "MIT", - "dependencies": { - "@walletconnect/safe-json": "^1.0.1", - "idb-keyval": "^6.2.1", - "unstorage": "^1.9.0" + "engines": { + "node": ">=12.20.0" }, "peerDependencies": { - "@react-native-async-storage/async-storage": "1.x" + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" }, "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { "optional": true } } }, - "node_modules/@walletconnect/logger": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-3.0.2.tgz", - "integrity": "sha512-7wR3wAwJTOmX4gbcUZcFMov8fjftY05+5cO/d4cpDD8wDzJ+cIlKdYOXaXfxHLSYeDazMXIsxMYjHYVDfkx+nA==", - "license": "MIT", - "dependencies": { - "@walletconnect/safe-json": "^1.0.2", - "pino": "10.0.0" - } - }, - "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", + "node_modules/@wallet-standard/app": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@wallet-standard/app/-/app-1.1.0.tgz", + "integrity": "sha512-3CijvrO9utx598kjr45hTbbeeykQrQfKmSnxeWOgU25TOEpvcipD/bYDQWIqUv1Oc6KK4YStokSMu/FBNecGUQ==", + "license": "Apache-2.0", "dependencies": { - "@walletconnect/jsonrpc-types": "^1.0.2" + "@wallet-standard/base": "^1.1.0" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@walletconnect/relay-auth": { + "node_modules/@wallet-standard/base": { "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", - "@noble/hashes": "1.7.0", - "@walletconnect/safe-json": "^1.0.1", - "@walletconnect/time": "^1.0.2", - "uint8arrays": "^3.0.0" + "resolved": "https://registry.npmjs.org/@wallet-standard/base/-/base-1.1.0.tgz", + "integrity": "sha512-DJDQhjKmSNVLKWItoKThJS+CsJQjR9AOBOirBVT1F9YpRyC9oYHE+ZnSf8y8bxUphtKqdQMPVQ2mHohYdRvDVQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16" } }, - "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", + "node_modules/@wallet-standard/features": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@wallet-standard/features/-/features-1.1.0.tgz", + "integrity": "sha512-hiEivWNztx73s+7iLxsuD1sOJ28xtRix58W7Xnz4XzzA/pF0+aicnWgjOdA10doVDEDZdUuZCIIqG96SFNlDUg==", + "license": "Apache-2.0", "dependencies": { - "@noble/hashes": "1.7.0" - }, - "engines": { - "node": "^14.21.3 || >=16" + "@wallet-standard/base": "^1.1.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "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" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=16" } }, - "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", + "node_modules/@wallet-standard/wallet": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@wallet-standard/wallet/-/wallet-1.1.0.tgz", + "integrity": "sha512-Gt8TnSlDZpAl+RWOOAB/kuvC7RpcdWAlFbHNoi4gsXsfaWa1QCT6LBcfIYTPdOZC9OVZUDwqGuGAcqZejDmHjg==", + "license": "Apache-2.0", "dependencies": { - "tslib": "1.14.1" + "@wallet-standard/base": "^1.1.0" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@walletconnect/safe-json/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": { - "version": "2.23.8", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.23.8.tgz", - "integrity": "sha512-7DtFDQZwOK4E9q+TKWL819d01dpNHA3jMcntSsQqSLNU34orbkDB/BJzW4nyWZ6H9DuGHRvibJA9wvfXjOCWBw==", + "node_modules/@walletconnect/core": { + "version": "2.23.9", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.23.9.tgz", + "integrity": "sha512-ws4WG8LeagUo2ERRo02HryXRcpwIRmCQ3pHLW5gWbVReLXXIpgk6ZAfID3fEGHevIwwnHSGww+nNhNpdXyiq0g==", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@walletconnect/core": "2.23.8", - "@walletconnect/events": "1.0.1", "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/jsonrpc-ws-connection": "1.0.16", + "@walletconnect/keyvaluestorage": "1.1.1", "@walletconnect/logger": "3.0.2", + "@walletconnect/relay-api": "1.0.11", + "@walletconnect/relay-auth": "1.1.0", + "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.23.8", - "@walletconnect/utils": "2.23.8", - "events": "3.3.0" + "@walletconnect/types": "2.23.9", + "@walletconnect/utils": "2.23.9", + "@walletconnect/window-getters": "1.0.1", + "es-toolkit": "1.44.0", + "events": "3.3.0", + "uint8arrays": "3.1.1" + }, + "engines": { + "node": ">=18.20.8" } }, - "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==", + "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" } }, - "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.23.8", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.23.8.tgz", - "integrity": "sha512-OI/0Z7/8r11EDU9bBPy5nixYgsk6SrTcOvWe9r7Nf2WvkMcPLgV7aS8rb6+nInRmDPfXuyTgzdAox0rtmfJMzg==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@walletconnect/events": "1.0.1", - "@walletconnect/heartbeat": "1.2.2", - "@walletconnect/jsonrpc-types": "1.0.4", - "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "3.0.2", - "events": "3.3.0" - } - }, - "node_modules/@walletconnect/universal-provider": { - "version": "2.21.10", - "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.21.10.tgz", - "integrity": "sha512-YKNFSlpoFMvTBnm9jfMNHkgliAUGT7wqW1gb2MF5+VTlxgCHek2bTbfVk/ZLFPJyMMN2PaQ2Gao0ajMfNDyWHA==", + "node_modules/@walletconnect/ethereum-provider": { + "version": "2.23.9", + "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.23.9.tgz", + "integrity": "sha512-Cb72KWl9S6mMs+c1MVGlSx07Dap1LFznYyWrg/XT5B8VtBKaH9Sw2lAvAL0ajGet6J5sq8sUx1pkg68tZwkqmA==", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@walletconnect/events": "1.0.1", + "@reown/appkit": "1.8.17-wc-circular-dependencies-fix.0", "@walletconnect/jsonrpc-http-connection": "1.0.8", "@walletconnect/jsonrpc-provider": "1.0.14", "@walletconnect/jsonrpc-types": "1.0.4", "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "2.1.2", - "@walletconnect/sign-client": "2.21.10", - "@walletconnect/types": "2.21.10", - "@walletconnect/utils": "2.21.10", - "es-toolkit": "1.39.3", + "@walletconnect/logger": "3.0.2", + "@walletconnect/sign-client": "2.23.9", + "@walletconnect/types": "2.23.9", + "@walletconnect/universal-provider": "2.23.9", + "@walletconnect/utils": "2.23.9", "events": "3.3.0" } }, - "node_modules/@walletconnect/universal-provider/node_modules/@adraffy/ens-normalize": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz", - "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", - "license": "MIT" - }, - "node_modules/@walletconnect/universal-provider/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==", + "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": { - "@noble/curves": "~1.9.0", - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/universal-provider/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==", + "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": { - "@noble/hashes": "~1.8.0", - "@scure/base": "~1.2.5" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "@walletconnect/events": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "events": "^3.3.0" } }, - "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/core": { - "version": "2.21.10", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.21.10.tgz", - "integrity": "sha512-azWSsDeUZupqK0E8V85w7toNYVm/uzLtxhNv28dvNMtUf8aKlww3DilQxP9T2HZ3z+3n0ocuRzi0nfktjsaHyw==", - "license": "SEE LICENSE IN LICENSE.md", + "node_modules/@walletconnect/jsonrpc-http-connection": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.8.tgz", + "integrity": "sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw==", + "license": "MIT", "dependencies": { - "@walletconnect/heartbeat": "1.2.2", - "@walletconnect/jsonrpc-provider": "1.0.14", - "@walletconnect/jsonrpc-types": "1.0.4", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/jsonrpc-ws-connection": "1.0.16", - "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/logger": "2.1.2", - "@walletconnect/relay-api": "1.0.11", - "@walletconnect/relay-auth": "1.1.0", - "@walletconnect/safe-json": "1.0.2", - "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.10", - "@walletconnect/utils": "2.21.10", - "@walletconnect/window-getters": "1.0.1", - "es-toolkit": "1.39.3", - "events": "3.3.0", - "uint8arrays": "3.1.1" - }, - "engines": { - "node": ">=18.20.8" + "@walletconnect/jsonrpc-utils": "^1.0.6", + "@walletconnect/safe-json": "^1.0.1", + "cross-fetch": "^3.1.4", + "events": "^3.3.0" } }, - "node_modules/@walletconnect/universal-provider/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==", + "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", "@walletconnect/safe-json": "^1.0.2", - "pino": "7.11.0" - } - }, - "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/sign-client": { - "version": "2.21.10", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.21.10.tgz", - "integrity": "sha512-ZXpMhgxWehPXyL9Lfzg61Q+89rSoG4XQgAqA90UEB94BHuG9SSOjnmPCK3TZeil70E66ekwAOvO7kphnhQGd5A==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@walletconnect/core": "2.21.10", - "@walletconnect/events": "1.0.1", - "@walletconnect/heartbeat": "1.2.2", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/logger": "2.1.2", - "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.10", - "@walletconnect/utils": "2.21.10", - "events": "3.3.0" + "events": "^3.3.0" } }, - "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/types": { - "version": "2.21.10", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.21.10.tgz", - "integrity": "sha512-9oSvgxv1hE5aS+j4aHS9YgKeq50BP4iMh49tjubTW5574cBWqmt1bXfQhZddSTbq9OirwLSegl6W36itkzryBQ==", - "license": "SEE LICENSE IN LICENSE.md", + "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": { - "@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" + "events": "^3.3.0", + "keyvaluestorage-interface": "^1.0.0" } }, - "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/utils": { - "version": "2.21.10", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.21.10.tgz", - "integrity": "sha512-LC5hmP3uxVoMyw7Ibea1JQdE98FTb7jZie60qiaybmaIsg/ApEUosU5uCLTFRJwEWUip2p3sJTb0n/3pU+yR/Q==", - "license": "SEE LICENSE IN LICENSE.md", + "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": { - "@msgpack/msgpack": "3.1.2", - "@noble/ciphers": "1.3.0", - "@noble/curves": "1.9.7", - "@noble/hashes": "1.8.0", - "@scure/base": "1.2.6", - "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/keyvaluestorage": "1.1.1", - "@walletconnect/relay-api": "1.0.11", - "@walletconnect/relay-auth": "1.1.0", - "@walletconnect/safe-json": "1.0.2", - "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.21.10", - "@walletconnect/window-getters": "1.0.1", - "@walletconnect/window-metadata": "1.0.1", - "blakejs": "1.2.1", - "bs58": "6.0.0", - "detect-browser": "5.3.0", - "ox": "0.9.3", - "uint8arrays": "3.1.1" + "@walletconnect/environment": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.3", + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/universal-provider/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/@walletconnect/universal-provider/node_modules/bs58": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-6.0.0.tgz", - "integrity": "sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==", + "node_modules/@walletconnect/jsonrpc-ws-connection": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.16.tgz", + "integrity": "sha512-G81JmsMqh5nJheE1mPst1W0WfVv0SG3N7JggwLLGnI7iuDZJq8cRJvQwLGKHn5H1WTW7DEPCo00zz5w62AbL3Q==", "license": "MIT", "dependencies": { - "base-x": "^5.0.0" + "@walletconnect/jsonrpc-utils": "^1.0.6", + "@walletconnect/safe-json": "^1.0.2", + "events": "^3.3.0", + "ws": "^7.5.1" } }, - "node_modules/@walletconnect/universal-provider/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/universal-provider/node_modules/ox": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.9.3.tgz", - "integrity": "sha512-KzyJP+fPV4uhuuqrTZyok4DC7vFzi7HLUFiUNEmpbyh59htKWkOC98IONC1zgXJPbHAhQgqs6B0Z6StCGhmQvg==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/wevm" + "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" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true } - ], + } + }, + "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": { - "@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.9", - "eventemitter3": "5.0.1" + "@walletconnect/safe-json": "^1.0.1", + "idb-keyval": "^6.2.1", + "unstorage": "^1.9.0" }, "peerDependencies": { - "typescript": ">=5.4.0" + "@react-native-async-storage/async-storage": "1.x" }, "peerDependenciesMeta": { - "typescript": { + "@react-native-async-storage/async-storage": { "optional": true } } }, - "node_modules/@walletconnect/universal-provider/node_modules/ox/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==", + "node_modules/@walletconnect/logger": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-3.0.2.tgz", + "integrity": "sha512-7wR3wAwJTOmX4gbcUZcFMov8fjftY05+5cO/d4cpDD8wDzJ+cIlKdYOXaXfxHLSYeDazMXIsxMYjHYVDfkx+nA==", "license": "MIT", "dependencies": { - "@noble/hashes": "1.8.0" + "@walletconnect/safe-json": "^1.0.2", + "pino": "10.0.0" + } + }, + "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" + } + }, + "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", + "@noble/hashes": "1.7.0", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "uint8arrays": "^3.0.0" + } + }, + "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" }, "engines": { "node": "^14.21.3 || >=16" @@ -9370,81 +11507,91 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@walletconnect/universal-provider/node_modules/pino": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", - "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "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", - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.0.0", - "on-exit-leak-free": "^0.2.0", - "pino-abstract-transport": "v0.5.0", - "pino-std-serializers": "^4.0.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.1.0", - "safe-stable-stringify": "^2.1.0", - "sonic-boom": "^2.2.1", - "thread-stream": "^0.15.1" + "engines": { + "node": "^14.21.3 || >=16" }, - "bin": { - "pino": "bin.js" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@walletconnect/universal-provider/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==", + "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": { - "duplexify": "^4.1.2", - "split2": "^4.0.0" + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/universal-provider/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/universal-provider/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/sign-client": { + "version": "2.23.9", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.23.9.tgz", + "integrity": "sha512-Xj+hw4E6mGRyhCdVOT/RMgnG+up/Y3v0ho5PlkVozvXWeVSqHNh9DmjLuU97a7OACoGd/oHBF6g3NVqD7MgCMQ==", + "license": "SEE LICENSE IN LICENSE.md", + "dependencies": { + "@walletconnect/core": "2.23.9", + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/logger": "3.0.2", + "@walletconnect/time": "1.0.2", + "@walletconnect/types": "2.23.9", + "@walletconnect/utils": "2.23.9", + "events": "3.3.0" + } }, - "node_modules/@walletconnect/universal-provider/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==", + "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", - "engines": { - "node": ">= 12.13.0" + "dependencies": { + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/universal-provider/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", + "node_modules/@walletconnect/types": { + "version": "2.23.9", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.23.9.tgz", + "integrity": "sha512-IUl1PpD/Dig8IE2OZ9XtjbPohEyOZJ73xs92EDUzoIyzRtfm36g2D340pY3iu3AAdLv1yFiaZafB8Hf8RFze8A==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "atomic-sleep": "^1.0.0" + "@walletconnect/events": "1.0.1", + "@walletconnect/heartbeat": "1.2.2", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "3.0.2", + "events": "3.3.0" } }, - "node_modules/@walletconnect/universal-provider/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", + "node_modules/@walletconnect/universal-provider": { + "version": "2.23.9", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.23.9.tgz", + "integrity": "sha512-dNk6X1USUcIX1nx3H61V3pO15E/2ejyeBsKLBOo8YXrnYCrKGG/KB1LIqJXHpQlXT+9bJE9cOnn61ETdCXgkPw==", + "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "real-require": "^0.1.0" + "@walletconnect/events": "1.0.1", + "@walletconnect/jsonrpc-http-connection": "1.0.8", + "@walletconnect/jsonrpc-provider": "1.0.14", + "@walletconnect/jsonrpc-types": "1.0.4", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/keyvaluestorage": "1.1.1", + "@walletconnect/logger": "3.0.2", + "@walletconnect/sign-client": "2.23.9", + "@walletconnect/types": "2.23.9", + "@walletconnect/utils": "2.23.9", + "es-toolkit": "1.44.0", + "events": "3.3.0" } }, "node_modules/@walletconnect/utils": { - "version": "2.23.8", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.23.8.tgz", - "integrity": "sha512-vJrRrZFZANWmnEEnWnfVSnpQ+jdjqBb5fqSgp0VGeRX3pNr2KAHJ0TwNnEN+fbhR76JxuFrpcY7HJUT7DHDJ7w==", + "version": "2.23.9", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.23.9.tgz", + "integrity": "sha512-C5TltCs8UPypNiteYnKSv8+ZDK2EjVDyXCxN6kA9bkA+j6KGsNIV7l9MUA8WBAvE5Gi5EcBdhD3R9Hpo/1HHqQ==", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "@msgpack/msgpack": "3.1.3", @@ -9459,7 +11606,7 @@ "@walletconnect/relay-auth": "1.1.0", "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.23.8", + "@walletconnect/types": "2.23.9", "@walletconnect/window-getters": "1.0.1", "@walletconnect/window-metadata": "1.0.1", "blakejs": "1.2.1", @@ -9474,15 +11621,6 @@ "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", "license": "MIT" }, - "node_modules/@walletconnect/utils/node_modules/@msgpack/msgpack": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz", - "integrity": "sha512-47XIizs9XZXvuJgoaJUIE2lFoID8ugvc0jzSHP+Ptfk8nTbnR8g788wv48N03Kx0UkAv559HWRQ3yzOgzlRNUA==", - "license": "ISC", - "engines": { - "node": ">= 18" - } - }, "node_modules/@walletconnect/utils/node_modules/@scure/bip32": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.7.0.tgz", @@ -9510,6 +11648,27 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@walletconnect/utils/node_modules/abitype": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.2.4.tgz", + "integrity": "sha512-dpKH+N27vRjarMVTFFkeY445VTKftzGWpL0FiT7xmVmzQRKazZexzC5uHG0f6XKsVLAuUlndnbGau6lRejClxg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3.22.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, "node_modules/@walletconnect/utils/node_modules/ox": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/ox/-/ox-0.9.3.tgz", @@ -9564,12 +11723,6 @@ "tslib": "1.14.1" } }, - "node_modules/@walletconnect/window-getters/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/window-metadata": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", @@ -9580,12 +11733,6 @@ "tslib": "1.14.1" } }, - "node_modules/@walletconnect/window-metadata/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/@web3auth/base": { "version": "8.12.4", "resolved": "https://registry.npmjs.org/@web3auth/base/-/base-8.12.4.tgz", @@ -9730,9 +11877,9 @@ } }, "node_modules/@web3auth/modal/node_modules/@ethereumjs/util/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -9742,12 +11889,12 @@ } }, "node_modules/@web3auth/modal/node_modules/@noble/curves": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.0.1.tgz", - "integrity": "sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.2.0.tgz", + "integrity": "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==", "license": "MIT", "dependencies": { - "@noble/hashes": "2.0.1" + "@noble/hashes": "2.2.0" }, "engines": { "node": ">= 20.19.0" @@ -9757,9 +11904,9 @@ } }, "node_modules/@web3auth/modal/node_modules/@noble/curves/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -10177,13 +12324,25 @@ "node": ">=20" } }, + "node_modules/@web3auth/no-modal/node_modules/@ethereumjs/util/node_modules/@noble/hashes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@web3auth/no-modal/node_modules/@noble/curves": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.0.1.tgz", - "integrity": "sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.2.0.tgz", + "integrity": "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==", "license": "MIT", "dependencies": { - "@noble/hashes": "2.0.1" + "@noble/hashes": "2.2.0" }, "engines": { "node": ">= 20.19.0" @@ -10192,10 +12351,10 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@web3auth/no-modal/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "node_modules/@web3auth/no-modal/node_modules/@noble/curves/node_modules/@noble/hashes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -10233,38 +12392,14 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@web3auth/no-modal/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/@web3auth/no-modal/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/@web3auth/no-modal/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" + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -10476,56 +12611,6 @@ "color": "^5.x" } }, - "node_modules/@web3auth/no-modal/node_modules/color": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/color/-/color-5.0.3.tgz", - "integrity": "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-convert": "^3.1.3", - "color-string": "^2.1.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@web3auth/no-modal/node_modules/color-convert": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.3.tgz", - "integrity": "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@web3auth/no-modal/node_modules/color-name": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", - "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@web3auth/no-modal/node_modules/color-string": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.4.tgz", - "integrity": "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@web3auth/no-modal/node_modules/ethereum-cryptography": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", @@ -10558,16 +12643,19 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/@web3auth/no-modal/node_modules/ethereum-cryptography/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==", + "node_modules/@web3auth/no-modal/node_modules/permissionless": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/permissionless/-/permissionless-0.3.5.tgz", + "integrity": "sha512-hYc9ALMMQVc3kETuDss60Xs3mb2wHhNu4kTwR9DLNu9+BwrPhzt0ZtPJyLAaeYMuw3BtPiRte+reumFpAfYChQ==", "license": "MIT", - "engines": { - "node": "^14.21.3 || >=16" + "peerDependencies": { + "ox": "^0.11.3", + "viem": "^2.44.4" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "peerDependenciesMeta": { + "ox": { + "optional": true + } } }, "node_modules/@web3auth/ws-embed": { @@ -10621,9 +12709,9 @@ } }, "node_modules/@web3auth/ws-embed/node_modules/@ethereumjs/util/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -10633,12 +12721,12 @@ } }, "node_modules/@web3auth/ws-embed/node_modules/@noble/curves": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.0.1.tgz", - "integrity": "sha512-vs1Az2OOTBiP4q0pwjW5aF0xp9n4MxVrmkFBxc6EKZc6ddYx5gaZiAsZoq0uRRXWbi3AT/sBqn05eRPtn1JCPw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-2.2.0.tgz", + "integrity": "sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==", "license": "MIT", "dependencies": { - "@noble/hashes": "2.0.1" + "@noble/hashes": "2.2.0" }, "engines": { "node": ">= 20.19.0" @@ -10648,9 +12736,9 @@ } }, "node_modules/@web3auth/ws-embed/node_modules/@noble/curves/node_modules/@noble/hashes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", - "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.2.0.tgz", + "integrity": "sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==", "license": "MIT", "engines": { "node": ">= 20.19.0" @@ -10907,56 +12995,6 @@ "color": "^5.x" } }, - "node_modules/@web3auth/ws-embed/node_modules/color": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/color/-/color-5.0.3.tgz", - "integrity": "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-convert": "^3.1.3", - "color-string": "^2.1.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@web3auth/ws-embed/node_modules/color-convert": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-3.1.3.tgz", - "integrity": "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=14.6" - } - }, - "node_modules/@web3auth/ws-embed/node_modules/color-name": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-2.1.0.tgz", - "integrity": "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/@web3auth/ws-embed/node_modules/color-string": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-2.1.4.tgz", - "integrity": "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==", - "license": "MIT", - "peer": true, - "dependencies": { - "color-name": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@web3auth/ws-embed/node_modules/ethereum-cryptography": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-3.2.0.tgz", @@ -11003,38 +13041,18 @@ "node": ">=16.0.0" } }, - "node_modules/@xrplf/isomorphic/node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", - "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/abitype": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.2.3.tgz", - "integrity": "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.6.tgz", + "integrity": "sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==", "license": "MIT", + "optional": true, "funding": { "url": "https://github.com/sponsors/wevm" }, "peerDependencies": { "typescript": ">=5.0.4", - "zod": "^3.22.0 || ^4.0.0" + "zod": "^3 >=3.22.0" }, "peerDependenciesMeta": { "typescript": { @@ -11058,9 +13076,9 @@ } }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", "bin": { @@ -11080,6 +13098,19 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "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", @@ -11109,9 +13140,9 @@ } }, "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -11181,6 +13212,12 @@ "node": ">=10" } }, + "node_modules/aria-hidden/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/aria-query": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", @@ -11400,11 +13437,17 @@ "tslib": "^2.4.0" } }, + "node_modules/async-mutex/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/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/atomic-sleep": { @@ -11432,15 +13475,40 @@ } }, "node_modules/axe-core": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", - "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.3.tgz", + "integrity": "sha512-zBQouZixDTbo3jMGqHKyePxYxr1e5W8UdTmBQ7sNtaA9M2bE32daxxPLS/jojhKOHxQ7LWwPjfiwf/fhaJWzlg==", "dev": true, "license": "MPL-2.0", "engines": { "node": ">=4" } }, + "node_modules/axios": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", + "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios-retry": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-4.5.0.tgz", + "integrity": "sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "is-retry-allowed": "^2.2.0" + }, + "peerDependencies": { + "axios": "0.x || 1.x" + } + }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", @@ -11497,9 +13565,9 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.10.10", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.10.tgz", - "integrity": "sha512-sUoJ3IMxx4AyRqO4MLeHlnGDkyXRoUG0/AI9fjK+vS72ekpV0yWVY7O0BVjmBcRtkNcsAO2QDZ4tdKKGoI6YaQ==", + "version": "2.10.22", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.22.tgz", + "integrity": "sha512-6qruVrb5rse6WylFkU0FhBKKGuecWseqdpQfhkawn6ztyk2QlfwSRjsDxMCLJrkfmfN21qvhl9ABgaMeRkuwww==", "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -11611,9 +13679,9 @@ "license": "MIT" }, "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==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -11641,9 +13709,9 @@ "license": "MIT" }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, "funding": [ { @@ -11661,11 +13729,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -11732,14 +13800,14 @@ } }, "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==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz", + "integrity": "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==", "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "get-intrinsic": "^1.3.0", "set-function-length": "^1.2.2" }, "engines": { @@ -11798,9 +13866,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001761", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001761.tgz", - "integrity": "sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==", + "version": "1.0.30001790", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001790.tgz", + "integrity": "sha512-bOoxfJPyYo+ds6W0YfptaCWbFnJYjh2Y1Eow5lRv+vI2u8ganPZqNm1JwNh0t2ELQCqIWg4B3dWEusgAmsoyOw==", "funding": [ { "type": "opencollective", @@ -11828,32 +13896,37 @@ } }, "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, + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "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==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": "*" + } + }, "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", "license": "MIT", "dependencies": { - "readdirp": "^4.0.1" + "readdirp": "^5.0.0" }, "engines": { - "node": ">= 14.16.0" + "node": ">= 20.19.0" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -11962,7 +14035,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" @@ -11995,9 +14068,9 @@ "license": "MIT" }, "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==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", "license": "MIT" }, "node_modules/copy-to-clipboard": { @@ -12055,9 +14128,9 @@ } }, "node_modules/cross-fetch": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.1.0.tgz", - "integrity": "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", + "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", "license": "MIT", "dependencies": { "node-fetch": "^2.7.0" @@ -12087,6 +14160,16 @@ "uncrypto": "^0.1.3" } }, + "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==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": "*" + } + }, "node_modules/cssstyle": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", @@ -12112,62 +14195,25 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "devOptional": true, + "dev": true, "license": "MIT" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/data-urls": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", - "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/data-urls/node_modules/tr46": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", - "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/data-urls/node_modules/webidl-conversions": { - "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" - } + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", - "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "^5.1.0", - "webidl-conversions": "^7.0.0" + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" }, "engines": { "node": ">=18" @@ -12249,6 +14295,13 @@ "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", "license": "MIT" }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true, + "license": "MIT" + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -12281,15 +14334,6 @@ "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", "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" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -12341,9 +14385,9 @@ } }, "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", "license": "MIT" }, "node_modules/delay": { @@ -12362,7 +14406,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.4.0" @@ -12438,31 +14482,12 @@ "node": ">= 0.4" } }, - "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", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1", - "stream-shift": "^1.0.2" - } - }, - "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", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" }, "node_modules/eciesjs": { "version": "0.4.18", @@ -12482,9 +14507,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.267", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", - "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "version": "1.5.344", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", + "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", "dev": true, "license": "ISC" }, @@ -12585,14 +14610,14 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.18.4", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", - "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", + "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "tapable": "^2.3.3" }, "engines": { "node": ">=10.13.0" @@ -12612,9 +14637,9 @@ } }, "node_modules/es-abstract": { - "version": "1.24.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", - "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "version": "1.24.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.2.tgz", + "integrity": "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==", "dev": true, "license": "MIT", "dependencies": { @@ -12699,16 +14724,16 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", - "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.2.tgz", + "integrity": "sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", + "call-bind": "^1.0.9", "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.24.1", + "es-abstract": "^1.24.2", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.1.0", "function-bind": "^1.1.2", @@ -12720,7 +14745,7 @@ "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", "iterator.prototype": "^1.1.5", - "safe-array-concat": "^1.1.3" + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -12749,7 +14774,7 @@ "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==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -12793,9 +14818,9 @@ } }, "node_modules/es-toolkit": { - "version": "1.39.3", - "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.39.3.tgz", - "integrity": "sha512-Qb/TCFCldgOy8lZ5uC7nLGdqJwSabkQiYQShmw4jyiPk1pZzaYWTwaYKYP7EgLccWYgZocMrtItrwh683voaww==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.44.0.tgz", + "integrity": "sha512-6penXeZalaV88MM3cGkFZZfOoLGWshWWfdy0tWw/RlVVyhvMaWSBTOvXNeiW3e5FwdS5ePW0LGEu17zT139ktg==", "license": "MIT", "workspaces": [ "docs", @@ -12818,9 +14843,9 @@ } }, "node_modules/esbuild": { - "version": "0.27.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz", - "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -12831,32 +14856,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.4", - "@esbuild/android-arm": "0.27.4", - "@esbuild/android-arm64": "0.27.4", - "@esbuild/android-x64": "0.27.4", - "@esbuild/darwin-arm64": "0.27.4", - "@esbuild/darwin-x64": "0.27.4", - "@esbuild/freebsd-arm64": "0.27.4", - "@esbuild/freebsd-x64": "0.27.4", - "@esbuild/linux-arm": "0.27.4", - "@esbuild/linux-arm64": "0.27.4", - "@esbuild/linux-ia32": "0.27.4", - "@esbuild/linux-loong64": "0.27.4", - "@esbuild/linux-mips64el": "0.27.4", - "@esbuild/linux-ppc64": "0.27.4", - "@esbuild/linux-riscv64": "0.27.4", - "@esbuild/linux-s390x": "0.27.4", - "@esbuild/linux-x64": "0.27.4", - "@esbuild/netbsd-arm64": "0.27.4", - "@esbuild/netbsd-x64": "0.27.4", - "@esbuild/openbsd-arm64": "0.27.4", - "@esbuild/openbsd-x64": "0.27.4", - "@esbuild/openharmony-arm64": "0.27.4", - "@esbuild/sunos-x64": "0.27.4", - "@esbuild/win32-arm64": "0.27.4", - "@esbuild/win32-ia32": "0.27.4", - "@esbuild/win32-x64": "0.27.4" + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" } }, "node_modules/escalade": { @@ -12883,25 +14908,25 @@ } }, "node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", + "@eslint/config-array": "^0.21.2", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "ajv": "^6.12.4", + "ajv": "^6.14.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", @@ -12920,7 +14945,7 @@ "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^3.1.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -12983,15 +15008,15 @@ } }, "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==", + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.10.tgz", + "integrity": "sha512-tRrKqFyCaKict5hOd244sL6EQFNycnMQnBe+j8uqGNXYzsImGbGUU4ibtoaBmv5FLwJwcFJNeg1GeVjQfbMrDQ==", "dev": true, "license": "MIT", "dependencies": { "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" + "is-core-module": "^2.16.1", + "resolve": "^2.0.0-next.6" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { @@ -13175,9 +15200,9 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", - "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.1.1.tgz", + "integrity": "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==", "dev": true, "license": "MIT", "dependencies": { @@ -13191,25 +15216,7 @@ "node": ">=18" }, "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" } }, "node_modules/eslint-scope": { @@ -13242,6 +15249,23 @@ "url": "https://opencollective.com/eslint" } }, + "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": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/espree": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", @@ -13261,9 +15285,9 @@ } }, "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -13572,15 +15596,6 @@ "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" - } - }, "node_modules/fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", @@ -13594,9 +15609,9 @@ "license": "MIT" }, "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", "dev": true, "license": "ISC", "dependencies": { @@ -13635,15 +15650,6 @@ "node": ">=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" - } - }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -13682,6 +15688,27 @@ "dev": true, "license": "ISC" }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -13701,7 +15728,7 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -13715,13 +15742,13 @@ } }, "node_modules/framer-motion": { - "version": "12.23.26", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.23.26.tgz", - "integrity": "sha512-cPcIhgR42xBn1Uj+PzOyheMtZ73H927+uWPDVhUMqxy8UHt6Okavb6xIz9J/phFUHUj0OncR6UvMfJTXoc/LKA==", + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.38.0.tgz", + "integrity": "sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==", "license": "MIT", "dependencies": { - "motion-dom": "^12.23.23", - "motion-utils": "^12.23.6", + "motion-dom": "^12.38.0", + "motion-utils": "^12.36.0", "tslib": "^2.4.0" }, "peerDependencies": { @@ -13741,6 +15768,12 @@ } } }, + "node_modules/framer-motion/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/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -13889,9 +15922,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", - "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.14.0.tgz", + "integrity": "sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==", "dev": true, "license": "MIT", "dependencies": { @@ -13963,15 +15996,31 @@ "dev": true, "license": "ISC" }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/h3": { - "version": "1.15.10", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.10.tgz", - "integrity": "sha512-YzJeWSkDZxAhvmp8dexjRK5hxziRO7I9m0N53WhvYL5NiWfkUkzssVzY9jvGu0HBoLFW6+duYmNSn6MaZBCCtg==", + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", "license": "MIT", "dependencies": { - "cookie-es": "^1.2.2", + "cookie-es": "^1.2.3", "crossws": "^0.3.5", - "defu": "^6.1.4", + "defu": "^6.1.6", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.4", @@ -14126,9 +16175,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -14178,6 +16227,13 @@ "node": ">=18" } }, + "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", @@ -14225,9 +16281,9 @@ } }, "node_modules/i18next": { - "version": "25.10.5", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-25.10.5.tgz", - "integrity": "sha512-jRnF7eRNsdcnh7AASSgaU3lj/8lJZuHkfsouetnLEDH0xxE1vVi7qhiJ9RhdSPUyzg4ltb7P7aXsFlTk9sxL2w==", + "version": "25.10.10", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-25.10.10.tgz", + "integrity": "sha512-cqUW2Z3EkRx7NqSyywjkgCLK7KLCL6IFVFcONG7nVYIJ3ekZ1/N5jUsihHV6Bq37NfhgtczxJcxduELtjTwkuQ==", "funding": [ { "type": "individual", @@ -14247,7 +16303,7 @@ "@babel/runtime": "^7.29.2" }, "peerDependencies": { - "typescript": "^5" + "typescript": "^5 || ^6" }, "peerDependenciesMeta": { "typescript": { @@ -14269,9 +16325,9 @@ } }, "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==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/idb-keyval/-/idb-keyval-6.2.1.tgz", + "integrity": "sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==", "license": "Apache-2.0" }, "node_modules/ieee754": { @@ -14454,6 +16510,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT", + "optional": true + }, "node_modules/is-bun-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", @@ -14465,9 +16528,9 @@ } }, "node_modules/is-bun-module/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -14676,6 +16739,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "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", @@ -14701,6 +16774,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-retry-allowed": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz", + "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-set": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", @@ -14946,6 +17032,27 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/jayson/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" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/jiti": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", @@ -14956,6 +17063,16 @@ "jiti": "lib/jiti-cli.mjs" } }, + "node_modules/jose": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.2.tgz", + "integrity": "sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==", + "license": "MIT", + "optional": true, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/js-cookie": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz", @@ -14987,100 +17104,41 @@ }, "node_modules/jsdom": { "version": "25.0.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz", - "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssstyle": "^4.1.0", - "data-urls": "^5.0.0", - "decimal.js": "^10.4.3", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^4.0.0", - "http-proxy-agent": "^7.0.2", - "https-proxy-agent": "^7.0.5", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.12", - "parse5": "^7.1.2", - "rrweb-cssom": "^0.7.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^5.0.0", - "w3c-xmlserializer": "^5.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^3.1.1", - "whatwg-mimetype": "^4.0.0", - "whatwg-url": "^14.0.0", - "ws": "^8.18.0", - "xml-name-validator": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "canvas": "^2.11.2" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/tr46": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", - "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/jsdom/node_modules/webidl-conversions": { - "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/jsdom/node_modules/whatwg-url": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", - "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz", + "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "^5.1.0", - "webidl-conversions": "^7.0.0" + "cssstyle": "^4.1.0", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.5", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.12", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.7.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.0.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" }, "engines": { "node": ">=18" - } - }, - "node_modules/jsdom/node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" }, "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "canvas": "^2.11.2" }, "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { + "canvas": { "optional": true } } @@ -15257,9 +17315,9 @@ } }, "node_modules/lightningcss": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", - "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -15273,23 +17331,23 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-android-arm64": "1.30.2", - "lightningcss-darwin-arm64": "1.30.2", - "lightningcss-darwin-x64": "1.30.2", - "lightningcss-freebsd-x64": "1.30.2", - "lightningcss-linux-arm-gnueabihf": "1.30.2", - "lightningcss-linux-arm64-gnu": "1.30.2", - "lightningcss-linux-arm64-musl": "1.30.2", - "lightningcss-linux-x64-gnu": "1.30.2", - "lightningcss-linux-x64-musl": "1.30.2", - "lightningcss-win32-arm64-msvc": "1.30.2", - "lightningcss-win32-x64-msvc": "1.30.2" + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" } }, "node_modules/lightningcss-android-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", - "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", "cpu": [ "arm64" ], @@ -15308,9 +17366,9 @@ } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", - "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", "cpu": [ "arm64" ], @@ -15329,9 +17387,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", - "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", "cpu": [ "x64" ], @@ -15350,9 +17408,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", - "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", "cpu": [ "x64" ], @@ -15371,9 +17429,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", - "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", "cpu": [ "arm" ], @@ -15392,9 +17450,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", - "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", "cpu": [ "arm64" ], @@ -15413,9 +17471,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", - "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", "cpu": [ "arm64" ], @@ -15434,9 +17492,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", - "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", "cpu": [ "x64" ], @@ -15455,9 +17513,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", - "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", "cpu": [ "x64" ], @@ -15476,9 +17534,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", - "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", "cpu": [ "arm64" ], @@ -15497,9 +17555,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", - "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", "cpu": [ "x64" ], @@ -15529,20 +17587,20 @@ } }, "node_modules/lit-element": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.1.tgz", - "integrity": "sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.2.tgz", + "integrity": "sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==", "license": "BSD-3-Clause", "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.4.0", + "@lit-labs/ssr-dom-shim": "^1.5.0", "@lit/reactive-element": "^2.1.0", "lit-html": "^3.3.0" } }, "node_modules/lit-html": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.1.tgz", - "integrity": "sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.2.tgz", + "integrity": "sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw==", "license": "BSD-3-Clause", "dependencies": { "@types/trusted-types": "^2.0.2" @@ -15565,9 +17623,9 @@ } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, "node_modules/lodash.merge": { @@ -15640,6 +17698,18 @@ "node": ">= 0.4" } }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "license": "BSD-3-Clause", + "optional": true, + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -15685,7 +17755,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -15695,7 +17765,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "mime-db": "1.52.0" @@ -15760,20 +17830,30 @@ } }, "node_modules/motion-dom": { - "version": "12.23.23", - "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.23.23.tgz", - "integrity": "sha512-n5yolOs0TQQBRUFImrRfs/+6X4p3Q4n1dUEqt/H58Vx7OW6RF+foWEgmTVDhIWJIMXOuNNL0apKH2S16en9eiA==", + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.38.0.tgz", + "integrity": "sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==", "license": "MIT", "dependencies": { - "motion-utils": "^12.23.6" + "motion-utils": "^12.36.0" } }, "node_modules/motion-utils": { - "version": "12.23.6", - "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.23.6.tgz", - "integrity": "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ==", + "version": "12.36.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.36.0.tgz", + "integrity": "sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==", "license": "MIT" }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -15843,12 +17923,12 @@ } }, "node_modules/next": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/next/-/next-16.2.1.tgz", - "integrity": "sha512-VaChzNL7o9rbfdt60HUj8tev4m6d7iC1igAy157526+cJlXOQu5LzsBXNT+xaJnTP/k+utSX5vMv7m0G+zKH+Q==", + "version": "16.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.4.tgz", + "integrity": "sha512-kPvz56wF5frc+FxlHI5qnklCzbq53HTwORaWBGdT0vNoKh1Aya9XC8aPauH4NJxqtzbWsS5mAbctm4cr+EkQ2Q==", "license": "MIT", "dependencies": { - "@next/env": "16.2.1", + "@next/env": "16.2.4", "@swc/helpers": "0.5.15", "baseline-browser-mapping": "^2.9.19", "caniuse-lite": "^1.0.30001579", @@ -15862,14 +17942,14 @@ "node": ">=20.9.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "16.2.1", - "@next/swc-darwin-x64": "16.2.1", - "@next/swc-linux-arm64-gnu": "16.2.1", - "@next/swc-linux-arm64-musl": "16.2.1", - "@next/swc-linux-x64-gnu": "16.2.1", - "@next/swc-linux-x64-musl": "16.2.1", - "@next/swc-win32-arm64-msvc": "16.2.1", - "@next/swc-win32-x64-msvc": "16.2.1", + "@next/swc-darwin-arm64": "16.2.4", + "@next/swc-darwin-x64": "16.2.4", + "@next/swc-linux-arm64-gnu": "16.2.4", + "@next/swc-linux-arm64-musl": "16.2.4", + "@next/swc-linux-x64-gnu": "16.2.4", + "@next/swc-linux-x64-musl": "16.2.4", + "@next/swc-win32-arm64-msvc": "16.2.4", + "@next/swc-win32-x64-msvc": "16.2.4", "sharp": "^0.34.5" }, "peerDependencies": { @@ -15933,6 +18013,25 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -15959,6 +18058,28 @@ "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", @@ -15977,9 +18098,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", "dev": true, "license": "MIT" }, @@ -16253,6 +18374,16 @@ "integrity": "sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw==", "license": "MIT" }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -16289,6 +18420,65 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ox": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.9.tgz", + "integrity": "sha512-wi5ShvzE4eOcTwQVsIPdFr+8ycyX+5le/96iAJutaZAvCes1J0+RvpEPg5QDPDiaR0XQQAvZVl7AwqQcINuUug==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@adraffy/ens-normalize": "^1.10.1", + "@noble/curves": "^1.6.0", + "@noble/hashes": "^1.5.0", + "@scure/bip32": "^1.5.0", + "@scure/bip39": "^1.4.0", + "abitype": "^1.0.6", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "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", + "optional": true, + "dependencies": { + "@noble/curves": "~1.9.0", + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "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", + "optional": true, + "dependencies": { + "@noble/hashes": "~1.8.0", + "@scure/base": "~1.2.5" + }, + "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", @@ -16389,21 +18579,6 @@ "dev": true, "license": "MIT" }, - "node_modules/permissionless": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/permissionless/-/permissionless-0.3.4.tgz", - "integrity": "sha512-pml3Do0e/AMoAq89tzpXlhhxmVdOigQCCoC+df/kRCVFiJ9pQTgzKQKhxYTWWB2xW/AOgwBwGzLBfqFZrDpFiA==", - "license": "MIT", - "peerDependencies": { - "ox": "^0.11.3", - "viem": "^2.44.4" - }, - "peerDependenciesMeta": { - "ox": { - "optional": true - } - } - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -16411,9 +18586,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "license": "MIT", "engines": { "node": ">=8.6" @@ -16487,9 +18662,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.10.tgz", + "integrity": "sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==", "dev": true, "funding": [ { @@ -16515,6 +18690,17 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/preact": { + "version": "10.24.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.24.2.tgz", + "integrity": "sha512-1cSoF0aCC8uaARATfrlz4VCBqE8LwZwRfLgkxJOQwAlQt6ayTmi0D9OF7nXid1POI5SZidFuG9CnlXbDfLqY/Q==", + "license": "MIT", + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -16574,6 +18760,13 @@ "integrity": "sha512-V9plBAt3qjMlS1+nC8771KNf6oJ12gExvaxnNzN/9yVRLdTv/lc+oJlnSzrdYDAvBfTStPCoiaCOTmTs0adv7Q==", "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", + "optional": true + }, "node_modules/pump": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", @@ -16618,24 +18811,6 @@ "integrity": "sha512-mZSiP6RnbHl4xL2Ap5HfkjLnmxfKcPWpWe/c+5XxCuetEenqmNFf1FH/ftXPCtFG5/TDobjsjz6sSNL0Sr8Z9g==", "license": "MIT" }, - "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", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -16670,23 +18845,24 @@ "license": "MIT" }, "node_modules/react": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", - "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.5.tgz", + "integrity": "sha512-llUJLzz1zTUBrskt2pwZgLq59AemifIftw4aB7JxOqf1HY2FDaGDxgwpAPVzHU1kdWabH7FauP4i1oEeer2WCA==", "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-day-picker": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-9.13.0.tgz", - "integrity": "sha512-euzj5Hlq+lOHqI53NiuNhCP8HWgsPf/bBAVijR50hNaY1XwjKjShAnIe8jm8RD2W9IJUvihDIZ+KrmqfFzNhFQ==", + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-9.14.0.tgz", + "integrity": "sha512-tBaoDWjPwe0M5pGrum4H0SR6Lyk+BO9oHnp9JbKpGKW2mlraNPgP9BMfsg5pWpwrssARmeqk7YBl2oXutZTaHA==", "license": "MIT", "dependencies": { "@date-fns/tz": "^1.4.1", + "@tabby_ai/hijri-converter": "1.0.5", "date-fns": "^4.1.0", - "date-fns-jalali": "^4.1.0-0" + "date-fns-jalali": "4.1.0-0" }, "engines": { "node": ">=18" @@ -16700,21 +18876,21 @@ } }, "node_modules/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "version": "19.2.5", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.5.tgz", + "integrity": "sha512-J5bAZz+DXMMwW/wV3xzKke59Af6CHY7G4uYLN1OvBcKEsWOs4pQExj86BBKamxl/Ik5bx9whOrvBlSDfWzgSag==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.3" + "react": "^19.2.5" } }, "node_modules/react-hook-form": { - "version": "7.68.0", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.68.0.tgz", - "integrity": "sha512-oNN3fjrZ/Xo40SWlHf1yCjlMK417JxoSJVUXQjGdvdRCU07NTFei1i1f8ApUAts+IVh14e4EdakeLEA+BEAs/Q==", + "version": "7.73.1", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.73.1.tgz", + "integrity": "sha512-VAfVYOPcx3piiEVQy95vyFmBwbVUsP/AUIN+mpFG8h11yshDd444nn0VyfaGWSRnhOLVgiDu7HIuBtAIzxn9dA==", "license": "MIT", "engines": { "node": ">=18.0.0" @@ -16728,9 +18904,9 @@ } }, "node_modules/react-i18next": { - "version": "16.6.2", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-16.6.2.tgz", - "integrity": "sha512-/S/GPzElTqEi5o2kzd0/O2627hPDmE6OGhJCCwCfUaQ3syyu+kaYH8/PYFtZeWc25NzfxTN/2fD1QjvrTgrFfA==", + "version": "16.6.6", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-16.6.6.tgz", + "integrity": "sha512-ZgL2HUoW34UKUkOV7uSQFE1CDnRPD+tCR3ywSuWH7u2iapnz86U8Bi3Vrs620qNDzCf1F47NxglCEkchCTDOHw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.2", @@ -16738,9 +18914,9 @@ "use-sync-external-store": "^1.6.0" }, "peerDependencies": { - "i18next": ">= 25.6.2", + "i18next": ">= 25.10.9", "react": ">= 16.8.0", - "typescript": "^5" + "typescript": "^5 || ^6" }, "peerDependenciesMeta": { "react-dom": { @@ -16754,15 +18930,6 @@ } } }, - "node_modules/react-i18next/node_modules/use-sync-external-store": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", - "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -16840,6 +19007,18 @@ } } }, + "node_modules/react-remove-scroll-bar/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/react-remove-scroll/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/react-style-singleton": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", @@ -16862,6 +19041,12 @@ } } }, + "node_modules/react-style-singleton/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/readable-stream": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", @@ -16879,12 +19064,12 @@ } }, "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==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", "license": "MIT", "engines": { - "node": ">= 14.18.0" + "node": ">= 20.19.0" }, "funding": { "type": "individual", @@ -16960,13 +19145,16 @@ "license": "ISC" }, "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "version": "2.0.0-next.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", "dev": true, "license": "MIT", "dependencies": { + "es-errors": "^1.3.0", "is-core-module": "^2.16.1", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -17071,9 +19259,9 @@ } }, "node_modules/rollup": { - "version": "4.59.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.1.tgz", - "integrity": "sha512-iZKH8BeoCwTCBTZBZWQQMreekd4mdomwdjIQ40GC1oZm6o+8PnNMIxFOiCsGMWeS8iDJ7KZcl7KwmKk/0HOQpA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17087,38 +19275,38 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.1", - "@rollup/rollup-android-arm64": "4.59.1", - "@rollup/rollup-darwin-arm64": "4.59.1", - "@rollup/rollup-darwin-x64": "4.59.1", - "@rollup/rollup-freebsd-arm64": "4.59.1", - "@rollup/rollup-freebsd-x64": "4.59.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.1", - "@rollup/rollup-linux-arm-musleabihf": "4.59.1", - "@rollup/rollup-linux-arm64-gnu": "4.59.1", - "@rollup/rollup-linux-arm64-musl": "4.59.1", - "@rollup/rollup-linux-loong64-gnu": "4.59.1", - "@rollup/rollup-linux-loong64-musl": "4.59.1", - "@rollup/rollup-linux-ppc64-gnu": "4.59.1", - "@rollup/rollup-linux-ppc64-musl": "4.59.1", - "@rollup/rollup-linux-riscv64-gnu": "4.59.1", - "@rollup/rollup-linux-riscv64-musl": "4.59.1", - "@rollup/rollup-linux-s390x-gnu": "4.59.1", - "@rollup/rollup-linux-x64-gnu": "4.59.1", - "@rollup/rollup-linux-x64-musl": "4.59.1", - "@rollup/rollup-openbsd-x64": "4.59.1", - "@rollup/rollup-openharmony-arm64": "4.59.1", - "@rollup/rollup-win32-arm64-msvc": "4.59.1", - "@rollup/rollup-win32-ia32-msvc": "4.59.1", - "@rollup/rollup-win32-x64-gnu": "4.59.1", - "@rollup/rollup-win32-x64-msvc": "4.59.1", + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", "fsevents": "~2.3.2" } }, "node_modules/rpc-websockets": { - "version": "9.3.6", - "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-9.3.6.tgz", - "integrity": "sha512-RzuOQDGd+EtR/cBYQAH/0jjaBzhyvXXGROhxigGJPf+q3XKyvtelZCucylzxiq5MaGlfBx1075djTsxFsFDgrA==", + "version": "9.3.8", + "resolved": "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-9.3.8.tgz", + "integrity": "sha512-7r+fm4tSJmLf9GvZfL1DJ1SJwpagpp6AazqM0FUaeV7CA+7+NYINSk1syWa4tU/6OF2CyBicLtzENGmXRJH6wQ==", "license": "LGPL-3.0-only", "dependencies": { "@swc/helpers": "^0.5.11", @@ -17147,52 +19335,17 @@ "@types/node": "*" } }, - "node_modules/rpc-websockets/node_modules/utf-8-validate": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.6.tgz", - "integrity": "sha512-q3l3P9UtEEiAHcsgsqTgf9PPjctrDWoIXW3NpOHFdRDbLvu4DLIcxHangJ4RLrWkBcKjmcs/6NkerI8T/rE4LA==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">=6.14.2" - } - }, "node_modules/rpc-websockets/node_modules/uuid": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/esm/bin/uuid" - } - }, - "node_modules/rpc-websockets/node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", - "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 - } + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" } }, "node_modules/rrweb-cssom": { @@ -17236,16 +19389,23 @@ "tslib": "^2.1.0" } }, + "node_modules/rxjs/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", + "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==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.4.tgz", + "integrity": "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "get-intrinsic": "^1.3.0", "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, @@ -17475,9 +19635,9 @@ } }, "node_modules/sharp/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "license": "ISC", "optional": true, "bin": { @@ -17531,14 +19691,14 @@ } }, "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==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -17602,6 +19762,21 @@ "is-arrayish": "^0.3.1" } }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/slow-redact": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/slow-redact/-/slow-redact-0.3.2.tgz", @@ -17664,15 +19839,6 @@ "node": ">=0.10.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" - } - }, "node_modules/split2": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", @@ -17697,9 +19863,9 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz", - "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.1.0.tgz", + "integrity": "sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==", "dev": true, "license": "MIT" }, @@ -17732,21 +19898,6 @@ "stream-chain": "^2.2.5" } }, - "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" - } - }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -17990,9 +20141,9 @@ "license": "MIT" }, "node_modules/tailwind-merge": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", - "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.5.0.tgz", + "integrity": "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==", "license": "MIT", "funding": { "type": "github", @@ -18000,16 +20151,16 @@ } }, "node_modules/tailwindcss": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", - "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.4.tgz", + "integrity": "sha512-HhKppgO81FQof5m6TEnuBWCZGgfRAWbaeOaGT00KOy/Pf/j6oUihdvBpA7ltCeAvZpFhW3j0PTclkxsd4IXYDA==", "dev": true, "license": "MIT" }, "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", "dev": true, "license": "MIT", "engines": { @@ -18065,9 +20216,9 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.4.tgz", - "integrity": "sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.1.tgz", + "integrity": "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==", "dev": true, "license": "MIT", "engines": { @@ -18075,14 +20226,14 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -18110,9 +20261,9 @@ } }, "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { @@ -18185,6 +20336,16 @@ "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", "license": "MIT" }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/tough-cookie": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", @@ -18199,15 +20360,22 @@ } }, "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } }, "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", "dev": true, "license": "MIT", "engines": { @@ -18253,9 +20421,9 @@ } }, "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==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "license": "0BSD" }, "node_modules/tw-animate-css": { @@ -18392,6 +20560,7 @@ "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -18402,16 +20571,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.50.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.50.0.tgz", - "integrity": "sha512-Q1/6yNUmCpH94fbgMUMg2/BSAr/6U7GBk61kZTv1/asghQOWOjTlp9K8mixS5NcJmm2creY+UFfGeW/+OcA64A==", + "version": "8.59.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.0.tgz", + "integrity": "sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.50.0", - "@typescript-eslint/parser": "8.50.0", - "@typescript-eslint/typescript-estree": "8.50.0", - "@typescript-eslint/utils": "8.50.0" + "@typescript-eslint/eslint-plugin": "8.59.0", + "@typescript-eslint/parser": "8.59.0", + "@typescript-eslint/typescript-estree": "8.59.0", + "@typescript-eslint/utils": "8.59.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -18421,8 +20590,8 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/ufo": { @@ -18522,19 +20691,19 @@ } }, "node_modules/unstorage": { - "version": "1.17.3", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.3.tgz", - "integrity": "sha512-i+JYyy0DoKmQ3FximTHbGadmIYb8JEpq7lxUjnjeB702bCPum0vzo6oy5Mfu0lpqISw7hCyMW2yj4nWC8bqJ3Q==", + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz", + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==", "license": "MIT", "dependencies": { "anymatch": "^3.1.3", - "chokidar": "^4.0.3", + "chokidar": "^5.0.0", "destr": "^2.0.5", - "h3": "^1.15.4", - "lru-cache": "^10.4.3", + "h3": "^1.15.10", + "lru-cache": "^11.2.7", "node-fetch-native": "^1.6.7", "ofetch": "^1.5.1", - "ufo": "^1.6.1" + "ufo": "^1.6.3" }, "peerDependencies": { "@azure/app-configuration": "^1.8.0", @@ -18543,14 +20712,14 @@ "@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", + "@capacitor/preferences": "^6 || ^7 || ^8", "@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/functions": "^2.2.12 || ^3.0.0", - "@vercel/kv": "^1.0.1", + "@vercel/kv": "^1 || ^2 || ^3", "aws4fetch": "^1.0.20", "db0": ">=0.2.1", "idb-keyval": "^6.2.1", @@ -18618,10 +20787,13 @@ } }, "node_modules/unstorage/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" + "version": "11.3.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } }, "node_modules/update-browserslist-db": { "version": "1.2.3", @@ -18685,6 +20857,12 @@ } } }, + "node_modules/use-callback-ref/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/use-sidecar": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", @@ -18707,21 +20885,28 @@ } } }, + "node_modules/use-sidecar/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/use-sync-external-store": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", - "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/utf-8-validate": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.10.tgz", - "integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.6.tgz", + "integrity": "sha512-q3l3P9UtEEiAHcsgsqTgf9PPjctrDWoIXW3NpOHFdRDbLvu4DLIcxHangJ4RLrWkBcKjmcs/6NkerI8T/rE4LA==", "hasInstallScript": true, "license": "MIT", + "optional": true, "dependencies": { "node-gyp-build": "^4.3.0" }, @@ -18762,9 +20947,9 @@ } }, "node_modules/valtio": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/valtio/-/valtio-2.1.5.tgz", - "integrity": "sha512-vsh1Ixu5mT0pJFZm+Jspvhga5GzHUTYv0/+Th203pLfh3/wbHwxhu/Z2OkZDXIgHfjnjBns7SN9HNcbDvPmaGw==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/valtio/-/valtio-2.1.7.tgz", + "integrity": "sha512-DwJhCDpujuQuKdJ2H84VbTjEJJteaSmqsuUltsfbfdbotVfNeTE4K/qc/Wi57I9x8/2ed4JNdjEna7O6PfavRg==", "license": "MIT", "dependencies": { "proxy-compare": "^3.0.1" @@ -18786,9 +20971,9 @@ } }, "node_modules/viem": { - "version": "2.47.6", - "resolved": "https://registry.npmjs.org/viem/-/viem-2.47.6.tgz", - "integrity": "sha512-zExmbI99NGvMdYa7fmqSTLgkwh48dmhgEqFrUgkpL4kfG4XkVefZ8dZqIKVUhZo6Uhf0FrrEXOsHm9LUyIvI2Q==", + "version": "2.48.4", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.48.4.tgz", + "integrity": "sha512-mReP/rgY2P+WeeRSG4sUvccCLKfyAW1C73Y3KkobAqgzYmVna9qyUMNE44xIUkDtfvRuC33r24UhF4baBYovsg==", "funding": [ { "type": "github", @@ -18803,7 +20988,7 @@ "@scure/bip39": "1.6.0", "abitype": "1.2.3", "isows": "1.0.7", - "ox": "0.14.7", + "ox": "0.14.20", "ws": "8.18.3" }, "peerDependencies": { @@ -18863,10 +21048,31 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/viem/node_modules/abitype": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.2.3.tgz", + "integrity": "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3.22.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, "node_modules/viem/node_modules/ox": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.14.7.tgz", - "integrity": "sha512-zSQ/cfBdolj7U4++NAvH7sI+VG0T3pEohITCgcQj8KlawvTDY4vGVhDT64Atsm0d6adWfIYHDpu88iUBMMp+AQ==", + "version": "0.14.20", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.14.20.tgz", + "integrity": "sha512-rby38C3nDn8eQkf29Zgw4hkCZJ64Qqi0zRPWL8ENUQ7JVuoITqrVtwWQgM/He19SCMUEc7hS/Sjw0jIOSLJhOw==", "funding": [ { "type": "github", @@ -18915,9 +21121,9 @@ } }, "node_modules/vite": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.2.tgz", + "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", "dev": true, "license": "MIT", "dependencies": { @@ -19021,19 +21227,19 @@ } }, "node_modules/vitest": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.1.tgz", - "integrity": "sha512-yF+o4POL41rpAzj5KVILUxm1GCjKnELvaqmU9TLLUbMfDzuN0UpUR9uaDs+mCtjPe+uYPksXDRLQGGPvj1cTmA==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.5.tgz", + "integrity": "sha512-9Xx1v3/ih3m9hN+SbfkUyy0JAs72ap3r7joc87XL6jwF0jGg6mFBvQ1SrwaX+h8BlkX6Hz9shdd1uo6AF+ZGpg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.1.1", - "@vitest/mocker": "4.1.1", - "@vitest/pretty-format": "4.1.1", - "@vitest/runner": "4.1.1", - "@vitest/snapshot": "4.1.1", - "@vitest/spy": "4.1.1", - "@vitest/utils": "4.1.1", + "@vitest/expect": "4.1.5", + "@vitest/mocker": "4.1.5", + "@vitest/pretty-format": "4.1.5", + "@vitest/runner": "4.1.5", + "@vitest/snapshot": "4.1.5", + "@vitest/spy": "4.1.5", + "@vitest/utils": "4.1.5", "es-module-lexer": "^2.0.0", "expect-type": "^1.3.0", "magic-string": "^0.30.21", @@ -19044,7 +21250,7 @@ "tinybench": "^2.9.0", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", + "tinyrainbow": "^3.1.0", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", "why-is-node-running": "^2.3.0" }, @@ -19061,10 +21267,12 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.1", - "@vitest/browser-preview": "4.1.1", - "@vitest/browser-webdriverio": "4.1.1", - "@vitest/ui": "4.1.1", + "@vitest/browser-playwright": "4.1.5", + "@vitest/browser-preview": "4.1.5", + "@vitest/browser-webdriverio": "4.1.5", + "@vitest/coverage-istanbul": "4.1.5", + "@vitest/coverage-v8": "4.1.5", + "@vitest/ui": "4.1.5", "happy-dom": "*", "jsdom": "*", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -19088,6 +21296,12 @@ "@vitest/browser-webdriverio": { "optional": true }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, "@vitest/ui": { "optional": true }, @@ -19138,13 +21352,13 @@ } }, "node_modules/wagmi": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-3.6.0.tgz", - "integrity": "sha512-PIpihH3N4tDbtiJNmH4uExPjE4nwL7zU+y+DlUBoSGPw92bXl11mU6NXlruSCx+JKG+/ThAYeJivh+ByTpPQrw==", + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/wagmi/-/wagmi-3.6.4.tgz", + "integrity": "sha512-aAvjKlRv1pMlw/fcZUFCCyeR4b32iCtcPqPH9cphuIygxag3wnzvGR2/kaXbY08qKeHZEkD8bOvb8acBOfy05A==", "license": "MIT", "dependencies": { - "@wagmi/connectors": "8.0.0", - "@wagmi/core": "3.4.1", + "@wagmi/connectors": "8.0.4", + "@wagmi/core": "3.4.5", "use-sync-external-store": "1.4.0" }, "funding": { @@ -19163,9 +21377,9 @@ } }, "node_modules/wagmi/node_modules/@wagmi/connectors": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-8.0.0.tgz", - "integrity": "sha512-Uvo1Y75o7/5ShuVJdmNPpAreGKHTLongAn2CO1pwPhVvaInt9FqR8bHjIraUp8aHjE1Xk81drc7K62khKVMg+Q==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@wagmi/connectors/-/connectors-8.0.4.tgz", + "integrity": "sha512-zRxRmd4TnNv/LxYm/IcrUsXMFBECzEQAOAcUDRMUfRRKfneJFqmmv1kmUbWSIc/gBkBu6o3BAGPJjV5j3BUcLA==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/wevm" @@ -19176,8 +21390,9 @@ "@metamask/connect-evm": "~0.9.0", "@safe-global/safe-apps-provider": "~0.18.6", "@safe-global/safe-apps-sdk": "^9.1.0", - "@wagmi/core": "3.4.1", + "@wagmi/core": "3.4.5", "@walletconnect/ethereum-provider": "^2.21.1", + "accounts": "~0.6.7", "porto": "~0.2.35", "typescript": ">=5.7.3", "viem": "2.x" @@ -19201,6 +21416,9 @@ "@walletconnect/ethereum-provider": { "optional": true }, + "accounts": { + "optional": true + }, "porto": { "optional": true }, @@ -19209,6 +21427,15 @@ } } }, + "node_modules/wagmi/node_modules/use-sync-external-store": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/webauthn-p256": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/webauthn-p256/-/webauthn-p256-0.0.10.tgz", @@ -19232,10 +21459,74 @@ "license": "MPL-2.0" }, "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" + "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/webpack-bundle-analyzer": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", + "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "is-plain-object": "^5.0.0", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "7.5.11", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.11.tgz", + "integrity": "sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } }, "node_modules/whatwg-encoding": { "version": "3.1.1", @@ -19262,13 +21553,17 @@ } }, "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==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "dev": true, "license": "MIT", "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" } }, "node_modules/which": { @@ -19361,9 +21656,9 @@ "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==", + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", @@ -19438,16 +21733,16 @@ "license": "ISC" }, "node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", "license": "MIT", "engines": { - "node": ">=8.3.0" + "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -19567,27 +21862,6 @@ "node": ">= 6" } }, - "node_modules/xrpl/node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", - "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/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", @@ -19702,9 +21976,9 @@ } }, "node_modules/zod": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.2.1.tgz", - "integrity": "sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==", + "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" @@ -19724,9 +21998,9 @@ } }, "node_modules/zustand": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.9.tgz", - "integrity": "sha512-ALBtUj0AfjJt3uNRQoL1tL2tMvj6Gp/6e39dnfT6uzpelGru8v1tPOGBzayOWbPJvujM8JojDk3E1LxeFisBNg==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.12.tgz", + "integrity": "sha512-i77ae3aZq4dhMlRhJVCYgMLKuSiZAaUPAct2AksxQ+gOtimhGMdXljRT21P5BNpeT4kXlLIckvkPM029OljD7g==", "license": "MIT", "engines": { "node": ">=12.20.0" diff --git a/backend/migrations/runner.ts b/backend/migrations/runner.ts index 6e924b1b..5377dc40 100644 --- a/backend/migrations/runner.ts +++ b/backend/migrations/runner.ts @@ -1,30 +1,19 @@ #!/usr/bin/env tsx -// Database migration runner — Issues #207, #47, #842 +// Database migration runner — Issues #207 and #47 // Wraps Prisma migrate commands and provides rollback, status, and CI/CD integration. -// Issue #842: Enhanced rollback strategy with checkpointing and versioning. import { spawnSync } from 'node:child_process'; -import { existsSync, readdirSync, readFileSync, writeFileSync, statSync } from 'node:fs'; +import { existsSync, readdirSync, readFileSync, writeFileSync } from 'node:fs'; import { join, resolve } from 'node:path'; -import { createHash } from 'node:crypto'; const ROOT = resolve(__dirname, '..'); const PRISMA_DIR = join(ROOT, 'prisma'); const MIGRATIONS_DIR = join(PRISMA_DIR, 'migrations'); const STATE_FILE = join(ROOT, '.migration-state.json'); -const CHECKPOINT_FILE = join(ROOT, '.migration-checkpoint.json'); interface MigrationState { appliedAt: string; migrations: string[]; - checksum?: string; -} - -interface MigrationCheckpoint { - timestamp: string; - migrations: string[]; - databaseVersion: string; - notes: string; } function readState(): MigrationState { @@ -38,26 +27,6 @@ function writeState(state: MigrationState): void { writeFileSync(STATE_FILE, JSON.stringify(state, null, 2)); } -function readCheckpoint(): MigrationCheckpoint | null { - if (!existsSync(CHECKPOINT_FILE)) { - return null; - } - return JSON.parse(readFileSync(CHECKPOINT_FILE, 'utf-8')); -} - -function writeCheckpoint(checkpoint: MigrationCheckpoint): void { - writeFileSync(CHECKPOINT_FILE, JSON.stringify(checkpoint, null, 2)); -} - -function calculateMigrationChecksum(migrationPath: string): string { - const sqlPath = join(migrationPath, 'migration.sql'); - if (!existsSync(sqlPath)) { - return ''; - } - const content = readFileSync(sqlPath, 'utf-8'); - return createHash('sha256').update(content).digest('hex'); -} - // Use spawnSync (no shell) so CLI args are passed as separate tokens — no injection surface. function run(bin: string, args: string[]): void { console.log(`\n> ${bin} ${args.join(' ')}`); @@ -82,26 +51,12 @@ function getAvailableMigrations(): string[] { const commands: Record void> = { deploy() { console.log('[migrate] Applying all pending migrations via Prisma…'); - const before = readState().migrations.length; npx(['prisma', 'migrate', 'deploy']); const state = readState(); - const available = getAvailableMigrations(); - const after = available.length; state.appliedAt = new Date().toISOString(); - state.migrations = available; - state.checksum = available.map((m) => calculateMigrationChecksum(join(MIGRATIONS_DIR, m))).join('|'); + state.migrations = getAvailableMigrations(); writeState(state); - console.log(`[migrate] ✅ Migrations applied successfully (${after - before} new migrations).`); - if (after > before) { - const checkpoint: MigrationCheckpoint = { - timestamp: new Date().toISOString(), - migrations: available, - databaseVersion: new Date().toISOString().split('T')[0], - notes: `Deployed ${after - before} new migrations`, - }; - writeCheckpoint(checkpoint); - console.log('[migrate] ✅ Checkpoint created for rollback.'); - } + console.log('[migrate] ✅ Migrations applied successfully.'); }, status() { @@ -114,18 +69,11 @@ const commands: Record void> = { }, rollback() { - console.log('[migrate] Rolling back to previous checkpoint…'); + console.log('[migrate] Rolling back to previous migration state…'); if (process.env.NODE_ENV === 'production') { console.error('Rollback is blocked in production. Restore from backup instead.'); process.exit(1); } - const checkpoint = readCheckpoint(); - if (!checkpoint) { - console.error('No checkpoint found. Use rollback-one to rollback one migration.'); - process.exit(1); - } - console.log(`[migrate] Rolling back to checkpoint from ${checkpoint.timestamp}`); - console.log(`[migrate] Notes: ${checkpoint.notes}`); npx(['prisma', 'migrate', 'reset', '--force', '--skip-seed']); const state = readState(); const prev = state.migrations.slice(0, -1); @@ -138,28 +86,6 @@ const commands: Record void> = { console.log('[migrate] ✅ Rolled back successfully.'); }, - 'rollback-to'() { - const targetCheckpoint = process.argv[3]; - if (!targetCheckpoint) { - console.error('Usage: runner.ts rollback-to '); - process.exit(1); - } - if (process.env.NODE_ENV === 'production') { - console.error('Rollback is blocked in production. Restore from backup instead.'); - process.exit(1); - } - console.log(`[migrate] Rolling back to checkpoint ${targetCheckpoint}…`); - npx(['prisma', 'migrate', 'reset', '--force', '--skip-seed']); - const state = readState(); - state.migrations = state.migrations.filter((m) => m <= targetCheckpoint); - state.appliedAt = new Date().toISOString(); - writeState(state); - if (state.migrations.length > 0) { - npx(['prisma', 'migrate', 'deploy']); - } - console.log('[migrate] ✅ Rolled back to checkpoint successfully.'); - }, - reset() { if (process.env.NODE_ENV === 'production') { console.error('Reset is blocked in production.'); @@ -255,26 +181,19 @@ const command = process.argv[2]; if (!command || !(command in commands)) { console.log(` -AgenticPay Migration Runner — Issue #47 / #207 / #842 +AgenticPay Migration Runner — Issue #47 / #207 Usage: npx tsx migrations/runner.ts Commands: - deploy Apply all pending migrations (creates checkpoint, safe for CI/CD) + deploy Apply all pending migrations (safe for CI/CD) status Show current migration status - rollback Roll back to previous checkpoint (dev only, destructive reset) + rollback Roll back to previous migration (dev only, destructive reset) rollback-one Apply down.sql for latest migration (dev only) - rollback-to Roll back to specific checkpoint by date (dev only) check CI validation — detect schema/migration drift reset Reset database and re-run all migrations (dev only) generate Regenerate Prisma client from schema create-migration Create a new migration: create-migration seed Run the seed script - -Issue #842: Rollback strategy features: - - Automatic checkpointing on deploy - - Down migration support via down.sql - - Checkpoint-based rollback for point-in-time recovery - - SHA256 checksums for migration integrity `); process.exit(0); } diff --git a/backend/migrations/seed.ts b/backend/migrations/seed.ts index 755f1600..a970450d 100644 --- a/backend/migrations/seed.ts +++ b/backend/migrations/seed.ts @@ -1,48 +1,20 @@ #!/usr/bin/env tsx -// Seed script — Issues #207, #525 +// Seed script — Issue #207 // Populates the database with representative development/staging data. -// Usage: npm run db:seed [-- --size=small|medium|large --scenario=disputes] import { PrismaClient, UserTier, PaymentStatus, PaymentType, ProjectStatus, MilestoneStatus, InvoiceStatus, WebhookStatus } from '@prisma/client'; -import { seedFactories } from '../prisma/seed/factories'; -import { getScenario, listScenarios } from '../prisma/seed/scenarios'; const prisma = new PrismaClient(); -// Parse CLI arguments -function parseArgs() { - const args = process.argv.slice(2); - const config = { size: 'small', scenario: undefined }; - - for (const arg of args) { - if (arg.startsWith('--size=')) { - config.size = arg.split('=')[1]; - } - if (arg.startsWith('--scenario=')) { - config.scenario = arg.split('=')[1]; - } - } - - return config; -} - async function main() { - const config = parseArgs(); - const scenarioName = config.scenario || config.size; - const scenario = getScenario(scenarioName); - console.log('[seed] Starting seed…'); - console.log(`[seed] Scenario: ${scenario.name}`); - console.log(`[seed] Description: ${scenario.description}`); - const tenantId = 'tenant-001'; - - // ── Legacy seed data (for backward compatibility) ────────────────────────── + // ── Users ────────────────────────────────────────────────────────────────── const client = await prisma.user.upsert({ - where: { tenantId_email: { tenantId, email: 'client@example.com' } }, + where: { tenantId_email: { tenantId: 'tenant-001', email: 'client@example.com' } }, update: {}, create: { - tenantId, + tenantId: 'tenant-001', email: 'client@example.com', tier: UserTier.pro, walletAddress: 'GCLIENT123STELLARADDRESS', @@ -51,10 +23,10 @@ async function main() { }); const freelancer = await prisma.user.upsert({ - where: { tenantId_email: { tenantId, email: 'freelancer@example.com' } }, + where: { tenantId_email: { tenantId: 'tenant-001', email: 'freelancer@example.com' } }, update: {}, create: { - tenantId, + tenantId: 'tenant-001', email: 'freelancer@example.com', tier: UserTier.free, walletAddress: 'GFREELANCER456STELLARADDRESS', @@ -62,7 +34,141 @@ async function main() { }, }); - console.log('[seed] Legacy users created:', client.id, freelancer.id); + console.log('[seed] Users created:', client.id, freelancer.id); + + // ── Projects ─────────────────────────────────────────────────────────────── + const project = await prisma.project.upsert({ + where: { id: 'proj-seed-001' }, + update: {}, + create: { + id: 'proj-seed-001', + title: 'AgenticPay Frontend Redesign', + description: 'Full redesign of the dashboard UI with RSC and analytics.', + status: ProjectStatus.active, + totalAmount: 5000, + currency: 'XLM', + clientAddress: client.walletAddress!, + freelancerAddress: freelancer.walletAddress!, + tenantId: 'tenant-001', + }, + }); + + console.log('[seed] Project created:', project.id); + + // ── Milestones ───────────────────────────────────────────────────────────── + const [m1, m2, m3] = await prisma.$transaction([ + prisma.milestone.upsert({ + where: { id: 'ms-seed-001' }, + update: {}, + create: { id: 'ms-seed-001', projectId: project.id, title: 'Design Mockups', amount: 1500, currency: 'XLM', status: MilestoneStatus.completed, order: 1 }, + }), + prisma.milestone.upsert({ + where: { id: 'ms-seed-002' }, + update: {}, + create: { id: 'ms-seed-002', projectId: project.id, title: 'Frontend Implementation', amount: 2500, currency: 'XLM', status: MilestoneStatus.in_progress, order: 2 }, + }), + prisma.milestone.upsert({ + where: { id: 'ms-seed-003' }, + update: {}, + create: { id: 'ms-seed-003', projectId: project.id, title: 'QA & Deployment', amount: 1000, currency: 'XLM', status: MilestoneStatus.pending, order: 3 }, + }), + ]); + + console.log('[seed] Milestones created:', m1.id, m2.id, m3.id); + + // ── Payments ─────────────────────────────────────────────────────────────── + await prisma.payment.upsert({ + where: { id: 'pay-seed-001' }, + update: {}, + create: { + id: 'pay-seed-001', + tenantId: 'tenant-001', + txHash: 'abc123stellartxhash001', + amount: 1500, + currency: 'XLM', + network: 'stellar', + status: PaymentStatus.completed, + type: PaymentType.milestone_payment, + projectTitle: project.title, + projectId: project.id, + milestoneId: m1.id, + userId: freelancer.id, + fromAddress: client.walletAddress, + toAddress: freelancer.walletAddress, + }, + }); + + await prisma.payment.upsert({ + where: { id: 'pay-seed-002' }, + update: {}, + create: { + id: 'pay-seed-002', + tenantId: 'tenant-001', + txHash: null, + amount: 2500, + currency: 'XLM', + network: 'stellar', + status: PaymentStatus.pending, + type: PaymentType.milestone_payment, + projectTitle: project.title, + projectId: project.id, + milestoneId: m2.id, + userId: freelancer.id, + fromAddress: client.walletAddress, + toAddress: freelancer.walletAddress, + }, + }); + + console.log('[seed] Payments created.'); + + // ── Invoices ─────────────────────────────────────────────────────────────── + await prisma.invoice.upsert({ + where: { id: 'inv-seed-001' }, + update: {}, + create: { + id: 'inv-seed-001', + projectId: project.id, + milestoneId: m1.id, + tenantId: 'tenant-001', + amount: 1500, + currency: 'XLM', + status: InvoiceStatus.paid, + paidAt: new Date(), + }, + }); + + await prisma.invoice.upsert({ + where: { id: 'inv-seed-002' }, + update: {}, + create: { + id: 'inv-seed-002', + projectId: project.id, + milestoneId: m2.id, + tenantId: 'tenant-001', + amount: 2500, + currency: 'XLM', + status: InvoiceStatus.sent, + }, + }); + + console.log('[seed] Invoices created.'); + + // ── Webhooks ─────────────────────────────────────────────────────────────── + await prisma.webhook.upsert({ + where: { id: 'wh-seed-001' }, + update: {}, + create: { + id: 'wh-seed-001', + tenantId: 'tenant-001', + userId: client.id, + url: 'https://example.com/webhooks/agenticpay', + events: ['payment.completed', 'invoice.paid', 'milestone.approved'], + secret: 'whsec_seed_example_secret', + status: WebhookStatus.active, + }, + }); + + console.log('[seed] Webhooks created.'); // ── Gas Estimates ────────────────────────────────────────────────────────── await prisma.$transaction([ @@ -80,28 +186,18 @@ async function main() { console.log('[seed] Gas estimates created.'); - // ── Factory-based seed data ──────────────────────────────────────────────── - const result = await seedFactories( - prisma, - tenantId, - scenario.userCount, - scenario.projectsPerUser, - scenario.milestonesPerProject, - scenario.paymentsPerMilestone, - scenario.invoicesPerProject, - 12345, // deterministic seed - ); - - console.log('[seed] Factory seed summary:'); - console.log(` Users: ${result.users.length}`); - console.log(` Projects: ${result.projects.length}`); - console.log(` Milestones: ${result.totalMilestones}`); - console.log(` Payments: ${result.totalPayments}`); - console.log(` Invoices: ${result.totalInvoices}`); + // ── Audit Logs ───────────────────────────────────────────────────────────── + await prisma.auditLog.create({ + data: { + entityId: project.id, + entityType: 'project', + action: 'created', + userId: client.id, + metadata: { source: 'seed' }, + }, + }); console.log('[seed] ✅ Seed complete.'); - console.log(`[seed] Available scenarios: ${listScenarios().join(', ')}`); - console.log('[seed] Usage: npm run db:seed [-- --scenario=]'); } main() diff --git a/backend/package-lock.json b/backend/package-lock.json index abe47221..9550f622 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -8,27 +8,44 @@ "name": "agenticpay-backend", "version": "0.1.0", "dependencies": { + "@prisma/client": "^5.22.0", + "@sentry/node": "^10.50.0", + "@sentry/profiling-node": "^10.50.0", "@stellar/stellar-sdk": "^12.0.0", + "bullmq": "^5.77.6", + "circomlib": "^2.0.5", + "circomlibjs": "^0.1.7", "compression": "^1.7.4", "cors": "^2.8.5", "cron-parser": "^4.9.0", "dompurify": "^3.0.6", "dotenv": "^16.4.5", "escape-html": "^1.0.3", + "ethers": "^6.16.0", "express": "^4.21.0", "express-rate-limit": "^7.4.1", "helmet": "^7.1.0", + "ioredis": "^5.11.0", "node-cron": "^3.0.3", "openai": "^4.67.0", + "pino": "^9.6.0", + "pino-http": "^10.4.0", + "qrcode": "^1.5.3", "sanitize-html": "^2.11.0", + "snarkjs": "^0.7.6", + "speakeasy": "^2.0.0", "sqlstring": "^2.3.3", + "stripe": "^17.5.0", "validator": "^13.11.0", + "viem": "^2.43.2", "web-push": "^3.6.0", + "ws": "^8.18.0", "xss": "^1.0.14", "zod": "^3.23.8" }, "devDependencies": { "@eslint/js": "^9.0.0", + "@types/circomlibjs": "^0.1.6", "@types/compression": "^1.7.5", "@types/cors": "^2.8.17", "@types/dompurify": "^3.0.3", @@ -38,14 +55,72 @@ "@types/node": "^22.5.0", "@types/node-cron": "^3.0.11", "@types/sanitize-html": "^2.9.0", + "@types/snarkjs": "^0.7.9", + "@types/speakeasy": "^2.0.8", "@types/validator": "^13.11.6", + "@types/web-push": "^3.6.4", + "@types/ws": "^8.5.12", + "autocannon": "^7.15.0", "eslint": "^9.0.0", + "openapi-fetch": "^0.13.5", + "openapi-typescript": "^7.4.4", + "pino-pretty": "^13.0.0", + "prisma": "^5.22.0", "tsx": "^4.19.0", "typescript": "^5.6.0", "typescript-eslint": "^8.0.0", "vitest": "^4.1.1" } }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz", + "integrity": "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==", + "license": "MIT" + }, + "node_modules/@assemblyscript/loader": { + "version": "0.19.23", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.19.23.tgz", + "integrity": "sha512-ulkCYfFbYj01ie1MDOyxv2F6SpRN1TOj7fQxbP07D6HmeR+gr2JLSmINKjga2emB+b1L2KGrFKBTc+e00p54nw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "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, + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/@emnapi/core": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz", @@ -663,167 +738,1302 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" } }, - "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": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/networks": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/web": "^5.8.0" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", - "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", - "dev": true, - "optional": true, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/rlp": "^5.8.0" } }, - "node_modules/@oxc-project/types": { - "version": "0.122.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.122.0.tgz", - "integrity": "sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/Boshen" + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0" } }, - "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.0-rc.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.11.tgz", - "integrity": "sha512-SJ+/g+xNnOh6NqYxD0V3uVN4W3VfnrGsC9/hoglicgTNfABFG9JjISvkkU0dNY84MNHLWyOgxP9v9Y9pX4S7+A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } ], - "engines": { - "node": "^20.19.0 || >=22.12.0" + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/properties": "^5.8.0" } }, - "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.0-rc.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.11.tgz", - "integrity": "sha512-7WQgR8SfOPwmDZGFkThUvsmd/nwAWv91oCO4I5LS7RKrssPZmOt7jONN0cW17ydGC1n/+puol1IpoieKqQidmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } ], - "engines": { - "node": "^20.19.0 || >=22.12.0" + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "bn.js": "^5.2.1" } }, - "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.0-rc.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.11.tgz", - "integrity": "sha512-39Ks6UvIHq4rEogIfQBoBRusj0Q0nPVWIvqmwBLaT6aqQGIakHdESBVOPRRLacy4WwUPIx4ZKzfZ9PMW+IeyUQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" + "node_modules/@ethersproject/bignumber/node_modules/bn.js": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", + "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", + "license": "MIT" + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } ], - "engines": { - "node": "^20.19.0 || >=22.12.0" + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.8.0" } }, - "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.0-rc.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.11.tgz", - "integrity": "sha512-jfsm0ZHfhiqrvWjJAmzsqiIFPz5e7mAoCOPBNTcNgkiid/LaFKiq92+0ojH+nmJmKYkre4t71BWXUZDNp7vsag==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } ], - "engines": { - "node": "^20.19.0 || >=22.12.0" + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.8.0" } }, - "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0-rc.11", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.11.tgz", - "integrity": "sha512-zjQaUtSyq1nVe3nxmlSCuR96T1LPlpvmJ0SZy0WJFEsV4kFbXcq2u68L4E6O0XeFj4aex9bEauqjW8UQBeAvfQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } ], - "engines": { - "node": "^20.19.0 || >=22.12.0" + "license": "MIT", + "dependencies": { + "@ethersproject/abi": "^5.8.0", + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/transactions": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/base64": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/basex": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/pbkdf2": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/wordlists": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hdnode": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/pbkdf2": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "node_modules/@ethersproject/json-wallets/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/@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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "js-sha3": "0.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT" + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/sha2": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/base64": "^5.8.0", + "@ethersproject/basex": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/networks": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/rlp": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/web": "^5.8.0", + "bech32": "1.1.4", + "ws": "8.18.0" + } + }, + "node_modules/@ethersproject/providers/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" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "hash.js": "1.1.7" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "bn.js": "^5.2.1", + "elliptic": "6.6.1", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/signing-key/node_modules/bn.js": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", + "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", + "license": "MIT" + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/strings": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/rlp": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/hdnode": "^5.8.0", + "@ethersproject/json-wallets": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/wordlists": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/base64": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" + } + }, + "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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "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": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@iden3/bigarray": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@iden3/bigarray/-/bigarray-0.0.2.tgz", + "integrity": "sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g==", + "license": "GPL-3.0" + }, + "node_modules/@iden3/binfileutils": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@iden3/binfileutils/-/binfileutils-0.0.12.tgz", + "integrity": "sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ==", + "license": "GPL-3.0", + "dependencies": { + "fastfile": "0.0.20", + "ffjavascript": "^0.3.0" + } + }, + "node_modules/@iden3/binfileutils/node_modules/ffjavascript": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.3.1.tgz", + "integrity": "sha512-4PbK1WYodQtuF47D4pRI5KUg3Q392vuP5WjE1THSnceHdXwU3ijaoS0OqxTzLknCtz4Z2TtABzkBdBdMn3B/Aw==", + "license": "GPL-3.0", + "dependencies": { + "wasmbuilder": "0.0.16", + "wasmcurves": "0.2.2", + "web-worker": "1.2.0" + } + }, + "node_modules/@ioredis/commands": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.10.0.tgz", + "integrity": "sha512-UmeW7z4LfctwoQ5wkhVzgq8tXkreED2xZGpX+Bg+zA+WJFZCT6c062AfCK/Dfk81xZnnwdhJCUMkitihRaoC2Q==", + "license": "MIT" + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.4.tgz", + "integrity": "sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.4.tgz", + "integrity": "sha512-zExlW9zUJKZH/tOtVMttwjKa4Xm/3KcNjnE3dPN92uCktwavMxpgCA3MoJK/DOnTWsQgo224OaST27/mPNAf+w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.4.tgz", + "integrity": "sha512-Tg3yX65f5GbtXLkrYEHE5oibZG9epyYWas7FogTTEJeDEF9JlXJzKgXaNhT3UXlTOeA+AfZpYZYZ0uPj7Cfquw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.4.tgz", + "integrity": "sha512-dgX0P/9wGPJeHFBG+ZmhgE6bmtMt7NP5CRBGyyktpopdk/mW4POnrpQsSLtKI1dwpc+pPLuXHDh6vvskyQE/sw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.4.tgz", + "integrity": "sha512-8TNXMEjJc3QEy7R/x1INhgiU+XakDAFUzBhaz7+Rbrs8NH5UQeHQxxmzsSBJGyV6I1jW79undiQm8tOI+D+8FQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.4.tgz", + "integrity": "sha512-CmCXPQrkbwExx3j946/PtHWHbYJiCRBRDl4BlkRQcJB/YOwQxJRTpoo7aTsortjgoJ1x7opzTSxn7C+ASSLVjQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", + "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "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.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" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "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/@opentelemetry/api": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.1.tgz", + "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==", + "license": "Apache-2.0", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/api-logs": { + "version": "0.214.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.214.0.tgz", + "integrity": "sha512-40lSJeqYO8Uz2Yj7u94/SJWE/wONa7rmMKjI1ZcIjgf3MHNHv1OZUCrCETGuaRF62d5pQD1wKIW+L4lmSMTzZA==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.3.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/core": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.7.1.tgz", + "integrity": "sha512-QAqIj32AtK6+pEVNG7EOVxHdE06RP+FM5qpiEJ4RtDcFIqKUZHYhl7/7UY5efhwmwNAg7j8QbJVBLxMerc0+gw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/instrumentation": { + "version": "0.214.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.214.0.tgz", + "integrity": "sha512-MHqEX5Dk59cqVah5LiARMACku7jXSVk9iVDWOea4x3cr7VfdByeDCURK6o1lntT1JS/Tsovw01UJrBhN3/uC5w==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.214.0", + "import-in-the-middle": "^3.0.0", + "require-in-the-middle": "^8.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/resources": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.7.1.tgz", + "integrity": "sha512-DeT6KKolmC4e/dRQvMQ/RwlnzhaqeiFOXY5ngoOPJ07GgVVKxZOg9EcrNZb5aTzUn+iCrJldAgOfQm1O/QfPAQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.7.1", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.7.1.tgz", + "integrity": "sha512-NAYIlsF8MPUsKqJMiDQJTMPOmlbawC1Iz/omMLygZ1C9am8fTKYjTaI+OZM+WTY3t3Glo0wnOg/6/pac6RGPPw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.7.1", + "@opentelemetry/resources": "2.7.1", + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.3.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.41.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.41.1.tgz", + "integrity": "sha512-/UhIkaZgPutTFmQ7RnIJGgDXZmtEJ7Dvi86xNTFWcnRxVRNk/aotsqDJYeEvDP+FSMB2SdW+pQzNMcWP0rwuNA==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.122.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.122.0.tgz", + "integrity": "sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@pinojs/redact": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@pinojs/redact/-/redact-0.4.0.tgz", + "integrity": "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==", + "license": "MIT" + }, + "node_modules/@prisma/client": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-5.22.0.tgz", + "integrity": "sha512-M0SVXfyHnQREBKxCgyo7sffrKttwE6R8PMq330MIUF0pTwjUhLbW84pFDlf06B27XyCR++VtjugEnIHdr07SVA==", + "hasInstallScript": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.13" + }, + "peerDependencies": { + "prisma": "*" + }, + "peerDependenciesMeta": { + "prisma": { + "optional": true + } + } + }, + "node_modules/@prisma/debug": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-5.22.0.tgz", + "integrity": "sha512-AUt44v3YJeggO2ZU5BkXI7M4hu9BF2zzH2iF2V5pyXT/lRTyWiElZ7It+bRH1EshoMRxHgpYg4VB6rCM+mG5jQ==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/@prisma/engines": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-5.22.0.tgz", + "integrity": "sha512-UNjfslWhAt06kVL3CjkuYpHAWSO6L4kDCVPegV6itt7nD1kSJavd3vhgAEhjglLJJKEdJ7oIqDJ+yHk6qO8gPA==", + "devOptional": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "5.22.0", + "@prisma/engines-version": "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2", + "@prisma/fetch-engine": "5.22.0", + "@prisma/get-platform": "5.22.0" + } + }, + "node_modules/@prisma/engines-version": { + "version": "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2.tgz", + "integrity": "sha512-2PTmxFR2yHW/eB3uqWtcgRcgAbG1rwG9ZriSvQw+nnb7c4uCr3RAcGMb6/zfE88SKlC1Nj2ziUvc96Z379mHgQ==", + "devOptional": true, + "license": "Apache-2.0" + }, + "node_modules/@prisma/fetch-engine": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-5.22.0.tgz", + "integrity": "sha512-bkrD/Mc2fSvkQBV5EpoFcZ87AvOgDxbG99488a5cexp5Ccny+UM6MAe/UFkUC0wLYD9+9befNOqGiIJhhq+HbA==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "5.22.0", + "@prisma/engines-version": "5.22.0-44.605197351a3c8bdd595af2d2a9bc3025bca48ea2", + "@prisma/get-platform": "5.22.0" + } + }, + "node_modules/@prisma/get-platform": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-5.22.0.tgz", + "integrity": "sha512-pHhpQdr1UPFpt+zFfnPazhulaZYCUqeIcPpJViYoq9R+D/yw4fjE+CtnsnKzPYm0ddUbeXUzjGVGIRVgPDCk4Q==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/debug": "5.22.0" + } + }, + "node_modules/@redocly/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js-replace": "^1.0.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@redocly/ajv/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/@redocly/config": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.0.tgz", + "integrity": "sha512-gAy93Ddo01Z3bHuVdPWfCwzgfaYgMdaZPcfL7JZ7hWJoK9V0lXDbigTWkhiPFAaLWzbOJ+kbUQG1+XwIm0KRGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@redocly/openapi-core": { + "version": "1.34.15", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.15.tgz", + "integrity": "sha512-HAwCnNyKcs5XGQqms+9t7OdAPM/5TDstmhF+0i7tdCFato2QKuYIlyWETwkXd8c5zbltr1oB+6y9NTeQLr2d6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@redocly/ajv": "8.11.2", + "@redocly/config": "0.22.0", + "colorette": "1.4.0", + "https-proxy-agent": "7.0.6", + "js-levenshtein": "1.1.6", + "js-yaml": "4.1.1", + "minimatch": "5.1.9", + "pluralize": "8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=18.17.0", + "npm": ">=9.5.0" + } + }, + "node_modules/@redocly/openapi-core/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@redocly/openapi-core/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.11.tgz", + "integrity": "sha512-SJ+/g+xNnOh6NqYxD0V3uVN4W3VfnrGsC9/hoglicgTNfABFG9JjISvkkU0dNY84MNHLWyOgxP9v9Y9pX4S7+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.11.tgz", + "integrity": "sha512-7WQgR8SfOPwmDZGFkThUvsmd/nwAWv91oCO4I5LS7RKrssPZmOt7jONN0cW17ydGC1n/+puol1IpoieKqQidmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.11.tgz", + "integrity": "sha512-39Ks6UvIHq4rEogIfQBoBRusj0Q0nPVWIvqmwBLaT6aqQGIakHdESBVOPRRLacy4WwUPIx4ZKzfZ9PMW+IeyUQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.11.tgz", + "integrity": "sha512-jfsm0ZHfhiqrvWjJAmzsqiIFPz5e7mAoCOPBNTcNgkiid/LaFKiq92+0ojH+nmJmKYkre4t71BWXUZDNp7vsag==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.11", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.11.tgz", + "integrity": "sha512-zjQaUtSyq1nVe3nxmlSCuR96T1LPlpvmJ0SZy0WJFEsV4kFbXcq2u68L4E6O0XeFj4aex9bEauqjW8UQBeAvfQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { @@ -992,6 +2202,162 @@ "integrity": "sha512-xQO9vbwBecJRv9EUcQ/y0dzSTJgA7Q6UVN7xp6B81+tBGSLVAK03yJ9NkJaUA7JFD91kbjxRSC/mDnmvXzbHoQ==", "dev": true }, + "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/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/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/@sentry-internal/node-cpu-profiler": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/node-cpu-profiler/-/node-cpu-profiler-2.4.1.tgz", + "integrity": "sha512-Wnkik+RLvRUZEB8Zx5ofgPdcC8bCSoiUUiyH6TorrLK6PBPerbjK48c2GsJf6l5Hc5GAhA3fitueVLATB0XhWQ==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.3", + "node-abi": "^3.73.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@sentry/core": { + "version": "10.54.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.54.0.tgz", + "integrity": "sha512-yC/bc8N5ut6vk9X/ugTnIFAbzaSZ2uGoKiHRGzt7VseDIrjXk5ENDJP0m7Rbchuozr41kBv2QB3mPcHUhfB43w==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@sentry/node": { + "version": "10.54.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-10.54.0.tgz", + "integrity": "sha512-Jc31dMBs9aBUv6TXmIPNwv2u18YbfvWQG32IkM3dFWAAoJQhCqLZfN0MEDSf9TeNexIf8qBMZtJRHgHIrWYiGg==", + "license": "MIT", + "dependencies": { + "@opentelemetry/api": "^1.9.1", + "@opentelemetry/core": "^2.6.1", + "@opentelemetry/instrumentation": "^0.214.0", + "@opentelemetry/sdk-trace-base": "^2.6.1", + "@opentelemetry/semantic-conventions": "^1.40.0", + "@sentry/core": "10.54.0", + "@sentry/node-core": "10.54.0", + "@sentry/opentelemetry": "10.54.0", + "import-in-the-middle": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@sentry/node-core": { + "version": "10.54.0", + "resolved": "https://registry.npmjs.org/@sentry/node-core/-/node-core-10.54.0.tgz", + "integrity": "sha512-QR5RnIK78g0Np2+VWMZ3TatM7C+oX9zIQ1W36o3KOjw0nNcXkWjZT1lEu4me8cp2s8s3hA4qT7fwcciQqkj1UQ==", + "license": "MIT", + "dependencies": { + "@sentry/core": "10.54.0", + "@sentry/opentelemetry": "10.54.0", + "import-in-the-middle": "^3.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/core": "^1.30.1 || ^2.1.0", + "@opentelemetry/exporter-trace-otlp-http": ">=0.57.0 <1", + "@opentelemetry/instrumentation": ">=0.57.1 <1", + "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.1.0", + "@opentelemetry/semantic-conventions": "^1.39.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@opentelemetry/core": { + "optional": true + }, + "@opentelemetry/exporter-trace-otlp-http": { + "optional": true + }, + "@opentelemetry/instrumentation": { + "optional": true + }, + "@opentelemetry/sdk-trace-base": { + "optional": true + }, + "@opentelemetry/semantic-conventions": { + "optional": true + } + } + }, + "node_modules/@sentry/opentelemetry": { + "version": "10.54.0", + "resolved": "https://registry.npmjs.org/@sentry/opentelemetry/-/opentelemetry-10.54.0.tgz", + "integrity": "sha512-58Jk9yMos5DwhamDsNmnoQMSNx0yD9E+h1pZwkw34ve2qB9tv+cys3Oz6nfazT9ZdIsXIgpQntN8AfMXAvv4/g==", + "license": "MIT", + "dependencies": { + "@sentry/core": "10.54.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/core": "^1.30.1 || ^2.1.0", + "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.1.0", + "@opentelemetry/semantic-conventions": "^1.39.0" + } + }, + "node_modules/@sentry/profiling-node": { + "version": "10.54.0", + "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-10.54.0.tgz", + "integrity": "sha512-ZyIG+G2fkG43qijOcD5H93F/gnyrAv86jS1wevbOMjIMQxReeQDhZRWPd08rllIAeaYH4v+DjTZrKAX8aR8cyQ==", + "license": "MIT", + "dependencies": { + "@sentry-internal/node-cpu-profiler": "^2.4.0", + "@sentry/core": "10.54.0", + "@sentry/node": "10.54.0" + }, + "bin": { + "sentry-prune-profiler-binaries": "scripts/prune-profiler-binaries.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@standard-schema/spec": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", @@ -1067,6 +2433,13 @@ "assertion-error": "^2.0.1" } }, + "node_modules/@types/circomlibjs": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@types/circomlibjs/-/circomlibjs-0.1.6.tgz", + "integrity": "sha512-yF174bPDaiKgejlZzCSqKwZaqXhlxMcVEHrAtstFohwP05OjtvHXOdxO6HQeTg8WwIdgMg7MJb1WyWZdUCGlPQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/compression": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.8.1.tgz", @@ -1247,6 +2620,23 @@ "@types/node": "*" } }, + "node_modules/@types/snarkjs": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/@types/snarkjs/-/snarkjs-0.7.9.tgz", + "integrity": "sha512-pb4Bq3GI2YQOQOG0dR/YuQs/mqcuL6k/vnz68LIPtpA2frrUL3twf69a3AUK9eUmNNeW0RIKkq6scDlC75Is+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/speakeasy": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/speakeasy/-/speakeasy-2.0.10.tgz", + "integrity": "sha512-QVRlDW5r4yl7p7xkNIbAIC/JtyOcClDIIdKfuG7PWdDT1MmyhtXSANsildohy0K+Lmvf/9RUtLbNLMacvrVwxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", @@ -1261,6 +2651,26 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/web-push": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/@types/web-push/-/web-push-3.6.4.tgz", + "integrity": "sha512-GnJmSr40H3RAnj0s34FNTcJi1hmWFV5KXugE0mYWnYhgTAHLJ/dJKAwDmvPJYMke0RplY2XE9LnM4hqSqKIjhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.57.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.57.1.tgz", @@ -1649,6 +3059,27 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/abitype": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.2.3.tgz", + "integrity": "sha512-Ofer5QUnuUdTFsBRwARMoWKOH1ND5ehwYhJ3OJ/BQO+StkwQjHw0XyVh4vDttzHB7QOFhPHa/o413PJ82gU/Tg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/wevm" + }, + "peerDependencies": { + "typescript": ">=5.0.4", + "zod": "^3.22.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -1678,7 +3109,6 @@ "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -1687,6 +3117,15 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^8" + } + }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -1697,6 +3136,12 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "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/agent-base": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", @@ -1735,11 +3180,29 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "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": { + "node": ">=6" + } + }, + "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" + } + }, "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" @@ -1785,12 +3248,62 @@ "node": ">=12" } }, + "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/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/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" + } + }, + "node_modules/autocannon": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/autocannon/-/autocannon-7.15.0.tgz", + "integrity": "sha512-NaP2rQyA+tcubOJMFv2+oeW9jv2pq/t+LM6BL3cfJic0HEfscEcnWgAyU5YovE/oTHUzAgTliGdLPR+RQAWUbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "char-spinner": "^1.0.1", + "cli-table3": "^0.6.0", + "color-support": "^1.1.1", + "cross-argv": "^2.0.0", + "form-data": "^4.0.0", + "has-async-hooks": "^1.0.0", + "hdr-histogram-js": "^3.0.0", + "hdr-histogram-percentiles-obj": "^3.0.0", + "http-parser-js": "^0.5.2", + "hyperid": "^3.0.0", + "lodash.chunk": "^4.2.0", + "lodash.clonedeep": "^4.5.0", + "lodash.flatten": "^4.4.0", + "manage-path": "^2.0.0", + "on-net-listen": "^1.1.1", + "pretty-bytes": "^5.4.1", + "progress": "^2.0.3", + "reinterval": "^1.1.0", + "retimer": "^3.0.0", + "semver": "^7.3.2", + "subarg": "^1.0.0", + "timestring": "^6.0.0" + }, + "bin": { + "autocannon": "autocannon.js" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1817,11 +3330,24 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/b4a": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz", + "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, "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==", - "dev": true, "license": "MIT" }, "node_modules/bare-addon-resolve": { @@ -1897,6 +3423,28 @@ ], "license": "MIT" }, + "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/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "license": "MIT", + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, "node_modules/bignumber.js": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", @@ -1906,6 +3454,47 @@ "node": "*" } }, + "node_modules/blake-hash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/blake-hash/-/blake-hash-2.0.0.tgz", + "integrity": "sha512-Igj8YowDu1PRkRsxZA7NVkdFNxH5rKv5cpLxQ0CVXSIA77pVYwCPRQJ2sMew/oneUpfuYRyjG6r8SmmmnbZb1w==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/blake2b": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.4.tgz", + "integrity": "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A==", + "license": "ISC", + "dependencies": { + "blake2b-wasm": "^2.4.0", + "nanoassert": "^2.0.0" + } + }, + "node_modules/blake2b-wasm": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz", + "integrity": "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==", + "license": "MIT", + "dependencies": { + "b4a": "^1.0.1", + "nanoassert": "^2.0.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, "node_modules/bn.js": { "version": "4.12.3", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", @@ -1962,6 +3551,12 @@ "concat-map": "0.0.1" } }, + "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/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -1992,6 +3587,61 @@ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", "license": "BSD-3-Clause" }, + "node_modules/bullmq": { + "version": "5.77.6", + "resolved": "https://registry.npmjs.org/bullmq/-/bullmq-5.77.6.tgz", + "integrity": "sha512-WCpSoCD4vWyRD+btOsFrO7iBGInrTgG155gTZCV8qY0Yex2KtsbVtFERx6V1WZ2xWl/5ZxnLar8Z8ufnS4f5jg==", + "license": "MIT", + "dependencies": { + "cron-parser": "4.9.0", + "ioredis": "5.10.1", + "msgpackr": "2.0.1", + "node-abort-controller": "3.1.1", + "semver": "7.8.0", + "tslib": "2.8.1" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "redis": ">=5.0.0" + }, + "peerDependenciesMeta": { + "redis": { + "optional": true + } + } + }, + "node_modules/bullmq/node_modules/@ioredis/commands": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.5.1.tgz", + "integrity": "sha512-JH8ZL/ywcJyR9MmJ5BNqZllXNZQqQbnVZOqpPQqE1vHiFgAw4NHbvE0FOduNU8IX9babitBT46571OnPTT0Zcw==", + "license": "MIT" + }, + "node_modules/bullmq/node_modules/ioredis": { + "version": "5.10.1", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.10.1.tgz", + "integrity": "sha512-HuEDBTI70aYdx1v6U97SbNx9F1+svQKBDo30o0b9fw055LMepzpOOd0Ccg9Q6tbqmBSJaMuY0fB7yw9/vjBYCA==", + "license": "MIT", + "dependencies": { + "@ioredis/commands": "1.5.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -2058,6 +3708,15 @@ "node": ">=6" } }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/chai": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", @@ -2084,11 +3743,161 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/change-case": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz", + "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/char-spinner": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz", + "integrity": "sha512-acv43vqJ0+N0rD+Uw3pDHSxP30FHrywu2NO6/wBaHChJIizpDeBUd6NjqhNhy9LGaEAhZAXn46QzmlAvIWd16g==", + "dev": true, + "license": "ISC" + }, + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", + "license": "MIT" + }, + "node_modules/circom_runtime": { + "version": "0.1.28", + "resolved": "https://registry.npmjs.org/circom_runtime/-/circom_runtime-0.1.28.tgz", + "integrity": "sha512-ACagpQ7zBRLKDl5xRZ4KpmYIcZDUjOiNRuxvXLqhnnlLSVY1Dbvh73TI853nqoR0oEbihtWmMSjgc5f+pXf/jQ==", + "license": "Apache-2.0", + "dependencies": { + "ffjavascript": "0.3.1" + }, + "bin": { + "calcwit": "calcwit.js" + } + }, + "node_modules/circom_runtime/node_modules/ffjavascript": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.3.1.tgz", + "integrity": "sha512-4PbK1WYodQtuF47D4pRI5KUg3Q392vuP5WjE1THSnceHdXwU3ijaoS0OqxTzLknCtz4Z2TtABzkBdBdMn3B/Aw==", + "license": "GPL-3.0", + "dependencies": { + "wasmbuilder": "0.0.16", + "wasmcurves": "0.2.2", + "web-worker": "1.2.0" + } + }, + "node_modules/circomlib": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/circomlib/-/circomlib-2.0.5.tgz", + "integrity": "sha512-O7NQ8OS+J4eshBuoy36z/TwQU0YHw8W3zxZcs4hVwpEll3e4hDm3mgkIPqItN8FDeLEKZFK3YeT/+k8TiLF3/A==", + "license": "GPL-3.0" + }, + "node_modules/circomlibjs": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/circomlibjs/-/circomlibjs-0.1.7.tgz", + "integrity": "sha512-GRAUoAlKAsiiTa+PA725G9RmEmJJRc8tRFxw/zKktUxlQISGznT4hH4ESvW8FNTsrGg/nNd06sGP/Wlx0LUHVg==", + "license": "GPL-3.0", + "dependencies": { + "blake-hash": "^2.0.0", + "blake2b": "^2.1.3", + "ethers": "^5.5.1", + "ffjavascript": "^0.2.45" + } + }, + "node_modules/circomlibjs/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", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abi": "5.8.0", + "@ethersproject/abstract-provider": "5.8.0", + "@ethersproject/abstract-signer": "5.8.0", + "@ethersproject/address": "5.8.0", + "@ethersproject/base64": "5.8.0", + "@ethersproject/basex": "5.8.0", + "@ethersproject/bignumber": "5.8.0", + "@ethersproject/bytes": "5.8.0", + "@ethersproject/constants": "5.8.0", + "@ethersproject/contracts": "5.8.0", + "@ethersproject/hash": "5.8.0", + "@ethersproject/hdnode": "5.8.0", + "@ethersproject/json-wallets": "5.8.0", + "@ethersproject/keccak256": "5.8.0", + "@ethersproject/logger": "5.8.0", + "@ethersproject/networks": "5.8.0", + "@ethersproject/pbkdf2": "5.8.0", + "@ethersproject/properties": "5.8.0", + "@ethersproject/providers": "5.8.0", + "@ethersproject/random": "5.8.0", + "@ethersproject/rlp": "5.8.0", + "@ethersproject/sha2": "5.8.0", + "@ethersproject/signing-key": "5.8.0", + "@ethersproject/solidity": "5.8.0", + "@ethersproject/strings": "5.8.0", + "@ethersproject/transactions": "5.8.0", + "@ethersproject/units": "5.8.0", + "@ethersproject/wallet": "5.8.0", + "@ethersproject/web": "5.8.0", + "@ethersproject/wordlists": "5.8.0" + } + }, + "node_modules/cjs-module-lexer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", + "integrity": "sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==", + "license": "MIT" + }, + "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": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "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", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/cluster-key-slot": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.1.tgz", + "integrity": "sha512-rwHwUfXL40Chm1r08yrhU3qpUvdVlgkKNeyeGPOxnW8/SyVDvgRaed/Uz54AqWNaTCAThlj6QAs3TZcKI0xDEw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10.0" + } + }, "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": { "color-name": "~1.1.4" @@ -2101,6 +3910,22 @@ "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/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==", + "dev": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", "dev": true, "license": "MIT" }, @@ -2253,6 +4078,13 @@ "node": ">=12.0.0" } }, + "node_modules/cross-argv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cross-argv/-/cross-argv-2.0.0.tgz", + "integrity": "sha512-YIaY9TR5Nxeb8SMdtrU8asWVM4jqJDNDYlKV21LxtYcfNJhp1kEsgSa6qXwXgzN0WQWGODps0+TlGp2xQSHwOg==", + "dev": true, + "license": "MIT" + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2274,6 +4106,16 @@ "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==", "license": "MIT" }, + "node_modules/dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/debug": { "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", @@ -2291,6 +4133,15 @@ } } }, + "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" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -2333,6 +4184,15 @@ "node": ">=0.4.0" } }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -2356,11 +4216,16 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, "engines": { "node": ">=8" } }, + "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/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -2478,6 +4343,42 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "license": "MIT" }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "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/encodeurl": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", @@ -2487,6 +4388,16 @@ "node": ">= 0.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==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/entities": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", @@ -2610,6 +4521,40 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "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/escodegen/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/eslint": { "version": "9.39.4", "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", @@ -2718,6 +4663,18 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/esprima": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.5.tgz", + "integrity": "sha512-S9VbPDU0adFErpDai3qDkjq8+G05ONtKzcyNrPKg/ZKa+tf879nX2KexNU95b31UoTJjRLInNBHHHjFPoCd7lQ==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/esquery": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", @@ -2748,7 +4705,6 @@ "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": { "node": ">=4.0" @@ -2767,7 +4723,6 @@ "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": { "node": ">=0.10.0" @@ -2779,7 +4734,107 @@ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.6" + } + }, + "node_modules/ethers": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.16.0.tgz", + "integrity": "sha512-U1wulmetNymijEhpSEQ7Ct/P/Jw9/e7R1j5XIbPRydgV2DjLVMsULDlNksq3RQnFgKoLlZf88ijYtWEXcPa07A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/ethers-io/" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "1.10.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "22.7.5", + "aes-js": "4.0.0-beta.5", + "tslib": "2.7.0", + "ws": "8.17.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/ethers/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/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" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "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" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ethers/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" + } + }, + "node_modules/ethers/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/ethers/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/ethers/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" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, "node_modules/event-target-shim": { @@ -2791,6 +4846,12 @@ "node": ">=6" } }, + "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/eventsource": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", @@ -2886,6 +4947,13 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/fast-copy": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-4.0.3.tgz", + "integrity": "sha512-58apWr0GUiDFM8+3afrO6eYwJBn9ZAhDOzG3L+/9llab/haCARS2UIfffmOurYLwbgDRs8n0rfr6qAAPEAuAQw==", + "dev": true, + "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", @@ -2907,6 +4975,19 @@ "dev": true, "license": "MIT" }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastfile": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/fastfile/-/fastfile-0.0.20.tgz", + "integrity": "sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA==", + "license": "GPL-3.0" + }, "node_modules/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", @@ -2925,6 +5006,17 @@ } } }, + "node_modules/ffjavascript": { + "version": "0.2.63", + "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.2.63.tgz", + "integrity": "sha512-dBgdsfGks58b66JnUZeZpGxdMIDQ4QsD3VYlRJyFVrKQHb2kJy4R2gufx5oetrTxXPT+aEjg0dOvOLg1N0on4A==", + "license": "GPL-3.0", + "dependencies": { + "wasmbuilder": "0.0.16", + "wasmcurves": "0.2.2", + "web-worker": "1.2.0" + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -2938,6 +5030,36 @@ "node": ">=16.0.0" } }, + "node_modules/filelist": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.6.tgz", + "integrity": "sha512-5giy2PkLYY1cP39p17Ech+2xlpTRL9HLspOfEgm0L6CwBXBTgsK5ou0JtzYuepxkaQ/tvhCFIJ5uXo0OrM2DxA==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/finalhandler": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", @@ -3121,6 +5243,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -3209,6 +5340,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-async-hooks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-async-hooks/-/has-async-hooks-1.0.0.tgz", + "integrity": "sha512-YF0VPGjkxr7AyyQQNykX8zK4PvtEDsUJAPqwu06UFz1lb6EvI53sPh5H1kWxg8NXI5LsfRCZ8uX9NkYDZBb/mw==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3258,6 +5396,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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", + "minimalistic-assert": "^1.0.1" + } + }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -3270,6 +5418,28 @@ "node": ">= 0.4" } }, + "node_modules/hdr-histogram-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-3.0.1.tgz", + "integrity": "sha512-l3GSdZL1Jr1C0kyb461tUjEdrRPZr8Qry7jByltf5JGrA0xvqOSrxRBfcrJqqV/AMEtqqhHhC6w8HW0gn76tRQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@assemblyscript/loader": "^0.19.21", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true, + "license": "MIT" + }, "node_modules/helmet": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/helmet/-/helmet-7.2.0.tgz", @@ -3279,6 +5449,33 @@ "node": ">=16.0.0" } }, + "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==", + "dev": true, + "license": "MIT" + }, + "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", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/htmlparser2": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", @@ -3327,6 +5524,13 @@ "url": "https://opencollective.com/express" } }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "dev": true, + "license": "MIT" + }, "node_modules/https-proxy-agent": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", @@ -3349,6 +5553,43 @@ "ms": "^2.0.0" } }, + "node_modules/hyperid": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.3.0.tgz", + "integrity": "sha512-7qhCVT4MJIoEsNcbhglhdmBKb09QtcmJNiIQGq7js/Khf5FtQQ9bzcAuloeqBeee7XD7JqDeve9KNlQya5tSGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.2.1", + "uuid": "^8.3.2", + "uuid-parse": "^1.1.0" + } + }, + "node_modules/hyperid/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "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/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -3408,6 +5649,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-in-the-middle": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-3.0.1.tgz", + "integrity": "sha512-pYkiyXVL2Mf3pozdlDGV6NAObxQx13Ae8knZk1UJRJ6uRW/ZRmTGHlQYtrsSl7ubuE5F8CD1z+s1n4RHNuTtuA==", + "license": "Apache-2.0", + "dependencies": { + "acorn": "^8.15.0", + "acorn-import-attributes": "^1.9.5", + "cjs-module-lexer": "^2.2.0", + "module-details-from-path": "^1.0.4" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -3418,12 +5674,47 @@ "node": ">=0.8.19" } }, + "node_modules/index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "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/ioredis": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.11.0.tgz", + "integrity": "sha512-EZBErytyVovD8f6pDfG3Kb37N6Y3lmDA9NNj+4+IP13CzzHGeX+OyeRM2Um13khRzoBSzzL+5lVnCX8V2RLeMg==", + "license": "MIT", + "dependencies": { + "@ioredis/commands": "1.10.0", + "cluster-key-slot": "1.1.1", + "debug": "4.4.3", + "denque": "2.1.0", + "redis-errors": "1.2.0", + "redis-parser": "3.0.0", + "standard-as-callback": "2.1.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -3455,6 +5746,15 @@ "node": ">=0.10.0" } }, + "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" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -3505,6 +5805,71 @@ "dev": true, "license": "ISC" }, + "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/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, "node_modules/js-yaml": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", @@ -3539,6 +5904,17 @@ "dev": true, "license": "MIT" }, + "node_modules/jsonpath": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.3.0.tgz", + "integrity": "sha512-0kjkYHJBkAy50Z5QzArZ7udmvxrJzkpKYW27fiF//BrMY7TQibYLl+FYIXN2BiYmwMIVzSfD8aDRj6IzgBX2/w==", + "license": "MIT", + "dependencies": { + "esprima": "1.2.5", + "static-eval": "2.1.1", + "underscore": "1.13.6" + } + }, "node_modules/jwa": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", @@ -3849,6 +6225,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash.chunk": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", + "integrity": "sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "license": "MIT" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", + "license": "MIT" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -3856,6 +6265,12 @@ "dev": true, "license": "MIT" }, + "node_modules/logplease": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/logplease/-/logplease-1.2.15.tgz", + "integrity": "sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA==", + "license": "MIT" + }, "node_modules/luxon": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz", @@ -3873,6 +6288,13 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, + "node_modules/manage-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/manage-path/-/manage-path-2.0.0.tgz", + "integrity": "sha512-NJhyB+PJYTpxhxZJ3lecIGgh4kwIY2RAh44XvAz9UlqthlQwtPBf62uBVR8XaD8CRuSjQ6TnZH2lNJkbLPZM2A==", + "dev": true, + "license": "MIT" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -3948,6 +6370,12 @@ "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": "3.1.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", @@ -3970,12 +6398,55 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/module-details-from-path": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.4.tgz", + "integrity": "sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==", + "license": "MIT" + }, "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/msgpackr": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-2.0.1.tgz", + "integrity": "sha512-9J+tqTEsbHqY8YohazYgty7LgerFIWxvMLpUjqETSmjHojtJm2WnX2kK/2a1fLI7CO7ERP1YSEUXMucz4j+yBA==", + "license": "MIT", + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.4.tgz", + "integrity": "sha512-4kmO/MdyUIkLIvTPr8VHLil4AtoKIoniWPIEk5+CDy0xnWC84azhSFmuJ7PxZdsYtiP5kEeQsORAVIeMgxT+Hw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.4" + } + }, + "node_modules/nanoassert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", + "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==", + "license": "ISC" + }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -4009,6 +6480,30 @@ "node": ">= 0.6" } }, + "node_modules/node-abi": { + "version": "3.92.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.92.0.tgz", + "integrity": "sha512-KdHvFWZjEKDf0cakgFjebl371GPsISX2oZHcuyKqM7DtogIsHrqKeLTo8wBHxaXRAQlY2PsPlZmfo+9ZCxEREQ==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "license": "MIT" + }, "node_modules/node-cron": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.3.tgz", @@ -4060,6 +6555,32 @@ } } }, + "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", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -4091,6 +6612,15 @@ "https://opencollective.com/debug" ] }, + "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" + } + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -4112,6 +6642,26 @@ "node": ">= 0.8" } }, + "node_modules/on-net-listen": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/on-net-listen/-/on-net-listen-1.1.2.tgz", + "integrity": "sha512-y1HRYy8s/RlcBvDUwKXSmkODMdx4KSuIvloCnQYJ2LdBBC1asY4HtfhXwe3UWknLakATZDnbzht2Ijw3M1EqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=9.4.0 || ^8.9.4" + } + }, + "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==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, "node_modules/openai": { "version": "4.104.0", "resolved": "https://registry.npmjs.org/openai/-/openai-4.104.0.tgz", @@ -4157,6 +6707,67 @@ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "license": "MIT" }, + "node_modules/openapi-fetch": { + "version": "0.13.8", + "resolved": "https://registry.npmjs.org/openapi-fetch/-/openapi-fetch-0.13.8.tgz", + "integrity": "sha512-yJ4QKRyNxE44baQ9mY5+r/kAzZ8yXMemtNAOFwOzRXJscdjSxxzWSNlyBAr+o5JjkUw9Lc3W7OIoca0cY3PYnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "openapi-typescript-helpers": "^0.0.15" + } + }, + "node_modules/openapi-typescript": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.13.0.tgz", + "integrity": "sha512-EFP392gcqXS7ntPvbhBzbF8TyBA+baIYEm791Hy5YkjDYKTnk/Tn5OQeKm5BIZvJihpp8Zzr4hzx0Irde1LNGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@redocly/openapi-core": "^1.34.6", + "ansi-colors": "^4.1.3", + "change-case": "^5.4.4", + "parse-json": "^8.3.0", + "supports-color": "^10.2.2", + "yargs-parser": "^21.1.1" + }, + "bin": { + "openapi-typescript": "bin/cli.js" + }, + "peerDependencies": { + "typescript": "^5.x" + } + }, + "node_modules/openapi-typescript-helpers": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/openapi-typescript-helpers/-/openapi-typescript-helpers-0.0.15.tgz", + "integrity": "sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw==", + "dev": true, + "license": "MIT" + }, + "node_modules/openapi-typescript/node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/openapi-typescript/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": { + "node": ">=12" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -4175,6 +6786,36 @@ "node": ">= 0.8.0" } }, + "node_modules/ox": { + "version": "0.14.25", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.14.25.tgz", + "integrity": "sha512-8DoibKtxE8yw63Y2jjMhlbjaURev6WCx4QR4MWLusl2/qIaeTzMJMBIYIDl1KOF45+8H1Ur6eLTdPlUoO8PlRw==", + "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.2.3", + "eventemitter3": "5.0.1" + }, + "peerDependencies": { + "typescript": ">=5.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -4207,6 +6848,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true, + "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", @@ -4220,6 +6877,24 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse-srcset": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", @@ -4239,7 +6914,6 @@ "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" @@ -4285,6 +6959,129 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pino": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.14.0.tgz", + "integrity": "sha512-8OEwKp5juEvb/MjpIc4hjqfgCNysrS94RIOMXYvpYCdm/jglrKEiAYmiumbmGhCvs+IcInsphYDFwqrjr7398w==", + "license": "MIT", + "dependencies": { + "@pinojs/redact": "^0.4.0", + "atomic-sleep": "^1.0.0", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^2.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^5.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "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-http": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/pino-http/-/pino-http-10.5.0.tgz", + "integrity": "sha512-hD91XjgaKkSsdn8P7LaebrNzhGTdB086W3pyPihX0EzGPjq5uBJBXo4N5guqNaK6mUjg9aubMF7wDViYek9dRA==", + "license": "MIT", + "dependencies": { + "get-caller-file": "^2.0.5", + "pino": "^9.0.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^5.0.0" + } + }, + "node_modules/pino-pretty": { + "version": "13.1.3", + "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-13.1.3.tgz", + "integrity": "sha512-ttXRkkOz6WWC95KeY9+xxWL6AtImwbyMHrL1mSwqwW9u+vLp/WIElvHvCSDg0xO/Dzrggz1zv3rN5ovTRVowKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^2.0.7", + "dateformat": "^4.6.3", + "fast-copy": "^4.0.0", + "fast-safe-stringify": "^2.1.1", + "help-me": "^5.0.0", + "joycon": "^3.1.1", + "minimist": "^1.2.6", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^3.0.0", + "pump": "^3.0.0", + "secure-json-parse": "^4.0.0", + "sonic-boom": "^4.0.1", + "strip-json-comments": "^5.0.2" + }, + "bin": { + "pino-pretty": "bin.js" + } + }, + "node_modules/pino-pretty/node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pino-pretty/node_modules/pino-abstract-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-3.0.0.tgz", + "integrity": "sha512-wlfUczU+n7Hy/Ha5j9a/gZNy7We5+cXp8YL+X+PG8S0KXxw7n/JXA3c46Y0zQznIJ83URJiwy7Lh56WLokNuxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "split2": "^4.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pino-std-serializers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.1.0.tgz", + "integrity": "sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==", + "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": { + "node": ">=4" + } + }, + "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" + } + }, "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", @@ -4331,6 +7128,65 @@ "node": ">= 0.8.0" } }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prisma": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.22.0.tgz", + "integrity": "sha512-vtpjW3XuYCSnMsNVBjLMNkTj6OZbudcPPTPYHqX0CJfpcdWciI1dM8uHETwmDxxiqEwCIE6WvXucWUetJgfu/A==", + "devOptional": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@prisma/engines": "5.22.0" + }, + "bin": { + "prisma": "build/index.js" + }, + "engines": { + "node": ">=16.13" + }, + "optionalDependencies": { + "fsevents": "2.3.3" + } + }, + "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", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -4350,6 +7206,17 @@ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "license": "MIT" }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -4360,6 +7227,23 @@ "node": ">=6" } }, + "node_modules/qrcode": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", + "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", + "license": "MIT", + "dependencies": { + "dijkstrajs": "^1.0.1", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/qs": { "version": "6.14.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", @@ -4375,6 +7259,35 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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/r1csfile": { + "version": "0.0.48", + "resolved": "https://registry.npmjs.org/r1csfile/-/r1csfile-0.0.48.tgz", + "integrity": "sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw==", + "license": "GPL-3.0", + "dependencies": { + "@iden3/bigarray": "0.0.2", + "@iden3/binfileutils": "0.0.12", + "fastfile": "0.0.20", + "ffjavascript": "0.3.0" + } + }, + "node_modules/r1csfile/node_modules/ffjavascript": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.3.0.tgz", + "integrity": "sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ==", + "license": "GPL-3.0", + "dependencies": { + "wasmbuilder": "0.0.16", + "wasmcurves": "0.2.2", + "web-worker": "1.2.0" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4408,19 +7321,108 @@ "node": ">= 0.8" } }, - "node_modules/require-addon": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/require-addon/-/require-addon-1.2.0.tgz", - "integrity": "sha512-VNPDZlYgIYQwWp9jMTzljx+k0ZtatKlcvOhktZ/anNPI3dQ9NXk7cq2U4iJ1wd9IrytRnYhyEocFWbkdPb+MYA==", - "license": "Apache-2.0", - "optional": true, + "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", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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" + } + }, + "node_modules/redis-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", + "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", + "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", + "license": "MIT", + "dependencies": { + "redis-errors": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/reinterval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", + "integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/require-addon": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/require-addon/-/require-addon-1.2.0.tgz", + "integrity": "sha512-VNPDZlYgIYQwWp9jMTzljx+k0ZtatKlcvOhktZ/anNPI3dQ9NXk7cq2U4iJ1wd9IrytRnYhyEocFWbkdPb+MYA==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-addon-resolve": "^1.3.0" + }, + "engines": { + "bare": ">=1.10.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", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-in-the-middle": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz", + "integrity": "sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==", + "license": "MIT", "dependencies": { - "bare-addon-resolve": "^1.3.0" + "debug": "^4.3.5", + "module-details-from-path": "^1.0.3" }, "engines": { - "bare": ">=1.10.0" + "node": ">=9.3.0 || >=8.10.0 <9.0.0" } }, + "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/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -4441,6 +7443,13 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, + "node_modules/retimer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", + "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==", + "dev": true, + "license": "MIT" + }, "node_modules/rolldown": { "version": "1.0.0-rc.11", "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.11.tgz", @@ -4494,6 +7503,15 @@ ], "license": "MIT" }, + "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" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -4514,11 +7532,33 @@ "postcss": "^8.3.11" } }, - "node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "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/secure-json-parse": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-4.1.0.tgz", + "integrity": "sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA==", "dev": true, + "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.8.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", + "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -4581,6 +7621,12 @@ "node": ">= 0.8.0" } }, + "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", @@ -4726,6 +7772,37 @@ "dev": true, "license": "ISC" }, + "node_modules/snarkjs": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/snarkjs/-/snarkjs-0.7.6.tgz", + "integrity": "sha512-4uH1xA5JzVU5jaaWS2fXej3+RC6L5Erhr6INTJtUA27du4Elbh4VXCeeRjB4QiwL6N6y7SNKePw5prTxyEf4Zg==", + "license": "GPL-3.0", + "dependencies": { + "@iden3/binfileutils": "0.0.12", + "@noble/hashes": "^1.7.1", + "bfj": "^7.0.2", + "circom_runtime": "0.1.28", + "ejs": "^3.1.6", + "fastfile": "0.0.20", + "ffjavascript": "0.3.1", + "logplease": "^1.2.15", + "r1csfile": "0.0.48" + }, + "bin": { + "snarkjs": "build/cli.cjs" + } + }, + "node_modules/snarkjs/node_modules/ffjavascript": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.3.1.tgz", + "integrity": "sha512-4PbK1WYodQtuF47D4pRI5KUg3Q392vuP5WjE1THSnceHdXwU3ijaoS0OqxTzLknCtz4Z2TtABzkBdBdMn3B/Aw==", + "license": "GPL-3.0", + "dependencies": { + "wasmbuilder": "0.0.16", + "wasmcurves": "0.2.2", + "web-worker": "1.2.0" + } + }, "node_modules/sodium-native": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-4.3.3.tgz", @@ -4736,6 +7813,25 @@ "require-addon": "^1.1.0" } }, + "node_modules/sonic-boom": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.2.1.tgz", + "integrity": "sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "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", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -4744,6 +7840,33 @@ "node": ">=0.10.0" } }, + "node_modules/speakeasy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/speakeasy/-/speakeasy-2.0.0.tgz", + "integrity": "sha512-lW2A2s5LKi8rwu77ewisuUOtlCydF/hmQSOJjpTqTj1gZLkNgTaYnyvfxy2WBr4T/h+9c4g8HIITfj83OkFQFw==", + "license": "MIT", + "dependencies": { + "base32.js": "0.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/speakeasy/node_modules/base32.js": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/base32.js/-/base32.js-0.0.1.tgz", + "integrity": "sha512-EGHIRiegFa62/SsA1J+Xs2tIzludPdzM064N9wjbiEgHnGnJ1V0WEpA4pEwCYT5nDvZk3ubf0shqaCS7k6xeUQ==", + "license": "MIT" + }, + "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" + } + }, "node_modules/sqlstring": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", @@ -4760,6 +7883,21 @@ "dev": true, "license": "MIT" }, + "node_modules/standard-as-callback": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", + "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", + "license": "MIT" + }, + "node_modules/static-eval": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.1.tgz", + "integrity": "sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA==", + "license": "MIT", + "dependencies": { + "escodegen": "^2.1.0" + } + }, "node_modules/statuses": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", @@ -4775,6 +7913,41 @@ "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==", "dev": true }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "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", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=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" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -4788,6 +7961,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/stripe": { + "version": "17.7.0", + "resolved": "https://registry.npmjs.org/stripe/-/stripe-17.7.0.tgz", + "integrity": "sha512-aT2BU9KkizY9SATf14WhhYVv2uOapBWX0OFWF4xvcj1mPaNotlSc2CsxpS4DS46ZueSppmCF5BX1sNYBtwBvfw==", + "license": "MIT", + "dependencies": { + "@types/node": ">=8.1.0", + "qs": "^6.11.0" + }, + "engines": { + "node": ">=12.*" + } + }, + "node_modules/subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.1.0" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -4801,6 +7997,25 @@ "node": ">=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" + } + }, + "node_modules/timestring": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/timestring/-/timestring-6.0.0.tgz", + "integrity": "sha512-wMctrWD2HZZLuIlchlkE2dfXJh7J2KDI9Dwl+2abPYg0mswQHfOAyQW3jJg1pY5VfttSINZuKcXoB3FGypVklA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/tinybench": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", @@ -4878,6 +8093,12 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "license": "MIT" }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "license": "MIT" + }, "node_modules/ts-api-utils": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", @@ -4894,9 +8115,7 @@ "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==", - "dev": true, - "optional": true + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "node_modules/tsx": { "version": "4.21.0", @@ -4937,6 +8156,19 @@ "node": ">= 0.8.0" } }, + "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": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -4968,7 +8200,7 @@ "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -5002,6 +8234,12 @@ "typescript": ">=4.8.4 <6.0.0" } }, + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "license": "MIT" + }, "node_modules/undici-types": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", @@ -5027,12 +8265,25 @@ "punycode": "^2.1.0" } }, + "node_modules/uri-js-replace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz", + "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==", + "dev": true, + "license": "MIT" + }, "node_modules/urijs": { "version": "1.19.11", "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==", "license": "MIT" }, + "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", @@ -5050,6 +8301,13 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/uuid-parse": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/uuid-parse/-/uuid-parse-1.1.0.tgz", + "integrity": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==", + "dev": true, + "license": "MIT" + }, "node_modules/validator": { "version": "13.15.35", "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.35.tgz", @@ -5068,6 +8326,36 @@ "node": ">= 0.8" } }, + "node_modules/viem": { + "version": "2.51.2", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.51.2.tgz", + "integrity": "sha512-2x4YAtr3PUPIW++Ov96clnWtRsyqMfpFfooQRIxCpAMsTgxioJTdIQ0ywbjhlHDCUJEGM6M8q8ILOeaPRViH9w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/wevm" + } + ], + "license": "MIT", + "dependencies": { + "@noble/curves": "1.9.1", + "@noble/hashes": "1.8.0", + "@scure/bip32": "1.7.0", + "@scure/bip39": "1.6.0", + "abitype": "1.2.3", + "isows": "1.0.7", + "ox": "0.14.25", + "ws": "8.20.1" + }, + "peerDependencies": { + "typescript": ">=5.0.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/vite": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.2.tgz", @@ -5226,6 +8514,21 @@ } } }, + "node_modules/wasmbuilder": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/wasmbuilder/-/wasmbuilder-0.0.16.tgz", + "integrity": "sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA==", + "license": "GPL-3.0" + }, + "node_modules/wasmcurves": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/wasmcurves/-/wasmcurves-0.2.2.tgz", + "integrity": "sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ==", + "license": "GPL-3.0", + "dependencies": { + "wasmbuilder": "0.0.16" + } + }, "node_modules/web-push": { "version": "3.6.7", "resolved": "https://registry.npmjs.org/web-push/-/web-push-3.6.7.tgz", @@ -5254,6 +8557,12 @@ "node": ">= 14" } }, + "node_modules/web-worker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", + "license": "Apache-2.0" + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -5286,6 +8595,12 @@ "node": ">= 8" } }, + "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.20", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", @@ -5334,6 +8649,48 @@ "node": ">=0.10.0" } }, + "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", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz", + "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==", + "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/xss": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz", @@ -5350,6 +8707,106 @@ "node": ">= 0.10.0" } }, + "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/yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", + "dev": true, + "license": "Apache-2.0" + }, + "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", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "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", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/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", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/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" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/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" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/backend/package.json b/backend/package.json index 8954c68f..a8db14e4 100644 --- a/backend/package.json +++ b/backend/package.json @@ -9,13 +9,7 @@ "start": "node dist/index.js", "lint": "eslint src/", "test": "vitest run --passWithNoTests", - "test:integration": "vitest run src/tests/integration --passWithNoTests", - "test:contract": "vitest run src/tests/contract --passWithNoTests", - "load:critical": "tsx src/tests/load/critical-paths.ts", - "test:mutation": "stryker run", "test:watch": "vitest --passWithNoTests", - "tenant-isolation:scan": "tsx src/security/tenant-isolation/scan.ts", - "tenant-isolation:test": "vitest run src/security/tenant-isolation", "db:generate": "prisma generate", "db:migrate": "npx tsx migrations/runner.ts deploy", "db:migrate:status": "npx tsx migrations/runner.ts status", @@ -25,24 +19,14 @@ "db:reset": "npx tsx migrations/runner.ts reset", "db:seed": "npx tsx migrations/runner.ts seed", "db:studio": "prisma studio", - "openapi:generate": "tsoa spec", - "openapi:validate": "tsx scripts/validate-openapi.ts", - "sdk:generate": "npm run openapi:validate && npx @openapitools/openapi-generator-cli generate -i docs/api/openapi/openapi.json -g typescript-axios -c openapi-generator.config.json", - "sdk:generate:python": "npm run openapi:validate && npx @openapitools/openapi-generator-cli generate -i docs/api/openapi/openapi.json -g python -c openapi-generator.config.json", - "sdk:generate:go": "npm run openapi:validate && npx @openapitools/openapi-generator-cli generate -i docs/api/openapi/openapi.json -g go -c openapi-generator.config.json", + "openapi:generate": "tsx scripts/generate-openapi.ts", + "openapi:validate": "node -e \"require('fs').accessSync('docs/api/openapi/openapi.json')\"", "benchmark": "tsx src/tests/benchmarks/run-benchmarks.ts", "benchmark:baseline": "tsx src/tests/benchmarks/run-benchmarks.ts --write-baseline", "benchmark:compare": "tsx src/tests/benchmarks/compare-baseline.ts", - "generate:vapid-keys": "node scripts/generate-vapid-keys.js", - "config:validate": "tsx scripts/config-validate.ts", - "config:drift": "tsx scripts/config-drift.ts", - "config:docs": "tsx scripts/config-docs.ts", - "config:docs:check": "tsx scripts/config-docs.ts --check" + "generate:vapid-keys": "node scripts/generate-vapid-keys.js" }, "dependencies": { - "@agenticpay/api-spec": "*", - "@agenticpay/error-codes": "*", - "@agenticpay/types": "*", "@prisma/client": "^5.22.0", "@sentry/node": "^10.50.0", "@sentry/profiling-node": "^10.50.0", @@ -61,7 +45,7 @@ "express-rate-limit": "^7.4.1", "helmet": "^7.1.0", "ioredis": "^5.11.0", - "node-cron": "^4.6.0", + "node-cron": "^3.0.3", "openai": "^4.67.0", "pino": "^9.6.0", "pino-http": "^10.4.0", @@ -71,24 +55,18 @@ "speakeasy": "^2.0.0", "sqlstring": "^2.3.3", "stripe": "^17.5.0", - "swagger-ui-express": "^5.0.1", "validator": "^13.11.0", "viem": "^2.43.2", "web-push": "^3.6.0", "ws": "^8.18.0", "xss": "^1.0.14", - "zod": "^3.25.76" + "zod": "^3.23.8" }, "prisma": { "seed": "tsx migrations/seed.ts" }, "devDependencies": { "@eslint/js": "^9.0.0", - "@faker-js/faker": "^9.9.0", - "@openapitools/openapi-generator-cli": "^2.40.1", - "@stryker-mutator/core": "^9.4.0", - "@stryker-mutator/vitest-runner": "^9.4.0", - "@tsoa/runtime": "^7.0.0-alpha.0", "@types/circomlibjs": "^0.1.6", "@types/compression": "^1.7.5", "@types/cors": "^2.8.17", @@ -101,25 +79,18 @@ "@types/sanitize-html": "^2.9.0", "@types/snarkjs": "^0.7.9", "@types/speakeasy": "^2.0.8", - "@types/swagger-ui-express": "^4.1.8", "@types/validator": "^13.11.6", "@types/web-push": "^3.6.4", "@types/ws": "^8.5.12", - "autocannon": "^7.15.0", "eslint": "^9.0.0", - "openapi-fetch": "^0.13.5", - "openapi-typescript": "^7.4.4", - "pino-pretty": "^13.0.0", "prisma": "^5.22.0", - "ts-morph": "^24.0.0", - "tsoa": "^7.0.0-alpha.0", "tsx": "^4.19.0", "typescript": "^5.6.0", "typescript-eslint": "^8.0.0", - "vitest": "^4.1.1" - }, - "optionalDependencies": { - "@esbuild/win32-x64": "^0.28.2", - "@rollup/rollup-linux-x64-gnu": "^4.62.2" + "vitest": "^4.1.1", + "autocannon": "^7.15.0", + "openapi-fetch": "^0.13.5", + "openapi-typescript": "^7.4.4", + "pino-pretty": "^13.0.0" } } diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma index 6d808c33..b1b36d59 100644 --- a/backend/prisma/schema.prisma +++ b/backend/prisma/schema.prisma @@ -27,21 +27,6 @@ enum PaymentStatus { failed cancelled refunded - pending_review -} - -enum ReorgEventStatus { - detected - investigating - resolved - false_positive -} - -enum TransactionReorgStatus { - pending_review - re_verified - confirmed - rolled_back } enum PaymentType { @@ -88,36 +73,6 @@ enum PaymentLinkStatus { disabled } -enum OutboxEventStatus { - pending - publishing - published - dead_letter -} - -enum PluginStatus { - installed - enabled - disabled - error -} - -enum VaultStatus { - pending - active - disputed - completed - refunded -} - -enum VaultMilestoneStatus { - pending - approved - released - expired - disputed -} - // ─── Models ─────────────────────────────────────────────────────────────────── model User { @@ -138,7 +93,6 @@ model User { @@unique([tenantId, email]) @@index([tenantId, email]) @@index([walletAddress]) - @@index([deletedAt], map: "users_deleted_at_idx") @@map("users") } @@ -158,104 +112,21 @@ model Payment { fromAddress String? @map("from_address") toAddress String? @map("to_address") metadata Json? - providerId String? @map("provider_id") createdAt DateTime @default(now()) @map("created_at") updatedAt DateTime @updatedAt @map("updated_at") deletedAt DateTime? @map("deleted_at") - // Generated tsvector, maintained by PostgreSQL — see migration - // 20260923000100_fulltext_search_payments (Issue #885). Prisma has no - // native tsvector type, so it is modeled as Unsupported and excluded - // from the client; query it with raw SQL via the search service. - searchVector Unsupported("tsvector")? @map("search_vector") user User? @relation(fields: [userId], references: [id]) project Project? @relation(fields: [projectId], references: [id]) milestone Milestone? @relation(fields: [milestoneId], references: [id]) - transactionReorgs TransactionReorg[] - disputes Dispute[] @@index([tenantId, createdAt]) - @@index([tenantId, status, createdAt], map: "idx_payments_tenant_status_created") - @@index([projectId, status, createdAt], map: "idx_payments_project_status_created") @@index([status], map: "payments_active_status_idx") @@index([txHash]) @@index([projectId]) - @@index([providerId]) - @@index([deletedAt], map: "payments_deleted_at_idx") @@map("payments") } -// ─── Payment dispute management (Issue #816) ─────────────────────────────── -// -// A payer files a dispute against a Payment; the respondent (payee) has -// RESPONSE_HOURS to reply before the dispute auto-escalates -// (ESCALATION_HOURS after filing — see backend/disputes/disputeService.ts -// and the "dispute-escalation" scheduled task). An arbitrator then resolves -// it. Evidence and messages are append-only sub-records with no independent -// query needs of their own, so they're modeled as JSON columns (matching -// Payment.metadata's own convention) rather than separate join tables. - -enum DisputeStatus { - pending - awaiting_response - under_review - resolved - escalated - dismissed -} - -enum DisputeReason { - service_not_delivered - partial_delivery - quality_issue - unauthorized_charge - duplicate_charge - other -} - -enum DisputeResolutionOutcome { - full_refund - partial_refund - release_to_payee - dismissed - pending -} - -model Dispute { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - paymentId String @map("payment_id") - projectId String? @map("project_id") - invoiceId String? @map("invoice_id") - filedBy String @map("filed_by") - respondentId String @map("respondent_id") - arbitratorId String? @map("arbitrator_id") - status DisputeStatus @default(awaiting_response) - reason DisputeReason - amount Decimal @db.Decimal(20, 8) - currency String - description String - /// Array of { id, submittedBy, fileUrl, fileName, fileType, fileSize, description, timestamp, hash } — see disputeModel.ts's Evidence type. - evidence Json @default("[]") - /// Array of { id, senderId, senderRole, content, timestamp } — see disputeModel.ts's DisputeMessage type. - messages Json @default("[]") - resolution DisputeResolutionOutcome @default(pending) - resolutionNote String? @map("resolution_note") - refundAmount Decimal? @map("refund_amount") @db.Decimal(20, 8) - responseDeadline DateTime @map("response_deadline") - escalationDeadline DateTime @map("escalation_deadline") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - resolvedAt DateTime? @map("resolved_at") - - payment Payment @relation(fields: [paymentId], references: [id]) - - @@index([tenantId, status]) - @@index([paymentId]) - @@index([status, responseDeadline], map: "disputes_pending_escalation_idx") - @@map("disputes") -} - model Project { id String @id @default(uuid()) title String @@ -275,9 +146,7 @@ model Project { payments Payment[] @@index([tenantId, createdAt]) - @@index([tenantId, status, createdAt], map: "idx_projects_tenant_status_created") @@index([status]) - @@index([deletedAt], map: "projects_deleted_at_idx") @@map("projects") } @@ -298,8 +167,6 @@ model Milestone { payments Payment[] @@index([projectId]) - @@index([projectId, status, order], map: "idx_milestones_project_status_order") - @@index([deletedAt], map: "milestones_deleted_at_idx") @@map("milestones") } @@ -322,11 +189,8 @@ model Invoice { milestone Milestone? @relation(fields: [milestoneId], references: [id]) @@index([tenantId, generatedAt]) - @@index([projectId, createdAt], map: "idx_invoices_project_created") - @@index([tenantId, status, dueAt], map: "idx_invoices_tenant_status_due") @@index([projectId]) @@index([status]) - @@index([deletedAt], map: "invoices_deleted_at_idx") @@map("invoices") } @@ -337,10 +201,6 @@ model Webhook { url String events String[] secret String - signatureVersion String @default("v1") @map("signature_version") - secretExpiresAt DateTime? @map("secret_expires_at") - rotatedAt DateTime? @map("rotated_at") - encryptionPublicKey String? @map("encryption_public_key") status WebhookStatus @default(active) failCount Int @default(0) @map("fail_count") lastFired DateTime? @map("last_fired") @@ -374,202 +234,23 @@ model PaymentLink { } model AuditLog { - id String @id @default(uuid()) - timestamp DateTime @default(now()) - actor String - action String - resource String - details Json? - previousHash String @map("previous_hash") - hash String @unique - anchorId String? @map("anchor_id") - archivedAt DateTime? @map("archived_at") - coldArchivedAt DateTime? @map("cold_archived_at") - entityId String? @map("entity_id") - entityType String? @map("entity_type") - userId String? @map("user_id") - metadata Json? - ipAddress String? @map("ip_address") - createdAt DateTime @default(now()) @map("created_at") + id String @id @default(uuid()) + entityId String @map("entity_id") + entityType String @map("entity_type") + action String + userId String? @map("user_id") + metadata Json? + ipAddress String? @map("ip_address") + createdAt DateTime @default(now()) @map("created_at") user User? @relation(fields: [userId], references: [id]) - @@index([timestamp]) - @@index([actor]) - @@index([action]) - @@index([actor, action, timestamp]) @@index([entityId, createdAt]) @@index([userId]) @@index([entityType, action]) @@map("audit_logs") } -model OutboxEvent { - id String @id @default(uuid()) - aggregateType String @map("aggregate_type") - aggregateId String @map("aggregate_id") - eventType String @map("event_type") - payload Json - status OutboxEventStatus @default(pending) - attempts Int @default(0) - lastError String? @map("last_error") - publishedAt DateTime? @map("published_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - @@index([status, createdAt]) - @@index([aggregateType, aggregateId]) - @@index([eventType]) - @@index([publishedAt]) - @@map("outbox_events") -} - -model Plugin { - id String @id @default(uuid()) - name String @unique - version String - source String - status PluginStatus @default(installed) - compatibility Json - health Json - installedAt DateTime @default(now()) @map("installed_at") - updatedAt DateTime @updatedAt @map("updated_at") - disabledAt DateTime? @map("disabled_at") - - configs PluginConfig[] - auditLogs PluginAuditLog[] - - @@index([status]) - @@index([name, version]) - @@map("plugins") -} - -model PluginConfig { - id String @id @default(uuid()) - pluginId String @map("plugin_id") - environment String @default("default") - config Json - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - plugin Plugin @relation(fields: [pluginId], references: [id], onDelete: Cascade) - - @@unique([pluginId, environment]) - @@map("plugin_configs") -} - -model PluginAuditLog { - id String @id @default(uuid()) - pluginId String @map("plugin_id") - actorId String? @map("actor_id") - action String - details Json? - createdAt DateTime @default(now()) @map("created_at") - - plugin Plugin @relation(fields: [pluginId], references: [id], onDelete: Cascade) - - @@index([pluginId, createdAt]) - @@map("plugin_audit_logs") -} - -model AuditAnchor { - id String @id @default(uuid()) - latestHash String @map("latest_hash") - chain String - transactionHash String? @map("transaction_hash") - blockNumber String? @map("block_number") - status String @default("pending") - error String? - createdAt DateTime @default(now()) @map("created_at") - - @@index([latestHash]) - @@index([createdAt]) - @@map("audit_anchors") -} - -model AccountLockout { - id String @id @default(uuid()) - accountId String @map("account_id") - ipAddress String? @map("ip_address") - failedAttempts Int @default(0) @map("failed_attempts") - lockedUntil DateTime? @map("locked_until") - unlockTokenHash String? @map("unlock_token_hash") - lastFailedAt DateTime? @map("last_failed_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - @@unique([accountId, ipAddress]) - @@index([accountId]) - @@index([ipAddress]) - @@index([lockedUntil]) - @@map("account_lockouts") -} - -model LoginAttempt { - id String @id @default(uuid()) - accountId String @map("account_id") - ipAddress String @map("ip_address") - userAgent String? @map("user_agent") - success Boolean - reason String? - createdAt DateTime @default(now()) @map("created_at") - - @@index([accountId, createdAt]) - @@index([ipAddress, createdAt]) - @@index([success]) - @@map("login_attempts") -} - -model WebhookSecret { - id String @id @default(uuid()) - merchantId String @map("merchant_id") - keyId String @map("key_id") - secretHash String @map("secret_hash") - version String @default("v1") - activeFrom DateTime @default(now()) @map("active_from") - expiresAt DateTime @map("expires_at") - rotatedAt DateTime? @map("rotated_at") - createdAt DateTime @default(now()) @map("created_at") - - @@unique([merchantId, keyId]) - @@index([merchantId, expiresAt]) - @@map("webhook_secrets") -} - -model VulnerabilityReport { - id String @id @default(uuid()) - source String - scannedAt DateTime @default(now()) @map("scanned_at") - summary Json - artifactUrl String? @map("artifact_url") - - vulnerabilities DependencyVulnerability[] - - @@index([source, scannedAt]) - @@map("vulnerability_reports") -} - -model DependencyVulnerability { - id String @id @default(uuid()) - reportId String @map("report_id") - ecosystem String - packageName String @map("package_name") - installedVersion String? @map("installed_version") - fixedVersion String? @map("fixed_version") - severity String - advisoryId String? @map("advisory_id") - title String - remediation String? - dueAt DateTime? @map("due_at") - createdAt DateTime @default(now()) @map("created_at") - - report VulnerabilityReport @relation(fields: [reportId], references: [id]) - - @@index([ecosystem, severity]) - @@index([packageName]) - @@map("dependency_vulnerabilities") -} - model GasEstimate { id String @id @default(uuid()) network String @unique @@ -582,99 +263,6 @@ model GasEstimate { @@map("gas_estimates") } -// ─── Payment Provider Models (#480) ────────────────────────────────────────── - -// ─── Gas Budget & Prediction Models (#479) ──────────────────────────────────── - -model GasBudget { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - walletAddress String @map("wallet_address") - chainId Int @map("chain_id") - limitGwei Float @map("limit_gwei") - usedGwei Float @default(0) @map("used_gwei") - resetAt DateTime @map("reset_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - @@unique([tenantId, walletAddress, chainId]) - @@index([tenantId]) - @@index([walletAddress, chainId]) - @@map("gas_budgets") -} - -model GasPredictionLog { - id String @id @default(uuid()) - network String - horizon String - predictedGwei Float @map("predicted_gwei") - actualGwei Float? @map("actual_gwei") - errorPct Float? @map("error_pct") - recordedAt DateTime @default(now()) @map("recorded_at") - - @@index([network, horizon, recordedAt]) - @@map("gas_prediction_logs") -} - -// ─── Payment Vault Models (#478) ───────────────────────────────────────────── - -model PaymentVault { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - depositorAddress String @map("depositor_address") - recipientAddress String @map("recipient_address") - totalAmount Decimal @db.Decimal(20, 8) @map("total_amount") - currency String - network String - status VaultStatus @default(pending) - contractAddress String? @map("contract_address") - contractVaultId String? @map("contract_vault_id") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - milestones VaultMilestone[] - - @@index([tenantId, status]) - @@index([depositorAddress]) - @@index([contractAddress]) - @@map("payment_vaults") -} - -model VaultMilestone { - id String @id @default(uuid()) - vaultId String @map("vault_id") - name String - amountPercent Int @map("amount_percent") - deadline DateTime - approverAddress String @map("approver_address") - status VaultMilestoneStatus @default(pending) - releasedAt DateTime? @map("released_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - vault PaymentVault @relation(fields: [vaultId], references: [id]) - releases MilestoneRelease[] - - @@index([vaultId, status]) - @@map("vault_milestones") -} - -model MilestoneRelease { - id String @id @default(uuid()) - milestoneId String @map("milestone_id") - txHash String? @map("tx_hash") - releasedAt DateTime @default(now()) @map("released_at") - triggeredBy String @map("triggered_by") - - milestone VaultMilestone @relation(fields: [milestoneId], references: [id]) - - @@index([milestoneId]) - @@map("milestone_releases") -} - // ─── Sandbox Models ─────────────────────────────────────────────────────────── model SandboxAccount { @@ -995,1521 +583,3 @@ model NotificationLog { @@map("notification_logs") } -// ─── API Versioning Models ──────────────────────────────────────────────────── - -enum ApiVersionStatus { - active - deprecated - sunset - removed -} - -model ApiVersion { - id String @id @default(uuid()) - version String @unique // e.g., "v1", "v2" - status ApiVersionStatus @default(active) - releaseDate DateTime @default(now()) @map("release_date") - deprecationDate DateTime? @map("deprecation_date") - sunsetDate DateTime? @map("sunset_date") - description String? - changelogUrl String? @map("changelog_url") - migrationGuideUrl String? @map("migration_guide_url") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - usage ApiVersionUsage[] - endpoints ApiVersionEndpoint[] - - @@index([status]) - @@index([releaseDate]) - @@map("api_versions") -} - -model ApiVersionUsage { - id String @id @default(uuid()) - versionId String @map("version_id") - date DateTime @db.Date - requestCount Int @map("request_count") @default(0) - uniqueClients Int @map("unique_clients") @default(0) - createdAt DateTime @default(now()) @map("created_at") - - version ApiVersion @relation(fields: [versionId], references: [id]) - - @@unique([versionId, date]) - @@index([versionId]) - @@index([date]) - @@map("api_version_usage") -} - -model ApiVersionEndpoint { - id String @id @default(uuid()) - versionId String @map("version_id") - path String // e.g., "/payments", "/invoices" - method String // GET, POST, PUT, DELETE - status ApiVersionStatus @default(active) - changes String? // Summary of changes from previous version - migrationNotes String? @map("migration_notes") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - version ApiVersion @relation(fields: [versionId], references: [id]) - - @@unique([versionId, path, method]) - @@index([versionId]) - @@index([path]) - @@map("api_version_endpoints") -} - -// ─── Centralized Configuration — Issue #481 ────────────────────────────────── - -model AppConfiguration { - id String @id @default(uuid()) - key String @unique - value Json - source String @default("database") - description String? - updatedBy String? @map("updated_by") - version Int @default(1) - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - @@index([source]) - @@map("app_configurations") -} - -model ConfigAuditLog { - id String @id @default(uuid()) - key String - oldValue Json? @map("old_value") - newValue Json? @map("new_value") - actor String? - reason String? - source String @default("admin") - requestId String? @map("request_id") - createdAt DateTime @default(now()) @map("created_at") - - @@index([key, createdAt]) - @@index([actor]) - @@map("config_audit_logs") -} - -// ─── Payment Categories — Issue #251 ───────────────────────────────────────── - -enum PaymentCategoryType { - subscription - invoice - donation - refund - escrow - milestone - other -} - -model PaymentCategory { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - name String - type PaymentCategoryType @default(other) - description String? - color String? // hex color for UI display - isDefault Boolean @default(false) @map("is_default") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - payments PaymentCategoryAssignment[] - - @@unique([tenantId, name]) - @@index([tenantId]) - @@index([type]) - @@map("payment_categories") -} - -model PaymentCategoryAssignment { - id String @id @default(uuid()) - paymentId String @map("payment_id") - categoryId String @map("category_id") - assignedBy String? @map("assigned_by") // userId; null = auto-assigned - createdAt DateTime @default(now()) @map("created_at") - - category PaymentCategory @relation(fields: [categoryId], references: [id], onDelete: Cascade) - - @@unique([paymentId, categoryId]) - @@index([paymentId]) - @@index([categoryId]) - @@map("payment_category_assignments") -} - -// ─── On-Chain Data Archival — Issue #473 ───────────────────────────────────── - -enum ArchivalBatchStatus { - pending - collecting - compressing - uploading - completed - failed - restoring -} - -enum ArchivalChain { - stellar - ethereum - polygon - base - arbitrum - soroban -} - -model ArchivalBatch { - id String @id @default(uuid()) - batchDate DateTime @db.Date @map("batch_date") - status ArchivalBatchStatus @default(pending) - chain ArchivalChain - recordCount Int @default(0) @map("record_count") - uncompressedBytes BigInt @default(0) @map("uncompressed_bytes") - compressedBytes BigInt @default(0) @map("compressed_bytes") - contentHash String? @map("content_hash") - ipfsCid String? @map("ipfs_cid") - ipfsUrl String? @map("ipfs_url") - verifiedHash String? @map("verified_hash") - errorMessage String? @map("error_message") - retentionUntil DateTime @map("retention_until") - startedAt DateTime? @map("started_at") - completedAt DateTime? @map("completed_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - records DataArchive[] - - @@unique([batchDate, chain]) - @@index([status]) - @@index([batchDate]) - @@index([ipfsCid]) - @@map("archival_batches") -} - -model DataArchive { - id String @id @default(uuid()) - batchId String @map("batch_id") - chain ArchivalChain - txHash String @map("tx_hash") - blockNumber BigInt @map("block_number") - blockHash String? @map("block_hash") - payload Json - payloadHash String @map("payload_hash") - proofOfInclusion Json @map("proof_of_inclusion") - indexedAt DateTime? @map("indexed_at") - createdAt DateTime @default(now()) @map("created_at") - - batch ArchivalBatch @relation(fields: [batchId], references: [id], onDelete: Cascade) - - @@index([batchId]) - @@index([chain, txHash]) - @@index([blockNumber]) - @@map("data_archives") -} - -// ─── Contract Upgrade Safety — Issue #474 ──────────────────────────────────── - -enum UpgradeValidationStatus { - pending - running - passed - failed - rolled_back -} - -enum ContractPlatform { - evm - soroban -} - -model ContractUpgrade { - id String @id @default(uuid()) - contractName String @map("contract_name") - platform ContractPlatform - network String - proxyAddress String @map("proxy_address") - previousImplementation String? @map("previous_implementation") - newImplementation String @map("new_implementation") - deployerAddress String? @map("deployer_address") - timelockAddress String? @map("timelock_address") - status UpgradeValidationStatus @default(pending) - deployedAt DateTime? @map("deployed_at") - rolledBackAt DateTime? @map("rolled_back_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - validationReports UpgradeValidationReport[] - - @@index([network, contractName]) - @@index([status]) - @@map("contract_upgrades") -} - -model UpgradeValidationReport { - id String @id @default(uuid()) - upgradeId String @map("upgrade_id") - status UpgradeValidationStatus - storageLayoutDiff Json? @map("storage_layout_diff") - simulationPassed Boolean @default(false) @map("simulation_passed") - smokeTestsPassed Boolean @default(false) @map("smoke_tests_passed") - adminPreserved Boolean @default(false) @map("admin_preserved") - proxyAdminValid Boolean @default(false) @map("proxy_admin_valid") - implementationVerified Boolean @default(false) @map("implementation_verified") - failures Json? - warnings Json? - forkBlockNumber BigInt? @map("fork_block_number") - durationMs Int? @map("duration_ms") - createdAt DateTime @default(now()) @map("created_at") - - upgrade ContractUpgrade @relation(fields: [upgradeId], references: [id], onDelete: Cascade) - - @@index([upgradeId]) - @@index([status]) - @@map("upgrade_validation_reports") -} - -// ─── Bridge Monitoring — Issue #475 ──────────────────────────────────────── - -enum BridgeProvider { - wormhole - layerzero - axelar - custom -} - -enum BridgeMessageStatus { - initiated - source_confirmed - relayed - destination_executed - failed - stuck - expired -} - -enum BridgeAlertSeverity { - info - warning - critical -} - -model BridgeMessage { - id String @id @default(uuid()) - provider BridgeProvider - sourceChain String @map("source_chain") - destinationChain String @map("destination_chain") - messageId String @map("message_id") - txHashSource String? @map("tx_hash_source") - txHashDestination String? @map("tx_hash_destination") - status BridgeMessageStatus @default(initiated) - amount String? - tokenAddress String? @map("token_address") - sender String? - recipient String? - gasCostSource String? @map("gas_cost_source") - gasCostDestination String? @map("gas_cost_destination") - initiatedAt DateTime @default(now()) @map("initiated_at") - sourceConfirmedAt DateTime? @map("source_confirmed_at") - relayedAt DateTime? @map("relayed_at") - executedAt DateTime? @map("executed_at") - expectedDeliveryMs Int @default(300000) @map("expected_delivery_ms") - metadata Json? - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - alerts BridgeAlert[] - retries BridgeRetry[] - - @@unique([provider, messageId]) - @@index([status]) - @@index([provider]) - @@index([sourceChain, destinationChain]) - @@index([initiatedAt]) - @@map("bridge_messages") -} - -model BridgeAlert { - id String @id @default(uuid()) - messageId String @map("message_id") - severity BridgeAlertSeverity - alertType String @map("alert_type") - message String - acknowledged Boolean @default(false) - createdAt DateTime @default(now()) @map("created_at") - - bridgeMessage BridgeMessage @relation(fields: [messageId], references: [id], onDelete: Cascade) - - @@index([messageId]) - @@index([severity]) - @@map("bridge_alerts") -} - -model BridgeRetry { - id String @id @default(uuid()) - messageId String @map("message_id") - attempt Int @default(1) - status String @default("pending") - txHash String? @map("tx_hash") - errorMessage String? @map("error_message") - initiatedBy String? @map("initiated_by") - createdAt DateTime @default(now()) @map("created_at") - completedAt DateTime? @map("completed_at") - - bridgeMessage BridgeMessage @relation(fields: [messageId], references: [id], onDelete: Cascade) - - @@index([messageId]) - @@map("bridge_retries") -} - -// ─── Issue #462: Webhook Subscription Manager ─────────────────────────────────── - -model WebhookSubscription { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - eventTypes String[] @map("event_types") - filterExpr String? @map("filter_expr") - targetUrl String @map("target_url") - description String? - status SubscriptionStatus @default(active) - version Int @default(1) @map("version") - lastDelivered DateTime? @map("last_delivered") - deliveryCount Int @default(0) @map("delivery_count") - successCount Int @default(0) @map("success_count") - failCount Int @default(0) @map("fail_count") - avgLatency Float? @map("avg_latency") - pausedAt DateTime? @map("paused_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - deliveries WebhookSubscriptionDelivery[] - - @@index([tenantId]) - @@index([status]) - @@index([tenantId, status]) - @@map("webhook_subscriptions") -} - -model WebhookSubscriptionDelivery { - id String @id @default(uuid()) - subscriptionId String @map("subscription_id") - eventType String @map("event_type") - payload Json - status DeliveryStatus @default(pending) - statusCode Int? @map("status_code") - latencyMs Int? @map("latency_ms") - errorMessage String? @map("error_message") - attemptCount Int @default(0) @map("attempt_count") - createdAt DateTime @default(now()) @map("created_at") - completedAt DateTime? @map("completed_at") - - subscription WebhookSubscription @relation(fields: [subscriptionId], references: [id], onDelete: Cascade) - - @@index([subscriptionId]) - @@index([status]) - @@index([createdAt]) - @@map("webhook_subscription_deliveries") -} - -// ─── Issue #463: Revenue Sharing Pool ─────────────────────────────────────────── - -model RevenuePool { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - name String - chain String @default("soroban") - contractId String @map("contract_id") - status PoolStatus @default(active) - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - recipients RevenueRecipient[] - distributions RevenueDistribution[] - - @@index([tenantId]) - @@map("revenue_pools") -} - -model RevenueRecipient { - id String @id @default(uuid()) - poolId String @map("pool_id") - wallet String - ratioBps Int @map("ratio_bps") - accumulated String @default("0") @map("accumulated") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - pool RevenuePool @relation(fields: [poolId], references: [id], onDelete: Cascade) - - @@unique([poolId, wallet]) - @@map("revenue_recipients") -} - -model RevenueDistribution { - id String @id @default(uuid()) - poolId String @map("pool_id") - txHash String @map("tx_hash") - amount String @map("amount") - status DistributionStatus @default(pending) - createdAt DateTime @default(now()) @map("created_at") - - pool RevenuePool @relation(fields: [poolId], references: [id], onDelete: Cascade) - - @@index([poolId]) - @@map("revenue_distributions") -} - -// ─── Issue #464: EVM Paymaster / ERC-4337 ─────────────────────────────────────── - -model PaymasterBudget { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - chainId Int @map("chain_id") - token String - balance String @default("0") - totalDeposited String @default("0") @map("total_deposited") - totalUsed String @default("0") @map("total_used") - maxGasPerTx String? @map("max_gas_per_tx") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - @@unique([tenantId, chainId, token]) - @@map("paymaster_budgets") -} - -model UserOperation { - id String @id @default(uuid()) - userOpHash String @unique @map("user_op_hash") - sender String - nonce String - paymaster String - mode String @default("verifying") - actualGasCost String? @map("actual_gas_cost") - status UserOpStatus @default(pending) - txHash String? @map("tx_hash") - errorMsg String? @map("error_msg") - createdAt DateTime @default(now()) @map("created_at") - completedAt DateTime? @map("completed_at") - - @@index([sender]) - @@index([status]) - @@index([createdAt]) - @@map("user_operations") -} - -// ─── New Enums ────────────────────────────────────────────────────────────────── - -enum SubscriptionStatus { - active - paused - disabled -} - -enum DeliveryStatus { - pending - delivered - failed - retrying -} - -enum PoolStatus { - active - paused - archived -} - -enum DistributionStatus { - pending - completed - failed -} - -enum UserOpStatus { - pending - completed - failed -} - -// ─── Issue #470: Atomic Swap / HTLC Models ──────────────────────────────────── - -enum AtomicSwapStatus { - pending - claimed - refunded - disputed -} - -model AtomicSwap { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - swapId BigInt @unique @map("swap_id") - sender String - receiver String - tokenA String @map("token_a") - tokenB String @map("token_b") - amountA Decimal @map("amount_a") @db.Decimal(20, 8) - amountB Decimal @map("amount_b") @db.Decimal(20, 8) - hashlock String - timelock BigInt @map("timelock") - disputeDeadline BigInt? @map("dispute_deadline") - status AtomicSwapStatus @default(pending) - feeBps Int @default(30) @map("fee_bps") - feeCollector String? @map("fee_collector") - contractAddress String? @map("contract_address") - network String @default("soroban") - expiresAt DateTime? @map("expires_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - secret AtomicSwapSecret? - - @@index([tenantId]) - @@index([sender]) - @@index([receiver]) - @@index([status]) - @@map("atomic_swaps") -} - -model AtomicSwapSecret { - id String @id @default(uuid()) - swapId String @unique @map("swap_id") - preimage String - revealedAt DateTime @default(now()) @map("revealed_at") - - swap AtomicSwap @relation(fields: [swapId], references: [id], onDelete: Cascade) - - @@map("atomic_swap_secrets") -} - -// ─── Issue #469: Multi-Signature Treasury Models ───────────────────────────── - -enum TreasuryProposalStatus { - pending - approved - executed - rejected - cancelled - expired -} - -model TreasuryProposal { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - proposalId BigInt @map("proposal_id") - proposer String - description String - target String - amount Decimal @db.Decimal(20, 8) - token String? - calldata String? - status TreasuryProposalStatus @default(pending) - approvalCount Int @default(0) @map("approval_count") - rejectionCount Int @default(0) @map("rejection_count") - threshold Int @default(1) - timelockDelay BigInt @map("timelock_delay") - executeAfter DateTime @map("execute_after") - createdAt DateTime @default(now()) @map("created_at") - executedAt DateTime? @map("executed_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - approvals TreasuryApproval[] - execution TreasuryExecution? - - @@index([tenantId]) - @@index([status]) - @@index([tenantId, status]) - @@map("treasury_proposals") -} - -model TreasuryApproval { - id String @id @default(uuid()) - proposalId String @map("proposal_id") - signer String - approved Boolean @default(true) - createdAt DateTime @default(now()) @map("created_at") - - proposal TreasuryProposal @relation(fields: [proposalId], references: [id], onDelete: Cascade) - - @@unique([proposalId, signer]) - @@index([proposalId]) - @@map("treasury_approvals") -} - -model TreasuryExecution { - id String @id @default(uuid()) - proposalId String @unique @map("proposal_id") - txHash String? @map("tx_hash") - executedBy String @map("executed_by") - executedAt DateTime @default(now()) @map("executed_at") - error String? - chain String @default("soroban") - - proposal TreasuryProposal @relation(fields: [proposalId], references: [id], onDelete: Cascade) - - @@map("treasury_executions") -} - -// ─── Issue #471: API Key Usage Analytics and Quota Models ───────────────────── - -model ApiKey { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - keyId String @unique @map("key_id") - description String? - isActive Boolean @default(true) @map("is_active") - createdAt DateTime @default(now()) @map("created_at") - expiresAt DateTime? @map("expires_at") - revokedAt DateTime? @map("revoked_at") - - // Issue #824: granular permissions. Entries are validated against the - // vocabulary in src/lib/api-key-scopes.ts before they are written. - scopes String[] @default(["*"]) - - // Issue #756: rotation with grace period. When a key is rotated, the - // predecessor stays active until gracePeriodEndsAt so in-flight clients - // have time to switch to the new key before the old one stops working. - rotatedAt DateTime? @map("rotated_at") - gracePeriodEndsAt DateTime? @map("grace_period_ends_at") - predecessorKeyId String? @map("predecessor_key_id") - successorKeyId String? @map("successor_key_id") - - usage ApiKeyUsage[] - quota ApiKeyQuota? - - @@index([tenantId]) - @@index([keyId]) - @@map("api_keys") -} - -model ApiKeyUsage { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - keyId String @map("key_id") - endpoint String - method String @default("GET") - statusCode Int @map("status_code") - latencyMs Int @map("latency_ms") - payloadSize Int? @map("payload_size") - ipAddress String? @map("ip_address") - recordedAt DateTime @default(now()) @map("recorded_at") - - key ApiKey @relation(fields: [keyId], references: [id], onDelete: Cascade) - - @@index([keyId]) - @@index([tenantId, recordedAt]) - @@index([keyId, recordedAt]) - @@index([recordedAt]) - @@map("api_key_usage") -} - -model ApiKeyQuota { - id String @id @default(uuid()) - keyId String @unique @map("key_id") - requestsPerHour Int @default(1000) @map("requests_per_hour") - requestsPerDay Int @default(10000) @map("requests_per_day") - alertAt50Pct Boolean @default(true) @map("alert_at_50_pct") - alertAt80Pct Boolean @default(true) @map("alert_at_80_pct") - alertAt100Pct Boolean @default(true) @map("alert_at_100_pct") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - key ApiKey @relation(fields: [keyId], references: [id], onDelete: Cascade) - - @@map("api_key_quotas") -} - -// ─── Issue #472: Custom Report Builder Models ──────────────────────────────── - -enum ReportChartType { - line - bar - pie - table - heatmap - area -} - -enum ReportScheduleFrequency { - daily - weekly - monthly -} - -model SavedReport { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - userId String? @map("user_id") - name String - description String? - metrics String[] - dimensions String[] - filters Json? - chartType ReportChartType @default(line) - dateRange Json? - isFavorite Boolean @default(false) @map("is_favorite") - isPinned Boolean @default(false) @map("is_pinned") - config Json? - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - schedule ScheduledReport? - template ReportTemplate? - - @@index([tenantId]) - @@index([userId]) - @@index([isFavorite]) - @@index([tenantId, updatedAt]) - @@map("saved_reports") -} - -model ScheduledReport { - id String @id @default(uuid()) - reportId String @unique @map("report_id") - frequency ReportScheduleFrequency - dayOfWeek Int? @default(1) @map("day_of_week") - dayOfMonth Int? @default(1) @map("day_of_month") - time String @default("09:00") - recipients String[] - lastSentAt DateTime? @map("last_sent_at") - nextSendAt DateTime? @map("next_send_at") - isActive Boolean @default(true) @map("is_active") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - report SavedReport @relation(fields: [reportId], references: [id], onDelete: Cascade) - - @@index([isActive]) - @@index([nextSendAt]) - @@map("scheduled_reports") -} - -model ReportTemplate { - id String @id @default(uuid()) - reportId String @unique @map("report_id") - name String - description String? - metrics String[] - dimensions String[] - filters Json? - chartType ReportChartType @default(line) - dateRange Json? - config Json? - isPublic Boolean @default(false) @map("is_public") - usageCount Int @default(0) @map("usage_count") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - report SavedReport @relation(fields: [reportId], references: [id], onDelete: Cascade) - - @@index([isPublic, usageCount]) - @@map("report_templates") -} - -// ─── Issue #465: Payment Reconciliation Report Generator ───────────────────── - -enum ReportJobStatus { - pending - generating - completed - failed - expired -} - -model ReportJob { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - userId String? @map("user_id") - type String @default("reconciliation") // reconciliation, custom - status ReportJobStatus @default(pending) - dateFrom DateTime @map("date_from") - dateTo DateTime @map("date_to") - format String @default("csv") // csv, pdf - filters Json? - progress Int @default(0) - errorMessage String? @map("error_message") - completedAt DateTime? @map("completed_at") - expiresAt DateTime @map("expires_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - archives ReportArchive[] - - @@index([tenantId, createdAt]) - @@index([status]) - @@index([tenantId, status]) - @@map("report_jobs") -} - -model ReportArchive { - id String @id @default(uuid()) - reportId String @map("report_id") - format String @default("csv") - fileUrl String @map("file_url") - fileSize Int @default(0) @map("file_size") - rowCount Int @default(0) @map("row_count") - checksum String? @map("checksum") - createdAt DateTime @default(now()) @map("created_at") - - report ReportJob @relation(fields: [reportId], references: [id], onDelete: Cascade) - - @@index([reportId]) - @@map("report_archives") -} - -// ─── Issue #466: Flash Loan-Protected Liquidity Provider Integration ───────── - -enum AnomalySeverity { - low - medium - high - critical -} - -enum CircuitBreakerStatus { - tripped - monitoring - recovered -} - -model PriceAnomalyLog { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - poolId String @map("pool_id") - tokenPair String @map("token_pair") - executionPrice Decimal @map("execution_price") @db.Decimal(30, 18) - referencePrice Decimal @map("reference_price") @db.Decimal(30, 18) - deviationPct Float @map("deviation_pct") - txHash String? @map("tx_hash") - severity AnomalySeverity @default(medium) - detectedAt DateTime @default(now()) @map("detected_at") - metadata Json? - - @@index([tenantId, detectedAt]) - @@index([poolId, detectedAt]) - @@index([severity]) - @@index([detectedAt]) - @@map("price_anomaly_logs") -} - -model CircuitBreakerEvent { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - poolId String @map("pool_id") - eventType String @map("event_type") // price_deviation, repeated_attack, manual - status CircuitBreakerStatus @default(monitoring) - triggeredAt DateTime @default(now()) @map("triggered_at") - recoveredAt DateTime? @map("recovered_at") - anomalyCount Int @default(0) @map("anomaly_count") - thresholdConfig Json? @map("threshold_config") - metadata Json? - - @@index([tenantId, poolId]) - @@index([status]) - @@index([tenantId, status]) - @@index([triggeredAt]) - @@map("circuit_breaker_events") -} - -// ─── Issue #467: Bulk Payment CSV Upload ───────────────────────────────────── - -enum BulkUploadStatus { - pending - validating - processing - completed - partially_completed - failed -} - -model BulkUpload { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - userId String? @map("user_id") - fileName String @map("file_name") - fileSize Int @map("file_size") - mimeType String @map("mime_type") - totalRows Int @default(0) @map("total_rows") - validRows Int @default(0) @map("valid_rows") - errorRows Int @default(0) @map("error_rows") - processedRows Int @default(0) @map("processed_rows") - failedRows Int @default(0) @map("failed_rows") - columnMapping Json? @map("column_mapping") - status BulkUploadStatus @default(pending) - errorReportUrl String? @map("error_report_url") - completedAt DateTime? @map("completed_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - rows BulkUploadRow[] - - @@index([tenantId, createdAt]) - @@index([status]) - @@index([tenantId, status]) - @@map("bulk_uploads") -} - -enum BulkUploadRowStatus { - pending - valid - invalid - processing - completed - failed -} - -model BulkUploadRow { - id String @id @default(uuid()) - bulkUploadId String @map("bulk_upload_id") - rowNumber Int @map("row_number") - rawData Json? - parsedData Json? - status BulkUploadRowStatus @default(pending) - errors Json? - warnings Json? - paymentId String? @map("payment_id") - processedAt DateTime? @map("processed_at") - createdAt DateTime @default(now()) @map("created_at") - - bulkUpload BulkUpload @relation(fields: [bulkUploadId], references: [id], onDelete: Cascade) - - @@index([bulkUploadId]) - @@index([status]) - @@index([bulkUploadId, status]) - @@map("bulk_upload_rows") -} - -// ─── Issue #468: Dynamic Fee Calculation Engine with Tiered Pricing ────────── - -enum FeeScheduleStatus { - active - inactive - pending -} - -enum FeeType { - flat - percentage - tiered -} - -model FeeSchedule { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - name String - description String? - feeType FeeType @default(percentage) @map("fee_type") - flatFee Decimal? @map("flat_fee") @db.Decimal(20, 8) - percentageFee Decimal? @map("percentage_fee") @db.Decimal(8, 4) - minFee Decimal? @map("min_fee") @db.Decimal(20, 8) - maxFee Decimal? @map("max_fee") @db.Decimal(20, 8) - gasSurchargePct Decimal? @map("gas_surcharge_pct") @db.Decimal(8, 4) - gasThresholdGwei Float? @map("gas_threshold_gwei") - status FeeScheduleStatus @default(active) - effectiveFrom DateTime @default(now()) @map("effective_from") - effectiveTo DateTime? @map("effective_to") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - volumeTiers VolumeTier[] - merchantOverrides MerchantFeeOverride[] - changeLogs FeeChangeLog[] - - @@index([tenantId, status]) - @@index([tenantId, effectiveFrom, effectiveTo]) - @@map("fee_schedules") -} - -model VolumeTier { - id String @id @default(uuid()) - feeScheduleId String @map("fee_schedule_id") - minVolume Decimal @map("min_volume") @db.Decimal(20, 8) - maxVolume Decimal? @map("max_volume") @db.Decimal(20, 8) - flatFee Decimal? @map("flat_fee") @db.Decimal(20, 8) - percentageFee Decimal @map("percentage_fee") @db.Decimal(8, 4) - createdAt DateTime @default(now()) @map("created_at") - - feeSchedule FeeSchedule @relation(fields: [feeScheduleId], references: [id], onDelete: Cascade) - - @@unique([feeScheduleId, minVolume]) - @@index([feeScheduleId]) - @@map("volume_tiers") -} - -enum OverrideStatus { - active - expired - pending -} - -model MerchantFeeOverride { - id String @id @default(uuid()) - feeScheduleId String @map("fee_schedule_id") - merchantId String @map("merchant_id") - flatFee Decimal? @map("flat_fee") @db.Decimal(20, 8) - percentageFee Decimal? @map("percentage_fee") @db.Decimal(8, 4) - minFee Decimal? @map("min_fee") @db.Decimal(20, 8) - maxFee Decimal? @map("max_fee") @db.Decimal(20, 8) - status OverrideStatus @default(active) - effectiveFrom DateTime @default(now()) @map("effective_from") - effectiveTo DateTime? @map("effective_to") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - feeSchedule FeeSchedule @relation(fields: [feeScheduleId], references: [id], onDelete: Cascade) - - @@unique([feeScheduleId, merchantId]) - @@index([merchantId]) - @@index([feeScheduleId]) - @@index([merchantId, status]) - @@map("merchant_fee_overrides") -} - -model FeeChangeLog { - id String @id @default(uuid()) - feeScheduleId String @map("fee_schedule_id") - field String - oldValue Json? - newValue Json? - changedBy String? @map("changed_by") - reason String? - createdAt DateTime @default(now()) @map("created_at") - - feeSchedule FeeSchedule @relation(fields: [feeScheduleId], references: [id], onDelete: Cascade) - - @@index([feeScheduleId]) - @@index([createdAt]) - @@map("fee_change_logs") -} - -// ─── Issue #447: Smart Contract Event Indexer ───────────────────────────────── - -enum IndexedEventChain { - stellar - evm -} - -model IndexedEvent { - id String @id @default(uuid()) - dedupKey String @unique @map("dedup_key") // chain:txHash[:logIndex] - chain IndexedEventChain - contractAddress String @map("contract_address") - eventType String @map("event_type") - blockNumber BigInt @map("block_number") - txHash String @map("tx_hash") - timestamp DateTime - payload Json - confirmations Int @default(0) - retentionUntil DateTime @map("retention_until") - createdAt DateTime @default(now()) @map("created_at") - - @@index([chain, contractAddress, eventType]) - @@index([chain, contractAddress, timestamp]) - @@index([eventType]) - @@index([timestamp]) - @@index([retentionUntil]) - @@map("indexed_events") -} - -model WsEventSubscription { - id String @id @default(uuid()) - sessionId String @map("session_id") - contractAddress String? @map("contract_address") - eventType String? @map("event_type") - chain String? - createdAt DateTime @default(now()) @map("created_at") - expiresAt DateTime @map("expires_at") - - @@index([sessionId]) - @@index([expiresAt]) - @@map("ws_event_subscriptions") -} - -// ─── Issue #446: AI Payment Routing Metrics ──────────────────────────────────── - -model RoutingDecision { - id String @id @default(uuid()) - tenantId String? @map("tenant_id") - requestId String @unique @map("request_id") - selectedChain String @map("selected_chain") - fallbackChains String[] @map("fallback_chains") - scoreStellar Float? @map("score_stellar") - scoreEvm Float? @map("score_evm") - featureSnapshot Json @map("feature_snapshot") // gas prices, latencies, success rates at decision time - rationale String? - latencyMs Int? @map("latency_ms") - isManualOverride Boolean @default(false) @map("is_manual_override") - overrideBy String? @map("override_by") - abVariant String? @map("ab_variant") // "static" | "ai" - outcome String? // "success" | "failed" | null (pending) - createdAt DateTime @default(now()) @map("created_at") - - @@index([tenantId, createdAt]) - @@index([selectedChain, createdAt]) - @@index([abVariant]) - @@map("routing_decisions") -} - -model ChainPerformanceMetric { - id String @id @default(uuid()) - chain String - sampleAt DateTime @default(now()) @map("sample_at") - avgGasPrice Float? @map("avg_gas_price") - avgConfirmTimeMs Float? @map("avg_confirm_time_ms") - successRate Float? @map("success_rate") // 0–1 - p50LatencyMs Float? @map("p50_latency_ms") - p99LatencyMs Float? @map("p99_latency_ms") - sampleSize Int @default(0) @map("sample_size") - - @@index([chain, sampleAt]) - @@index([sampleAt]) - @@map("chain_performance_metrics") -} - -// ─── Issue #668: PII Audit ──────────────────────────────────────────────────── - -enum PiiClassificationLevel { - strict - standard - permissive -} - -model PiiAuditLog { - id String @id @default(uuid()) - endpoint String - method String @default("GET") - fieldPath String @map("field_path") // JSON path of detected PII - piiType String @map("pii_type") // email | phone | ssn | crypto_address | api_key - action String @default("redacted") // redacted | masked | allowed - level PiiClassificationLevel @default(standard) - tenantId String? @map("tenant_id") - requestId String? @map("request_id") - createdAt DateTime @default(now()) @map("created_at") - - @@index([endpoint, createdAt]) - @@index([piiType]) - @@index([tenantId, createdAt]) - @@map("pii_audit_logs") -} - -// ─── Chain Reorganization Models ───────────────────────────────────────────── - -model ReorgEvent { - id String @id @default(uuid()) - network String - detectedAt DateTime @default(now()) @map("detected_at") - reorgDepth Int @map("reorg_depth") - safetyThreshold Int @map("safety_threshold") - canonicalBlockHash String @map("canonical_block_hash") - orphanedBlockHash String @map("orphaned_block_hash") - fromBlockNumber Int @map("from_block_number") - toBlockNumber Int @map("to_block_number") - status ReorgEventStatus @default(detected) - resolvedAt DateTime? @map("resolved_at") - metadata Json? - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - affectedTransactions TransactionReorg[] - - @@index([network, detectedAt]) - @@index([status]) - @@index([reorgDepth]) - @@map("reorg_events") -} - -model TransactionReorg { - id String @id @default(uuid()) - reorgEventId String @map("reorg_event_id") - txHash String @map("tx_hash") - paymentId String? @map("payment_id") - network String - status TransactionReorgStatus @default(pending_review) - originalBlock Int? @map("original_block") - reorgDetails Json? @map("reorg_details") - reVerifiedAt DateTime? @map("re_verified_at") - resolvedAt DateTime? @map("resolved_at") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - reorgEvent ReorgEvent @relation(fields: [reorgEventId], references: [id]) - payment Payment? @relation(fields: [paymentId], references: [id]) - - @@index([reorgEventId]) - @@index([txHash]) - @@index([paymentId]) - @@index([status]) - @@index([network, createdAt]) - @@map("transaction_reorgs") -} - - -// ─── Feature Flag System (#476) ────────────────────────────────────────────── - -enum FeatureFlagType { - boolean - string - number - json -} - -enum FeatureFlagStatus { - draft - active - paused - archived -} - -enum TargetingRuleType { - percentage - user_segment - environment - user_attribute - allowlist -} - -enum RolloutScheduleStatus { - pending - active - paused - completed - cancelled -} - -enum ExperimentStatus { - draft - running - paused - completed - aborted -} - -model FeatureFlag { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - key String - name String - description String? - type FeatureFlagType @default(boolean) - defaultValue Json @map("default_value") - status FeatureFlagStatus @default(draft) - environment String @default("all") - ownerEmail String? @map("owner_email") - expiresAt DateTime? @map("expires_at") - metadata Json? - version Int @default(1) - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - archivedAt DateTime? @map("archived_at") - - rules FeatureFlagRule[] - schedules RolloutSchedule[] - experiments Experiment[] - exposures FlagExposure[] - stats FlagUsageStat[] - auditLogs FeatureFlagAuditLog[] - - @@unique([tenantId, key]) - @@index([tenantId, status]) - @@index([environment]) - @@index([status, archivedAt]) - @@map("feature_flags") -} - -model FeatureFlagRule { - id String @id @default(uuid()) - flagId String @map("flag_id") - type TargetingRuleType - priority Int @default(0) - conditions Json - enabled Boolean @default(true) - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - flag FeatureFlag @relation(fields: [flagId], references: [id], onDelete: Cascade) - - @@index([flagId, priority]) - @@index([type]) - @@map("feature_flag_rules") -} - -model UserSegment { - id String @id @default(uuid()) - tenantId String @map("tenant_id") - name String - description String? - conditions Json - matchType String @default("all") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - deletedAt DateTime? @map("deleted_at") - - @@unique([tenantId, name]) - @@index([tenantId]) - @@map("user_segments") -} - -model RolloutSchedule { - id String @id @default(uuid()) - flagId String @map("flag_id") - startPercentage Int @map("start_percentage") - endPercentage Int @map("end_percentage") - currentPercentage Int @default(0) @map("current_percentage") - incrementPercent Int @map("increment_percent") - incrementInterval String - status RolloutScheduleStatus @default(pending) - startedAt DateTime? @map("started_at") - nextIncrementAt DateTime? @map("next_increment_at") - completedAt DateTime? @map("completed_at") - pausedReason String? @map("paused_reason") - createdBy String @map("created_by") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - flag FeatureFlag @relation(fields: [flagId], references: [id], onDelete: Cascade) - - @@index([flagId, status]) - @@index([status, nextIncrementAt]) - @@map("rollout_schedules") -} - -model Experiment { - id String @id @default(uuid()) - flagId String @map("flag_id") - name String - hypothesis String? - status ExperimentStatus @default(draft) - startedAt DateTime? @map("started_at") - endedAt DateTime? @map("ended_at") - primaryMetric String? @map("primary_metric") - createdBy String @map("created_by") - createdAt DateTime @default(now()) @map("created_at") - updatedAt DateTime @updatedAt @map("updated_at") - - flag FeatureFlag @relation(fields: [flagId], references: [id], onDelete: Cascade) - variants ExperimentVariant[] - assignments ExperimentAssignment[] - - @@index([flagId, status]) - @@index([status, startedAt]) - @@map("experiments") -} - -model ExperimentVariant { - id String @id @default(uuid()) - experimentId String @map("experiment_id") - key String - name String - value Json - bucketWeight Int @default(50) @map("bucket_weight") - isControl Boolean @default(false) @map("is_control") - createdAt DateTime @default(now()) @map("created_at") - - experiment Experiment @relation(fields: [experimentId], references: [id], onDelete: Cascade) - assignments ExperimentAssignment[] - - @@unique([experimentId, key]) - @@map("experiment_variants") -} - -model ExperimentAssignment { - id String @id @default(uuid()) - experimentId String @map("experiment_id") - variantId String @map("variant_id") - identifier String - assignedAt DateTime @default(now()) @map("assigned_at") - exposed Boolean @default(false) - firstExposedAt DateTime? @map("first_exposed_at") - - experiment Experiment @relation(fields: [experimentId], references: [id], onDelete: Cascade) - variant ExperimentVariant @relation(fields: [variantId], references: [id], onDelete: Cascade) - - @@unique([experimentId, identifier]) - @@index([variantId]) - @@index([identifier]) - @@map("experiment_assignments") -} - -model FlagExposure { - id String @id @default(uuid()) - flagId String @map("flag_id") - identifier String - value Json - environment String - source String @default("server") - userAgent String? @map("user_agent") - metadata Json? - createdAt DateTime @default(now()) @map("created_at") - - flag FeatureFlag @relation(fields: [flagId], references: [id], onDelete: Cascade) - - @@index([flagId, createdAt]) - @@index([identifier, createdAt]) - @@index([createdAt]) - @@map("flag_exposures") -} - -model FlagUsageStat { - id String @id @default(uuid()) - flagId String @map("flag_id") - windowStart DateTime @map("window_start") - windowDuration String @map("window_duration") - evaluations Int @default(0) - trueCount Int @default(0) @map("true_count") - falseCount Int @default(0) @map("false_count") - uniqueIdentifiers Int @default(0) @map("unique_identifiers") - - flag FeatureFlag @relation(fields: [flagId], references: [id], onDelete: Cascade) - - @@unique([flagId, windowStart, windowDuration]) - @@index([flagId, windowStart]) - @@map("flag_usage_stats") -} - -model FeatureFlagAuditLog { - id String @id @default(uuid()) - flagId String @map("flag_id") - actor String - action String - before Json? - after Json? - metadata Json? - createdAt DateTime @default(now()) @map("created_at") - - flag FeatureFlag @relation(fields: [flagId], references: [id], onDelete: Cascade) - - @@index([flagId, createdAt]) - @@index([actor, createdAt]) - @@map("feature_flag_audit_logs") -} - -// Issue #884: Implement soft delete with archive strategy -// -// Generic cold-storage table for soft-deleted rows that have passed their -// retention window. Stores the full row as JSON so any soft-deletable -// model can be archived without a dedicated table per model, and can be -// restored by replaying the payload back into its source table. -model ArchivedRecord { - id String @id @default(uuid()) - modelName String @map("model_name") - recordId String @map("record_id") - tenantId String? @map("tenant_id") - payload Json - deletedAt DateTime @map("deleted_at") - archivedAt DateTime @default(now()) @map("archived_at") - archivedReason String @default("retention_policy") @map("archived_reason") - - @@unique([modelName, recordId]) - @@index([modelName]) - @@index([deletedAt]) - @@index([tenantId]) - @@map("archived_records") -} diff --git a/backend/scripts/generate-openapi.ts b/backend/scripts/generate-openapi.ts index c1a844d9..d214063d 100644 --- a/backend/scripts/generate-openapi.ts +++ b/backend/scripts/generate-openapi.ts @@ -9,7 +9,6 @@ import path from 'path'; import { fileURLToPath } from 'url'; import { createOpenAPIGenerator } from '../src/lib/openapi-generator.js'; import { registerRoutesFromRegistry } from '../src/lib/openapi-registry.js'; -import { API_OPERATIONS } from '@agenticpay/api-spec'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const BACKEND_ROOT = path.resolve(__dirname, '..'); @@ -57,40 +56,6 @@ async function generateOpenAPISpec(config: GeneratorConfig): Promise { registerRoutesFromRegistry(generator); - for (const operation of API_OPERATIONS) { - generator.registerPath(operation.method, operation.path.replace(/^\/api\/v1/, ''), { - tags: operation.tags, - summary: operation.summary, - deprecated: operation.deprecated, - responses: Object.fromEntries( - Object.keys(operation.responses).map((status) => [ - status, - { - description: status.startsWith('2') ? 'Successful response' : 'Error response', - content: { - 'application/json': { - schema: { type: 'object' }, - }, - }, - }, - ]) - ), - ...(operation.sunset - ? { - parameters: [ - { - name: 'Sunset', - in: 'header', - description: `Endpoint sunset date: ${operation.sunset}`, - required: false, - schema: { type: 'string', format: 'date-time' }, - }, - ], - } - : {}), - }); - } - const specDir = path.join(config.outputDir, 'openapi'); fs.mkdirSync(specDir, { recursive: true }); diff --git a/backend/src/compliance/checks.ts b/backend/src/compliance/checks.ts index fa8170f0..1486eac0 100644 --- a/backend/src/compliance/checks.ts +++ b/backend/src/compliance/checks.ts @@ -1,16 +1,4 @@ -/** - * Compliance Automated Checks — legacy wrapper + new automated engine integration - * - * This file now delegates to the full compliance automation engine for comprehensive checks, - * while maintaining backward compatibility for existing callers. - */ - import { config as getEnvConfig } from '../config/env.js'; -import { - runAutomatedComplianceChecks, - getCheckDefinitions, - ComplianceCheckCategory, -} from './engine.js'; export type ComplianceCheckResult = { id: string; @@ -18,52 +6,15 @@ export type ComplianceCheckResult = { status: 'pass' | 'fail' | 'warn'; details?: Record; checkedAtMs: number; - category?: string; - severity?: string; - remediation?: string; - regulatoryRef?: string; }; -/** - * Run comprehensive automated compliance checks. - * New method — preferred for all automated use. - */ -export async function runComprehensiveChecks( - jurisdiction = 'GLOBAL', - category?: ComplianceCheckCategory, -): Promise<{ - summary: Awaited>; - legacy: ComplianceCheckResult[]; -}> { - const summary = await runAutomatedComplianceChecks(jurisdiction, category); - - // Map to legacy format for compatibility - const legacy: ComplianceCheckResult[] = summary.results.map((r) => ({ - id: r.id, - description: r.description, - status: r.status === 'error' ? 'fail' : (r.status as 'pass' | 'fail' | 'warn'), - details: r.details, - checkedAtMs: r.checkedAtMs, - category: r.category, - severity: r.severity, - remediation: r.remediation, - regulatoryRef: r.regulatoryRef, - })); - - return { summary, legacy }; -} - -/** - * Legacy synchronous checks — maintained for backwards compatibility. - * Enhanced with additional automated validations. - */ export function runComplianceChecks(): ComplianceCheckResult[] { const env = getEnvConfig(); const checkedAtMs = Date.now(); const results: ComplianceCheckResult[] = []; - // Encryption in transit + // Encryption in transit (best-effort): behind a proxy TLS termination is external, so we surface env expectations. results.push({ id: 'encryption_in_transit', description: 'TLS termination enforced at edge / proxy', @@ -73,144 +24,32 @@ export function runComplianceChecks(): ComplianceCheckResult[] { env.NODE_ENV === 'production' ? 'Verify that the deployment terminates TLS and forwards only HTTPS traffic to the app.' : 'Non-production environment.', - automated: true, - severity: 'critical', - remediation: 'Ensure cloud load balancer or reverse proxy enforces TLS 1.2+', - regulatoryRef: 'PCI DSS 4.0 Req 4.1, NIST SP 800-53 SC-8', }, checkedAtMs, - category: 'security', - severity: 'critical', }); - // Backup verification + // Backup verification: this repo includes backup routes/providers; we ensure configuration is present if enabled. results.push({ id: 'backup_configuration', description: 'Backup configuration present when enabled', status: 'warn', details: { - note: 'Backup routes exist, but backup enablement/provider env vars are not standardized yet. Define and validate BACKUP_* env vars for automated verification.', - automated: true, - remediation: 'Configure BACKUP_ENABLED=true, BACKUP_PROVIDER=s3, and validate daily backup success', - regulatoryRef: 'SOC 2 CC A1.2, ISO 27001 A.12.3', + note: + 'Backup routes exist, but backup enablement/provider env vars are not standardized yet. Define and validate BACKUP_* env vars for automated verification.', }, checkedAtMs, - category: 'operational', - severity: 'medium', }); - // Audit logging + // Basic access control logging: audit routes present; enforce that audit feature flag is enabled by config. results.push({ id: 'access_control_logging', description: 'Audit logging available for privileged operations', status: 'pass', details: { - note: 'Use /api/v1/audit/* endpoints to capture and export evidence. Immutable logger active.', - automated: true, - coverage: '100% privileged operations', - remediation: 'Ensure audit middleware enabled', - regulatoryRef: 'SOC 2 CC7.2, PCI DSS Req 10', - }, - checkedAtMs, - category: 'operational', - severity: 'high', - }); - - // KYC verification rate - results.push({ - id: 'kyc_verification_rate', - description: 'KYC verification rate meets minimum threshold (85%)', - status: 'pass', - details: { - rate: 90.0, - threshold: 85, - totalUsers: 12450, - verified: 11203, - automated: true, - remediation: 'Follow up pending KYC cases', - regulatoryRef: 'FinCEN CDD Rule', + note: 'Use /api/v1/audit/* endpoints to capture and export evidence.', }, checkedAtMs, - category: 'kyc', - severity: 'critical', - }); - - // AML flag rate - results.push({ - id: 'aml_flag_rate', - description: 'AML flag rate within acceptable limits (<2%)', - status: 'pass', - details: { - ratePercent: 1.2, - thresholdWarn: 2, - thresholdCritical: 5, - automated: true, - remediation: 'Review AML rules tuning', - regulatoryRef: 'BSA 31 USC 5318', - }, - checkedAtMs, - category: 'aml', - severity: 'critical', - }); - - // Sanctions screening - results.push({ - id: 'sanctions_screening', - description: 'Sanctions screening active and up-to-date', - status: 'pass', - details: { - lists: ['OFAC SDN', 'EU Consolidated', 'UN Sanctions'], - lastUpdated: new Date(Date.now() - 30 * 60 * 1000).toISOString(), - hitsPending: 0, - automated: true, - remediation: 'Immediate OFAC re-screening if hits pending', - regulatoryRef: 'OFAC, EU Restrictive Measures', - }, - checkedAtMs, - category: 'sanctions', - severity: 'critical', - }); - - // GDPR - results.push({ - id: 'gdpr_retention', - description: 'GDPR data retention policies enforced', - status: 'pass', - details: { - overdueDeletions: 0, - scheduledPurge: true, - automated: true, - remediation: 'Purge overdue data per retention schedule', - regulatoryRef: 'GDPR Art 5(1)(e)', - }, - checkedAtMs, - category: 'data_protection', - severity: 'high', - }); - - // Data encryption - results.push({ - id: 'data_encryption_at_rest', - description: 'Database encryption at rest enabled', - status: 'pass', - details: { - encrypted: true, - algorithm: 'AES-256', - automated: true, - remediation: 'Enable DB encryption', - regulatoryRef: 'PCI DSS 3.4, GDPR Art 32', - }, - checkedAtMs, - category: 'security', - severity: 'critical', }); return results; } - -/** - * Get available check definitions (for dashboard) - */ -export function getAvailableChecks(jurisdiction?: string, category?: ComplianceCheckCategory) { - return getCheckDefinitions(jurisdiction, category); -} diff --git a/backend/src/config.js b/backend/src/config.js index 50179cd7..c3fd2ef1 100644 --- a/backend/src/config.js +++ b/backend/src/config.js @@ -3,13 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.config = void 0; var dotenv_1 = require("dotenv"); var zod_1 = require("zod"); -if (dotenv_1.default && dotenv_1.default.config) { - dotenv_1.default.config(); -} else if (dotenv_1.config) { - dotenv_1.config(); -} +dotenv_1.default.config(); var envSchema = zod_1.z.object({ - NODE_ENV: zod_1.z.enum(['development', 'staging', 'production', 'test']).default('development'), + NODE_ENV: zod_1.z.enum(['development', 'staging', 'production']).default('development'), PORT: zod_1.z.string().default('3001'), CORS_ALLOWED_ORIGINS: zod_1.z.string().default('*'), JOBS_ENABLED: zod_1.z.enum(['true', 'false']).default('true'), @@ -20,14 +16,8 @@ var envSchema = zod_1.z.object({ RATE_LIMIT_ENTERPRISE: zod_1.z.string().default('1000'), RATE_LIMIT_WINDOW_MS: zod_1.z.string().default(String(15 * 60 * 1000)), COMPRESSION_THRESHOLD: zod_1.z.string().default('1024'), - DATABASE_URL: zod_1.z.string().default('postgresql://postgres:postgres@localhost:5432/agenticpay'), - PGBOUNCER_ENABLED: zod_1.z.enum(['true', 'false']).default('false'), - DB_POOL_MIN: zod_1.z.string().default('2'), - DB_POOL_MAX: zod_1.z.string().default('10'), - DB_POOL_IDLE_TIMEOUT_MS: zod_1.z.string().default('10000'), - DB_POOL_ACQUIRE_TIMEOUT_MS: zod_1.z.string().default('30000'), - DB_POOL_MAX_USES: zod_1.z.string().default('7500'), - DB_STATEMENT_TIMEOUT_MS: zod_1.z.string().default('30000'), + VAPID_PUBLIC_KEY: zod_1.z.string().default(''), + VAPID_PRIVATE_KEY: zod_1.z.string().default(''), }); var parsed = envSchema.safeParse(process.env); if (!parsed.success) { @@ -64,20 +54,6 @@ exports.config = { compression: { threshold: Number(env.COMPRESSION_THRESHOLD), }, - db: { - url: env.DATABASE_URL, - pgbouncer: { - enabled: env.PGBOUNCER_ENABLED === 'true', - }, - pool: { - min: Number(env.DB_POOL_MIN), - max: Number(env.DB_POOL_MAX), - idleTimeoutMs: Number(env.DB_POOL_IDLE_TIMEOUT_MS), - acquireTimeoutMs: Number(env.DB_POOL_ACQUIRE_TIMEOUT_MS), - maxUses: Number(env.DB_POOL_MAX_USES), - statementTimeoutMs: Number(env.DB_STATEMENT_TIMEOUT_MS), - }, - }, vapidKeys: env.VAPID_PUBLIC_KEY && env.VAPID_PRIVATE_KEY ? { publicKey: env.VAPID_PUBLIC_KEY, privateKey: env.VAPID_PRIVATE_KEY } : null, diff --git a/backend/src/config.ts b/backend/src/config.ts index 85799390..5ab647f8 100644 --- a/backend/src/config.ts +++ b/backend/src/config.ts @@ -1,13 +1,10 @@ import dotenv from 'dotenv'; import { z } from 'zod'; -import { applyEnvironmentFileDefaults } from './config/environments/index.js'; dotenv.config(); -// Apply environment-specific defaults before validation (environment file < process.env) -applyEnvironmentFileDefaults(); const envSchema = z.object({ - NODE_ENV: z.enum(['development', 'staging', 'production', 'test']).default('development'), + NODE_ENV: z.enum(['development', 'staging', 'production']).default('development'), PORT: z.string().default('3001'), CORS_ALLOWED_ORIGINS: z.string().default('*'), JOBS_ENABLED: z.enum(['true', 'false']).default('true'), @@ -18,22 +15,8 @@ const envSchema = z.object({ RATE_LIMIT_ENTERPRISE: z.string().default('1000'), RATE_LIMIT_WINDOW_MS: z.string().default(String(15 * 60 * 1000)), COMPRESSION_THRESHOLD: z.string().default('1024'), - DATABASE_URL: z.string().default('postgresql://postgres:postgres@localhost:5432/agenticpay'), - PGBOUNCER_ENABLED: z.enum(['true', 'false']).default('false'), - DB_POOL_MIN: z.string().default('2'), - DB_POOL_MAX: z.string().default('10'), - DB_POOL_IDLE_TIMEOUT_MS: z.string().default('10000'), - DB_POOL_ACQUIRE_TIMEOUT_MS: z.string().default('30000'), - DB_POOL_MAX_USES: z.string().default('7500'), - DB_STATEMENT_TIMEOUT_MS: z.string().default('30000'), - DB_READ_REPLICA_URLS: z.string().default(''), - DB_REPLICA_MAX_LAG_MS: z.string().default('5000'), - DB_REPLICA_HEALTH_CHECK_INTERVAL_MS: z.string().default('30000'), - DB_REPLICA_FAILOVER_COOLDOWN_MS: z.string().default('15000'), - HSTS_MAX_AGE_SECONDS: z.string().default('31536000'), - PERMISSIONS_POLICY: z - .string() - .default('camera=(), microphone=(), geolocation=(), payment=(), usb=(), magnetometer=(), gyroscope=(), interest-cohort=()'), + VAPID_PUBLIC_KEY: z.string().default(''), + VAPID_PRIVATE_KEY: z.string().default(''), }); const parsed = envSchema.safeParse(process.env); @@ -74,34 +57,9 @@ export const config = { compression: { threshold: Number(env.COMPRESSION_THRESHOLD), }, - db: { - url: env.DATABASE_URL, - pgbouncer: { - enabled: env.PGBOUNCER_ENABLED === 'true', - }, - pool: { - min: Number(env.DB_POOL_MIN), - max: Number(env.DB_POOL_MAX), - idleTimeoutMs: Number(env.DB_POOL_IDLE_TIMEOUT_MS), - acquireTimeoutMs: Number(env.DB_POOL_ACQUIRE_TIMEOUT_MS), - maxUses: Number(env.DB_POOL_MAX_USES), - statementTimeoutMs: Number(env.DB_STATEMENT_TIMEOUT_MS), - }, - replicas: { - urls: env.DB_READ_REPLICA_URLS.split(',').map((url) => url.trim()).filter(Boolean), - maxLagMs: Number(env.DB_REPLICA_MAX_LAG_MS), - healthCheckIntervalMs: Number(env.DB_REPLICA_HEALTH_CHECK_INTERVAL_MS), - failoverCooldownMs: Number(env.DB_REPLICA_FAILOVER_COOLDOWN_MS), - }, - }, - security: { - hsts: { - maxAge: Number(env.HSTS_MAX_AGE_SECONDS), - includeSubDomains: true, - preload: true, - }, - permissionsPolicy: env.PERMISSIONS_POLICY, - }, + vapidKeys: env.VAPID_PUBLIC_KEY && env.VAPID_PRIVATE_KEY + ? { publicKey: env.VAPID_PUBLIC_KEY, privateKey: env.VAPID_PRIVATE_KEY } + : null, } as const; export type Config = typeof config; diff --git a/backend/src/config/__tests__/env.test.ts b/backend/src/config/__tests__/env.test.ts index 1ea782bf..7cc8d39b 100644 --- a/backend/src/config/__tests__/env.test.ts +++ b/backend/src/config/__tests__/env.test.ts @@ -1,13 +1,14 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; -import { validateEnv, config, clearEnvCache } from '../env.js'; +import { validateEnv, config } from '../env.js'; import { z } from 'zod'; describe('Environment Validation', () => { const originalEnv = process.env; beforeEach(() => { + vi.resetModules(); process.env = { ...originalEnv }; - clearEnvCache(); + // Clear the cached config vi.stubGlobal('process', { ...process, exit: vi.fn() as any, @@ -21,9 +22,10 @@ describe('Environment Validation', () => { it('throws and exits when OPENAI_API_KEY is missing', () => { delete process.env.OPENAI_API_KEY; - - // validateEnv calls process.exit(1) and throws in test (mocked exit) - expect(() => validateEnv()).toThrow(); + + // We expect process.exit(1) to be called + validateEnv(); + expect(process.exit).toHaveBeenCalledWith(1); }); @@ -52,17 +54,14 @@ describe('Environment Validation', () => { it('transforms JOBS_ENABLED correctly', () => { process.env.OPENAI_API_KEY = 'test-key'; - + process.env.JOBS_ENABLED = 'false'; - clearEnvCache(); expect(validateEnv().JOBS_ENABLED).toBe(false); process.env.JOBS_ENABLED = 'true'; - clearEnvCache(); expect(validateEnv().JOBS_ENABLED).toBe(true); - + process.env.JOBS_ENABLED = 'any-other-string'; - clearEnvCache(); expect(validateEnv().JOBS_ENABLED).toBe(true); }); }); diff --git a/backend/src/config/database.ts b/backend/src/config/database.ts index 0aeccff2..8203121d 100644 --- a/backend/src/config/database.ts +++ b/backend/src/config/database.ts @@ -5,7 +5,7 @@ * PgBouncer integration, and recommended composite indexes for AgenticPay. */ -import { featureFlags } from "./featureFlags.js"; +import { featureFlags } from './featureFlags.js'; // ── Pool configuration ───────────────────────────────────────────────────────── @@ -25,19 +25,19 @@ function envInt(key: string, fallback: number): number { export function buildPoolConfig(env = process.env.NODE_ENV): PoolConfig { switch (env) { - case "production": + case 'production': return { - max: envInt("DB_POOL_MAX", 50), - min: envInt("DB_POOL_MIN", 5), - acquireTimeoutMs: envInt("DB_ACQUIRE_TIMEOUT_MS", 10_000), - idleTimeoutMs: envInt("DB_IDLE_TIMEOUT_MS", 300_000), - createTimeoutMs: envInt("DB_CREATE_TIMEOUT_MS", 10_000), - maxConnectionAgeMs: envInt("DB_MAX_AGE_MS", 1_800_000), + max: envInt('DB_POOL_MAX', 50), + min: envInt('DB_POOL_MIN', 5), + acquireTimeoutMs: envInt('DB_ACQUIRE_TIMEOUT_MS', 10_000), + idleTimeoutMs: envInt('DB_IDLE_TIMEOUT_MS', 300_000), + createTimeoutMs: envInt('DB_CREATE_TIMEOUT_MS', 10_000), + maxConnectionAgeMs: envInt('DB_MAX_AGE_MS', 1_800_000), }; - case "staging": + case 'staging': return { - max: envInt("DB_POOL_MAX", 20), - min: envInt("DB_POOL_MIN", 2), + max: envInt('DB_POOL_MAX', 20), + min: envInt('DB_POOL_MIN', 2), acquireTimeoutMs: 15_000, idleTimeoutMs: 600_000, createTimeoutMs: 15_000, @@ -45,8 +45,8 @@ export function buildPoolConfig(env = process.env.NODE_ENV): PoolConfig { }; default: return { - max: envInt("DB_POOL_MAX", 10), - min: envInt("DB_POOL_MIN", 1), + max: envInt('DB_POOL_MAX', 10), + min: envInt('DB_POOL_MIN', 1), acquireTimeoutMs: 30_000, idleTimeoutMs: 900_000, createTimeoutMs: 30_000, @@ -55,26 +55,11 @@ export function buildPoolConfig(env = process.env.NODE_ENV): PoolConfig { } } -/** Apply the supported Prisma PostgreSQL pool settings to a connection URL. */ -export function applyPrismaPoolConfig( - databaseUrl: string | undefined, - env = process.env.NODE_ENV, -): string | undefined { - if (!databaseUrl) return undefined; - - const url = new URL(databaseUrl); - const pool = buildPoolConfig(env); - url.searchParams.set('connection_limit', String(pool.max)); - url.searchParams.set('pool_timeout', String(Math.max(1, Math.ceil(pool.acquireTimeoutMs / 1000)))); - url.searchParams.set('connect_timeout', String(Math.max(1, Math.ceil(pool.createTimeoutMs / 1000)))); - return url.toString(); -} - // ── PgBouncer Integration ───────────────────────────────────────────────────── export interface PgBouncerConfig { enabled: boolean; - poolMode: "transaction" | "session" | "statement"; + poolMode: 'transaction' | 'session' | 'statement'; defaultPoolSize: number; maxPoolSize: number; minPoolSize: number; @@ -90,20 +75,20 @@ export interface PgBouncerConfig { } const DEFAULT_PGBOUNCER_CONFIG: PgBouncerConfig = { - enabled: process.env.PGBOUNCER_ENABLED === "true", - poolMode: "transaction", - defaultPoolSize: envInt("PGBOUNCER_DEFAULT_POOL_SIZE", 25), - maxPoolSize: envInt("PGBOUNCER_MAX_POOL_SIZE", 50), - minPoolSize: envInt("PGBOUNCER_MIN_POOL_SIZE", 5), - reservePoolSize: envInt("PGBOUNCER_RESERVE_POOL_SIZE", 5), - reservePoolTimeoutMs: envInt("PGBOUNCER_RESERVE_POOL_TIMEOUT_MS", 5_000), - maxClientConnections: envInt("PGBOUNCER_MAX_CLIENT_CONNECTIONS", 100), - maxPreparedStatements: envInt("PGBOUNCER_MAX_PREPARED_STATEMENTS", 50), - queryTimeoutMs: envInt("PGBOUNCER_QUERY_TIMEOUT_MS", 30_000), - idleTimeoutMs: envInt("PGBOUNCER_IDLE_TIMEOUT_MS", 600_000), - serverLifetimeMs: envInt("PGBOUNCER_SERVER_LIFETIME_MS", 3_600_000), - serverIdleTimeoutMs: envInt("PGBOUNCER_SERVER_IDLE_TIMEOUT_MS", 600_000), - healthCheckIntervalMs: envInt("PGBOUNCER_HEALTH_CHECK_INTERVAL_MS", 30_000), + enabled: process.env.PGBOUNCER_ENABLED === 'true', + poolMode: 'transaction', + defaultPoolSize: envInt('PGBOUNCER_DEFAULT_POOL_SIZE', 25), + maxPoolSize: envInt('PGBOUNCER_MAX_POOL_SIZE', 50), + minPoolSize: envInt('PGBOUNCER_MIN_POOL_SIZE', 5), + reservePoolSize: envInt('PGBOUNCER_RESERVE_POOL_SIZE', 5), + reservePoolTimeoutMs: envInt('PGBOUNCER_RESERVE_POOL_TIMEOUT_MS', 5_000), + maxClientConnections: envInt('PGBOUNCER_MAX_CLIENT_CONNECTIONS', 100), + maxPreparedStatements: envInt('PGBOUNCER_MAX_PREPARED_STATEMENTS', 50), + queryTimeoutMs: envInt('PGBOUNCER_QUERY_TIMEOUT_MS', 30_000), + idleTimeoutMs: envInt('PGBOUNCER_IDLE_TIMEOUT_MS', 600_000), + serverLifetimeMs: envInt('PGBOUNCER_SERVER_LIFETIME_MS', 3_600_000), + serverIdleTimeoutMs: envInt('PGBOUNCER_SERVER_IDLE_TIMEOUT_MS', 600_000), + healthCheckIntervalMs: envInt('PGBOUNCER_HEALTH_CHECK_INTERVAL_MS', 30_000), }; let pgBouncerConfig: PgBouncerConfig = { ...DEFAULT_PGBOUNCER_CONFIG }; @@ -201,8 +186,7 @@ class PoolMetricsCollector { snapshot(): ConnectionPoolMetrics { const averageAcquireTimeMs = this.acquireTimes.length > 0 - ? this.acquireTimes.reduce((sum, t) => sum + t, 0) / - this.acquireTimes.length + ? this.acquireTimes.reduce((sum, t) => sum + t, 0) / this.acquireTimes.length : 0; return { @@ -288,9 +272,7 @@ class ConnectionLeaseManager { const now = Date.now(); for (const [id, lease] of this.leases.entries()) { if (!lease.released && now - lease.acquiredAt > this.leaseTimeoutMs) { - console.warn( - `[PoolLeak] Connection ${id} has been held for ${now - lease.acquiredAt}ms without release`, - ); + console.warn(`[PoolLeak] Connection ${id} has been held for ${now - lease.acquiredAt}ms without release`); poolMetrics.recordLeakDetected(); this.leases.delete(id); } else if (lease.released) { @@ -346,12 +328,10 @@ class PoolExhaustionManager { for (const handler of this.handlers) { try { handler.onExhaustion(); - } catch {} + } catch { } } - console.warn( - `[PoolExhaustion] Pool exhausted, backing off for ${this.backoffMs}ms`, - ); + console.warn(`[PoolExhaustion] Pool exhausted, backing off for ${this.backoffMs}ms`); } notifyRecovery(): void { @@ -361,10 +341,10 @@ class PoolExhaustionManager { for (const handler of this.handlers) { try { handler.onRecovery(); - } catch {} + } catch { } } - console.log("[PoolExhaustion] Pool recovered"); + console.log('[PoolExhaustion] Pool recovered'); } scheduleRecovery(): void { @@ -389,8 +369,7 @@ export const poolExhaustionManager = new PoolExhaustionManager(); // ── Prepared Statement Registry ──────────────────────────────────────────────── export const PREPARED_STATEMENTS = { - getPaymentById: - "SELECT * FROM payments WHERE id = $1 AND tenant_id = $2 LIMIT 1", + getPaymentById: 'SELECT * FROM payments WHERE id = $1 AND tenant_id = $2 LIMIT 1', listPendingPayments: "SELECT id, tx_hash, amount, network FROM payments WHERE status = 'pending' ORDER BY created_at ASC LIMIT $1", upsertGasEstimate: ` @@ -443,10 +422,7 @@ class PreparedStatementManager { } getRegisteredStatements(): Array<{ name: string; sql: string }> { - return Array.from(this.statements.entries()).map(([name, sql]) => ({ - name, - sql, - })); + return Array.from(this.statements.entries()).map(([name, sql]) => ({ name, sql })); } getStatementCount(): number { @@ -455,19 +431,16 @@ class PreparedStatementManager { } export const preparedStatementManager = new PreparedStatementManager( - envInt("PGBOUNCER_MAX_PREPARED_STATEMENTS", 50), + envInt('PGBOUNCER_MAX_PREPARED_STATEMENTS', 50), ); preparedStatementManager.registerDefaults(); // ── Slow query detection ─────────────────────────────────────────────────────── -export const SLOW_QUERY_THRESHOLD_MS = envInt("SLOW_QUERY_THRESHOLD_MS", 500); -export const VERY_SLOW_QUERY_THRESHOLD_MS = envInt( - "VERY_SLOW_QUERY_THRESHOLD_MS", - 2_000, -); +export const SLOW_QUERY_THRESHOLD_MS = envInt('SLOW_QUERY_THRESHOLD_MS', 500); +export const VERY_SLOW_QUERY_THRESHOLD_MS = envInt('VERY_SLOW_QUERY_THRESHOLD_MS', 2_000); -export type SlowQuerySeverity = "warn" | "critical"; +export type SlowQuerySeverity = 'warn' | 'critical'; export interface SlowQueryEvent { sql: string; @@ -488,7 +461,7 @@ export function onSlowQuery(handler: SlowQueryHandler): void { export async function withQueryTimer( sql: string, params: unknown[], - execute: () => Promise, + execute: () => Promise ): Promise { const start = Date.now(); try { @@ -497,7 +470,7 @@ export async function withQueryTimer( const durationMs = Date.now() - start; if (durationMs >= SLOW_QUERY_THRESHOLD_MS) { const severity: SlowQuerySeverity = - durationMs >= VERY_SLOW_QUERY_THRESHOLD_MS ? "critical" : "warn"; + durationMs >= VERY_SLOW_QUERY_THRESHOLD_MS ? 'critical' : 'warn'; const event: SlowQueryEvent = { sql: sql.slice(0, 500), durationMs, @@ -506,19 +479,15 @@ export async function withQueryTimer( timestamp: new Date(), }; for (const handler of slowQueryHandlers) { - try { - handler(event); - } catch {} + try { handler(event); } catch { } } } } } onSlowQuery((event) => { - const label = event.severity === "critical" ? "CRITICAL" : "SLOW"; - console.warn( - `[db] ${label} query ${event.durationMs}ms: ${event.sql.slice(0, 120)}`, - ); + const label = event.severity === 'critical' ? 'CRITICAL' : 'SLOW'; + console.warn(`[db] ${label} query ${event.durationMs}ms: ${event.sql.slice(0, 120)}`); }); // ── Composite index definitions ──────────────────────────────────────────────── @@ -535,344 +504,91 @@ export interface CompositeIndex { export const RECOMMENDED_INDEXES: CompositeIndex[] = [ { - name: "idx_invoices_project_created", - table: "invoices", - columns: ["project_id", "created_at"], - description: "Optimizes listing invoices by project ordered by date", - targetQuery: - "SELECT * FROM invoices WHERE project_id = ? ORDER BY created_at DESC", - }, - { - name: "idx_invoices_tenant_status_due", - table: "invoices", - columns: ["tenant_id", "status", "due_at"], - description: "Optimizes invoice dashboards filtered by tenant, status, and due date", - targetQuery: - "SELECT * FROM invoices WHERE tenant_id = ? AND status = ? ORDER BY due_at ASC", - }, - { - name: "idx_milestones_project_status_order", - table: "milestones", - columns: ["project_id", "status", "order"], - description: "Optimizes project milestone lists and status progress checks", - targetQuery: - "SELECT * FROM milestones WHERE project_id = ? AND status = ? ORDER BY \"order\" ASC", - }, - { - name: "idx_projects_tenant_status_created", - table: "projects", - columns: ["tenant_id", "status", "created_at"], - description: "Optimizes project dashboards filtered by tenant and status", - targetQuery: - "SELECT * FROM projects WHERE tenant_id = ? AND status = ? ORDER BY created_at DESC", + name: 'idx_invoices_project_created', + table: 'invoices', + columns: ['project_id', 'created_at'], + description: 'Optimizes listing invoices by project ordered by date', + targetQuery: 'SELECT * FROM invoices WHERE project_id = ? ORDER BY created_at DESC', }, { - name: "idx_verifications_status_type", - table: "verifications", - columns: ["status", "verification_type"], - description: "Filters verifications by status and type", - targetQuery: - "SELECT * FROM verifications WHERE status = ? AND verification_type = ?", + name: 'idx_verifications_status_type', + table: 'verifications', + columns: ['status', 'verification_type'], + description: 'Filters verifications by status and type', + targetQuery: 'SELECT * FROM verifications WHERE status = ? AND verification_type = ?', }, { - name: "idx_transactions_account_ledger", - table: "transactions", - columns: ["account_id", "ledger_seq"], - description: - "Looks up transactions for an account sorted by ledger sequence", - targetQuery: - "SELECT * FROM transactions WHERE account_id = ? ORDER BY ledger_seq DESC", + name: 'idx_transactions_account_ledger', + table: 'transactions', + columns: ['account_id', 'ledger_seq'], + description: 'Looks up transactions for an account sorted by ledger sequence', + targetQuery: 'SELECT * FROM transactions WHERE account_id = ? ORDER BY ledger_seq DESC', }, { - name: "idx_payments_tenant_status_created", - table: "payments", - columns: ["tenant_id", "status", "created_at"], - description: "Finds payments by tenant and status ordered by creation time", - targetQuery: "SELECT * FROM payments WHERE tenant_id = ? AND status = ? ORDER BY created_at DESC", + name: 'idx_payments_recipient_status', + table: 'payments', + columns: ['recipient', 'status'], + description: 'Finds pending payments for a recipient', + targetQuery: 'SELECT * FROM payments WHERE recipient = ? AND status = ?', }, { - name: "idx_payments_created_status", - table: "payments", - columns: ["created_at", "status"], - description: "Oldest pending payments for processing", - targetQuery: - "SELECT * FROM payments WHERE status = ? ORDER BY created_at ASC LIMIT ?", + name: 'idx_payments_created_status', + table: 'payments', + columns: ['created_at', 'status'], + description: 'Oldest pending payments for processing', + targetQuery: 'SELECT * FROM payments WHERE status = ? ORDER BY created_at ASC LIMIT ?', }, { - name: "idx_payments_tx_hash", - table: "payments", - columns: ["tx_hash"], + name: 'idx_payments_tx_hash', + table: 'payments', + columns: ['tx_hash'], unique: true, - description: "Idempotency and on-chain lookup by transaction hash", - targetQuery: "SELECT * FROM payments WHERE tx_hash = ?", + description: 'Idempotency and on-chain lookup by transaction hash', + targetQuery: 'SELECT * FROM payments WHERE tx_hash = ?', }, { - name: "idx_sessions_user_expires", - table: "sessions", - columns: ["user_id", "expires_at"], - description: "Finds active sessions for a user", - targetQuery: "SELECT * FROM sessions WHERE user_id = ? AND expires_at > ?", + name: 'idx_sessions_user_expires', + table: 'sessions', + columns: ['user_id', 'expires_at'], + description: 'Finds active sessions for a user', + targetQuery: 'SELECT * FROM sessions WHERE user_id = ? AND expires_at > ?', }, { - name: "idx_refunds_invoice_created", - table: "refunds", - columns: ["invoice_id", "created_at"], - description: "Lists refunds for an invoice ordered by date", - targetQuery: - "SELECT * FROM refunds WHERE invoice_id = ? ORDER BY created_at DESC", + name: 'idx_refunds_invoice_created', + table: 'refunds', + columns: ['invoice_id', 'created_at'], + description: 'Lists refunds for an invoice ordered by date', + targetQuery: 'SELECT * FROM refunds WHERE invoice_id = ? ORDER BY created_at DESC', }, { - name: "idx_users_tenant_email", - table: "users", - columns: ["tenant_id", "email"], + name: 'idx_users_tenant_email', + table: 'users', + columns: ['tenant_id', 'email'], unique: true, - description: "Login and uniqueness constraint per tenant", - targetQuery: "SELECT * FROM users WHERE tenant_id = ? AND email = ?", + description: 'Login and uniqueness constraint per tenant', + targetQuery: 'SELECT * FROM users WHERE tenant_id = ? AND email = ?', }, { - name: "idx_audit_logs_entity_created", - table: "audit_logs", - columns: ["entity_id", "created_at"], - description: "Audit trail queries per resource ordered by time", - targetQuery: - "SELECT * FROM audit_logs WHERE entity_id = ? ORDER BY created_at DESC", + name: 'idx_audit_logs_entity_created', + table: 'audit_logs', + columns: ['entity_id', 'created_at'], + description: 'Audit trail queries per resource ordered by time', + targetQuery: 'SELECT * FROM audit_logs WHERE entity_id = ? ORDER BY created_at DESC', }, { - name: "idx_gas_estimates_network_recorded", - table: "gas_estimates", - columns: ["network", "recorded_at"], - description: "Gas analytics aggregation by network and time window", - targetQuery: - "SELECT * FROM gas_estimates WHERE network = ? ORDER BY recorded_at DESC", + name: 'idx_gas_estimates_network_recorded', + table: 'gas_estimates', + columns: ['network', 'recorded_at'], + description: 'Gas analytics aggregation by network and time window', + targetQuery: 'SELECT * FROM gas_estimates WHERE network = ? ORDER BY recorded_at DESC', }, ]; export function getRecommendedIndexes(): CompositeIndex[] { - if (!featureFlags.evaluate("db-composite-indexes")) return []; + if (!featureFlags.evaluate('db-composite-indexes')) return []; return RECOMMENDED_INDEXES; } -// ── Index Recommendation Engine ────────────────────────────────────────────── -// Analyses pg_stat_user_indexes and pg_stat_all_tables to detect unused, -// missing, or redundant indexes. Hooked into the query logger middleware -// and exposed via GET /api/v1/database/index-recommendations. - -export interface IndexUsageStat { - indexName: string; - table: string; - columns: string; - unique: boolean; - idxScan: number; - idxTupRead: number; - idxTupFetch: number; - sizeBytes: number; - lastUsed: string | null; -} - -export interface TableScanStat { - table: string; - seqScan: number; - seqTupRead: number; - estimatedRows: number; -} - -export interface IndexRecommendation { - type: "missing" | "unused" | "redundant" | "composite"; - table: string; - columns: string[]; - reason: string; - estimatedImpact: string; - ddl: string; -} - -class IndexRecommendationEngine { - async getIndexUsageStats(): Promise { - try { - const { PrismaClient } = await import("@prisma/client"); - const prisma = new PrismaClient(); - const stats = await prisma.$queryRawUnsafe(` - SELECT - i.relname AS "indexName", - t.relname AS "table", - pg_get_indexdef(i.oid) AS columns, - ix.indisunique AS unique, - COALESCE(s.idx_scan, 0) AS "idxScan", - COALESCE(s.idx_tup_read, 0) AS "idxTupRead", - COALESCE(s.idx_tup_fetch, 0) AS "idxTupFetch", - pg_relation_size(i.oid) AS "sizeBytes", - NULL::text AS "lastUsed" - FROM pg_index ix - JOIN pg_class i ON ix.indexrelid = i.oid - JOIN pg_class t ON ix.indrelid = t.oid - LEFT JOIN pg_stat_user_indexes s ON i.oid = s.indexrelid - WHERE t.relkind = 'r' - AND t.relnamespace NOT IN ('pg_catalog'::regnamespace, 'information_schema'::regnamespace) - ORDER BY s.idx_scan ASC NULLS FIRST - `); - await prisma.$disconnect(); - return stats; - } catch { - return []; - } - } - - async getTableScanStats(): Promise { - try { - const { PrismaClient } = await import("@prisma/client"); - const prisma = new PrismaClient(); - const stats = await prisma.$queryRawUnsafe(` - SELECT - relname AS "table", - COALESCE(seq_scan, 0) AS "seqScan", - COALESCE(seq_tup_read, 0) AS "seqTupRead", - COALESCE(n_live_tup, 0) AS "estimatedRows" - FROM pg_stat_user_tables - ORDER BY seq_scan DESC - `); - await prisma.$disconnect(); - return stats; - } catch { - return []; - } - } - - async recommendIndexes(): Promise { - const recommendations: IndexRecommendation[] = []; - const indexStats = await this.getIndexUsageStats(); - const tableStats = await this.getTableScanStats(); - - // 1. Detect unused indexes - for (const idx of indexStats) { - if (idx.idxScan === 0 && idx.sizeBytes > 0) { - recommendations.push({ - type: "unused", - table: idx.table, - columns: [idx.indexName], - reason: `Index ${idx.indexName} on ${idx.table} has never been scanned but uses ${(idx.sizeBytes / 1024).toFixed(0)} KB`, - estimatedImpact: `Save ${(idx.sizeBytes / 1024).toFixed(0)} KB by dropping`, - ddl: `DROP INDEX CONCURRENTLY IF EXISTS ${idx.indexName};`, - }); - } - } - - // 2. Detect tables with high seq_scan (potential missing indexes) - for (const tbl of tableStats) { - if (tbl.seqScan > 100 && tbl.estimatedRows > 1000) { - const matchedIndex = indexStats.find((i) => i.table === tbl.table && i.idxScan > 0); - if (!matchedIndex) { - recommendations.push({ - type: "missing", - table: tbl.table, - columns: [], - reason: `Table ${tbl.table} has ${tbl.seqScan} sequential scans on ${tbl.estimatedRows.toLocaleString()} rows — consider adding indexes on filter/join columns`, - estimatedImpact: "High — sequential scans on large table", - ddl: `-- Run EXPLAIN on hot queries against ${tbl.table} to identify columns`, - }); - } - } - } - - // 3. Recommend composite indexes from RECOMMENDED_INDEXES that don't exist - for (const idx of RECOMMENDED_INDEXES) { - const exists = indexStats.some( - (s) => s.table === idx.table && idx.columns.every((c) => s.columns.includes(c)), - ); - if (!exists) { - const unique = idx.unique ? " UNIQUE" : ""; - const cols = idx.columns.join(", "); - recommendations.push({ - type: "composite", - table: idx.table, - columns: idx.columns, - reason: idx.description, - estimatedImpact: "Medium — optimises query pattern", - ddl: `CREATE${unique} INDEX CONCURRENTLY ${idx.name} ON "${idx.table}" (${cols});`, - }); - } - } - - return recommendations; - } - - async getQueryPlans(): Promise> { - const slowQueries = queryProfiler.getTopSlowQueries(10); - const plans: Array<{ query: string; plan: unknown; durationMs: number }> = []; - - for (const q of slowQueries) { - if (!/^\s*(select|with)\b/i.test(q.query)) { - plans.push({ query: q.query, plan: { skipped: "Only SELECT/CTE queries are eligible for EXPLAIN ANALYZE" }, durationMs: q.durationMs }); - continue; - } - try { - const { PrismaClient } = await import("@prisma/client"); - const prisma = new PrismaClient(); - const result = await prisma.$queryRawUnsafe( - `EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON) ${q.query}`, - ); - plans.push({ query: q.query, plan: result, durationMs: q.durationMs }); - await prisma.$disconnect(); - } catch { - plans.push({ query: q.query, plan: { error: "EXPLAIN failed" }, durationMs: q.durationMs }); - } - } - return plans; - } -} - -export const indexRecommendationEngine = new IndexRecommendationEngine(); - -// ── Database performance alerts ────────────────────────────────────────────── - -export interface DbAlert { - type: "high_seq_scan" | "unused_index" | "pool_exhaustion" | "query_performance"; - severity: "info" | "warn" | "critical"; - message: string; - timestamp: string; - details?: Record; -} - -class DbAlertManager { - private alerts: DbAlert[] = []; - private maxAlerts = 100; - - addAlert(alert: Omit): void { - this.alerts.push({ ...alert, timestamp: new Date().toISOString() }); - if (this.alerts.length > this.maxAlerts) this.alerts.shift(); - } - - getAlerts(severity?: DbAlert["severity"]): DbAlert[] { - if (severity) return this.alerts.filter((a) => a.severity === severity); - return [...this.alerts]; - } - - async checkAndAlert(): Promise { - try { - const tableStats = await indexRecommendationEngine.getTableScanStats(); - for (const tbl of tableStats) { - if (tbl.seqScan > 1000 && tbl.estimatedRows > 10000) { - this.addAlert({ - type: "high_seq_scan", - severity: "warn", - message: `High sequential scans on ${tbl.table}: ${tbl.seqScan} scans on ${tbl.estimatedRows.toLocaleString()} rows`, - details: { table: tbl.table, seqScan: tbl.seqScan, rows: tbl.estimatedRows }, - }); - } - } - } catch { - // alert check is best-effort - } - } -} - -export const dbAlertManager = new DbAlertManager(); - -// Periodic health check (every 5 minutes) -if (typeof setInterval !== "undefined") { - setInterval(() => { - void dbAlertManager.checkAndAlert(); - }, 300_000); -} - // ── Read replica routing ─────────────────────────────────────────────────────── export interface ReplicaConfig { @@ -881,325 +597,30 @@ export interface ReplicaConfig { database: string; user: string; password: string; - enabled: boolean; - maxLag: number; } export function buildReplicaConfigs(): ReplicaConfig[] { - const replicaUrls = (process.env.DB_READ_REPLICA_URLS ?? "") - .split(",") + const replicaUrls = (process.env.DB_READ_REPLICA_URLS ?? '') + .split(',') .map((s) => s.trim()) .filter(Boolean); - const maxLag = envInt("DB_REPLICA_MAX_LAG_MS", 5000); - return replicaUrls.map((url) => { const parsed = new URL(url); return { host: parsed.hostname, port: Number(parsed.port) || 5432, - database: parsed.pathname.replace(/^\//, ""), + database: parsed.pathname.replace(/^\//, ''), user: parsed.username, password: parsed.password, - enabled: true, - maxLag, }; }); } -export function buildReplicaUrls(): string[] { - return (process.env.DB_READ_REPLICA_URLS ?? "") - .split(",") - .map((s) => s.trim()) - .filter(Boolean); -} - -/** - * Returns true for queries that are safe to run on a read replica. - * Matches SELECT statements and CTEs (WITH …). - */ export function isReadQuery(sql: string): boolean { return /^\s*(SELECT|WITH\s)/i.test(sql); } -export type ReplicaHealth = "healthy" | "lagging" | "unhealthy"; - -export interface ReadReplicaTarget { - url: string; - health: ReplicaHealth; - lagMs: number; - lastCheckedAt: number; - /** Consecutive health-check failures since last healthy state. */ - failureCount: number; - /** True when explicitly disabled by an operator. */ - disabled: boolean; - /** Epoch ms when the replica entered failover cooldown (0 = not in cooldown). */ - cooldownUntil: number; -} - -export interface ReplicaSelection { - url: string; - source: "primary" | "replica"; - reason: "write_query" | "no_replicas" | "healthy_replica" | "replica_unavailable"; -} - -export interface ReadReplicaRouterOptions { - /** Reject replicas with lag > this value. Default: DB_REPLICA_MAX_LAG_MS or 5000. */ - maxLagMs?: number; - /** How often (ms) to fire background health checks. Default: DB_REPLICA_HEALTH_CHECK_INTERVAL_MS or 30 000. */ - healthCheckIntervalMs?: number; - /** How long (ms) a failed replica stays in cooldown before re-admission. Default: DB_REPLICA_FAILOVER_COOLDOWN_MS or 15 000. */ - failoverCooldownMs?: number; - /** Enable session-stickiness: once a session reads from a replica, pin it there. */ - enableStickiness?: boolean; - /** - * Optional async function that checks a replica URL and returns its - * replication lag in milliseconds. If it throws, the replica is marked - * unhealthy. Defaults to a no-op that always returns 0 (useful in tests; - * in production wire a real pg query). - */ - lagProbe?: (url: string) => Promise; -} - -/** - * ReadReplicaRouter — Issue #881 - * - * Lightweight, dependency-free router that: - * - classifies SQL as read vs write - * - round-robins across healthy replicas for reads - * - fails over to primary when all replicas are unavailable or lagging - * - polls replica lag on a configurable interval in the background - * - enforces a failover cooldown before re-admitting a flapping replica - * - supports per-session stickiness (once a session picks a replica, it - * stays on that replica until the replica becomes unhealthy) - * - lets operators disable/enable individual replicas at runtime - */ -export class ReadReplicaRouter { - private replicas: ReadReplicaTarget[]; - private nextReplicaIndex = 0; - - private readonly maxLagMs: number; - private readonly healthCheckIntervalMs: number; - private readonly failoverCooldownMs: number; - private readonly enableStickiness: boolean; - private readonly lagProbe: (url: string) => Promise; - - /** sessionId → replica URL */ - private readonly stickyMap = new Map(); - - private healthCheckTimer: ReturnType | null = null; - - constructor( - replicaUrls: string[] = buildReplicaUrls(), - readonly primaryUrl: string = process.env.DATABASE_URL ?? "", - maxLagMs?: number, - options: ReadReplicaRouterOptions = {}, - ) { - // Accept the legacy positional-third-arg signature used in existing tests, - // but also support the new options bag. - this.maxLagMs = maxLagMs - ?? options.maxLagMs - ?? envInt("DB_REPLICA_MAX_LAG_MS", 5000); - - this.healthCheckIntervalMs = - options.healthCheckIntervalMs - ?? envInt("DB_REPLICA_HEALTH_CHECK_INTERVAL_MS", 30_000); - - this.failoverCooldownMs = - options.failoverCooldownMs - ?? envInt("DB_REPLICA_FAILOVER_COOLDOWN_MS", 15_000); - - this.enableStickiness = options.enableStickiness ?? true; - - // Default probe: always healthy (0 ms lag). In production, inject a - // real pg probe via PrismaReplicaClient.startHealthChecks(). - this.lagProbe = options.lagProbe ?? (() => Promise.resolve(0)); - - this.replicas = replicaUrls.map((url) => ({ - url, - health: "healthy" as ReplicaHealth, - lagMs: 0, - lastCheckedAt: 0, - failureCount: 0, - disabled: false, - cooldownUntil: 0, - })); - } - - // ── Query routing ─────────────────────────────────────────────────────────── - - /** - * Choose the target URL for a given SQL statement. - * - * @param sql The raw SQL (or Prisma action name if using Prisma middleware). - * @param sessionId Optional session identifier for stickiness. - */ - select(sql: string, sessionId?: string): ReplicaSelection { - if (!isReadQuery(sql)) { - return { url: this.primaryUrl, source: "primary", reason: "write_query" }; - } - - if (this.replicas.length === 0) { - return { url: this.primaryUrl, source: "primary", reason: "no_replicas" }; - } - - // Session stickiness: if this session already pinned a healthy replica, reuse it. - if (sessionId && this.enableStickiness) { - const pinned = this.stickyMap.get(sessionId); - if (pinned) { - const target = this.replicas.find((r) => r.url === pinned); - if (target && this.isEligible(target)) { - return { url: pinned, source: "replica", reason: "healthy_replica" }; - } - // Pinned replica is no longer healthy — release the sticky binding. - this.stickyMap.delete(sessionId); - } - } - - const eligible = this.replicas.filter((r) => this.isEligible(r)); - - if (eligible.length === 0) { - return { url: this.primaryUrl, source: "primary", reason: "replica_unavailable" }; - } - - // Round-robin across eligible replicas. - const replica = eligible[this.nextReplicaIndex % eligible.length]!; - this.nextReplicaIndex = (this.nextReplicaIndex + 1) % eligible.length; - - if (sessionId && this.enableStickiness) { - this.stickyMap.set(sessionId, replica.url); - } - - return { url: replica.url, source: "replica", reason: "healthy_replica" }; - } - - // ── Health management ─────────────────────────────────────────────────────── - - /** - * Apply a health update from an external caller (e.g. the Prisma middleware - * after a failed query, or a dedicated health-check job). - */ - updateHealth( - url: string, - params: { healthy: boolean; lagMs?: number; checkedAt?: number }, - ): void { - const replica = this.replicas.find((r) => r.url === url); - if (!replica) return; - - replica.lagMs = params.lagMs ?? replica.lagMs; - replica.lastCheckedAt = params.checkedAt ?? Date.now(); - - if (!params.healthy) { - replica.health = "unhealthy"; - replica.failureCount += 1; - // Enter failover cooldown on first failure. - if (replica.cooldownUntil === 0) { - replica.cooldownUntil = Date.now() + this.failoverCooldownMs; - } - } else if (replica.lagMs > this.maxLagMs) { - replica.health = "lagging"; - replica.failureCount += 1; - } else { - replica.health = "healthy"; - replica.failureCount = 0; - replica.cooldownUntil = 0; - } - } - - /** Administratively disable a replica (excludes it from routing). */ - disableReplica(url: string): void { - const replica = this.replicas.find((r) => r.url === url); - if (replica) { - replica.disabled = true; - } - } - - /** Re-enable a previously disabled replica. */ - enableReplica(url: string): void { - const replica = this.replicas.find((r) => r.url === url); - if (replica) { - replica.disabled = false; - replica.failureCount = 0; - replica.cooldownUntil = 0; - } - } - - // ── Background health checks ──────────────────────────────────────────────── - - /** - * Start the background polling loop. Safe to call multiple times — only - * one timer is ever active. - */ - startHealthChecks(): void { - if (this.healthCheckTimer !== null) return; - if (this.replicas.length === 0) return; - - this.healthCheckTimer = setInterval(() => { - void this.runHealthCheckCycle(); - }, this.healthCheckIntervalMs); - - // Don't keep the Node.js process alive solely for health checks. - if (typeof this.healthCheckTimer === "object" && this.healthCheckTimer !== null) { - (this.healthCheckTimer as NodeJS.Timeout).unref?.(); - } - } - - /** Stop the background polling loop (call during graceful shutdown). */ - stopHealthChecks(): void { - if (this.healthCheckTimer !== null) { - clearInterval(this.healthCheckTimer); - this.healthCheckTimer = null; - } - } - - /** Run one round of health checks across all replicas. Exposed for testing. */ - async runHealthCheckCycle(): Promise { - const now = Date.now(); - - await Promise.allSettled( - this.replicas.map(async (replica) => { - // Lift cooldown once the window has passed. - if (replica.cooldownUntil > 0 && now >= replica.cooldownUntil) { - replica.cooldownUntil = 0; - } - - if (replica.disabled) return; - - try { - const lagMs = await this.lagProbe(replica.url); - // Pass healthy=true so that updateHealth can decide whether the - // replica is "healthy" or "lagging" based on the lagMs value. - this.updateHealth(replica.url, { healthy: true, lagMs, checkedAt: now }); - } catch { - this.updateHealth(replica.url, { healthy: false, checkedAt: now }); - } - }), - ); - } - - // ── Observation ───────────────────────────────────────────────────────────── - - /** Return a copy of the current replica state (safe to serialise). */ - snapshot(): ReadReplicaTarget[] { - return this.replicas.map((r) => ({ ...r })); - } - - /** Number of sessions currently pinned to a specific replica. */ - stickySessions(): Map { - return new Map(this.stickyMap); - } - - // ── Private helpers ───────────────────────────────────────────────────────── - - private isEligible(r: ReadReplicaTarget): boolean { - if (r.disabled) return false; - if (Date.now() < r.cooldownUntil) return false; - return r.health === "healthy"; - } -} - -export const readReplicaRouter = new ReadReplicaRouter(); - // ── Query Profiler ──────────────────────────────────────────────────────────── export interface QueryProfile { @@ -1231,7 +652,7 @@ class QueryProfiler { } isEnabled(): boolean { - return featureFlags.evaluate("db-query-profiling"); + return featureFlags.evaluate('db-query-profiling'); } profile(query: string, source: string, fn: () => Promise): Promise { @@ -1240,70 +661,47 @@ class QueryProfiler { const start = Date.now(); return fn().then((result) => { const durationMs = Date.now() - start; - const profile: QueryProfile = { - query, - durationMs, - timestamp: new Date().toISOString(), - source, - }; + const profile: QueryProfile = { query, durationMs, timestamp: new Date().toISOString(), source }; this.allQueries.push(profile); if (this.allQueries.length > this.maxAllQueries) this.allQueries.shift(); if (durationMs > this.slowThresholdMs) { - console.warn( - `[QueryProfiler] SLOW QUERY (${durationMs.toFixed(0)}ms) [${source}]: ${query.substring(0, 200)}`, - ); + console.warn(`[QueryProfiler] SLOW QUERY (${durationMs.toFixed(0)}ms) [${source}]: ${query.substring(0, 200)}`); this.slowQueries.push(profile); - if (this.slowQueries.length > this.maxSlowQueries) - this.slowQueries.shift(); + if (this.slowQueries.length > this.maxSlowQueries) this.slowQueries.shift(); } return result; }); } - detectNPlusOne( - source: string, - parentFn: () => Promise, - ): Promise { + detectNPlusOne(source: string, parentFn: () => Promise): Promise { if (!this.isEnabled()) return parentFn(); - const originalQuery = - this.allQueries[this.allQueries.length - 1]?.query || "unknown"; + const originalQuery = this.allQueries[this.allQueries.length - 1]?.query || 'unknown'; return parentFn().then((results) => { const total = this.allQueries.length; if (total > 10 && results.length > 1) { - console.warn( - `[QueryProfiler] N+1 DETECTED [${source}]: ${total} queries for ${results.length} results`, - ); + console.warn(`[QueryProfiler] N+1 DETECTED [${source}]: ${total} queries for ${results.length} results`); console.warn(` Parent: ${originalQuery.substring(0, 150)}`); } return results; }); } - getSlowQueries(): QueryProfile[] { - return [...this.slowQueries]; - } + getSlowQueries(): QueryProfile[] { return [...this.slowQueries]; } getTopSlowQueries(n = 10): QueryProfile[] { - return [...this.slowQueries] - .sort((a, b) => b.durationMs - a.durationMs) - .slice(0, n); + return [...this.slowQueries].sort((a, b) => b.durationMs - a.durationMs).slice(0, n); } - getAllQueries(): QueryProfile[] { - return [...this.allQueries]; - } + getAllQueries(): QueryProfile[] { return [...this.allQueries]; } getStats() { const total = this.allQueries.length; const slow = this.slowQueries.length; - const avgDuration = - total > 0 - ? this.allQueries.reduce((sum, q) => sum + q.durationMs, 0) / total - : 0; + const avgDuration = total > 0 ? this.allQueries.reduce((sum, q) => sum + q.durationMs, 0) / total : 0; return { totalQueries: total, slowQueries: slow, @@ -1316,9 +714,7 @@ class QueryProfiler { private calculatePercentile(pct: number): number { if (this.allQueries.length === 0) return 0; - const sorted = [...this.allQueries].sort( - (a, b) => a.durationMs - b.durationMs, - ); + const sorted = [...this.allQueries].sort((a, b) => a.durationMs - b.durationMs); const idx = Math.ceil((pct / 100) * sorted.length) - 1; return sorted[Math.max(0, idx)].durationMs; } diff --git a/backend/src/config/env.js b/backend/src/config/env.js new file mode 100644 index 00000000..909cf0a1 --- /dev/null +++ b/backend/src/config/env.js @@ -0,0 +1,54 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.config = exports.validateEnv = void 0; +var zod_1 = require("zod"); +var dotenv_1 = require("dotenv"); +dotenv_1.default.config(); +var envSchema = zod_1.z.object({ + NODE_ENV: zod_1.z.enum(['development', 'test', 'production']).default('development'), + PORT: zod_1.z.coerce.number().default(3001), + CORS_ALLOWED_ORIGINS: zod_1.z.string().default('*'), + STELLAR_NETWORK: zod_1.z.enum(['testnet', 'public']).default('testnet'), + OPENAI_API_KEY: zod_1.z.string({ + required_error: 'OPENAI_API_KEY is required for verification and invoicing services', + }).min(1, 'OPENAI_API_KEY cannot be empty'), + JOBS_ENABLED: zod_1.z.coerce.string().transform(function (val) { return val !== 'false'; }).default('true'), + QUEUE_ENABLED: zod_1.z.coerce.string().transform(function (val) { return val !== 'false'; }).default('true'), + RATE_LIMIT_FREE: zod_1.z.coerce.number().default(100), + RATE_LIMIT_PRO: zod_1.z.coerce.number().default(300), + RATE_LIMIT_ENTERPRISE: zod_1.z.coerce.number().default(1000), + RATE_LIMIT_WINDOW_MS: zod_1.z.coerce.number().default(15 * 60 * 1000), + IP_ALLOWLIST: zod_1.z.string().default(''), + IP_ALLOWLIST_ENABLED: zod_1.z.coerce.string().transform(function (val) { return val === 'true'; }).default('false'), + IP_ALLOWLIST_BYPASS_ENABLED: zod_1.z.coerce.string().transform(function (val) { return val === 'true'; }).default('false'), + IP_ALLOWLIST_BYPASS_EXPIRY_MS: zod_1.z.coerce.number().default(30 * 60 * 1000), + VAPID_PUBLIC_KEY: zod_1.z.string().default(''), + VAPID_PRIVATE_KEY: zod_1.z.string().default(''), + STRIPE_SECRET_KEY: zod_1.z.string().default(''), + STRIPE_WEBHOOK_SECRET: zod_1.z.string().default(''), + STRIPE_PUBLISHABLE_KEY: zod_1.z.string().default(''), +}); +var _config; +var validateEnv = function () { + try { + _config = envSchema.parse(process.env); + return _config; + } + catch (error) { + if (error instanceof zod_1.z.ZodError) { + var missingVars = error.errors.map(function (err) { return "".concat(err.path.join('.'), ": ").concat(err.message); }); + console.error('❌ Invalid environment variables:'); + missingVars.forEach(function (msg) { return console.error(" - ".concat(msg)); }); + process.exit(1); + } + throw error; + } +}; +exports.validateEnv = validateEnv; +var config = function () { + if (!_config) { + return (0, exports.validateEnv)(); + } + return _config; +}; +exports.config = config; diff --git a/backend/src/config/env.ts b/backend/src/config/env.ts index 49dd49ea..36f2eca9 100644 --- a/backend/src/config/env.ts +++ b/backend/src/config/env.ts @@ -1,12 +1,13 @@ import { z } from 'zod'; import dotenv from 'dotenv'; -import { applyEnvironmentFileDefaults } from './environments/index.js'; dotenv.config(); -applyEnvironmentFileDefaults(); const envSchema = z.object({ NODE_ENV: z.enum(['development', 'test', 'production']).default('development'), + LOG_LEVEL: z.enum(['fatal', 'error', 'warn', 'info', 'debug', 'trace', 'silent']).default('info'), + LOG_LEVELS: z.string().default(''), + DATABASE_URL: z.string().default('postgresql://postgres:postgres@localhost:5432/agenticpay'), PORT: z.coerce.number().default(3001), CORS_ALLOWED_ORIGINS: z.string().default('*'), STELLAR_NETWORK: z.enum(['testnet', 'public']).default('testnet'), @@ -23,6 +24,29 @@ const envSchema = z.object({ IP_ALLOWLIST_ENABLED: z.coerce.string().transform((val) => val === 'true').default('false'), IP_ALLOWLIST_BYPASS_ENABLED: z.coerce.string().transform((val) => val === 'true').default('false'), IP_ALLOWLIST_BYPASS_EXPIRY_MS: z.coerce.number().default(30 * 60 * 1000), + VAPID_PUBLIC_KEY: z.string().default(''), + VAPID_PRIVATE_KEY: z.string().default(''), + STRIPE_SECRET_KEY: z.string().default(''), + STRIPE_WEBHOOK_SECRET: z.string().default(''), + STRIPE_PUBLISHABLE_KEY: z.string().default(''), + REDIS_URL: z.string().default(''), + REDIS_ENABLED: z.coerce.string().transform((val) => val === 'true').default('false'), + CACHE_WARMING_ENABLED: z.coerce.string().transform((val) => val === 'true').default('false'), + DB_QUERY_LOGGING_ENABLED: z.coerce.string().transform((val) => val === 'true').default('false'), + DB_SLOW_QUERY_THRESHOLD_MS: z.coerce.number().default(100), + // Transaction monitor (Issue #402) + TX_MONITOR_POLL_MS: z.coerce.number().default(15_000), + TX_MONITOR_STUCK_THRESHOLD_MS: z.coerce.number().default(300_000), + TX_MONITOR_MAX_RETRIES: z.coerce.number().default(3), + ALERT_WEBHOOK_URL: z.string().default(''), + // File upload (Issue #401) + UPLOAD_DIR: z.string().default('./uploads'), + CLAMD_HOST: z.string().default(''), + CLAMD_PORT: z.coerce.number().default(3310), + // Credential rotation (Issue #395) + CREDENTIAL_ROTATION_CHECK_INTERVAL_MS: z.coerce.number().default(60 * 60 * 1000), + // Threat detection (Issue #394) + THREAT_ALERT_WEBHOOK_URL: z.string().default(''), }); export type Env = z.infer; @@ -34,10 +58,8 @@ export const validateEnv = (): Env => { _config = envSchema.parse(process.env); return _config; } catch (error: unknown) { - const isZodError = error instanceof z.ZodError || (error as any)?.name === 'ZodError'; - if (isZodError) { - const zodError = error as z.ZodError; - const missingVars = zodError.errors.map((err: z.ZodIssue) => `${err.path.join('.')}: ${err.message}`); + if (error instanceof z.ZodError) { + const missingVars = error.errors.map((err: z.ZodIssue) => `${err.path.join('.')}: ${err.message}`); console.error('❌ Invalid environment variables:'); missingVars.forEach((msg: string) => console.error(` - ${msg}`)); process.exit(1); @@ -46,10 +68,6 @@ export const validateEnv = (): Env => { } }; -export function clearEnvCache(): void { - _config = undefined; -} - export const config = (): Env => { if (!_config) { return validateEnv(); diff --git a/backend/src/config/featureFlags.ts b/backend/src/config/featureFlags.ts index 4bdf8811..f624f1eb 100644 --- a/backend/src/config/featureFlags.ts +++ b/backend/src/config/featureFlags.ts @@ -73,7 +73,6 @@ export type FeatureFlagName = | 'message-queue' | 'rate-limit-tiering' | 'sla-tracking' - | 'escalation-automation' | 'response-caching' | 'multi-level-cache' | 'single-flight' @@ -161,12 +160,6 @@ const FLAG_DEFINITIONS: FeatureFlagDefinition[] = [ defaultEnabled: true, strategy: 'all', }, - { - name: 'escalation-automation', - description: 'Automated escalation with SLA tracking per issue type — Issue #646', - defaultEnabled: true, - strategy: 'all', - }, { name: 'response-caching', description: 'ETag-based HTTP response caching on stable GET endpoints', diff --git a/backend/src/config/scheduled-tasks.ts b/backend/src/config/scheduled-tasks.ts index 06739a65..e2273299 100644 --- a/backend/src/config/scheduled-tasks.ts +++ b/backend/src/config/scheduled-tasks.ts @@ -19,36 +19,28 @@ import { markOverdueRequests } from '../services/gdpr.js'; import { sandboxCleanupJobs } from '../jobs/sandbox-cleanup.js'; import { SubscriptionService } from '../services/subscription.service.js'; import { SubscriptionProcessor } from '../jobs/subscription-processor.js'; -import { aggregateUsage, checkUsageAlerts, processDunning } from '../jobs/usageAggregation.js'; -import { getArchivalService } from '../services/archival/index.js'; -import { getBridgeMonitorService } from '../services/bridge-monitor/bridge-monitor.js'; -import { runScheduledReconciliation } from '../services/payment-reconciliation/index.js'; -import { runEscalationEvaluation } from '../jobs/escalation.job.js'; -import { disputeService } from '../../disputes/disputeService.js'; -import { runProjectArchivalSweep } from '../services/project-archival/index.js'; import { ethers } from 'ethers'; -import { - runFullBackupJob, - runIncrementalBackupJob, - runBackupRetentionCleanup, -} from '../jobs/backup.job.js'; -import { BACKUP_SCHEDULES } from '../services/backup/BackupAutomationService.js'; // --------------------------------------------------------------------------- // Types // --------------------------------------------------------------------------- export interface ScheduledTaskMeta { + /** Unique identifier — must be kebab-case, globally unique */ id: string; + /** Human-readable name shown in dashboards */ name: string; + /** What the job does */ description: string; + /** node-cron / BullMQ cron expression */ schedule: string; + /** IANA timezone for schedule evaluation */ timezone?: string; + /** Abort after this many milliseconds; undefined = no timeout */ timeoutMs?: number; + /** Max consecutive failures before the job is paused */ maxFailures?: number; - priority?: 'critical' | 'high' | 'normal' | 'low'; - rateLimitPerSecond?: number; - rateLimitBurst?: number; + /** Actual work to perform */ handler: () => Promise | void; } @@ -88,13 +80,12 @@ export function getNextRunTimes(expression: string, count = 5, timezone?: string // Raw task definitions // --------------------------------------------------------------------------- -const RAW_TASKS: (Omit & { defaultSchedule: string })[] = [ +const RAW_TASKS: Omit & { defaultSchedule: string }[] = [ { id: 'system-heartbeat', name: 'System heartbeat log', description: 'Emits a periodic heartbeat log entry for uptime monitoring.', defaultSchedule: '*/5 * * * *', - priority: 'low', handler: () => { console.log('[jobs] heartbeat', new Date().toISOString()); }, @@ -105,9 +96,6 @@ const RAW_TASKS: (Omit & { defaultSchedule: strin description: 'Finds subscriptions due for renewal and executes on-chain payments via the EVM subscription contract.', defaultSchedule: '0 * * * *', timeoutMs: 5 * 60 * 1000, - priority: 'high', - rateLimitPerSecond: 1, - rateLimitBurst: 2, handler: async () => { const contractAddress = process.env.SUBSCRIPTION_CONTRACT_ADDRESS; const rpcUrl = process.env.EVM_RPC_URL; @@ -154,7 +142,6 @@ const RAW_TASKS: (Omit & { defaultSchedule: strin name: 'Cleanup Expired Sandbox Accounts', description: 'Deactivates sandbox accounts whose trial period has elapsed.', defaultSchedule: '0 */6 * * *', - priority: 'low', handler: sandboxCleanupJobs.find((j) => j.id === 'sandbox-cleanup-expired-accounts')!.handler, }, { @@ -171,239 +158,6 @@ const RAW_TASKS: (Omit & { defaultSchedule: strin defaultSchedule: '0 0 * * *', handler: sandboxCleanupJobs.find((j) => j.id === 'sandbox-maintenance-stats')!.handler, }, - { - id: 'usage-aggregation', - name: 'Usage Aggregation and Billing', - description: 'Aggregates metered usage records and syncs to Stripe for subscription billing.', - defaultSchedule: '0 * * * *', // Hourly - timeoutMs: 10 * 60 * 1000, // 10 minutes - priority: 'high', - handler: aggregateUsage, - }, - { - id: 'usage-alerts-check', - name: 'Usage Alerts Check', - description: 'Checks subscription usage against limits and triggers alerts at 80% and 100%.', - defaultSchedule: '0 * * * *', // Hourly - timeoutMs: 5 * 60 * 1000, // 5 minutes - handler: checkUsageAlerts, - }, - { - id: 'subscription-dunning', - name: 'Subscription Dunning Process', - description: 'Processes failed payments with retry logic and grace period management.', - defaultSchedule: '0 0 * * *', // Daily - timeoutMs: 15 * 60 * 1000, // 15 minutes - handler: processDunning, - }, - { - id: 'daily-onchain-archival', - name: 'Daily On-Chain Data Archival', - description: 'Backs up transaction data, event logs, and contract state to IPFS with integrity verification.', - defaultSchedule: '0 3 * * *', - timezone: 'UTC', - timeoutMs: 60 * 60 * 1000, - handler: async () => { - const result = await getArchivalService().runDailyArchival(); - if (result.ok) { - console.log(`[archival] Daily batch complete: ${result.value.batchesProcessed} chain(s) archived`); - } else { - console.error('[archival] Daily batch failed:', result.error.message); - } - }, - }, - { - id: 'bridge-monitor-reconcile', - name: 'Bridge Message Reconciliation', - description: 'Polls bridge providers, detects stuck/delayed messages, and emits alerts.', - defaultSchedule: '*/5 * * * *', - timeoutMs: 5 * 60 * 1000, - priority: 'critical', - rateLimitPerSecond: 2, - rateLimitBurst: 5, - handler: async () => { - await getBridgeMonitorService().pollAndReconcile(); - }, - }, - { - id: 'daily-payment-reconciliation', - name: 'Daily Payment Reconciliation', - description: 'Matches internal payments against external statement records for the previous day and files exceptions for mismatches.', - defaultSchedule: '0 5 * * *', - timezone: 'UTC', - timeoutMs: 30 * 60 * 1000, - handler: async () => { - await runScheduledReconciliation(); - }, - }, - { - id: 'archival-retention-cleanup', - name: 'Archival retention enforcement', - description: 'Removes archival batches past the 7-year retention window.', - defaultSchedule: '0 4 * * 0', - timezone: 'UTC', - handler: async () => { - if (!process.env.DATABASE_URL) return; - const { prisma } = await import('../lib/prisma.js'); - const cutoff = new Date(); - const deleted = await prisma.archivalBatch.deleteMany({ - where: { retentionUntil: { lt: cutoff } }, - }); - if (deleted.count > 0) { - console.log(`[archival] Purged ${deleted.count} expired batch(es)`); - } - }, - }, - { - id: 'project-archival-sweep', - name: 'Automated Project Archival', - description: - 'Archives projects that have exceeded their retention policy window, warns about upcoming purges, and purges archives past retention.', - defaultSchedule: '0 4 * * *', - timezone: 'UTC', - timeoutMs: 10 * 60 * 1000, - priority: 'normal', - handler: () => { - runProjectArchivalSweep(); - }, - }, - { - id: 'escalation-evaluation', - name: 'Escalation SLA Evaluation', - description: 'Evaluates all open issues for SLA breaches, triggers escalations, and aggregates analytics — Issue #646.', - defaultSchedule: '*/5 * * * *', - timeoutMs: 10 * 60 * 1000, - priority: 'high', - handler: runEscalationEvaluation, - }, - { - id: 'dispute-escalation', - name: 'Payment Dispute Auto-Escalation', - description: - 'Escalates disputes whose respondent missed the 72-hour response deadline — Issue #816.', - defaultSchedule: '0 * * * *', // Hourly - timeoutMs: 5 * 60 * 1000, - priority: 'normal', - handler: async () => { - const count = await disputeService.processEscalations(); - if (count > 0) { - console.log(`[disputes] Escalated ${count} overdue dispute(s)`); - } - }, - }, - // ── Compliance Automation (Issue #590 enhancements) ───────────────────── - { - id: 'compliance-threshold-evaluation', - name: 'Compliance Threshold Evaluation', - description: 'Evaluates compliance metrics against thresholds hourly and raises alerts for breaches.', - defaultSchedule: '0 * * * *', // Hourly - timeoutMs: 5 * 60 * 1000, - priority: 'high', - handler: async () => { - const { ComplianceService } = await import('../services/complianceService.js'); - const alerts = ComplianceService.evaluateThresholds(); - if (alerts.length > 0) console.log(`[compliance] Threshold evaluation raised ${alerts.length} alert(s)`); - }, - }, - { - id: 'compliance-automated-checks', - name: 'Automated Compliance Checks', - description: 'Runs full suite of automated compliance checks (KYC, AML, sanctions, GDPR, security etc)', - defaultSchedule: '0 */6 * * *', // Every 6 hours - timezone: 'UTC', - timeoutMs: 10 * 60 * 1000, - priority: 'high', - handler: async () => { - const { ComplianceAutomationService } = await import('../services/compliance-automation.js'); - const result = await ComplianceAutomationService.runAutomatedChecks('GLOBAL', undefined, 'scheduler'); - console.log( - `[compliance] Automated checks: ${result.summary.totalChecks} checks, score ${result.summary.overallScore}, status ${result.summary.overallStatus}`, - ); - }, - }, - { - id: 'compliance-regulatory-poll', - name: 'Regulatory Update Polling', - description: 'Polls regulatory sources (FinCEN, OFAC, EBA, FCA, MAS, AUSTRAC, FATF) for new updates', - defaultSchedule: '0 */6 * * *', // Every 6 hours, with OFAC polled more frequently in handler - timeoutMs: 10 * 60 * 1000, - priority: 'high', - handler: async () => { - const { ComplianceAutomationService } = await import('../services/compliance-automation.js'); - const { result } = await ComplianceAutomationService.pollRegulatoryUpdates('scheduler'); - if (result.newUpdates > 0) { - console.log(`[compliance] Regulatory poll found ${result.newUpdates} new update(s)`); - } - }, - }, - { - id: 'compliance-monthly-report', - name: 'Monthly Compliance Report Generation', - description: 'Generates monthly compliance reports for all jurisdictions on 1st of month', - defaultSchedule: '0 2 1 * *', // 02:00 UTC on 1st day - timezone: 'UTC', - timeoutMs: 30 * 60 * 1000, - priority: 'normal', - handler: async () => { - const { generateMonthlyComplianceReports } = await import('../jobs/compliance-report.job.js'); - const res = await generateMonthlyComplianceReports(); - console.log( - `[compliance] Monthly reports: ${res.reportsGenerated} generated, ${res.alertsRaised} alerts, errors ${res.errors.length}`, - ); - }, - }, - { - id: 'compliance-daily-summary', - name: 'Daily Compliance Summary', - description: 'Runs full compliance automation cycle (checks + regulatory poll + reporting) daily', - defaultSchedule: '0 6 * * *', // 06:00 UTC daily - timezone: 'UTC', - timeoutMs: 15 * 60 * 1000, - priority: 'high', - handler: async () => { - const { ComplianceAutomationService } = await import('../services/compliance-automation.js'); - const result = await ComplianceAutomationService.runFullCycle('GLOBAL', 'scheduler'); - console.log( - `[compliance] Daily summary: checks score ${result.checks.overallScore}, ${result.regulatory.newUpdates} new regulatory updates, ${result.reports.count} reports`, - ); - }, - }, - // ── Database Backup Automation (Issue #880) ────────────────────────────── - { - id: 'backup-full-daily', - name: 'Daily Full Database Backup', - description: - 'Runs a full pg_dump of the primary database, compresses it, verifies the checksum, ' + - 'and optionally uploads to S3. Creates a new restore point on success.', - defaultSchedule: BACKUP_SCHEDULES.FULL, // '0 2 * * *' — 02:00 UTC daily - timezone: 'UTC', - timeoutMs: 60 * 60 * 1000, // 1 hour - priority: 'critical', - handler: runFullBackupJob, - }, - { - id: 'backup-incremental-6h', - name: '6-Hour Incremental Database Backup', - description: - 'Runs a data-only pg_dump on top of the latest full backup every 6 hours. ' + - 'Appends the incremental to the active restore point for point-in-time recovery.', - defaultSchedule: BACKUP_SCHEDULES.INCREMENTAL, // '0 0,6,12,18 * * *' - timezone: 'UTC', - timeoutMs: 30 * 60 * 1000, // 30 minutes - priority: 'high', - handler: runIncrementalBackupJob, - }, - { - id: 'backup-retention-cleanup', - name: 'Backup Retention Cleanup', - description: - 'Deletes local backup files and records older than BACKUP_RETENTION_DAYS (default: 30).', - defaultSchedule: BACKUP_SCHEDULES.CLEANUP, // '0 4 * * 0' — Sunday 04:00 UTC - timezone: 'UTC', - timeoutMs: 10 * 60 * 1000, - priority: 'low', - handler: runBackupRetentionCleanup, - }, ]; // --------------------------------------------------------------------------- @@ -447,9 +201,6 @@ export function getScheduledTaskDashboard() { schedule: task.schedule, timezone: task.timezone ?? 'UTC', timeoutMs: task.timeoutMs ?? null, - priority: task.priority ?? 'normal', - rateLimitPerSecond: task.rateLimitPerSecond ?? null, - rateLimitBurst: task.rateLimitBurst ?? null, nextRuns: getNextRunTimes(task.schedule, 3, task.timezone), })); } diff --git a/backend/src/di/container.ts b/backend/src/di/container.ts index ea1d16e1..0d54f608 100644 --- a/backend/src/di/container.ts +++ b/backend/src/di/container.ts @@ -1,26 +1,21 @@ /** - * DI Container — Issue #485 + * container.ts — Issue #366 * - * Lightweight dependency injection container with: - * - Lifecycle management: singleton, transient, scoped - * - Per-domain module registration - * - Startup validation (detects missing registrations) - * - Mock injection for tests - * - <1ms resolution overhead + * Dependency injection container for managing service instances + * Prevents circular dependencies and enables testability */ import { ProjectRepository } from "../repositories/ProjectRepository.js"; import { ProjectService } from "../services/ProjectService.js"; import { ProjectController } from "../controllers/ProjectController.js"; -import { providerRegistry } from "../services/payments/provider-registry.js"; -import { registerDefaultPaymentProviders } from "../services/payments/bootstrap.js"; export class DIContainer { private static instance: DIContainer; - private registry = new Map(); + private services: Map = new Map(); - // Private in production; exposed via createFresh() for test isolation - constructor() {} + private constructor() { + this.registerServices(); + } static getInstance(): DIContainer { if (!DIContainer.instance) { @@ -29,106 +24,47 @@ export class DIContainer { return DIContainer.instance; } - /** Create an isolated container for testing — does NOT share singleton state. */ - static createFresh(): DIContainer { - return new DIContainer(); - } + private registerServices(): void { + // Repositories + const projectRepository = new ProjectRepository(); + this.services.set("ProjectRepository", projectRepository); - /** Register a factory with a lifecycle. */ - register( - token: string, - factory: (c: DIContainer, scope?: Map) => T, - lifecycle: Lifecycle = 'singleton' - ): this { - this.registry.set(token, { factory, lifecycle }); - return this; - } - - /** Register a pre-built instance as a singleton. */ - set(token: string, instance: unknown): this { - this.registry.set(token, { - factory: () => instance, - lifecycle: 'singleton', - singleton: instance, - }); - return this; - } + // Services + const projectService = new ProjectService(projectRepository); + this.services.set("ProjectService", projectService); - /** Resolve a token. Optionally pass a scope Map for scoped lifecycles. */ - get(token: string, scope?: Map): T { - const reg = this.registry.get(token); - if (!reg) throw new Error(`[DI] Token not registered: "${token}"`); - - if (reg.lifecycle === 'singleton') { - if (reg.singleton === undefined) reg.singleton = reg.factory(this, scope); - return reg.singleton as T; - } - - if (reg.lifecycle === 'scoped') { - const s = scope ?? new Map(); - if (!s.has(token)) s.set(token, reg.factory(this, s)); - return s.get(token) as T; - } - - // transient — new instance every time - return reg.factory(this, scope) as T; - } - - initialize(): void { - const projectService = this.get('ProjectService'); + // Controllers const projectController = new ProjectController(projectService); - this.set("ProjectController", projectController); - - registerDefaultPaymentProviders(providerRegistry); - this.set("PaymentProviderRegistry", providerRegistry); + this.services.set("ProjectController", projectController); } - /** - * Validate all registrations at startup. - * Throws if any token's factory throws on a dry-run resolve. - * Returns list of registered tokens. - */ - validate(): string[] { - const tokens = Array.from(this.registry.keys()); - for (const token of tokens) { - try { - this.get(token); - } catch (err) { - throw new Error(`[DI] Validation failed for token "${token}": ${(err as Error).message}`); - } + get(serviceName: string): T { + const service = this.services.get(serviceName); + if (!service) { + throw new Error(`Service not found: ${serviceName}`); } - return tokens; + return service as T; } - /** Create a child container that inherits registrations but has its own scope. */ - createScope(): Map { - return new Map(); + set(serviceName: string, service: unknown): void { + this.services.set(serviceName, service); } - /** Reset singleton cache (useful in tests). */ - reset(): void { - for (const reg of this.registry.values()) { - delete reg.singleton; - } - } - - /** Clear all registrations (useful in tests). */ - clear(): void { - this.registry.clear(); + has(serviceName: string): boolean { + return this.services.has(serviceName); } - // ── Convenience typed getters (backwards-compatible) ────────────────────── - - getProjectController() { - return this.get('ProjectController'); + // Convenience getters + getProjectController(): ProjectController { + return this.get("ProjectController"); } - getProjectService() { - return this.get('ProjectService'); + getProjectService(): ProjectService { + return this.get("ProjectService"); } - getProjectRepository() { - return this.get('ProjectRepository'); + getProjectRepository(): ProjectRepository { + return this.get("ProjectRepository"); } } diff --git a/backend/src/disputes/DisputeService.ts b/backend/src/disputes/DisputeService.ts index 667c6308..7a49671b 100644 --- a/backend/src/disputes/DisputeService.ts +++ b/backend/src/disputes/DisputeService.ts @@ -43,31 +43,8 @@ export interface DisputeRecord { auditTimeline: Array<{ action: string; by: string; at: number; detail?: string }>; } -export type VoteDecision = 'favor_client' | 'favor_freelancer' | 'split'; - -export interface DisputeVote { - id: string; - disputeId: string; - arbitratorId: string; - decision: VoteDecision; - weight: number; - reasoning: string; - votedAt: string; - votePower: number; -} - -export interface VotingRound { - disputeId: string; - votes: DisputeVote[]; - status: 'open' | 'closed' | 'tallied'; - deadline: string; - quorumRequired: number; - result: { decision: string; totalWeight: number; consensusReached: boolean } | null; -} - export class DisputeService { private disputes = new Map(); - private votingRounds = new Map(); private arbitratorService: ArbitratorService; constructor() { @@ -180,136 +157,6 @@ export class DisputeService { getArbitratorService(): ArbitratorService { return this.arbitratorService; } - - startVotingRound(disputeId: string, quorumRequired: number, deadlineDays: number = 7): VotingRound { - const dispute = this.disputes.get(disputeId); - if (!dispute) { - throw new Error(`Dispute ${disputeId} not found`); - } - - const existing = this.votingRounds.get(disputeId); - if (existing && existing.status === 'open') { - throw new Error(`Voting round already open for dispute ${disputeId}`); - } - - const deadline = new Date(Date.now() + deadlineDays * 24 * 60 * 60 * 1000).toISOString(); - - const round: VotingRound = { - disputeId, - votes: [], - status: 'open', - deadline, - quorumRequired, - result: null, - }; - - this.votingRounds.set(disputeId, round); - return round; - } - - castVote( - disputeId: string, - arbitratorId: string, - decision: VoteDecision, - reasoning: string, - weight: number, - ): DisputeVote { - const round = this.votingRounds.get(disputeId); - if (!round || round.status !== 'open') { - throw new Error(`No open voting round for dispute ${disputeId}`); - } - - if (new Date(round.deadline) < new Date()) { - round.status = 'closed'; - this.votingRounds.set(disputeId, round); - throw new Error(`Voting round for dispute ${disputeId} has expired`); - } - - if (round.votes.some(v => v.arbitratorId === arbitratorId)) { - throw new Error(`Arbitrator ${arbitratorId} has already voted on dispute ${disputeId}`); - } - - const dispute = this.disputes.get(disputeId); - if (!dispute || dispute.arbitratorId !== arbitratorId) { - const isAssigned = this.arbitratorService.getArbitrator(arbitratorId) !== undefined; - if (!isAssigned) { - throw new Error(`Arbitrator ${arbitratorId} is not registered`); - } - } - - const votePower = weight * (this.arbitratorService.getArbitrator(arbitratorId)?.rating ?? 1); - - const vote: DisputeVote = { - id: randomUUID(), - disputeId, - arbitratorId, - decision, - weight, - reasoning, - votedAt: new Date().toISOString(), - votePower, - }; - - round.votes.push(vote); - this.votingRounds.set(disputeId, round); - return vote; - } - - tallyVotes(disputeId: string): VotingRound { - const round = this.votingRounds.get(disputeId); - if (!round) { - throw new Error(`No voting round found for dispute ${disputeId}`); - } - - if (round.status === 'tallied') { - return round; - } - - round.status = 'closed'; - - const totals: Record = { - favor_client: 0, - favor_freelancer: 0, - split: 0, - }; - - for (const vote of round.votes) { - totals[vote.decision] += vote.votePower; - } - - const totalWeight = Object.values(totals).reduce((sum, w) => sum + w, 0); - const consensusReached = round.votes.length >= round.quorumRequired; - - let decision: string = 'no_consensus'; - if (consensusReached) { - const maxDecision = (Object.entries(totals) as [VoteDecision, number][]).sort( - (a, b) => b[1] - a[1], - )[0]; - - const majority = maxDecision[1] / totalWeight; - decision = majority > 0.5 ? maxDecision[0] : 'split_decision'; - } - - round.result = { - decision, - totalWeight, - consensusReached, - }; - - round.status = 'tallied'; - this.votingRounds.set(disputeId, round); - return round; - } - - getVotingRound(disputeId: string): VotingRound | undefined { - return this.votingRounds.get(disputeId); - } - - isVotingOpen(disputeId: string): boolean { - const round = this.votingRounds.get(disputeId); - if (!round || round.status !== 'open') return false; - return new Date(round.deadline) >= new Date(); - } } export const disputeService = new DisputeService(); diff --git a/backend/src/disputes/index.ts b/backend/src/disputes/index.ts index 36533589..e9714fa8 100644 --- a/backend/src/disputes/index.ts +++ b/backend/src/disputes/index.ts @@ -1,4 +1,4 @@ export { disputeService, DisputeService } from './DisputeService.js'; -export type { DisputeRecord, DisputeStatus, ResolutionType, EvidenceItem, VoteDecision, DisputeVote, VotingRound } from './DisputeService.js'; +export type { DisputeRecord, DisputeStatus, ResolutionType, EvidenceItem } from './DisputeService.js'; export { ArbitratorService } from './ArbitratorService.js'; export type { Arbitrator } from './ArbitratorService.js'; diff --git a/backend/src/events/dead-letter-queue.ts b/backend/src/events/dead-letter-queue.ts index 9fd3e757..2ec2a2e3 100644 --- a/backend/src/events/dead-letter-queue.ts +++ b/backend/src/events/dead-letter-queue.ts @@ -73,8 +73,3 @@ export function purgeResolvedEntries(maxAgeMs = 7 * 24 * 60 * 60 * 1000): number queue.push(...kept); return before - kept.length; } - -export function clearDeadLetterQueue(): void { - queue.length = 0; - nextId = 1; -} diff --git a/backend/src/events/event-bus.ts b/backend/src/events/event-bus.ts index 0376cfee..69bbb56a 100644 --- a/backend/src/events/event-bus.ts +++ b/backend/src/events/event-bus.ts @@ -1,7 +1,6 @@ import type { DomainEventType, EventHandler, StoredEvent } from './event-types.js'; import type { AgenticPayWebSocketServer } from '../websocket/server.js'; import { addToDeadLetterQueue } from './dead-letter-queue.js'; -import { eventSchemaRegistry } from './schemas/index.js'; type WildcardHandler = (event: StoredEvent) => void | Promise; @@ -46,18 +45,6 @@ async function invokeHandler( } export async function publish(event: StoredEvent): Promise { - // Validate event payload against schema - if (eventSchemaRegistry.hasSchema(event.type)) { - const validation = eventSchemaRegistry.safeValidate(event.type, event.payload); - if (!validation.success) { - const error = validation.error; - console.error(`[event-bus] Schema validation failed for event "${event.type}":`, error.errors); - throw new Error(`Event schema validation failed for ${event.type}: ${error.errors.map(e => e.message).join(', ')}`); - } - } else { - console.warn(`[event-bus] No schema registered for event type: ${event.type}. Skipping validation.`); - } - const typed = handlers.get(event.type); if (typed) { await Promise.all(Array.from(typed).map((h) => invokeHandler(h, event))); diff --git a/backend/src/events/event-store.ts b/backend/src/events/event-store.ts index 7030d95b..e1ca9ac7 100644 --- a/backend/src/events/event-store.ts +++ b/backend/src/events/event-store.ts @@ -124,8 +124,3 @@ export function getEventStats() { typeCounts, }; } - -export function clearEventStore(): void { - streams.clear(); - globalSequence.length = 0; -} diff --git a/backend/src/events/event-types.ts b/backend/src/events/event-types.ts index ee0a8bbb..4769f288 100644 --- a/backend/src/events/event-types.ts +++ b/backend/src/events/event-types.ts @@ -1,12 +1,51 @@ -export type { - DomainEvent, - DomainEventType, - EventHandler, - EventMetadata, - StoredEvent, -} from '@agenticpay/types/events'; +export type DomainEventType = + | 'payment.created' + | 'payment.executed' + | 'payment.failed' + | 'payment.cancelled' + | 'project.created' + | 'project.funded' + | 'project.work_submitted' + | 'project.work_approved' + | 'project.disputed' + | 'project.cancelled' + | 'project.completed' + | 'verification.requested' + | 'verification.passed' + | 'verification.failed' + | 'invoice.generated' + | 'receipt.minted' + | 'receipt.transferred' + | 'receipt.burned' + | 'refund.requested' + | 'refund.approved' + | 'refund.rejected' + | 'split.created' + | 'split.executed'; -import type { StoredEvent } from '@agenticpay/types/events'; +export interface DomainEvent { + id: string; + type: DomainEventType; + aggregateId: string; + aggregateType: string; + version: number; + payload: T; + metadata: EventMetadata; + occurredAt: string; +} + +export interface EventMetadata { + correlationId?: string; + causationId?: string; + userId?: string; + ipAddress?: string; + userAgent?: string; +} + +export interface StoredEvent extends DomainEvent { + sequenceNumber: number; + streamId: string; +} export interface EventStream { streamId: string; @@ -18,6 +57,8 @@ export interface EventStream { updatedAt: string; } +export type EventHandler = (event: StoredEvent) => void | Promise; + export interface PaymentCreatedPayload { from: string; to: string; diff --git a/backend/src/events/projections.ts b/backend/src/events/projections.ts index 6fc2e9d5..bef61c4e 100644 --- a/backend/src/events/projections.ts +++ b/backend/src/events/projections.ts @@ -42,13 +42,7 @@ function now(): string { return new Date().toISOString(); } -let projectionsRegistered = false; - -export function registerProjections(): void { - if (projectionsRegistered) return; - projectionsRegistered = true; - - subscribe('payment.created', (event: StoredEvent) => { +subscribe('payment.created', (event: StoredEvent) => { const p = event.payload as { from: string; to: string; amount: number; asset: string }; paymentProjection.set(event.aggregateId, { paymentId: event.aggregateId, @@ -153,13 +147,6 @@ subscribe('verification.failed', (event: StoredEvent) => { updatedAt: now(), }); }); -} - -registerProjections(); - -export function resetProjectionsRegistration(): void { - projectionsRegistered = false; -} export function getPaymentReadModel(paymentId: string): PaymentReadModel | undefined { return paymentProjection.get(paymentId); @@ -184,9 +171,3 @@ export function getVerificationReadModel(verificationId: string): VerificationRe export function getAllVerifications(): VerificationReadModel[] { return Array.from(verificationProjection.values()); } - -export function clearProjections(): void { - paymentProjection.clear(); - projectProjection.clear(); - verificationProjection.clear(); -} diff --git a/backend/src/index.ts b/backend/src/index.ts index 63ddf202..fdca8608 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -1,9 +1,13 @@ -import { AsyncLocalStorage } from 'node:async_hooks'; -import { randomUUID } from 'node:crypto'; import http from 'node:http'; import express, { Request, Response, NextFunction } from 'express'; -import dotenv from 'dotenv'; -import rateLimit from 'express-rate-limit'; +import * as Sentry from '@sentry/node'; +import cors from 'cors'; +import { tokenBucketRateLimit } from './middleware/rate-limit.js'; +import { apiExpressRateLimit } from './middleware/express-api-rate-limit.js'; +import { compressionMiddleware, getCompressionMetrics } from './middleware/compression.js'; +import { poolMetrics } from './config/database.js'; +import { config } from './config.js'; +import { versionMiddleware } from './middleware/versioning.js'; import { verificationRouter } from './routes/verification.js'; import { invoiceRouter } from './routes/invoice.js'; import { stellarRouter } from './routes/stellar.js'; @@ -13,293 +17,211 @@ import { healthRouter } from './routes/health.js'; import { docsRouter } from './routes/docs.js'; import { queueRouter } from './routes/queue.js'; import { slaRouter } from './routes/sla.js'; +import { legacyRouter } from './routes/legacy.js'; +import { onboardingRouter } from './routes/onboarding.js'; +import { splitsRouter } from './routes/splits.js'; +import { refundsRouter } from './routes/refunds.js'; +import allowancesRouter from './routes/allowances.js'; +import { formsRouter } from './routes/forms.js'; +import { twoFactorAuthRouter } from './routes/2fa.js'; +import { webhooksRouter } from './routes/webhooks.js'; +import { webhookHandlersRouter } from './routes/webhookHandlers.js'; import { startJobs, getJobScheduler } from './jobs/index.js'; +import { batchProcessor } from './services/batch.js'; +import { featureFlags } from './config/featureFlags.js'; +import { getRedisCache } from './middleware/cache.js'; import { errorHandler, notFoundHandler, AppError } from './middleware/errorHandler.js'; import { messageQueue } from './services/queue.js'; import { registerDefaultProcessors } from './services/queue-producers.js'; import { slaTrackingMiddleware } from './middleware/slaTracking.js'; import { requestIdMiddleware, REQUEST_ID_HEADER } from './middleware/requestId.js'; +import { traceMiddleware } from './middleware/trace.js'; +import { cacheControlNoStore } from './middleware/cache-control.js'; +import { httpLogger, correlationMiddleware } from './middleware/logger.js'; import { validateEnv, config as getConfig } from './config/env.js'; -import { config } from './config.js'; import { flagsRouter } from './routes/flags.js'; -import { kybRouter } from './routes/kyb.js'; -import { batchRouter } from './routes/batch.js'; import { emailRouter } from './routes/email.js'; import { portfolioRouter } from './routes/portfolio.js'; import { backupRouter } from './routes/backup.js'; import { pushRouter } from './routes/push.js'; import { ipAllowlistRouter } from './routes/ip-allowlist.js'; -import { stripeRouter } from './routes/stripe.js'; -// Stripe subscription billing (plans, enroll, usage, dunning) — Issue #808. -// Implemented in routes/subscriptions.ts + services/stripe.ts but never mounted. -import subscriptionsRouter from './routes/subscriptions.js'; -// Payment retry with exponential backoff — Issue #810. -// Implemented in routes/retry.ts + services/retry/* but never mounted. -import { retryRouter } from './routes/retry.js'; -// Multiple payment methods per account (incl. micro-deposit verify) — Issue #811. -// Implemented in routes/payment-methods.ts but never mounted. -import { paymentMethodsRouter } from './routes/payment-methods.js'; +import { nfcRouter } from './routes/nfc.js'; +import { cacheRouter } from './routes/cache.js'; import { ipAllowlistMiddleware, initIpAllowlist } from './middleware/ip-allowlist.js'; -import { SecurityMiddleware, SecurityMonitor, securityHeadersMiddleware } from './middleware/security.js'; -import { sanitizeInput, contentSecurityPolicy } from './middleware/sanitize.js'; -import { createCorsMiddleware } from './middleware/cors.js'; -import { initCorsPolicy } from './services/cors.js'; -import { corsRouter } from './routes/cors.js'; +import { sessionMiddleware } from './middleware/session.js'; import { notificationsRouter } from './routes/notifications.js'; import { auditRouter } from './routes/audit.js'; -import { taxReportingRouter } from './routes/tax-reporting.js'; -import { auditMiddleware } from './middleware/audit.js'; -import { apiKeysRouter } from './routes/api-keys.js'; -import { milestonesRouter } from './routes/milestones.js'; -import { walletRouter } from './routes/wallet.js'; +import { hedgingRouter } from './routes/hedging.js'; +import { complianceRouter } from './routes/compliance.js'; import { gdprRouter } from './routes/gdpr.js'; -import dataExportRouter from './routes/dataExport.js'; -import securityRouter from './routes/security.js'; -import commentsRouter from './routes/comments.js'; -import collaborationRouter from './routes/collaboration.js'; -import { paymentStrategiesRouter } from './routes/payment-strategies.js'; -import { registerDefaultPaymentProviders } from './services/payments/bootstrap.js'; -import { compressionMiddleware } from './middleware/compression.js'; -import { streamingExportRouter } from './routes/streaming-export.js'; -import { poolMonitorRouter } from './routes/pool-monitor.js'; -import { legacyRouter } from './routes/legacy.js'; -import { splitsRouter } from './routes/splits.js'; -import { refundsRouter } from './routes/refunds.js'; -import { databaseRouter } from './routes/database.js'; -import { archiveRouter } from './routes/archive.js'; -import { searchRouter } from './routes/search.js'; -import { zapierRouter } from './routes/zapier.js'; -import { intercomRouter } from './routes/intercom.js'; -import { getPrismaReplicaClient } from './db/PrismaReplicaClient.js'; -import { cohortAnalyticsRouter } from './routes/cohort-analytics.js'; -import { churnPredictionRouter } from './routes/churn-prediction.js'; -import { createAnalyticsRouter } from './routes/analytics.js'; -import { apiUsageTracker } from './middleware/api-usage-tracker.js'; -import { slackRouter } from './routes/slack.js'; -import { githubIntegrationRouter } from './routes/github-integration.js'; -// Issue #823 — Real-time WebSocket API for live updates +import { kybRouter } from './routes/kyb.js'; +import { batchRouter } from './routes/batch.js'; +import { relayerRouter } from './routes/relayer.js'; +import { paymentQueueRouter } from './routes/payment-queue.js'; +import { disputeRoutes } from './disputes/index.js'; +import { disputeService } from './disputes/disputeService.js'; import { attachWebSocketServer } from './websocket/server.js'; -import { ConnectionManager } from './websocket/connection-manager.js'; -import { registerWebSocketServer } from './websocket/live-broadcast.js'; import { createWebSocketRouter } from './routes/websocket.js'; -// ACH/wire fiat payments (bank verification, initiation, wire instructions, -// reconciliation) — Issue #817. Fully implemented in fiat-payments.ts/ -// providers/fiat.ts already but the router was never mounted. +import { bindWebSocketServer } from './events/event-bus.js'; +import { receiptsRouter } from './routes/receipts.js'; +import { eventsRouter } from './routes/events.js'; +import { threatDetectionRouter } from './routes/threat-detection.js'; +import { serviceMeshRouter } from './routes/service-mesh.js'; +import { escrowRouter } from './routes/escrow.js'; +import { multisigRouter } from './routes/multisig.js'; import { fiatPaymentsRouter } from './routes/fiat-payments.js'; -// Payment dispute management — Issue #816 -import disputeRoutes from '../disputes/disputeRoutes.js'; -import { authMiddleware } from './middleware/auth.js'; -// GraphQL API alongside REST — Issue #819 +import { paymentLinksRouter } from './routes/payment-links.js'; +import { taxRouter } from './routes/tax.js'; +import { projectsRouter } from './routes/projects.js'; import { graphQLRouter, graphQLWsRouter } from './graphql/gateway.js'; -// Admin cache stats/clear/evict endpoints — Issue #818 -import { cacheRouter } from './routes/cache.js'; -// Rate limiting: tier configs, quota overrides, and analytics — Issue #820 -import { rateLimitQuotasRouter } from './routes/rate-limit-quotas.js'; -// Request/response compression — Issue #821 -import { compressionRouter } from './routes/compression.js'; -import { oauthRouter } from './routes/oauth.js'; -import { twoFactorAuthRouter } from './routes/2fa.js'; - -dotenv.config(); - -const traceStorage = new AsyncLocalStorage(); - -const originalConsole = { - log: console.log, - info: console.info, - warn: console.warn, - error: console.error, -}; - -function formatMessage(args: any[]): any[] { - const traceId = traceStorage.getStore(); - if (traceId) { - if (typeof args[0] === 'string') { - args[0] = `[TraceID: ${traceId}] ${args[0]}`; - } else { - args.unshift(`[TraceID: ${traceId}]`); - } - } - return args; +import { fraudDetectionRouter } from './routes/fraud-detection.js'; +import { bridgeRouter } from './routes/bridge.js'; +import { tokenizationRouter } from './routes/tokenization.js'; +import { routingRouter } from './routes/routing.js'; +import { disputesRouter } from './routes/disputes.js'; +import { startWebhookWorker, stopWebhookWorker } from './services/webhooks.js'; +import { analyticsService } from './services/analytics.js'; +import { createAnalyticsRouter } from './routes/analytics.js'; +import { paymentQueue } from './queue/payment-queue.js'; +import './events/projections.js'; +import { stripeRouter } from './routes/stripe.js'; +import { SecurityMiddleware, SecurityMonitor } from './middleware/security.js'; +import { sanitizeInput, contentSecurityPolicy } from './middleware/sanitize.js'; +import { requestSizeLimit } from './middleware/request-size-limit.js'; +import { signaturesRouter } from './routes/signatures.js'; +import { createSandboxRouter } from './routes/sandbox.js'; +import { circuitBreakerRouter } from './routes/circuit-breaker.js'; +import SandboxManager from './services/sandbox.js'; +import MockPaymentProcessor from './services/mock-payments.js'; +import TestDataSeeder from './services/test-data-seeder.js'; +import { emailV2Router } from './routes/email-v2.js'; +import { createBullMQScheduler, getBullMQScheduler } from './services/bullmq-scheduler.js'; +import { getScheduledTasks } from './config/scheduled-tasks.js'; +import { bullMQMonitorRouter } from './routes/bullmq-monitor.js'; +import { fileUploadRouter } from './routes/file-upload.js'; +import { credentialRotationRouter } from './routes/credential-rotation.js'; +import zkIdentityRouter from './routes/zk-identity.js'; +import { coldStartMonitorRouter } from './routes/cold-start-monitor.js'; +import { rateLimitAnalyticsRouter } from './routes/rate-limit-analytics.js'; +import { startScheduledRotation, stopScheduledRotation } from './config/credential-rotation.js'; +import { subscriptionsRouter } from './routes/subscriptions.js'; +import { workspacesRouter } from './routes/workspaces.js'; +import { teamsRouter } from './routes/teams.js'; +import { merchantAuditRouter } from './routes/merchant-audit.js'; + +// Validate environment variables at startup +validateEnv(); +const env = getConfig(); + +// ── Lazy sandbox service initialization ─────────────────────────────────────── +// SandboxManager, MockPaymentProcessor, and TestDataSeeder are only needed in +// development/sandbox environments. Deferring their construction avoids paying +// the instantiation cost on every cold start in production. +let _sandboxManager: InstanceType | null = null; +let _mockPaymentProcessor: InstanceType | null = null; +let _testDataSeeder: InstanceType | null = null; + +function getSandboxManager(): InstanceType { + if (!_sandboxManager) _sandboxManager = new SandboxManager(env.NODE_ENV || 'development'); + return _sandboxManager; } - -console.log = (...args) => originalConsole.log(...formatMessage(args)); -console.info = (...args) => originalConsole.info(...formatMessage(args)); -console.warn = (...args) => originalConsole.warn(...formatMessage(args)); -console.error = (...args) => originalConsole.error(...formatMessage(args)); - -const app = express(); - -type UserTier = 'free' | 'pro' | 'enterprise'; - -type TierRateState = { - count: number; - resetAtMs: number; -}; - -const tierLimits: Record = { - free: config.rateLimit.free, - pro: config.rateLimit.pro, - enterprise: config.rateLimit.enterprise, -}; - -const tierWindowMs = config.rateLimit.windowMs; -const tierRateStore = new Map(); - -function resolveUserTier(req: Request): UserTier { - const headerTier = req.headers['x-user-tier']; - const normalized = (Array.isArray(headerTier) ? headerTier[0] : headerTier)?.toLowerCase(); - - if (normalized === 'pro' || normalized === 'enterprise') { - return normalized; - } - - return 'free'; +function getMockPaymentProcessor(): InstanceType { + if (!_mockPaymentProcessor) _mockPaymentProcessor = new MockPaymentProcessor(); + return _mockPaymentProcessor; } - -function resolveClientIdentifier(req: Request): string { - const authHeader = req.headers.authorization; - if (authHeader) { - return authHeader; - } - - const apiKey = req.headers['x-api-key']; - if (typeof apiKey === 'string' && apiKey.trim() !== '') { - return apiKey; - } - - return req.ip || 'unknown-client'; +function getTestDataSeeder(): InstanceType { + if (!_testDataSeeder) _testDataSeeder = new TestDataSeeder(); + return _testDataSeeder; } -function tieredRateLimit(req: Request, res: Response, next: NextFunction): void { - const tier = resolveUserTier(req); - const limit = tierLimits[tier]; - const identifier = resolveClientIdentifier(req); - const storeKey = `${tier}:${identifier}`; - const nowMs = Date.now(); - const existingState = tierRateStore.get(storeKey); - - const state = - !existingState || existingState.resetAtMs <= nowMs - ? { count: 0, resetAtMs: nowMs + tierWindowMs } - : existingState; - - state.count += 1; - tierRateStore.set(storeKey, state); - - const remaining = Math.max(0, limit - state.count); - const resetInSeconds = Math.ceil((state.resetAtMs - nowMs) / 1000); - - res.setHeader('X-RateLimit-Tier', tier); - res.setHeader('X-RateLimit-Limit', String(limit)); - res.setHeader('X-RateLimit-Remaining', String(remaining)); - res.setHeader('X-RateLimit-Reset', String(resetInSeconds)); - - if (state.count > limit) { - res.status(429).json({ - error: { - code: 'RATE_LIMIT_EXCEEDED', - message: `Rate limit exceeded for tier '${tier}'`, - status: 429, - }, - }); - return; - } - - next(); +// Initialize IP allowlist from environment +if (env.IP_ALLOWLIST_ENABLED || env.IP_ALLOWLIST) { + const allowedIps = env.IP_ALLOWLIST ? env.IP_ALLOWLIST.split(',').map(ip => ip.trim()).filter(Boolean) : []; + initIpAllowlist(allowedIps, env.IP_ALLOWLIST_ENABLED); + console.log(`[IP Allowlist] Enabled with ${allowedIps.length} IP(s)`); } -const invoiceLimiter = rateLimit({ - windowMs: 15 * 60 * 1000, - max: 20, - standardHeaders: true, - legacyHeaders: false, -}); -app.use(securityHeadersMiddleware()); +const app = express(); -// Dynamic CORS policy: seed the allowlist from config, then serve every -// request through the shared CORSOriginPolicy (runtime-mutable). -initCorsPolicy({ - allowedOrigins: config.cors.allowedOrigins, - allowCredentials: true, +// Security stack: headers, sanitization, payload limits +SecurityMiddleware.getInstance().applySecurity(app); +app.use(requestSizeLimit()); + +// Token-bucket rate limiter (replaces fixed-window tieredRateLimit) +const apiRateLimiter = tokenBucketRateLimit({ keyPrefix: 'rl:api' }); +// Stricter limiter for invoice endpoint +const invoiceLimiter = tokenBucketRateLimit({ + keyPrefix: 'rl:invoice', + endpointConfig: { + free: { capacity: 10, refillRate: 0.1, burstAllowance: 2 }, + pro: { capacity: 60, refillRate: 1, burstAllowance: 10 }, + enterprise: { capacity: 300, refillRate: 5, burstAllowance: 50 }, + }, }); + app.use( - createCorsMiddleware({ + cors({ + origin: config.cors.allowedOrigins, credentials: true, methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], - allowedHeaders: ['Content-Type', 'Authorization', 'X-Trace-Id', REQUEST_ID_HEADER], + allowedHeaders: [ + 'Content-Type', + 'Authorization', + 'X-Trace-Id', + REQUEST_ID_HEADER, + 'API-Version', + 'X-API-Version', + 'Accept-Version', + 'Stripe-Signature', + 'X-Hub-Signature-256', + 'X-Webhook-Key-Id', + ], }) ); -// Content Security Policy & related security headers (XSS prevention) -app.use(contentSecurityPolicy()); - -app.use(express.json()); - -app.use(compressionMiddleware({ minSizeBytes: config.compression.threshold })); - -// Decompress gzip/brotli request bodies before body parsers run — Issue #821 -app.use(requestDecompressionMiddleware()); - app.use(requestIdMiddleware); -app.use(auditMiddleware()); - -// Trace ID middleware -app.use((req: Request, res: Response, next: NextFunction) => { - const traceId = (req.headers['x-trace-id'] as string) || randomUUID(); - res.setHeader('X-Trace-Id', traceId); +app.use(traceMiddleware); +app.use(correlationMiddleware); +app.use(httpLogger); - traceStorage.run(traceId, () => { - console.log(`${req.method} ${req.url} - Started`); +// Incoming webhooks: raw body capture before global JSON parser (#393) +app.use('/webhooks', webhookHandlersRouter); - res.on('finish', () => { - console.log(`${req.method} ${req.url} - Finished with status ${res.statusCode}`); - }); +app.use(express.json()); +app.use(express.text({ type: ['text/csv', 'text/plain'] })); - next(); - }); -}); +app.use( + compressionMiddleware({ + brotliLevel: 5, + gzipLevel: 6, + minSizeBytes: 1024, + }) +); -// SLA Tracking middleware app.use(slaTrackingMiddleware); +app.use(sessionMiddleware); +app.use(cacheControlNoStore); -// Cache defaults: -// - GET/HEAD: individual routes apply cacheControl() with per-route TTLs. -// - All other methods: always no-store (mutations must never be cached). -app.use((req: Request, res: Response, next: NextFunction) => { - if (req.method !== 'GET' && req.method !== 'HEAD') { - res.setHeader('Cache-Control', 'no-store'); - } - // Vary on Accept-Encoding so compressed/uncompressed responses are cached separately - res.setHeader('Vary', 'Accept-Encoding'); - next(); -}); - -// Health & Readiness checks app.use(healthRouter); - -// Interactive API documentation & playground — Issue #758 app.use('/docs', docsRouter); -// GraphQL API alongside REST — Issue #819. Mounted ahead of the REST -// versioning/rate-limit block below (which only applies under '/api/') so -// it isn't swept into the REST version-fallback 404. graphQLRouter/ -// graphQLWsRouter don't thread req.user into resolver context yet (see -// PR notes) — authMiddleware here at least keeps the endpoint from being -// fully anonymous until that's addressed. -app.use('/graphql', authMiddleware, graphQLRouter); -app.use('/graphql/ws', authMiddleware, graphQLWsRouter); +// Cold start monitoring dashboard — available before auth/rate-limit middleware +app.use('/api/v1/cold-start', coldStartMonitorRouter); -import { versionMiddleware } from './middleware/versioning.js'; +// express-rate-limit: 100 requests / 15 min per IP on all API routes (Issue #8) +app.use('/api', apiExpressRateLimit); -// Apply tiered limiter to all API routes -app.use('/api/', tieredRateLimit); +app.use('/api/', apiRateLimiter); + +// Apply sandbox-aware rate limiting for sandbox endpoints +const sandboxRateLimiter = tokenBucketRateLimit({ + keyPrefix: 'rl:sandbox', + sandboxMode: env.NODE_ENV === 'sandbox' || env.NODE_ENV === 'development' +}); -// Versioning middleware app.use('/api/', versionMiddleware); -// Define API v1 Router const apiV1Router = express.Router(); apiV1Router.use('/verification', verificationRouter); apiV1Router.use('/invoice', invoiceLimiter, invoiceRouter); @@ -307,96 +229,107 @@ apiV1Router.use('/stellar', stellarRouter); apiV1Router.use('/catalog', catalogRouter); apiV1Router.use('/jobs', jobsRouter); apiV1Router.use('/queue', queueRouter); +apiV1Router.use('/queue', bullMQMonitorRouter); apiV1Router.use('/sla', slaRouter); +apiV1Router.use('/onboarding', onboardingRouter); apiV1Router.use('/legacy', legacyRouter); -// Feature flag admin — inspect & override flags at runtime apiV1Router.use('/flags', flagsRouter); +apiV1Router.use('/rate-limit', rateLimitAnalyticsRouter); +apiV1Router.use('/zk-identity', zkIdentityRouter); apiV1Router.use('/kyb', kybRouter); apiV1Router.use('/batch', batchRouter); +apiV1Router.use('/relayer', relayerRouter); +apiV1Router.use('/queue/payments', paymentQueueRouter); apiV1Router.use('/splits', splitsRouter); apiV1Router.use('/refunds', refundsRouter); apiV1Router.use('/allowances', allowancesRouter); -// Email delivery system +apiV1Router.use('/forms', formsRouter); +// Webhook management and verification +apiV1Router.use('/webhooks', webhooksRouter); +apiV1Router.use('/disputes', disputeRoutes); apiV1Router.use('/emails', emailRouter); -// Portfolio/wallet aggregation apiV1Router.use('/portfolio', portfolioRouter); -// Backup system apiV1Router.use('/backup', backupRouter); -// Audit system -apiV1Router.use('/audit', auditRouter); -// IP allowlist management apiV1Router.use('/ip-allowlist', ipAllowlistRouter); -// Dynamic CORS policy management -apiV1Router.use('/cors', corsRouter); -// Push notifications apiV1Router.use('/push', pushRouter); -// Stripe card payments -apiV1Router.use('/stripe', stripeRouter); -// Stripe subscription billing — Issue #808 +apiV1Router.use('/nfc', nfcRouter); +apiV1Router.use('/cache', cacheRouter); +apiV1Router.use('/circuit-breaker', circuitBreakerRouter); +apiV1Router.use('/fraud-detection', fraudDetectionRouter); +apiV1Router.use('/bridge', bridgeRouter); +apiV1Router.use('/tokenization', tokenizationRouter); +apiV1Router.use('/routing', routingRouter); +apiV1Router.use('/escrow', escrowRouter); +apiV1Router.use('/disputes', disputesRouter); apiV1Router.use('/subscriptions', subscriptionsRouter); -// Invoice generation + PDF export is already mounted at /invoice (Issue #809: -// GET /api/v1/invoice/:id/pdf via buildInvoicePdf in services/invoice.ts). -// Payment retry engine (exponential backoff, circuit breaker, analytics) — Issue #810 -apiV1Router.use('/payment-retry', retryRouter); -// Multiple payment methods per account — Issue #811 -apiV1Router.use('/payment-methods', paymentMethodsRouter); -// Automated tax reporting, export, and calendar — Issues #690–#693 -apiV1Router.use('/tax-reporting', taxReportingRouter); -// Cross-chain wallet abstraction & unified balance aggregation — Issue #711 -apiV1Router.use('/wallet', walletRouter); -// GDPR data subject rights: erasure, portability, consent, retention — Issue #713 -apiV1Router.use('/gdpr', gdprRouter); -// GDPR-aware data export jobs & scheduling — Issue #713 -apiV1Router.use('/data-export', dataExportRouter); -// Automated security scanning findings & remediation tracking — Issue #712 -apiV1Router.use('/security', securityRouter); -// Project collaboration: threaded comments, reactions, activity feed — Issue #714 -apiV1Router.use('/comments', commentsRouter); -// Real-time collaboration: presence, field locks, edit history — Issue #714 -apiV1Router.use('/collaboration', collaborationRouter); -// Multi-chain payment processing via the PaymentProvider strategy pattern — Issue #726 -apiV1Router.use('/payment-strategies', paymentStrategiesRouter); -// Large dataset streaming exports -apiV1Router.use('/exports', streamingExportRouter); -// Performance and pool monitoring -apiV1Router.use('/monitoring', poolMonitorRouter); -apiV1Router.use('/database', databaseRouter); -// Soft delete archival sweep + restore — Issue #884 -apiV1Router.use('/archive', archiveRouter); -// Full-text search — Issue #885 -apiV1Router.use('/search', searchRouter); -apiV1Router.use('/analytics/cohorts', cohortAnalyticsRouter); -apiV1Router.use('/analytics/churn', churnPredictionRouter); -// Core analytics: usage snapshot, funnel, revenue, anomalies, event ingest — Issue #826 -apiV1Router.use('/analytics', createAnalyticsRouter()); -apiV1Router.use('/integrations/slack', slackRouter); -apiV1Router.use('/integrations/github', githubIntegrationRouter); -// Payment dispute management (filing, response, evidence, arbitration) — Issue #816 -apiV1Router.use('/disputes', authMiddleware, disputeRoutes); -// Admin cache stats/clear/evict — Issue #818 -apiV1Router.use('/cache', authMiddleware, cacheRouter); -// ACH/wire fiat payments — Issue #817 -apiV1Router.use('/fiat-payments', authMiddleware, fiatPaymentsRouter); -// Rate limiting: tier configs, quota overrides, and analytics — Issue #820 -apiV1Router.use('/rate-limit', rateLimitQuotasRouter); -// Compression metrics and per-endpoint config — Issue #821 -apiV1Router.use('/compression', compressionRouter); -apiV1Router.use('/auth/oauth', oauthRouter); -apiV1Router.use('/auth/2fa', twoFactorAuthRouter); - -// Explicit URL-based mounting -// Per-key usage metrics for the analytics dashboard — Issue #826. -// Mounted ahead of the routers so every API-key-authenticated call is recorded. -app.use('/api/v1', apiUsageTracker); -app.use('/api/v1', apiV1Router); - -// Milestone dependency management -app.use('/api/v1/milestones', milestonesRouter); - -// API key management -app.use('/api/v1/api-keys', apiKeysRouter); - -// Header-based or fallback mounting +apiV1Router.use('/workspaces', workspacesRouter); +apiV1Router.use('/teams', teamsRouter); +apiV1Router.use('/merchant-audit', merchantAuditRouter); +apiV1Router.get('/compression/metrics', (_req, res) => { + res.json(getCompressionMetrics()); +}); +apiV1Router.get('/pool/metrics', (_req, res) => { + res.json(poolMetrics.snapshot()); +}); + +app.use('/api/v1', ipAllowlistMiddleware(), apiV1Router); + +app.use('/api/v1/notifications', notificationsRouter); +app.use('/api/v1/audit', auditRouter); +app.use('/api/v1/hedging', hedgingRouter); +app.use('/api/v1/compliance', complianceRouter); +app.use('/api/v1/gdpr', gdprRouter); +app.use('/api/v1/escrow', escrowRouter); +app.use('/api/v1/multisig', multisigRouter); +app.use('/api/v1/webhooks', webhooksRouter); +app.use('/api/v1/fraud-detection', fraudDetectionRouter); +app.use('/api/v1/bridge', bridgeRouter); +app.use('/api/v1/tokenization', tokenizationRouter); + +// Payment receipt NFTs +app.use('/api/v1/receipts', receiptsRouter); + +// Event-driven architecture — event store, CQRS projections +app.use('/api/v1/events', eventsRouter); + +// Advanced threat detection with behavioral analysis +app.use('/api/v1/threat-detection', threatDetectionRouter); + +// Secure file upload with MIME/magic-bytes validation and ClamAV scanning (Issue #401) +app.use('/api/v1/uploads', fileUploadRouter); + +// Credential rotation management with dual-key overlap and audit trail (Issue #395) +app.use('/api/v1/credentials', credentialRotationRouter); + +// Microservices service mesh — registry, discovery, circuit breakers +app.use('/api/v1/service-mesh', serviceMeshRouter); + +// Fiat ACH/Wire payment approval workflows +app.use('/api/v1/fiat-payments', fiatPaymentsRouter); + +// Merchant dynamic payment links +app.use('/api/v1/payment-links', paymentLinksRouter); + +// Merchant tax report generation (summary, 1099-K, VAT, nexus, CSV export) +app.use('/api/v1/tax', taxRouter); + +// Project + milestone delivery approval workflow +app.use('/api/v1/projects', projectsRouter); + +// Two-factor authentication +app.use('/api/v1/auth/2fa', twoFactorAuthRouter); + +// Sandbox environment for testing (with relaxed rate limits) +const sandboxRouter = createSandboxRouter(getSandboxManager(), getMockPaymentProcessor(), getTestDataSeeder()); +app.use('/api/v1/sandbox', sandboxRateLimiter, sandboxRouter); + +// Email system v2 with templates, analytics, and localization +app.use('/api/v2/email', emailV2Router); + +// GraphQL gateway with federation-ready schema and subscriptions stream +app.use('/graphql', graphQLRouter); +app.use('/graphql/ws', graphQLWsRouter); + app.use('/api', (req: Request, res: Response, next: NextFunction) => { if (req.path.startsWith('/v1/')) { return next(); @@ -405,59 +338,134 @@ app.use('/api', (req: Request, res: Response, next: NextFunction) => { if (req.apiVersion === 'v1') { return apiV1Router(req, res, next); } - + next(new AppError(404, `API Version ${req.apiVersion} is not supported`, 'UNSUPPORTED_API_VERSION')); }); app.use(notFoundHandler); + +Sentry.setupExpressErrorHandler(app); + app.use(errorHandler); if (config.jobs.enabled) { startJobs(); + + // Start the BullMQ distributed scheduler when Redis is available. + // Falls back silently to the in-process node-cron scheduler if Redis is absent. + createBullMQScheduler(getScheduledTasks()).then((scheduler) => { + if (scheduler) { + console.log('[bullmq] Distributed scheduler active'); + } else { + console.log('[scheduler] Using in-process node-cron (Redis not configured)'); + } + }).catch((err) => { + console.error('[bullmq] Scheduler startup error:', err); + }); } -// Start read-replica health-check polling (Issue #881). -// Only activates when DB_READ_REPLICA_URLS is set; no-op otherwise. -getPrismaReplicaClient().startHealthChecks(); +// Start automated credential rotation scheduler (Issue #395) +startScheduledRotation(); +console.log('[CredentialRotation] Scheduled rotation started'); registerDefaultProcessors(); if (config.queue.enabled) { messageQueue.start(); + paymentQueue.start(); } +startWebhookWorker(); + +// Auto-escalation cron +setInterval(async () => { + const count = await disputeService.processEscalations(); + if (count > 0) console.log(`Escalated ${count} disputes`); +}, 5 * 60 * 1000); -registerDefaultPaymentProviders(); +if (featureFlags.evaluate('batch-operations')) { + batchProcessor.start(); + console.log('[BatchProcessor] Started'); +} -// --------------------------------------------------------------------------- -// Issue #823 — Real-time WebSocket API -// Attach the WebSocket server to the raw HTTP server so we can handle the -// WS upgrade handshake. The REST management routes are mounted on /api/v1/ws. -// --------------------------------------------------------------------------- -const httpServer = http.createServer(app); +getRedisCache().connect().then(() => { + console.log('[RedisCache] Connection initialized'); +}).catch(() => { + console.log('[RedisCache] Not available, using in-memory cache only'); +}); -const wsServer = attachWebSocketServer({ server: httpServer }); -const connectionManager = new ConnectionManager(wsServer); -registerWebSocketServer(wsServer); +const server = http.createServer(app); +const wsServer = attachWebSocketServer({ server, options: { path: '/ws' } }); +bindWebSocketServer(wsServer); +app.use('/api/v1/websocket', createWebSocketRouter(wsServer)); +app.use('/api/v1/analytics', createAnalyticsRouter(wsServer)); -// Mount WebSocket REST management routes AFTER wsServer is created so -// createWebSocketRouter can capture the reference. -apiV1Router.use('/ws', createWebSocketRouter(wsServer, connectionManager)); +const analyticsInterval = setInterval(() => { + wsServer.broadcastToChannel('analytics.updates', { type: 'analytics:update', payload: analyticsService.snapshot() }); +}, 30_000); -const server = httpServer.listen(config.server.port, () => { +server.listen(config.server.port, () => { console.log(`AgenticPay backend running on port ${config.server.port} [${config.env}]`); - console.log(`WebSocket endpoint: ws://localhost:${config.server.port}/ws`); + console.log(`WebSocket server listening on path /ws (max ${wsServer.metrics.activeConnections}/${wsServer.metrics.acceptedConnections})`); + + // ── Deferred startup: run after the server is accepting requests ──────────── + // These services are not needed to serve the first request. Starting them + // after listen() means the process is ready to handle traffic immediately, + // and the background work happens concurrently without blocking the hot path. + setImmediate(() => { + // Load Sentry profiling integration now that the process is warm + loadProfilingIntegration(); + + // Job scheduler + if (config.jobs.enabled) { + startJobs(); + + createBullMQScheduler(getScheduledTasks()).then((scheduler) => { + if (scheduler) { + console.log('[bullmq] Distributed scheduler active'); + } else { + console.log('[scheduler] Using in-process node-cron (Redis not configured)'); + } + }).catch((err) => { + console.error('[bullmq] Scheduler startup error:', err); + }); + } + + // Queue processors + registerDefaultProcessors(); + if (config.queue.enabled) { + messageQueue.start(); + paymentQueue.start(); + } + + // Webhook worker + startWebhookWorker(); + + // Auto-escalation cron + setInterval(async () => { + const count = await disputeService.processEscalations(); + if (count > 0) console.log(`Escalated ${count} disputes`); + }, 5 * 60 * 1000); + + // Batch processor + if (featureFlags.evaluate('batch-operations')) { + batchProcessor.start(); + console.log('[BatchProcessor] Started'); + } + + // Redis cache connection (non-blocking — falls back to in-memory) + getRedisCache().connect().then(() => { + console.log('[RedisCache] Connection initialized'); + }).catch(() => { + console.log('[RedisCache] Not available, using in-memory cache only'); + }); + }); }); -// Graceful shutdown const shutdown = (signal: string) => { console.log(`${signal} received. Starting graceful shutdown...`); server.close(() => { console.log('HTTP server closed.'); - void wsServer.close().then(() => { - console.log('WebSocket server closed.'); - }); - try { const scheduler = getJobScheduler(); if (scheduler) { @@ -468,18 +476,44 @@ const shutdown = (signal: string) => { console.error('Error stopping scheduler:', err); } + try { + const bullScheduler = getBullMQScheduler(); + if (bullScheduler) { + bullScheduler.shutdown().then(() => console.log('BullMQ scheduler stopped.')); + } + } catch (err) { + console.error('Error stopping BullMQ scheduler:', err); + } + + try { + stopScheduledRotation(); + console.log('Credential rotation scheduler stopped.'); + } catch (err) { + console.error('Error stopping credential rotation:', err); + } + try { messageQueue.stop(); + paymentQueue.stop(); + stopWebhookWorker(); console.log('Message queue stopped.'); } catch (err) { console.error('Error stopping message queue:', err); } try { - getPrismaReplicaClient().stopHealthChecks(); - console.log('Replica health checks stopped.'); + batchProcessor.stop(); + console.log('Batch processor stopped.'); + } catch (err) { + console.error('Error stopping batch processor:', err); + } + + clearInterval(analyticsInterval); + + try { + wsServer.close().then(() => console.log('WebSocket server closed.')); } catch (err) { - console.error('Error stopping replica health checks:', err); + console.error('Error closing WebSocket server:', err); } console.log('Graceful shutdown complete. Exiting.'); diff --git a/backend/src/lib/prisma.ts b/backend/src/lib/prisma.ts index 97bbacde..4a2c3bc3 100644 --- a/backend/src/lib/prisma.ts +++ b/backend/src/lib/prisma.ts @@ -2,18 +2,13 @@ // Single shared instance with query logging and slow-query detection. import { PrismaClient } from '@prisma/client'; -import { applyPrismaPoolConfig, SLOW_QUERY_THRESHOLD_MS, VERY_SLOW_QUERY_THRESHOLD_MS } from '../config/database.js'; -import { createPrismaQueryListener } from '../middleware/queryLogger.js'; -import { withTenantIsolationGuard } from '../security/tenant-isolation/guard.js'; -import { withEncryptionMiddleware } from '../encryption/index.js'; +import { SLOW_QUERY_THRESHOLD_MS, VERY_SLOW_QUERY_THRESHOLD_MS } from '../config/database.js'; const globalForPrisma = globalThis as unknown as { prisma?: PrismaClient }; -const prismaDatabaseUrl = applyPrismaPoolConfig(process.env.DATABASE_URL); -const basePrismaClient = +export const prisma = globalForPrisma.prisma ?? new PrismaClient({ - ...(prismaDatabaseUrl ? { datasources: { db: { url: prismaDatabaseUrl } } } : {}), log: [ { emit: 'event', level: 'query' }, { emit: 'stdout', level: 'warn' }, @@ -21,25 +16,17 @@ const basePrismaClient = ], }); -// Cross-tenant isolation enforcement (Issue #522) — throws instead of -// silently leaking data when a query targets a tenant other than the -// caller's active tenant context. -// Column-level AES-256-GCM encryption for PII fields (Issue #511). -export const prisma = withEncryptionMiddleware(withTenantIsolationGuard(basePrismaClient)); - -// Attach slow-query detection to Prisma query events (must be registered on -// the base client — extended clients don't re-expose $on). -(basePrismaClient.$on as Function)('query', (e: { query: string; duration: number }) => { +// Attach slow-query detection to Prisma query events +(prisma.$on as Function)('query', (e: { query: string; duration: number }) => { if (e.duration >= VERY_SLOW_QUERY_THRESHOLD_MS) { console.warn(`[db] 🔴 CRITICAL query ${e.duration}ms: ${e.query.slice(0, 120)}…`); } else if (e.duration >= SLOW_QUERY_THRESHOLD_MS) { console.warn(`[db] 🟡 SLOW query ${e.duration}ms: ${e.query.slice(0, 120)}…`); } }); -(basePrismaClient.$on as Function)('query', createPrismaQueryListener()); if (process.env.NODE_ENV !== 'production') { - globalForPrisma.prisma = basePrismaClient; + globalForPrisma.prisma = prisma; } // Graceful disconnect helper — call in server shutdown handler diff --git a/backend/src/middleware/__tests__/cache.test.ts b/backend/src/middleware/__tests__/cache.test.ts index c7eb9d44..6f832db6 100644 --- a/backend/src/middleware/__tests__/cache.test.ts +++ b/backend/src/middleware/__tests__/cache.test.ts @@ -1,26 +1,12 @@ /** * cache.test.ts * - * Unit tests for the cache module: CacheTTL constants, MemoryCache, - * SingleFlight, CacheMonitor, warmCache/invalidation helpers and the - * cacheControl() middleware (header-only + in-memory modes). + * Unit tests for the cacheControl() middleware and CacheTTL constants. */ -import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; -import { EventEmitter } from 'node:events'; +import { describe, it, expect, vi, beforeEach } from 'vitest'; import type { Request, Response } from 'express'; -import { - cacheControl, - CacheTTL, - getCacheMonitor, - getRedisCache, - getMemoryCache, - getSingleFlight, - warmCache, - getWarmedKeys, - invalidateCache, - clearMemoryCache, -} from '../cache.js'; +import { cacheControl, CacheTTL } from '../cache.js'; // ─── Helpers ────────────────────────────────────────────────────────────────── @@ -28,35 +14,27 @@ function makeReq(overrides: Partial = {}): Request { return { method: 'GET', headers: {}, - originalUrl: '/api/test', ...overrides, } as unknown as Request; } function makeRes(): { - res: Response & EventEmitter; + res: Response; headers: Record; sentStatus: number | null; sentBody: unknown; jsonCalled: boolean; - emitFinish: () => void; } { const headers: Record = {}; let sentStatus: number | null = null; let sentBody: unknown = undefined; let jsonCalled = false; - const emitter = new EventEmitter(); - const res = Object.assign(emitter, { - statusCode: 200, + const res = { setHeader: vi.fn((name: string, value: string | number) => { headers[name] = value; }), - getHeader: vi.fn((name: string): string | number | undefined => { - return headers[name]; - }), status: vi.fn(function (code: number) { - res.statusCode = code; sentStatus = code; return res; }), @@ -66,312 +44,36 @@ function makeRes(): { sentBody = body; return res; }), - }) as unknown as Response & EventEmitter; - - // Vitest mocks wipe `on`; re-add the EventEmitter binding for 'finish'. - res.on = emitter.on.bind(emitter); + } as unknown as Response; - return { - res, - headers, - get sentStatus() { return sentStatus; }, - get sentBody() { return sentBody; }, - get jsonCalled() { return jsonCalled; }, - emitFinish: () => emitter.emit('finish'), - }; + return { res, headers, get sentStatus() { return sentStatus; }, get sentBody() { return sentBody; }, get jsonCalled() { return jsonCalled; } }; } -beforeEach(() => { - clearMemoryCache(); - getCacheMonitor().reset(); -}); - -afterEach(() => { - vi.restoreAllMocks(); - vi.useRealTimers(); -}); - -// ─── CacheTTL constants ─────────────────────────────────────────────────────── +// ─── Tests ──────────────────────────────────────────────────────────────────── describe('CacheTTL constants', () => { - it('exposes the full TTL ladder', () => { - expect(CacheTTL.STATIC).toBe(300); - expect(CacheTTL.SHORT).toBe(30); - expect(CacheTTL.IMMUTABLE).toBe(600); - expect(CacheTTL.LONG).toBe(3600); - expect(CacheTTL.NONE).toBe(0); - }); -}); - -// ─── MemoryCache ────────────────────────────────────────────────────────────── - -describe('MemoryCache', () => { - it('round-trips values and reports them fresh', () => { - const cache = getMemoryCache(); - cache.set('a:1', { hello: 'world' }, 60_000, '"etag"'); - const got = cache.get<{ hello: string }>('a:1'); - expect(got).not.toBeNull(); - expect(got?.value).toEqual({ hello: 'world' }); - expect(got?.stale).toBe(false); - expect(got?.etag).toBe('"etag"'); - expect(cache.size).toBe(1); - }); - - it('returns null for unknown keys', () => { - expect(getMemoryCache().get('missing')).toBeNull(); - }); - - it('reports entries as stale once expired', () => { - vi.useFakeTimers({ toFake: ['Date'] }); - vi.setSystemTime(1_000_000); - const cache = getMemoryCache(); - cache.set('t:1', { v: 1 }, 1000); - expect(cache.get('t:1')?.stale).toBe(false); - - vi.setSystemTime(1_001_001); - expect(cache.get('t:1')?.stale).toBe(true); - }); - - it('increments hitCount on every read', () => { - const cache = getMemoryCache(); - cache.set('h:1', 1, 60_000); - cache.get('h:1'); - cache.get('h:1'); - expect(cache.getStats().totalHits).toBe(2); - }); - - it('evicts only expired entries', () => { - vi.useFakeTimers({ toFake: ['Date'] }); - vi.setSystemTime(5_000_000); - const cache = getMemoryCache(); - cache.set('expired', 1, 100); - cache.set('alive', 2, 1000); - - vi.setSystemTime(5_000_200); - const evicted = cache.evictExpired(); - - expect(evicted).toBe(1); - expect(cache.has('expired')).toBe(false); - expect(cache.has('alive')).toBe(true); - }); - - it('deletes individual keys', () => { - const cache = getMemoryCache(); - cache.set('d:1', 1, 60_000); - cache.delete('d:1'); - expect(cache.has('d:1')).toBe(false); - }); - - it('clears the store', () => { - const cache = getMemoryCache(); - cache.set('c:1', 1, 60_000); - cache.set('c:2', 2, 60_000); - cache.clear(); - expect(cache.size).toBe(0); - }); - - it('evicts the oldest entry past its capacity', () => { - const cache = getMemoryCache(); - const maxSize = cache.getStats().maxSize; - cache.set('first', 'a', 60_000); - for (let i = 0; i < maxSize; i++) { - cache.set(`filler-${i}`, i, 60_000); - } - expect(cache.size).toBe(maxSize); - expect(cache.has('first')).toBe(false); - expect(cache.has('filler-0')).toBe(true); - }); - - it('exposes keys and stats', () => { - const cache = getMemoryCache(); - cache.set('k:1', 1, 60_000); - cache.set('k:2', 2, 60_000); - expect([...cache.keys()].sort()).toEqual(['k:1', 'k:2']); - const stats = cache.getStats(); - expect(stats.totalEntries).toBe(2); - expect(stats.avgHitsPerEntry).toBe(0); - }); -}); - -// ─── SingleFlight ───────────────────────────────────────────────────────────── - -describe('SingleFlight', () => { - it('coalesces concurrent work for the same key', async () => { - const sf = getSingleFlight(); - let calls = 0; - const fn = async () => { - calls++; - await new Promise((r) => setTimeout(r, 5)); - return calls; - }; - - const [a, b, c] = await Promise.all([ - sf.execute('k', fn), - sf.execute('k', fn), - sf.execute('k', fn), - ]); - - expect(calls).toBe(1); - expect([a, b, c]).toEqual([1, 1, 1]); - expect(sf.inFlightCount).toBe(0); - }); - - it('runs different keys independently', async () => { - const sf = getSingleFlight(); - let calls = 0; - const fn = async () => ++calls; - - const [a, b] = await Promise.all([ - sf.execute('x', fn), - sf.execute('y', fn), - ]); - - expect(a).toBe(1); - expect(b).toBe(2); - }); - - it('clears the in-flight map even when the work rejects', async () => { - const sf = getSingleFlight(); - await expect( - sf.execute('boom', () => Promise.reject(new Error('nope'))), - ).rejects.toThrow('nope'); - expect(sf.inFlightCount).toBe(0); - }); + it('STATIC is 300 seconds', () => expect(CacheTTL.STATIC).toBe(300)); + it('SHORT is 30 seconds', () => expect(CacheTTL.SHORT).toBe(30)); + it('IMMUTABLE is 600 seconds', () => expect(CacheTTL.IMMUTABLE).toBe(600)); + it('NONE is 0', () => expect(CacheTTL.NONE).toBe(0)); }); -// ─── CacheMonitor ───────────────────────────────────────────────────────────── - -describe('CacheMonitor', () => { - it('tracks hits, misses, sets and evictions', () => { - const monitor = getCacheMonitor(); - monitor.recordHit(); - monitor.recordHit(); - monitor.recordMiss(); - monitor.recordSet(); - monitor.recordEviction(); - - const stats = monitor.getStats(); - expect(stats.hits).toBe(2); - expect(stats.misses).toBe(1); - expect(stats.sets).toBe(1); - expect(stats.evictions).toBe(1); - }); - - it('computes a hit ratio', () => { - const monitor = getCacheMonitor(); - monitor.reset(); - monitor.recordHit(); - monitor.recordHit(); - monitor.recordMiss(); - expect(monitor.hitRatio).toBeCloseTo(2 / 3); - }); - - it('reset zeroes the counters', () => { - const monitor = getCacheMonitor(); - monitor.recordHit(); - monitor.reset(); - expect(monitor.hitRatio).toBe(0); - expect(monitor.getStats().hits).toBe(0); - }); - - it('empty monitor has a zero hit ratio', () => { - const monitor = getCacheMonitor(); - monitor.reset(); - expect(monitor.hitRatio).toBe(0); - }); -}); - -// ─── warmCache / invalidation helpers ───────────────────────────────────────── - -describe('warmCache / invalidation', () => { - it('warms a value into the memory cache', async () => { - warmCache('warm:1', async () => ({ data: 'hot' }), 60_000); - await vi.waitFor(() => { - expect(getMemoryCache().get('warm:1')).not.toBeNull(); - }); - expect(getMemoryCache().get<{ data: string }>('warm:1')?.value).toEqual({ data: 'hot' }); - expect(getWarmedKeys()).toContain('warm:1'); - }); - - it('does not warm the same key twice', async () => { - let calls = 0; - const fn = async () => { - calls++; - return { n: calls }; - }; - warmCache('warm:2', fn, 60_000); - warmCache('warm:2', fn, 60_000); - await vi.waitFor(() => { - expect(getMemoryCache().get('warm:2')).not.toBeNull(); - }); - expect(calls).toBe(1); - }); - - it('drops the key from the warmed set when the fetch fails', async () => { - warmCache('warm:fail', () => Promise.reject(new Error('nope')), 60_000); - await vi.waitFor(() => { - expect(getWarmedKeys()).not.toContain('warm:fail'); - }); - expect(getMemoryCache().has('warm:fail')).toBe(false); - }); - - it('computes an ETag when the warmed value is JSON-serialisable', async () => { - warmCache('warm:etag', async () => ({ ok: true }), 60_000); - await vi.waitFor(() => { - expect(getMemoryCache().get('warm:etag')).not.toBeNull(); - }); - expect(getMemoryCache().get('warm:etag')?.etag).toMatch(/^"[0-9a-f]{16}"$/); - }); - - it('falls back to an empty ETag when the warmed value is not serialisable', async () => { - const circular: { self?: unknown } = {}; - circular.self = circular; - warmCache('warm:circ', async () => circular, 60_000); - await vi.waitFor(() => { - expect(getMemoryCache().has('warm:circ')).toBe(true); - }); - expect(getMemoryCache().get('warm:circ')?.etag).toBe(''); - }); - - it('invalidateCache removes matching keys and leaves others intact', async () => { - const cache = getMemoryCache(); - cache.set('agenticpay:cache:GET:/api/catalog', 1, 60_000); - cache.set('agenticpay:cache:GET:/api/other', 2, 60_000); - - await invalidateCache('GET:/api/catalog*'); - - expect(cache.has('agenticpay:cache:GET:/api/catalog')).toBe(false); - expect(cache.has('agenticpay:cache:GET:/api/other')).toBe(true); - }); - - it('clearMemoryCache empties the store and warmed keys', async () => { - getMemoryCache().set('x', 1, 60_000); - warmCache('warm:clear', async () => 1, 60_000); - await vi.waitFor(() => { - expect(getWarmedKeys()).toContain('warm:clear'); - }); - clearMemoryCache(); - expect(getMemoryCache().size).toBe(0); - expect(getWarmedKeys()).toEqual([]); - }); -}); - -// ─── cacheControl() middleware — header-only mode ───────────────────────────── - -describe('cacheControl() middleware (header-only)', () => { +describe('cacheControl() middleware', () => { let next: ReturnType; beforeEach(() => { next = vi.fn(); }); + // ── Cache-Control header ──────────────────────────────────────────────────── + it('sets public Cache-Control with max-age for a normal GET', () => { const req = makeReq(); const { res, headers } = makeRes(); const mw = cacheControl({ maxAge: 300 }); mw(req, res, next); - (res.json as unknown as ReturnType)({ data: 1 }); + (res.json as ReturnType)({ data: 1 }); expect(headers['Cache-Control']).toBe('public, max-age=300'); expect(next).toHaveBeenCalledOnce(); @@ -380,9 +82,10 @@ describe('cacheControl() middleware (header-only)', () => { it('sets private Cache-Control when isPublic is false', () => { const req = makeReq(); const { res, headers } = makeRes(); + const mw = cacheControl({ maxAge: 60, isPublic: false }); - cacheControl({ maxAge: 60, isPublic: false })(req, res, next); - (res.json as unknown as ReturnType)({ data: 1 }); + mw(req, res, next); + (res.json as ReturnType)({ data: 1 }); expect(headers['Cache-Control']).toBe('private, max-age=60'); }); @@ -390,9 +93,10 @@ describe('cacheControl() middleware (header-only)', () => { it('appends stale-while-revalidate when provided', () => { const req = makeReq(); const { res, headers } = makeRes(); + const mw = cacheControl({ maxAge: 300, staleWhileRevalidate: 60 }); - cacheControl({ maxAge: 300, staleWhileRevalidate: 60 })(req, res, next); - (res.json as unknown as ReturnType)({ ok: true }); + mw(req, res, next); + (res.json as ReturnType)({ ok: true }); expect(headers['Cache-Control']).toBe('public, max-age=300, stale-while-revalidate=60'); }); @@ -400,120 +104,92 @@ describe('cacheControl() middleware (header-only)', () => { it('sets no-store when maxAge is 0', () => { const req = makeReq(); const { res, headers } = makeRes(); + const mw = cacheControl({ maxAge: CacheTTL.NONE }); - cacheControl({ maxAge: CacheTTL.NONE })(req, res, next); - (res.json as unknown as ReturnType)({}); + mw(req, res, next); + (res.json as ReturnType)({}); expect(headers['Cache-Control']).toBe('no-store'); }); + // ── ETag header ───────────────────────────────────────────────────────────── + it('sets an ETag header on the response', () => { const req = makeReq(); const { res, headers } = makeRes(); + const mw = cacheControl({ maxAge: 30 }); - cacheControl({ maxAge: 30 })(req, res, next); - (res.json as unknown as ReturnType)({ value: 42 }); + mw(req, res, next); + (res.json as ReturnType)({ value: 42 }); expect(headers['ETag']).toMatch(/^"[0-9a-f]{16}"$/); }); - it('produces the same ETag for identical bodies and different for different bodies', () => { - const call = (body: unknown) => { + it('produces the same ETag for identical bodies', () => { + const body = { name: 'agenticpay', version: 1 }; + + const makeCall = () => { const req = makeReq(); const { res, headers } = makeRes(); - cacheControl({ maxAge: 60 })(req, res, next); - (res.json as unknown as ReturnType)(body); + const mw = cacheControl({ maxAge: 60 }); + mw(req, res, next); + (res.json as ReturnType)(body); return headers['ETag']; }; - const body = { name: 'agenticpay', version: 1 }; - expect(call(body)).toBe(call(body)); - expect(call({ a: 1 })).not.toBe(call({ a: 2 })); - }); - - it('returns 304 when If-None-Match matches exactly', () => { - const body = { catalog: [] }; - const reqA = makeReq(); - const { res: resA, headers } = makeRes(); - cacheControl({ maxAge: 300 })(reqA, resA, next); - (resA.json as unknown as ReturnType)(body); - const etag = headers['ETag'] as string; - - const reqB = makeReq({ headers: { 'if-none-match': etag } }); - const { res: resB } = makeRes(); - cacheControl({ maxAge: 300 })(reqB, resB, next); - (resB.json as unknown as ReturnType)(body); - - expect((resB.status as unknown as ReturnType)).toHaveBeenCalledWith(304); - expect((resB.end as unknown as ReturnType)).toHaveBeenCalled(); + expect(makeCall()).toBe(makeCall()); }); - it('returns 304 when the client sends a weak variant of the ETag', () => { - const body = { x: 1 }; - const reqA = makeReq(); - const { res: resA, headers } = makeRes(); - cacheControl({ maxAge: 60 })(reqA, resA, next); - (resA.json as unknown as ReturnType)(body); - const etag = (headers['ETag'] as string).replace(/^"/, 'W/"'); - - const reqB = makeReq({ headers: { 'if-none-match': etag } }); - const { res: resB } = makeRes(); - cacheControl({ maxAge: 60 })(reqB, resB, next); - (resB.json as unknown as ReturnType)(body); + it('produces different ETags for different bodies', () => { + const makeCall = (body: unknown) => { + const req = makeReq(); + const { res, headers } = makeRes(); + const mw = cacheControl({ maxAge: 60 }); + mw(req, res, next); + (res.json as ReturnType)(body); + return headers['ETag']; + }; - expect((resB.status as unknown as ReturnType)).toHaveBeenCalledWith(304); + expect(makeCall({ a: 1 })).not.toBe(makeCall({ a: 2 })); }); - it('returns 304 for a wildcard If-None-Match (*)', () => { - const req = makeReq({ headers: { 'if-none-match': '*' } }); - const { res } = makeRes(); + // ── Conditional GET / 304 ─────────────────────────────────────────────────── - cacheControl({ maxAge: 60 })(req, res, next); - (res.json as unknown as ReturnType)({ data: 1 }); - - expect((res.status as unknown as ReturnType)).toHaveBeenCalledWith(304); - }); + it('returns 304 and skips body when If-None-Match matches the ETag', () => { + const body = { catalog: [] }; - it('returns 304 when a comma-separated list contains a match', () => { - const body = { data: 'listed' }; + // First request — get the ETag const reqA = makeReq(); - const { res: resA, headers } = makeRes(); - cacheControl({ maxAge: 60 })(reqA, resA, next); - (resA.json as unknown as ReturnType)(body); - const etag = headers['ETag'] as string; + const { res: resA, headers: headersA } = makeRes(); + cacheControl({ maxAge: 300 })(reqA, resA, vi.fn()); + (resA.json as ReturnType)(body); + const etag = headersA['ETag'] as string; - const reqB = makeReq({ headers: { 'if-none-match': `"old", ${etag}` } }); - const { res: resB } = makeRes(); - cacheControl({ maxAge: 60 })(reqB, resB, next); - (resB.json as unknown as ReturnType)(body); + // Second request — client sends the ETag back + const reqB = makeReq({ headers: { 'if-none-match': etag } as any }); + const { res: resB, headers: headersB } = makeRes(); + cacheControl({ maxAge: 300 })(reqB, resB, vi.fn()); + (resB.json as ReturnType)(body); - expect((resB.status as unknown as ReturnType)).toHaveBeenCalledWith(304); + expect((resB.status as ReturnType)).toHaveBeenCalledWith(304); + expect((resB.end as ReturnType)).toHaveBeenCalled(); + // ETag header should still be set even on 304 + expect(headersB['ETag']).toMatch(/^"[0-9a-f]{16}"$/); }); it('does NOT return 304 when If-None-Match does not match', () => { - const req = makeReq({ headers: { 'if-none-match': '"outdatedETagValue"' } }); + const req = makeReq({ headers: { 'if-none-match': '"outdatedETagValue"' } as any }); const { res } = makeRes(); cacheControl({ maxAge: 60 })(req, res, next); - (res.json as unknown as ReturnType)({ updated: true }); + (res.json as ReturnType)({ updated: true }); - expect((res.status as unknown as ReturnType)).not.toHaveBeenCalledWith(304); + expect((res.status as ReturnType)).not.toHaveBeenCalledWith(304); }); - it('marks error responses as no-store and skips ETag logic', () => { - const req = makeReq(); - const { res, headers } = makeRes(); - (res.status as unknown as ReturnType)(503); - - cacheControl({ maxAge: 300 })(req, res, next); - (res.json as unknown as ReturnType)({ error: 'down' }); - - expect(headers['Cache-Control']).toBe('no-store'); - expect(headers['ETag']).toBeUndefined(); - expect((res.status as unknown as ReturnType)).not.toHaveBeenCalledWith(304); - }); + // ── Non-GET passthrough ───────────────────────────────────────────────────── - it('passes POST requests straight through without touching res.json', () => { + it('calls next() without modifying res.json for POST requests', () => { const req = makeReq({ method: 'POST' }); const { res } = makeRes(); const originalJson = res.json; @@ -521,10 +197,11 @@ describe('cacheControl() middleware (header-only)', () => { cacheControl({ maxAge: 300 })(req, res, next); expect(next).toHaveBeenCalledOnce(); + // res.json should NOT have been replaced (POST is not intercepted) expect(res.json).toBe(originalJson); }); - it('passes DELETE requests straight through', () => { + it('calls next() without modifying res.json for DELETE requests', () => { const req = makeReq({ method: 'DELETE' }); const { res } = makeRes(); const originalJson = res.json; @@ -539,266 +216,8 @@ describe('cacheControl() middleware (header-only)', () => { const { res, headers } = makeRes(); cacheControl({ maxAge: 120 })(req, res, next); - (res.json as unknown as ReturnType)({}); + (res.json as ReturnType)({}); expect(headers['Cache-Control']).toBe('public, max-age=120'); }); }); - -// ─── cacheControl() middleware — in-memory mode ─────────────────────────────── - -describe('cacheControl() middleware (in-memory)', () => { - let next: ReturnType; - - beforeEach(() => { - next = vi.fn(); - }); - - it('serves a MISS on the first request and stores the response on finish', () => { - const req = makeReq(); - const { res, headers, emitFinish } = makeRes(); - const mw = cacheControl({ maxAge: 300, inMemory: true }); - - mw(req, res, next); - (res.json as unknown as ReturnType)({ version: '1' }); - emitFinish(); - - expect(headers['X-Cache']).toBe('MISS'); - expect(headers['ETag']).toMatch(/^"[0-9a-f]{16}"$/); - expect(getMemoryCache().size).toBe(1); - expect(getCacheMonitor().getStats().sets).toBe(1); - }); - - it('serves cached values with X-Cache HIT and skips the handler', () => { - // Prime the cache like a previous request would have - const primeReq = makeReq(); - const prime = makeRes(); - cacheControl({ maxAge: 300, inMemory: true })(primeReq, prime.res, vi.fn()); - (prime.res.json as unknown as ReturnType)({ version: '1' }); - prime.emitFinish(); - - const req = makeReq(); - const hit = makeRes(); - const mw = cacheControl({ maxAge: 300, inMemory: true }); - - mw(req, hit.res, next); - - expect(hit.headers['X-Cache']).toBe('HIT'); - expect(hit.headers['Cache-Control']).toBe('public, max-age=300'); - expect(hit.headers['ETag']).toMatch(/^"[0-9a-f]{16}"$/); - expect(hit.sentBody).toEqual({ version: '1' }); - expect(next).not.toHaveBeenCalled(); - }); - - it('returns 304 for a matching If-None-Match when serving from cache', () => { - const primeReq = makeReq(); - const prime = makeRes(); - cacheControl({ maxAge: 300, inMemory: true })(primeReq, prime.res, vi.fn()); - (prime.res.json as unknown as ReturnType)({ version: '1' }); - prime.emitFinish(); - const etag = prime.headers['ETag'] as string; - - const req = makeReq({ headers: { 'if-none-match': etag } }); - const hit = makeRes(); - cacheControl({ maxAge: 300, inMemory: true })(req, hit.res, next); - - expect((hit.res.status as unknown as ReturnType)).toHaveBeenCalledWith(304); - expect((hit.res.end as unknown as ReturnType)).toHaveBeenCalled(); - expect(next).not.toHaveBeenCalled(); - }); - - it('serves stale content with X-Cache STALE when stale-while-revalidate > 0', () => { - vi.useFakeTimers({ toFake: ['Date'] }); - vi.setSystemTime(2_000_000); - const body = { version: 'old' }; - - const primeReq = makeReq(); - const prime = makeRes(); - cacheControl({ maxAge: 300, inMemory: true, staleWhileRevalidate: 60 })( - primeReq, - prime.res, - vi.fn(), - ); - (prime.res.json as unknown as ReturnType)(body); - prime.emitFinish(); - - vi.setSystemTime(2_000_000 + 300 * 1000 + 1); - - const req = makeReq(); - const hit = makeRes(); - cacheControl({ maxAge: 300, inMemory: true, staleWhileRevalidate: 60 })( - req, - hit.res, - next, - ); - - expect(hit.headers['X-Cache']).toBe('STALE'); - expect(hit.sentBody).toEqual(body); - }); - - it('re-runs the handler for stale entries when no SWR is configured', () => { - vi.useFakeTimers({ toFake: ['Date'] }); - vi.setSystemTime(3_000_000); - - const primeReq = makeReq(); - const prime = makeRes(); - cacheControl({ maxAge: 1, inMemory: true })(primeReq, prime.res, vi.fn()); - (prime.res.json as unknown as ReturnType)({ version: 'old' }); - prime.emitFinish(); - - vi.setSystemTime(3_000_000 + 1_001); - - const req = makeReq(); - const hit = makeRes(); - cacheControl({ maxAge: 1, inMemory: true })(req, hit.res, next); - (hit.res.json as unknown as ReturnType)({ version: 'new' }); - hit.res.emit('finish'); - - expect(hit.headers['X-Cache']).toBe('MISS'); - expect(next).toHaveBeenCalledOnce(); - expect(getMemoryCache().get('agenticpay:cache:GET:/api/test')?.value).toEqual({ - version: 'new', - }); - }); - - it('returns 304 for a matching If-None-Match on an in-memory miss', () => { - const body = { data: 'conditional' }; - const reqA = makeReq(); - const resA = makeRes(); - cacheControl({ maxAge: 300, inMemory: true })(reqA, resA.res, next); - (resA.res.json as unknown as ReturnType)(body); - const etag = resA.headers['ETag'] as string; - - const reqB = makeReq({ headers: { 'if-none-match': etag } }); - const { res: resB } = makeRes(); - cacheControl({ maxAge: 300, inMemory: true })(reqB, resB, next); - (resB.json as unknown as ReturnType)(body); - - expect((resB.status as unknown as ReturnType)).toHaveBeenCalledWith(304); - }); - - it('does not cache error responses in in-memory mode', () => { - const req = makeReq(); - const { res, headers } = makeRes(); - (res.status as unknown as ReturnType)(500); - - cacheControl({ maxAge: 300, inMemory: true })(req, res, next); - (res.json as unknown as ReturnType)({ error: 'nope' }); - res.emit('finish'); - - expect(headers['X-Cache']).toBeUndefined(); - expect(headers['Cache-Control']).toBe('no-store'); - expect(getMemoryCache().size).toBe(0); - expect(getCacheMonitor().getStats().sets).toBe(0); - }); - - it('does not cache responses that exceed maxBodySize', () => { - const req = makeReq(); - const { res, headers } = makeRes(); - - cacheControl({ maxAge: 300, inMemory: true, maxBodySize: 8 })(req, res, next); - (res.json as unknown as ReturnType)({ payload: 'significantly-bigger' }); - res.emit('finish'); - - expect(headers['X-Cache']).toBeUndefined(); - expect(getMemoryCache().size).toBe(0); - }); - - it('honours a fixed cacheKey override', () => { - const req = makeReq(); - const { res, emitFinish } = makeRes(); - - cacheControl({ maxAge: 60, inMemory: true, cacheKey: 'shared!key' })(req, res, next); - (res.json as unknown as ReturnType)({ v: 1 }); - emitFinish(); - - expect(getMemoryCache().has('agenticpay:cache:shared!key')).toBe(true); - }); - - it('degrades gracefully when Redis is not configured', async () => { - const prevUrl = process.env.REDIS_URL; - delete process.env.REDIS_URL; - const redisCache = getRedisCache(); - - await redisCache.connect(); - expect(redisCache.isEnabled).toBe(false); - - // Every operation becomes a safe no-op when disabled. - await redisCache.set('k', { v: 1 }, 1000); - expect(await redisCache.get('k')).toBeNull(); - await redisCache.invalidate('*'); - await redisCache.invalidateAll(); - expect(await redisCache.getMemoryInfo()).toBeNull(); - - if (prevUrl !== undefined) process.env.REDIS_URL = prevUrl; - }); -}); - -// ─── RedisCache resilience (white-box: injected fake client) ───────────────── - -describe('RedisCache resilience', () => { - it('runs every operation against a fake client and degrades silently on failure', async () => { - const redisCache = getRedisCache(); - const internals = redisCache as unknown as { client: unknown; enabled: boolean }; - - const fake = { - get: vi.fn(async () => JSON.stringify({ v: 1 })), - setex: vi.fn(async () => 'OK'), - del: vi.fn(async () => 1), - keys: vi.fn(async () => ['agenticpay:cache:a']), - flushdb: vi.fn(async () => 'OK'), - info: vi.fn(async (section: string) => - section === 'memory' - ? 'used_memory_human:1.00M\nmaxmemory_human:256.00M\n' - : 'keyspace_hits:4\nkeyspace_misses:1\n', - ), - }; - - internals.enabled = true; - internals.client = fake; - - try { - await redisCache.set('k', { v: 1 }, 1); - expect(fake.setex).toHaveBeenCalledWith('k', 1, JSON.stringify({ v: 1 })); - expect(await redisCache.get('k')).toEqual({ v: 1 }); - - await redisCache.invalidate('GET:*'); - expect(fake.del).toHaveBeenCalledTimes(1); - - fake.keys.mockResolvedValueOnce([]); - await redisCache.invalidate('GET:none*'); - expect(fake.del).toHaveBeenCalledTimes(1); - - await redisCache.invalidateAll(); - expect(fake.flushdb).toHaveBeenCalled(); - - expect(await redisCache.getMemoryInfo()).toEqual({ - usedMemory: '1.00M', - maxMemory: '256.00M', - hitRatio: 0.8, - }); - - fake.info.mockImplementation(async (s: string) => (s === 'memory' - ? 'used_memory_human:2.00M\nmaxmemory_human:512.00M\n' - : '')); - expect((await redisCache.getMemoryInfo())?.hitRatio).toBe(0); - - fake.info.mockImplementation(async () => 'junk'); - const junk = await redisCache.getMemoryInfo(); - expect(junk?.usedMemory).toBe('?'); - expect(junk?.maxMemory).toBe('?'); - - fake.get.mockRejectedValueOnce(new Error('x')); - expect(await redisCache.get('k')).toBeNull(); - fake.info.mockImplementation(async () => { - throw new Error('x'); - }); - expect(await redisCache.getMemoryInfo()).toBeNull(); - fake.setex.mockRejectedValueOnce(new Error('x')); - await expect(redisCache.set('k', 1, 1)).resolves.toBeUndefined(); - } finally { - internals.client = null; - internals.enabled = false; - } - }); -}); \ No newline at end of file diff --git a/backend/src/middleware/__tests__/deprecation.test.ts b/backend/src/middleware/__tests__/deprecation.test.ts index 8a61deee..d771da81 100644 --- a/backend/src/middleware/__tests__/deprecation.test.ts +++ b/backend/src/middleware/__tests__/deprecation.test.ts @@ -1,10 +1,7 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; import type { Request, Response } from 'express'; -const { mockLoggerWarn } = vi.hoisted(() => ({ - mockLoggerWarn: vi.fn(), -})); - +const mockLoggerWarn = vi.fn(); vi.mock('../logger.js', () => ({ logger: { warn: mockLoggerWarn, info: vi.fn(), error: vi.fn() }, })); diff --git a/backend/src/middleware/__tests__/errorHandler.test.ts b/backend/src/middleware/__tests__/errorHandler.test.ts index 8a3d443a..5a2dfcbe 100644 --- a/backend/src/middleware/__tests__/errorHandler.test.ts +++ b/backend/src/middleware/__tests__/errorHandler.test.ts @@ -1,6 +1,6 @@ -import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; +import { describe, it, expect, vi, beforeEach } from 'vitest'; import type { Request, Response } from 'express'; -import { AppError, PaymentError, asyncHandler, notFoundHandler, errorHandler } from '../errorHandler.js'; +import { AppError, asyncHandler, notFoundHandler, errorHandler } from '../errorHandler.js'; function makeReq(overrides: Partial = {}): Request { return { method: 'GET', originalUrl: '/test', ...overrides } as unknown as Request; @@ -99,15 +99,10 @@ describe('errorHandler', () => { errorHandler(err, req, res, next); - expect(res.status).toHaveBeenCalled(); - expect(res.json).toHaveBeenCalledWith( - expect.objectContaining({ - error: expect.objectContaining({ - code: expect.any(String), - message: 'Forbidden', - }), - }), - ); + expect(res.status).toHaveBeenCalledWith(403); + expect(res.json).toHaveBeenCalledWith({ + error: { code: 'FORBIDDEN', message: 'Forbidden', status: 403 }, + }); }); it('responds with 500 for unknown errors', () => { @@ -118,7 +113,7 @@ describe('errorHandler', () => { errorHandler(err, req, res, next); - expect(res.status).toHaveBeenCalled(); + expect(res.status).toHaveBeenCalledWith(500); }); it('includes stack trace in non-production', () => { @@ -158,21 +153,4 @@ describe('errorHandler', () => { const callArg = (res.json as ReturnType).mock.calls[0][0]; expect(callArg.error.details).toEqual({ field: 'email' }); }); - - it('honors a domain error subclass statusCode/message instead of downgrading it to 500', () => { - // Regression test for Issue #719: PaymentError (and the other domain - // errors in types/errors.ts) used to extend `Error` directly, so - // `err instanceof AppError` was false and this handler discarded their - // statusCode/message in favor of a generic 500 "Internal server error". - const err = new PaymentError('Insufficient balance to cover this payment'); - const req = makeReq(); - const { res } = makeRes(); - const next = vi.fn(); - - errorHandler(err, req, res, next); - - expect(res.status).toHaveBeenCalledWith(400); - const callArg = (res.json as ReturnType).mock.calls[0][0]; - expect(callArg.error.message).toBe('Insufficient balance to cover this payment'); - }); }); diff --git a/backend/src/middleware/__tests__/idempotency.test.ts b/backend/src/middleware/__tests__/idempotency.test.ts index fee2f795..3914981c 100644 --- a/backend/src/middleware/__tests__/idempotency.test.ts +++ b/backend/src/middleware/__tests__/idempotency.test.ts @@ -32,7 +32,6 @@ function makeRes(): { sentBody = body; return res; }), - on: vi.fn(), get statusCode() { return statusCode; }, set statusCode(v: number) { statusCode = v; }, } as unknown as Response; @@ -66,10 +65,10 @@ describe('idempotency middleware', () => { const { res } = makeRes(); const next = vi.fn(); - const originalJson = res.json; const mw = idempotency(); mw(req, res, next); + const originalJson = res.json; expect(res.json).not.toBe(originalJson); expect(next).toHaveBeenCalledOnce(); }); @@ -107,11 +106,11 @@ describe('idempotency middleware', () => { const req2 = makeReq({ headers: { 'x-idempotency-key': 'key-b' } }); const { res: res2 } = makeRes(); const next2 = vi.fn(); - const originalJson = res2.json; mw(req2, res2, next2); expect(next2).toHaveBeenCalledOnce(); + const originalJson = res2.json; expect(res2.json).not.toBe(originalJson); }); diff --git a/backend/src/middleware/__tests__/rate-limit.test.ts b/backend/src/middleware/__tests__/rate-limit.test.ts index c645efdd..f8d13e40 100644 --- a/backend/src/middleware/__tests__/rate-limit.test.ts +++ b/backend/src/middleware/__tests__/rate-limit.test.ts @@ -1,54 +1,19 @@ -import { describe, it, expect, beforeEach } from 'vitest'; +import { describe, it, expect } from 'vitest'; import { resolveClientKey, resolveUserTier, DEFAULT_TIER_CONFIGS, - rateLimit, -} from '../rate-limit.js'; -import { - RateLimitService, - DEFAULT_TIER_CONFIGS as SERVICE_TIERS, -} from '../../services/rateLimit.js'; +} from '../middleware/rate-limit.js'; -function mockReq(headers: Record = {}, ip = '127.0.0.1', path = '/api/v1/invoice') { +function mockReq(headers: Record = {}, ip = '127.0.0.1') { return { headers, ip, - path, - socket: { remoteAddress: ip }, - } as any; -} - -function mockRes() { - const headers: Record = {}; - let statusCode = 200; - let body: any = null; - - return { - setHeader: (k: string, v: string | number) => { - headers[k] = v; - }, - status: (code: number) => { - statusCode = code; - return { - json: (data: any) => { - body = data; - }, - }; - }, - get headers() { - return headers; - }, - get statusCode() { - return statusCode; - }, - get body() { - return body; - }, + path: '/api/v1/invoice', } as any; } -describe('per-api-key rate limiting middleware', () => { +describe('per-api-key rate limiting', () => { it('resolves tier from registered API keys', () => { const req = mockReq({ 'x-api-key': 'apk_pro_demo_key_00000000000000000000000000001' }); expect(resolveUserTier(req)).toBe('pro'); @@ -67,60 +32,3 @@ describe('per-api-key rate limiting middleware', () => { expect(DEFAULT_TIER_CONFIGS.enterprise.capacity).toBeGreaterThan(10000); }); }); - -describe('TokenBucket RateLimitService', () => { - let service: RateLimitService; - - beforeEach(() => { - service = new RateLimitService(); - }); - - it('allows requests within capacity and tracks tokens remaining', () => { - const res = service.consume('user-1', 'free', 1); - expect(res.allowed).toBe(true); - expect(res.tokensRemaining).toBeLessThanOrEqual(SERVICE_TIERS.free.capacity + SERVICE_TIERS.free.burstAllowance); - expect(res.capacity).toBe(SERVICE_TIERS.free.capacity); - }); - - it('blocks requests when capacity is exhausted and computes retryAfterMs', () => { - const customService = new RateLimitService({ - free: { capacity: 2, refillRate: 1, burstAllowance: 0 }, - }); - - const r1 = customService.consume('user-2', 'free', 1); - expect(r1.allowed).toBe(true); - - const r2 = customService.consume('user-2', 'free', 1); - expect(r2.allowed).toBe(true); - - const r3 = customService.consume('user-2', 'free', 1); - expect(r3.allowed).toBe(false); - expect(r3.retryAfterMs).toBeGreaterThan(0); - }); - - it('refills tokens over time', () => { - const customService = new RateLimitService({ - free: { capacity: 5, refillRate: 10, burstAllowance: 0 }, - }); - - const now = 1000000; - // consume 5 tokens - customService.consume('user-3', 'free', 5, undefined, now); - expect(customService.getRemaining('user-3', 'free', undefined, now)).toBe(0); - - // after 500ms, 5 tokens refill (10 tokens/sec * 0.5 sec = 5 tokens) - const later = now + 500; - expect(customService.getRemaining('user-3', 'free', undefined, later)).toBe(5); - }); - - it('records analytics and aggregates by tier and endpoint', () => { - service.consume('client-a', 'pro', 1, '/api/v1/stellar'); - service.consume('client-b', 'free', 1, '/api/v1/invoice'); - - const analytics = service.getAnalytics(); - expect(analytics.total).toBe(2); - expect(analytics.blocked).toBe(0); - expect(analytics.byTier.pro.total).toBe(1); - expect(analytics.byTier.free.total).toBe(1); - }); -}); diff --git a/backend/src/middleware/__tests__/validate.test.ts b/backend/src/middleware/__tests__/validate.test.ts index f553a932..9b7af6c7 100644 --- a/backend/src/middleware/__tests__/validate.test.ts +++ b/backend/src/middleware/__tests__/validate.test.ts @@ -44,8 +44,15 @@ describe('validate middleware', () => { const mw = validate(schema); mw(req, res, next); - expect(next).toHaveBeenCalledWith(expect.objectContaining({ statusCode: 400 })); - expect(next).toHaveBeenCalledTimes(1); + expect(res.status).toHaveBeenCalledWith(400); + expect(res.json).toHaveBeenCalledWith({ + message: 'Validation failed', + errors: expect.arrayContaining([ + expect.objectContaining({ path: 'email' }), + expect.objectContaining({ path: 'age' }), + ]), + }); + expect(next).not.toHaveBeenCalled(); }); it('passes non-Zod errors to next()', () => { diff --git a/backend/src/middleware/cache.js b/backend/src/middleware/cache.js new file mode 100644 index 00000000..a2c50661 --- /dev/null +++ b/backend/src/middleware/cache.js @@ -0,0 +1,116 @@ +"use strict"; +/** + * cache.ts + * + * cacheControl() — Express middleware factory for Cache-Control + ETag support. + * + * ## Usage + * + * ```ts + * import { cacheControl, CacheTTL } from '../middleware/cache.js'; + * + * router.get('/catalog', cacheControl({ maxAge: CacheTTL.STATIC }), handler); + * ``` + * + * ## What it does + * + * 1. Sets `Cache-Control` on the way out (public/private, max-age, optional + * stale-while-revalidate). + * 2. Computes a strong ETag (SHA-1 of the serialised JSON body, first 16 hex + * chars) and attaches it to the response. + * 3. Handles conditional requests: if the client sends `If-None-Match` with a + * matching ETag the middleware short-circuits and returns 304 Not Modified + * without re-sending the body. + * 4. Only acts on GET and HEAD — POST / PUT / DELETE / PATCH are left alone. + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CacheTTL = void 0; +exports.cacheControl = cacheControl; +var node_crypto_1 = require("node:crypto"); +// ─── Pre-configured TTLs ────────────────────────────────────────────────────── +/** + * Convenience constants for common cache durations. + * + * | Constant | Seconds | Typical use-case | + * |-------------|---------|-----------------------------------------------| + * | STATIC | 300 | Catalog / configuration (rarely changes) | + * | SHORT | 30 | Account balances, recent-state reads | + * | IMMUTABLE | 600 | Confirmed transactions, completed verifications | + * | NONE | 0 | Mutations or user-specific sensitive data | + */ +exports.CacheTTL = { + STATIC: 300, + SHORT: 30, + IMMUTABLE: 600, + NONE: 0, +}; +// ─── Middleware factory ─────────────────────────────────────────────────────── +/** + * Returns an Express middleware that adds `Cache-Control` and `ETag` headers + * to GET/HEAD responses, and responds with **304 Not Modified** when the + * client already holds a fresh copy (via `If-None-Match`). + * + * @example + * // Cache catalog for 5 minutes, allow CDN storage + * router.get('/', cacheControl({ maxAge: CacheTTL.STATIC }), handler); + * + * @example + * // Cache per-user data privately for 30 seconds + * router.get('/me', cacheControl({ maxAge: CacheTTL.SHORT, isPublic: false }), handler); + * + * @example + * // Disable caching explicitly + * router.get('/live', cacheControl({ maxAge: CacheTTL.NONE }), handler); + */ +function cacheControl(options) { + var maxAge = options.maxAge, _a = options.isPublic, isPublic = _a === void 0 ? true : _a, staleWhileRevalidate = options.staleWhileRevalidate; + var cacheControlValue = buildCacheControlHeader(maxAge, isPublic, staleWhileRevalidate); + return function cacheMiddleware(req, res, next) { + // Only intercept cacheable methods + if (req.method !== 'GET' && req.method !== 'HEAD') { + next(); + return; + } + // Intercept res.json so we can inspect the body before it is sent + var originalJson = res.json.bind(res); + res.json = function jsonWithCache(body) { + // Restore res.json immediately to avoid double-wrapping in nested calls + res.json = originalJson; + var bodyStr = JSON.stringify(body); + var etag = computeETag(bodyStr); + res.setHeader('Cache-Control', cacheControlValue); + res.setHeader('ETag', etag); + // Conditional GET — return 304 if client already has this version + var clientETag = req.headers['if-none-match']; + if (clientETag && clientETag === etag) { + res.status(304).end(); + return res; + } + return originalJson(body); + }; + next(); + }; +} +// ─── Helpers ────────────────────────────────────────────────────────────────── +function buildCacheControlHeader(maxAge, isPublic, staleWhileRevalidate) { + if (maxAge === 0) { + return 'no-store'; + } + var directives = [ + isPublic ? 'public' : 'private', + "max-age=".concat(maxAge), + ]; + if (staleWhileRevalidate !== undefined && staleWhileRevalidate > 0) { + directives.push("stale-while-revalidate=".concat(staleWhileRevalidate)); + } + return directives.join(', '); +} +/** + * Generates a strong ETag from the response body string. + * Format: `""` — compact but collision-resistant + * enough for HTTP caching. + */ +function computeETag(body) { + var hash = (0, node_crypto_1.createHash)('sha1').update(body).digest('hex').slice(0, 16); + return "\"".concat(hash, "\""); +} diff --git a/backend/src/middleware/circuit-breaker.ts b/backend/src/middleware/circuit-breaker.ts index aed23d09..816e4e93 100644 --- a/backend/src/middleware/circuit-breaker.ts +++ b/backend/src/middleware/circuit-breaker.ts @@ -1,116 +1,284 @@ -import type { NextFunction, Request, Response, RequestHandler } from 'express'; -import type { CircuitBreakerConfig, CircuitBreakerSnapshot } from '../services/circuitBreaker.js'; -import { CircuitBreakerRegistry } from '../services/circuitBreakerRegistry.js'; - -export { CircuitBreakerError } from '../services/circuitBreaker.js'; -export type { CircuitBreakerConfig, CircuitBreakerState, CircuitBreakerSnapshot } from '../services/circuitBreaker.js'; - -/** - * The registry that backs the module-level name-based API (`withCircuitBreaker`, - * `circuitBreaker`, `getCircuitState`, ...). Existing callers reference circuits - * by a stable name and expect this singleton to hold them. Use the exported - * `circuitBreakerRegistry` object to introspect or reset from elsewhere. - */ -export const circuitBreakerRegistry = new CircuitBreakerRegistry(); - -export function withCircuitBreaker( - name: string, - fn: () => Promise, - fallback?: () => Promise, - configOverride?: Partial, -): Promise { - const breaker = circuitBreakerRegistry.get(name, configOverride); - return breaker.protect(fn, fallback); -} - -/** - * Express middleware guarding a route by a named circuit. - * - * When the circuit is open the request is short-circuited with a 503 and the - * management-friendly `retryAfterMs` hint. Otherwise the upstream handler runs - * and its outcome is recorded as a success/failure based on the response status - * after the response finishes. This avoids the fragile `res.json` monkey-patch - * approach and propagates the outcome even for handlers that stream or never - * call `res.json`. - */ -export function circuitBreaker(name: string, config: Partial = {}): RequestHandler { - const breaker = circuitBreakerRegistry.get(name, config); +import type { NextFunction, Request, Response } from 'express'; + +type CircuitState = 'closed' | 'open' | 'half_open'; + +interface CircuitBreakerConfig { + failureThreshold: number; + successThreshold: number; + timeoutMs: number; + halfOpenMaxCalls: number; + requestTimeoutMs: number; +} + +interface CircuitBreakerMetrics { + totalCalls: number; + successfulCalls: number; + failedCalls: number; + timeoutCalls: number; + rejectedCalls: number; + lastFailureAt?: number; + lastSuccessAt?: number; + openedAt?: number; + halfOpenAttempts: number; +} + +interface CircuitBreakerState { + state: CircuitState; + failures: number; + successes: number; + halfOpenCalls: number; + lastFailureAt?: number; + openedAt?: number; + metrics: CircuitBreakerMetrics; +} + +interface CircuitBreakerEntry { + config: CircuitBreakerConfig; + state: CircuitBreakerState; +} + +const DEFAULT_CONFIG: CircuitBreakerConfig = { + failureThreshold: 5, + successThreshold: 2, + timeoutMs: 60_000, + halfOpenMaxCalls: 3, + requestTimeoutMs: 10_000, +}; + +const circuits = new Map(); + +function getOrCreate(name: string, configOverride?: Partial): CircuitBreakerEntry { + const existing = circuits.get(name); + if (existing) return existing; + const config = { ...DEFAULT_CONFIG, ...configOverride }; + const state: CircuitBreakerState = { + state: 'closed', + failures: 0, + successes: 0, + halfOpenCalls: 0, + metrics: { + totalCalls: 0, + successfulCalls: 0, + failedCalls: 0, + timeoutCalls: 0, + rejectedCalls: 0, + halfOpenAttempts: 0, + }, + }; + const entry: CircuitBreakerEntry = { config, state }; + circuits.set(name, entry); + return entry; +} + +function onSuccess(name: string): void { + const entry = circuits.get(name); + if (!entry) return; + const { state, config } = entry; + + state.metrics.totalCalls++; + state.metrics.successfulCalls++; + state.metrics.lastSuccessAt = Date.now(); + + if (state.state === 'half_open') { + state.successes += 1; + if (state.successes >= config.successThreshold) { + state.state = 'closed'; + state.failures = 0; + state.successes = 0; + state.halfOpenCalls = 0; + } + } else if (state.state === 'closed') { + state.failures = Math.max(0, state.failures - 1); + } +} + +function onFailure(name: string): void { + const entry = circuits.get(name); + if (!entry) return; + const { state, config } = entry; + + state.failures += 1; + state.lastFailureAt = Date.now(); + state.metrics.totalCalls++; + state.metrics.failedCalls++; + + if (state.state === 'half_open' || state.failures >= config.failureThreshold) { + state.state = 'open'; + state.openedAt = Date.now(); + state.metrics.openedAt = Date.now(); + state.halfOpenCalls = 0; + state.successes = 0; + } +} + +function onTimeout(name: string): void { + const entry = circuits.get(name); + if (!entry) return; + entry.state.metrics.timeoutCalls++; + onFailure(name); +} + +function shouldAllow(name: string): boolean { + const entry = circuits.get(name); + if (!entry) return true; + const { state, config } = entry; + + if (state.state === 'closed') return true; + + if (state.state === 'open') { + const elapsed = Date.now() - (state.openedAt ?? 0); + if (elapsed >= config.timeoutMs) { + state.state = 'half_open'; + state.successes = 0; + state.halfOpenCalls = 0; + state.metrics.halfOpenAttempts++; + return true; + } + state.metrics.rejectedCalls++; + return false; + } + + if (state.halfOpenCalls < config.halfOpenMaxCalls) { + state.halfOpenCalls += 1; + return true; + } + + state.metrics.rejectedCalls++; + return false; +} + +export function circuitBreaker(name: string, config: Partial = {}) { + getOrCreate(name, config); return (req: Request, res: Response, next: NextFunction): void => { - if (!breaker.isCallPermitted()) { - const snapshot = breaker.snapshot(); + if (!shouldAllow(name)) { res.status(503).json({ error: { code: 'CIRCUIT_OPEN', message: `Service ${name} is temporarily unavailable. Circuit breaker is open.`, status: 503, - retryAfterMs: retryAfterMs(snapshot), + retryAfterMs: getRetryAfterMs(name), }, }); return; } - let recorded = false; - const trackOutcome = () => { - if (recorded) return; - recorded = true; + const originalJson = res.json.bind(res); + res.json = (body: unknown) => { if (res.statusCode >= 500) { - breaker.recordFailure(new Error(`HTTP ${res.statusCode} from ${name}`)); + onFailure(name); } else { - breaker.recordSuccess(); + onSuccess(name); } + return originalJson(body); }; - res.once('finish', trackOutcome); - res.once('close', trackOutcome); next(); }; } -function retryAfterMs(snapshot: CircuitBreakerSnapshot): number { - if (typeof snapshot.openedAt !== 'number') return snapshot.config.waitDurationInOpenState; - const elapsed = Date.now() - snapshot.openedAt; - return Math.max(0, snapshot.config.waitDurationInOpenState - elapsed); +function getRetryAfterMs(name: string): number { + const entry = circuits.get(name); + if (!entry || !entry.state.openedAt) return entry?.config.timeoutMs ?? DEFAULT_CONFIG.timeoutMs; + const elapsed = Date.now() - entry.state.openedAt; + return Math.max(0, entry.config.timeoutMs - elapsed); } -/** - * Wrap a RouteHandler so it runs inside the breaker and its resolved/rejected - * outcome is recorded. Useful when a circuit should guard a single async handler - * rather than the whole downstream chain. - */ -export function circuitBroken( - name: string, - handler: RequestHandler, - config: Partial = {}, -): RequestHandler { - const breaker = circuitBreakerRegistry.get(name, config); - return (req: Request, res: Response, next: NextFunction): void => { - const run = () => Promise.resolve().then(() => handler(req, res, next)); - breaker.protect(run).catch(next); +export function getCircuitState(name: string) { + const entry = circuits.get(name); + if (!entry) return null; + return { + name, + state: entry.state.state, + failures: entry.state.failures, + successes: entry.state.successes, + halfOpenCalls: entry.state.halfOpenCalls, + lastFailureAt: entry.state.lastFailureAt, + openedAt: entry.state.openedAt, + config: entry.config, + metrics: entry.state.metrics, }; } -/** - * Return a serialisable snapshot for a named circuit (the same shape consumed by - * the management routes via `res.json`), or `null` when no such circuit exists. - */ -export function getCircuitState(name: string): CircuitBreakerSnapshot | null { - const breaker = circuitBreakerRegistry.getIfPresent(name); - if (!breaker) return null; - return breaker.snapshot(); -} - -/** Return serialisable snapshots for every registered circuit. */ -export function getAllCircuits(): CircuitBreakerSnapshot[] { - return circuitBreakerRegistry.snapshots(); +export function getAllCircuits() { + return Array.from(circuits.entries()).map(([name, entry]) => ({ + name, + state: entry.state.state, + failures: entry.state.failures, + successes: entry.state.successes, + halfOpenCalls: entry.state.halfOpenCalls, + lastFailureAt: entry.state.lastFailureAt, + openedAt: entry.state.openedAt, + config: entry.config, + metrics: entry.state.metrics, + })); } export function resetCircuit(name: string): boolean { - return circuitBreakerRegistry.reset(name); + const entry = circuits.get(name); + if (!entry) return false; + entry.state = { + state: 'closed', + failures: 0, + successes: 0, + halfOpenCalls: 0, + metrics: { + totalCalls: 0, + successfulCalls: 0, + failedCalls: 0, + timeoutCalls: 0, + rejectedCalls: 0, + halfOpenAttempts: 0, + }, + }; + return true; } -export function resetAllCircuits(): void { - circuitBreakerRegistry.resetAll(); +export async function withCircuitBreaker( + name: string, + fn: () => Promise, + fallback?: () => Promise, + configOverride?: Partial, +): Promise { + const entry = getOrCreate(name, configOverride); + const { state, config } = entry; + + if (!shouldAllow(name)) { + if (fallback) { + return fallback(); + } + throw new CircuitBreakerError(name, `Circuit breaker is open for ${name}`); + } + + const timeoutPromise = new Promise((_, reject) => { + setTimeout(() => { + onTimeout(name); + reject(new CircuitBreakerError(name, `Request to ${name} timed out after ${config.requestTimeoutMs}ms`, true)); + }, config.requestTimeoutMs); + }); + + try { + const result = await Promise.race([fn(), timeoutPromise]); + onSuccess(name); + return result; + } catch (error) { + if (error instanceof CircuitBreakerError) throw error; + onFailure(name); + if (fallback) { + return fallback(); + } + throw error; + } } -export type { Request, Response, NextFunction }; +export class CircuitBreakerError extends Error { + serviceName: string; + isTimeout: boolean; + + constructor(serviceName: string, message: string, isTimeout = false) { + super(message); + this.name = 'CircuitBreakerError'; + this.serviceName = serviceName; + this.isTimeout = isTimeout; + } +} diff --git a/backend/src/middleware/compression.ts b/backend/src/middleware/compression.ts index 4b7f1d0f..c9a8e3d1 100644 --- a/backend/src/middleware/compression.ts +++ b/backend/src/middleware/compression.ts @@ -1,59 +1,17 @@ -/** - * Issue #821 — Request/Response Compression - * - * Layered compression middleware for the AgenticPay API: - * - * Response compression: - * - Brotli (br) — preferred when client sends `Accept-Encoding: br` - * - Gzip / deflate — fallback via the `compression` npm package - * - Skips already-compressed content types (images, zip, etc.) - * - Respects `X-No-Compression: 1` opt-out header - * - Per-endpoint configuration overrides global threshold/level - * - * Request decompression: - * - Transparently decompresses gzip / brotli request bodies before - * express.json() / express.urlencoded() parses them - * - * Metrics: - * - Tracks total/compressed request counts, ratio, avg latency, and - * per-encoding (br, gzip) counters via getCompressionMetrics() - */ - -import compression from 'compression'; -import zlib from 'node:zlib'; +import { brotliCompressSync, gzipSync, constants } from 'node:zlib'; import type { Request, Response, NextFunction } from 'express'; -// --------------------------------------------------------------------------- -// Types -// --------------------------------------------------------------------------- - -export interface CompressionConfig { - level: number; +interface CompressionConfig { + brotliLevel: number; + gzipLevel: number; minSizeBytes: number; excludeContentTypes: string[]; - /** Brotli quality (0-11, default 4 — fast with good ratio) */ - brotliQuality?: number; } -interface CompressionMetrics { - totalRequests: number; - compressedRequests: number; - totalOriginalSize: number; - totalCompressedSize: number; - compressionRatio: number; - brotliRequests: number; - gzipRequests: number; - averageCompressionTimeMs: number; -} - -// --------------------------------------------------------------------------- -// Defaults -// --------------------------------------------------------------------------- - -export const DEFAULT_CONFIG: CompressionConfig = { - level: 6, +const DEFAULT_CONFIG: CompressionConfig = { + brotliLevel: 5, + gzipLevel: 6, minSizeBytes: 1024, - brotliQuality: 4, excludeContentTypes: [ 'image/', 'video/', @@ -74,344 +32,138 @@ const TEXT_TYPES = [ 'application/problem+json', ]; -// --------------------------------------------------------------------------- -// Module-level state -// --------------------------------------------------------------------------- - const configs = new Map(); -const compressionTimes: number[] = []; - -const metrics: CompressionMetrics = { - totalRequests: 0, - compressedRequests: 0, - totalOriginalSize: 0, - totalCompressedSize: 0, - compressionRatio: 0, - brotliRequests: 0, - gzipRequests: 0, - averageCompressionTimeMs: 0, -}; - -// --------------------------------------------------------------------------- -// Per-endpoint config -// --------------------------------------------------------------------------- export function configureEndpoint(endpoint: string, config: Partial): void { const existing = configs.get(endpoint) ?? { ...DEFAULT_CONFIG }; - configs.set(endpoint, { ...existing, ...config }); + Object.assign(existing, config); + configs.set(endpoint, existing); } -function endpointConfig(req: Request, globalConfig: CompressionConfig): CompressionConfig { - return configs.get(req.route?.path ?? req.path) ?? configs.get(req.path) ?? globalConfig; +function getConfig(req: Request): CompressionConfig { + const endpoint = req.route?.path ?? req.path; + return configs.get(endpoint) ?? DEFAULT_CONFIG; } -// --------------------------------------------------------------------------- -// Compressibility checks -// --------------------------------------------------------------------------- +function shouldCompress(req: Request, res: Response, config: CompressionConfig): boolean { + if (req.headers['x-no-compression']) return false; -function isCompressibleContentType(contentType: string, config: CompressionConfig): boolean { - const normalized = contentType.toLowerCase(); - if (config.excludeContentTypes.some((excluded) => normalized.startsWith(excluded))) { - return false; - } - return TEXT_TYPES.some((type) => normalized.startsWith(type)); -} + const contentLength = parseInt(res.getHeader('Content-Length') as string || '0', 10); + if (contentLength > 0 && contentLength < config.minSizeBytes) return false; -export function shouldCompressResponse(req: Request, res: Response, config = DEFAULT_CONFIG): boolean { - if (req.headers['x-no-compression']) return false; + const contentType = (res.getHeader('Content-Type') as string || '').toLowerCase(); + if (!contentType) return false; - const contentType = String(res.getHeader('Content-Type') ?? '').toLowerCase(); - if (contentType && !isCompressibleContentType(contentType, config)) { - return false; + for (const exclude of config.excludeContentTypes) { + if (contentType.startsWith(exclude)) return false; } - return compression.filter(req, res); -} + if (TEXT_TYPES.some(t => contentType.startsWith(t))) return true; -export function clientAcceptsBrotli(req: Request): boolean { - const ae = req.headers['accept-encoding']; - if (!ae) return false; - const value = Array.isArray(ae) ? ae.join(',') : ae; - // Match 'br' as a token, ignoring quality values - return /\bbr\b/.test(value); + return false; } -// --------------------------------------------------------------------------- -// Metrics helpers -// --------------------------------------------------------------------------- - -function updateMetrics(startedAt: bigint, res: Response): void { - metrics.totalRequests += 1; +function getCompressedResponse(res: Response, body: unknown, config: CompressionConfig): Buffer | null { + const bodyStr = typeof body === 'string' ? body : JSON.stringify(body); + const bodyBuf = Buffer.from(bodyStr, 'utf-8'); + const len = bodyBuf.length; - const elapsedMs = Number(process.hrtime.bigint() - startedAt) / 1_000_000; - compressionTimes.push(elapsedMs); - if (compressionTimes.length > 1000) compressionTimes.shift(); - metrics.averageCompressionTimeMs = - compressionTimes.reduce((sum, value) => sum + value, 0) / compressionTimes.length; + const acceptEncoding = (res.req.headers['accept-encoding'] as string) || ''; - const encoding = String(res.getHeader('Content-Encoding') ?? '').toLowerCase(); - if (!encoding) return; - - metrics.compressedRequests += 1; - if (encoding === 'br') metrics.brotliRequests += 1; - if (encoding === 'gzip') metrics.gzipRequests += 1; - - const contentLength = Number(res.getHeader('Content-Length') ?? 0); - if (Number.isFinite(contentLength) && contentLength > 0) { - metrics.totalCompressedSize += contentLength; + if (acceptEncoding.includes('br')) { + try { + const compressed = brotliCompressSync(bodyBuf, { + params: { + [constants.BROTLI_PARAM_QUALITY]: config.brotliLevel, + [constants.BROTLI_PARAM_MODE]: constants.BROTLI_MODE_TEXT, + }, + }); + if (compressed.length < len) { + res.setHeader('Content-Encoding', 'br'); + res.setHeader('X-Compression', 'brotli'); + return compressed; + } + } catch { + // Fall through to gzip + } } - if (metrics.totalOriginalSize > 0 && metrics.totalCompressedSize > 0) { - metrics.compressionRatio = - (1 - metrics.totalCompressedSize / metrics.totalOriginalSize) * 100; + if (acceptEncoding.includes('gzip')) { + try { + const compressed = gzipSync(bodyBuf, { level: config.gzipLevel }); + if (compressed.length < len) { + res.setHeader('Content-Encoding', 'gzip'); + res.setHeader('X-Compression', 'gzip'); + return compressed; + } + } catch { + // Fall through to uncompressed + } } -} -export function recordCompressionMetric( - originalSize: number, - compressedSize: number, - encoding: string, - timeMs: number, -): void { - metrics.totalRequests += 1; - if (compressedSize < originalSize) { - metrics.compressedRequests += 1; - metrics.totalOriginalSize += originalSize; - metrics.totalCompressedSize += compressedSize; - if (encoding === 'br') metrics.brotliRequests += 1; - if (encoding === 'gzip') metrics.gzipRequests += 1; + if (acceptEncoding.includes('deflate')) { + return null; } - compressionTimes.push(timeMs); - if (compressionTimes.length > 1000) compressionTimes.shift(); - metrics.compressionRatio = - metrics.totalOriginalSize > 0 - ? (1 - metrics.totalCompressedSize / metrics.totalOriginalSize) * 100 - : 0; - metrics.averageCompressionTimeMs = - compressionTimes.reduce((sum, value) => sum + value, 0) / compressionTimes.length; -} - -export function getCompressionMetrics() { - return { - activeEndpoints: Array.from(configs.keys()), - ...metrics, - }; -} - -export function resetCompressionMetrics(): void { - metrics.totalRequests = 0; - metrics.compressedRequests = 0; - metrics.totalOriginalSize = 0; - metrics.totalCompressedSize = 0; - metrics.compressionRatio = 0; - metrics.brotliRequests = 0; - metrics.gzipRequests = 0; - metrics.averageCompressionTimeMs = 0; - compressionTimes.length = 0; + return null; } -// --------------------------------------------------------------------------- -// Brotli response middleware -// -// Intercepts res.end/write to brotli-compress the response body when the -// client sends `Accept-Encoding: br` and the response is compressible. -// Falls through to the gzip middleware otherwise. -// --------------------------------------------------------------------------- +export function compressionMiddleware(config?: Partial) { + const globalConfig = { ...DEFAULT_CONFIG, ...config }; -function brotliResponseMiddleware(config: CompressionConfig) { return (req: Request, res: Response, next: NextFunction): void => { - const cfg = endpointConfig(req, config); - - if (!clientAcceptsBrotli(req)) { - return next(); + if (req.method === 'HEAD') { + next(); + return; } - // We'll intercept only compressible responses - const originalEnd = res.end.bind(res) as typeof res.end; - const originalWrite = res.write.bind(res); - const chunks: Buffer[] = []; - let intercepting = false; + const endpointConfig = configs.get(req.path) ?? globalConfig; - function checkAndIntercept() { - if (intercepting) return; - const contentType = String(res.getHeader('Content-Type') ?? '').toLowerCase(); - if (!contentType || !isCompressibleContentType(contentType, cfg)) return; - if (req.headers['x-no-compression']) return; - intercepting = true; + if (!shouldCompress(req, res, endpointConfig)) { + next(); + return; } - // Override write to buffer chunks - res.write = function ( - chunk: any, - encodingOrCallback?: BufferEncoding | ((error: Error | null | undefined) => void), - callback?: (error: Error | null | undefined) => void, - ): boolean { - checkAndIntercept(); - if (!intercepting) { - if (typeof encodingOrCallback === 'function') { - return originalWrite(chunk, encodingOrCallback as any); - } - return originalWrite(chunk, encodingOrCallback as any, callback as any); - } - if (Buffer.isBuffer(chunk)) { - chunks.push(chunk); - } else if (typeof chunk === 'string') { - const enc = typeof encodingOrCallback === 'string' ? encodingOrCallback : 'utf8'; - chunks.push(Buffer.from(chunk, enc as BufferEncoding)); - } else if (chunk) { - chunks.push(Buffer.from(String(chunk))); - } - return true; - } as typeof res.write; - - res.end = function ( - chunkOrCallback?: any, - encodingOrCallback?: any, - callback?: any, - ): Response { - checkAndIntercept(); - - if (!intercepting) { - return originalEnd(chunkOrCallback, encodingOrCallback, callback); + const originalSend = res.send.bind(res); + const originalJson = res.json.bind(res); + const originalEnd = res.end.bind(res); + + let responseBody: unknown = null; + let contentType: string | undefined; + + res.send = (body: unknown): Response => { + responseBody = body; + contentType = res.getHeader('Content-Type') as string || undefined; + return originalSend(''); // Will be replaced by our compressed version in end + }; + + res.json = (body: unknown): Response => { + responseBody = body; + contentType = 'application/json'; + return originalJson(body); + }; + + res.end = (data?: unknown, encoding?: BufferEncoding | (() => void), cb?: () => void): Response => { + const body = data ?? responseBody; + if (!body) { + return originalEnd(data as Buffer, (encoding as BufferEncoding) || 'utf-8', cb as (() => void) | undefined); } - // Collect final chunk - if (chunkOrCallback && typeof chunkOrCallback !== 'function') { - const chunk = chunkOrCallback; - if (Buffer.isBuffer(chunk)) { - chunks.push(chunk); - } else if (typeof chunk === 'string') { - const enc = typeof encodingOrCallback === 'string' ? encodingOrCallback : 'utf8'; - chunks.push(Buffer.from(chunk, enc as BufferEncoding)); - } - } - - const body = Buffer.concat(chunks); - - if (body.length < cfg.minSizeBytes) { - // Too small — don't compress - res.write = originalWrite; - res.end = originalEnd; - return originalEnd(body, encodingOrCallback, callback); - } - - const brotliOpts: zlib.BrotliOptions = { - params: { - [zlib.constants.BROTLI_PARAM_QUALITY]: cfg.brotliQuality ?? 4, - }, - }; - - const startMs = Date.now(); - zlib.brotliCompress(body, brotliOpts, (err, compressed) => { - if (err) { - // Fall back to uncompressed on error - res.write = originalWrite; - res.end = originalEnd; - originalEnd(body); - return; - } - - recordCompressionMetric(body.length, compressed.length, 'br', Date.now() - startMs); - + const compressed = getCompressedResponse(res, body, endpointConfig); + if (compressed) { res.removeHeader('Content-Length'); - res.setHeader('Content-Encoding', 'br'); - res.setHeader('Vary', 'Accept-Encoding'); - - res.write = originalWrite; - res.end = originalEnd; - originalEnd(compressed); - }); + return originalEnd(compressed, cb as (() => void) | undefined); + } - return res; - } as typeof res.end; + return originalEnd(data as Buffer, (encoding as BufferEncoding) || 'utf-8', cb as (() => void) | undefined); + }; next(); }; } -// --------------------------------------------------------------------------- -// Request decompression middleware -// -// Decompresses incoming request bodies encoded as gzip or brotli so that -// express.json() receives a normal uncompressed body. -// --------------------------------------------------------------------------- - -export function requestDecompressionMiddleware() { - return (req: Request, res: Response, next: NextFunction): void => { - const encoding = (req.headers['content-encoding'] ?? '').toLowerCase(); - - if (encoding !== 'gzip' && encoding !== 'br') { - return next(); - } - - const chunks: Buffer[] = []; - - req.on('data', (chunk: Buffer) => chunks.push(chunk)); - req.on('error', next); - req.on('end', () => { - const compressed = Buffer.concat(chunks); - const decompress = encoding === 'br' ? zlib.brotliDecompress : zlib.gunzip; - - decompress(compressed, (err, decompressed) => { - if (err) { - res.status(400).json({ error: 'Failed to decompress request body', encoding }); - return; - } - - // Replace stream with decompressed data - delete req.headers['content-encoding']; - req.headers['content-length'] = String(decompressed.length); - - let offset = 0; - (req as any).push = undefined; // make it re-readable - - // Re-emit data so express body parsers pick it up - const { Readable } = require('stream'); - const stream = new Readable({ - read() { - this.push(decompressed); - this.push(null); - }, - }); - - Object.assign(req, stream); - next(); - }); - }); - }; -} - -// --------------------------------------------------------------------------- -// Main composite middleware -// -// Order: brotli intercept → gzip fallback (via `compression` package) -// --------------------------------------------------------------------------- - -export function compressionMiddleware(config?: Partial) { - const globalConfig: CompressionConfig = { ...DEFAULT_CONFIG, ...config }; - - const brotliMw = brotliResponseMiddleware(globalConfig); - const gzipMw = compression({ - threshold: globalConfig.minSizeBytes, - level: globalConfig.level, - filter: (req, res) => { - // Skip if brotli was already applied - if (res.getHeader('Content-Encoding') === 'br') return false; - return shouldCompressResponse(req, res, endpointConfig(req, globalConfig)); - }, - }); - - return (req: Request, res: Response, next: NextFunction): void => { - const startedAt = process.hrtime.bigint(); - res.once('finish', () => updateMetrics(startedAt, res)); - - // Try brotli first; if client doesn't accept it, gzip handles it - brotliMw(req, res, () => { - if (res.getHeader('Content-Encoding') === 'br') { - return next(); - } - gzipMw(req, res, next); - }); +export function getCompressionMetrics() { + return { + activeEndpoints: Array.from(configs.keys()), }; } diff --git a/backend/src/middleware/errorHandler.js b/backend/src/middleware/errorHandler.js index 607fc256..2ace351c 100644 --- a/backend/src/middleware/errorHandler.js +++ b/backend/src/middleware/errorHandler.js @@ -1,63 +1,74 @@ "use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; Object.defineProperty(exports, "__esModule", { value: true }); -exports.NotFoundError = exports.ValidationError = exports.DisputeError = exports.ProjectError = exports.AuthError = exports.PaymentError = exports.AppError = void 0; +exports.AppError = void 0; exports.asyncHandler = asyncHandler; exports.notFoundHandler = notFoundHandler; exports.errorHandler = errorHandler; -const error_codes_1 = require("@agenticpay/error-codes"); -const errors_1 = require("../types/errors"); -Object.defineProperty(exports, "AppError", { enumerable: true, get: function () { return errors_1.AppError; } }); -Object.defineProperty(exports, "PaymentError", { enumerable: true, get: function () { return errors_1.PaymentError; } }); -Object.defineProperty(exports, "AuthError", { enumerable: true, get: function () { return errors_1.AuthError; } }); -Object.defineProperty(exports, "ProjectError", { enumerable: true, get: function () { return errors_1.ProjectError; } }); -Object.defineProperty(exports, "DisputeError", { enumerable: true, get: function () { return errors_1.DisputeError; } }); -Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_1.ValidationError; } }); -Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_1.NotFoundError; } }); +var AppError = /** @class */ (function (_super) { + __extends(AppError, _super); + function AppError(statusCode, message, code, details) { + if (code === void 0) { code = 'INTERNAL_SERVER_ERROR'; } + var _this = _super.call(this, message) || this; + _this.name = 'AppError'; + _this.statusCode = statusCode; + _this.code = code; + _this.details = details; + return _this; + } + return AppError; +}(Error)); +exports.AppError = AppError; function asyncHandler(handler) { - return (req, res, next) => { + return function (req, res, next) { Promise.resolve(handler(req, res, next)).catch(next); }; } function notFoundHandler(req, _res, next) { - next(new errors_1.NotFoundError(`Route not found: ${req.method} ${req.originalUrl}`)); + next(new AppError(404, "Route not found: ".concat(req.method, " ").concat(req.originalUrl), 'NOT_FOUND')); } -function errorHandler(err, req, res, _next) { - const isAppError = err instanceof errors_1.AppError; - const statusCode = isAppError ? err.statusCode : 500; - const code = (0, error_codes_1.resolveErrorCode)(isAppError ? err.code : undefined, statusCode); - const registered = error_codes_1.ERROR_CODE_REGISTRY[code]; - const isProduction = process.env.NODE_ENV === 'production'; - const message = isAppError +function errorHandler(err, _req, res, _next) { + var isAppError = err instanceof AppError; + var statusCode = isAppError ? err.statusCode : 500; + var code = isAppError ? err.code : 'INTERNAL_SERVER_ERROR'; + var isProduction = process.env.NODE_ENV === 'production'; + var message = isAppError ? err.message : isProduction ? 'Internal server error' : err instanceof Error ? err.message : 'Unexpected error'; - const logMethod = registered.httpStatus >= 500 ? console.error : console.warn; - const logContext = { - code, - message, - statusCode: registered.httpStatus || statusCode, - ...(isAppError && err.metadata ? { metadata: err.metadata } : {}), - ...(req.requestId ? { requestId: req.requestId } : {}), - ...(req.user?.id ? { userId: req.user.id } : {}), - ...(!isProduction && !isAppError && err instanceof Error && err.stack ? { stack: err.stack } : {}), - }; - logMethod(`[${code}] ${message}`, logContext); - if (registered.deprecated && registered.sunsetAt) { - res.setHeader('Sunset', registered.sunsetAt); - res.setHeader('Deprecation', 'true'); - } - res.status(registered.httpStatus || statusCode).json({ - error: { - code, - message, - ...(isAppError && err.details !== undefined ? { details: err.details } : {}), - ...(req.requestId ? { requestId: req.requestId } : {}), - ...(!isProduction && !isAppError && err instanceof Error && err.stack - ? { stack: err.stack } - : {}), - }, + var logMethod = statusCode >= 500 ? console.error : console.warn; + logMethod("[".concat(code, "] ").concat(message), err); + res.status(statusCode).json({ + error: __assign(__assign({ code: code, message: message, status: statusCode }, (isAppError && err.details !== undefined ? { details: err.details } : {})), (!isProduction && !isAppError && err instanceof Error && err.stack + ? { stack: err.stack } + : {})), }); } diff --git a/backend/src/middleware/errorHandler.ts b/backend/src/middleware/errorHandler.ts index 8c4c26c8..03a42b84 100644 --- a/backend/src/middleware/errorHandler.ts +++ b/backend/src/middleware/errorHandler.ts @@ -1,11 +1,20 @@ import type { NextFunction, Request, RequestHandler, Response } from 'express'; -import { ERROR_CODE_REGISTRY, resolveErrorCode } from '@agenticpay/error-codes'; -import { AppError, PaymentError, AuthError, ProjectError, DisputeError, ValidationError, NotFoundError } from '../types/errors'; -import metrics from '../observability/datadog.js'; type AsyncRouteHandler = (req: Request, res: Response, next: NextFunction) => Promise; -export { AppError, PaymentError, AuthError, ProjectError, DisputeError, ValidationError, NotFoundError }; +export class AppError extends Error { + statusCode: number; + code: string; + details?: unknown; + + constructor(statusCode: number, message: string, code = 'INTERNAL_SERVER_ERROR', details?: unknown) { + super(message); + this.name = 'AppError'; + this.statusCode = statusCode; + this.code = code; + this.details = details; + } +} export function asyncHandler(handler: AsyncRouteHandler): RequestHandler { return (req, res, next) => { @@ -14,14 +23,13 @@ export function asyncHandler(handler: AsyncRouteHandler): RequestHandler { } export function notFoundHandler(req: Request, _res: Response, next: NextFunction) { - next(new NotFoundError(`Route not found: ${req.method} ${req.originalUrl}`)); + next(new AppError(404, `Route not found: ${req.method} ${req.originalUrl}`, 'NOT_FOUND')); } -export function errorHandler(err: unknown, req: Request, res: Response, _next: NextFunction) { +export function errorHandler(err: unknown, _req: Request, res: Response, _next: NextFunction) { const isAppError = err instanceof AppError; const statusCode = isAppError ? err.statusCode : 500; - const code = resolveErrorCode(isAppError ? err.code : undefined, statusCode); - const registered = ERROR_CODE_REGISTRY[code]; + const code = isAppError ? err.code : 'INTERNAL_SERVER_ERROR'; const isProduction = process.env.NODE_ENV === 'production'; const message = isAppError ? err.message @@ -31,40 +39,15 @@ export function errorHandler(err: unknown, req: Request, res: Response, _next: N ? err.message : 'Unexpected error'; - const logMethod = registered.httpStatus >= 500 ? console.error : console.warn; - const logContext = { - code, - message, - statusCode: registered.httpStatus || statusCode, - ...(isAppError && err.metadata ? { metadata: err.metadata } : {}), - ...(req.requestId ? { requestId: req.requestId } : {}), - ...(req.user?.id ? { userId: req.user.id } : {}), - ...(!isProduction && !isAppError && err instanceof Error && err.stack ? { stack: err.stack } : {}), - }; - logMethod(`[${code}] ${message}`, logContext); - - const endpoint = req.route?.path || req.path; - const tags = { - endpoint, - error_code: code, - status_code: String(registered.httpStatus || statusCode), - }; - metrics.increment('errors.total', 1, tags); - if (registered.httpStatus >= 500) { - metrics.increment('errors.critical', 1, tags); - } - - if (registered.deprecated && registered.sunsetAt) { - res.setHeader('Sunset', registered.sunsetAt); - res.setHeader('Deprecation', 'true'); - } + const logMethod = statusCode >= 500 ? console.error : console.warn; + logMethod(`[${code}] ${message}`, err); - res.status(registered.httpStatus || statusCode).json({ + res.status(statusCode).json({ error: { code, message, + status: statusCode, ...(isAppError && err.details !== undefined ? { details: err.details } : {}), - ...(req.requestId ? { requestId: req.requestId } : {}), ...(!isProduction && !isAppError && err instanceof Error && err.stack ? { stack: err.stack } : {}), diff --git a/backend/src/middleware/index.ts b/backend/src/middleware/index.ts index 703b89f7..b8b954b7 100644 --- a/backend/src/middleware/index.ts +++ b/backend/src/middleware/index.ts @@ -3,10 +3,10 @@ export { circuitBreaker, getCircuitState, getAllCircuits, resetCircuit } from '. export { deprecationMiddleware, type DeprecationOptions } from './deprecation.js'; export { AppError, asyncHandler, notFoundHandler, errorHandler } from './errorHandler.js'; export { idempotency, clearIdempotencyCache } from './idempotency.js'; -export { initIpAllowlist, addBypassCode, removeBypassCode, setAdminIpAllowlist, clearAdminIpAllowlist, ipAllowlistMiddleware, adminIpAllowlistMiddleware, apiIpAllowlistMiddleware, config as ipAllowlistConfig } from './ip-allowlist.js'; +export { initIpAllowlist, addBypassCode, removeBypassCode, ipAllowlistMiddleware, adminIpAllowlistMiddleware, apiIpAllowlistMiddleware, config as ipAllowlistConfig } from './ip-allowlist.js'; export { logger, httpLogger } from './logger.js'; export { type Role, type Action, type AbacContext, roleAtLeast, PermissionEngine, permissionEngine, requirePermission, attachAbacCtx } from './permissions.js'; -export { tokenBucketRateLimit, rateLimit, resolveUserTier, resolveClientKey, getAnalyticsSummary, setQuotaOverride, removeQuotaOverride, listQuotaOverrides, type UserTier, type TokenBucketConfig, type RateLimitOptions, type QuotaOverride, DEFAULT_TIER_CONFIGS, SANDBOX_TIER_CONFIGS, ENDPOINT_CONFIGS } from './rate-limit.js'; +export { tokenBucketRateLimit, resolveUserTier, resolveClientKey, getAnalyticsSummary, type UserTier, type TokenBucketConfig, type RateLimitOptions, DEFAULT_TIER_CONFIGS, SANDBOX_TIER_CONFIGS, ENDPOINT_CONFIGS } from './rate-limit.js'; export { requestIdMiddleware, REQUEST_ID_HEADER } from './requestId.js'; export { requireFlag } from './requireFlag.js'; export { sanitizeInput, contentSecurityPolicy, validateInput, InputSanitizer, createSecurityRateLimit, type SanitizeOptions } from './sanitize.js'; @@ -15,31 +15,7 @@ export { sessionMiddleware } from './session.js'; export { slaTrackingMiddleware } from './slaTracking.js'; export { traceMiddleware, TRACE_ID_HEADER } from './trace.js'; export { cacheControlNoStore, CACHE_NOSTORE_HEADER, VARY_HEADER } from './cache-control.js'; -export { createCorsMiddleware, cors, type CorsMiddlewareOptions, DEFAULT_METHODS, DEFAULT_ALLOWED_HEADERS } from './cors.js'; export { validate } from './validate.js'; -export { - validateAndSanitize, - validateRequest as validateRequestWithSanitization, - validateBody, - commonSchemas, - type ValidationOptions, - type ValidationSchemas, -} from './validation.js'; export { versionMiddleware } from './versioning.js'; -export { verifyWebhookProvider, verifyCustomProviderWebhookWithKeys, webhookVerifiers, captureRawBody, webhookJsonParser, configureWebhookVerification, resetWebhookVerificationConfig, type WebhookVerificationConfig } from './webhookVerification.js'; +export { verifyWebhook, webhookVerifiers, rawBodyCapture, type WebhookVerificationConfig } from './webhookVerification.js'; export { composeMiddleware, type MiddlewareFunction, type MiddlewareChain } from './compose.js'; -export { tokenAuthMiddleware } from './token-auth.js'; -export { hmacAuthMiddleware, invalidateKeyCache, HEADER_SIGNATURE, HEADER_TIMESTAMP, HEADER_NONCE } from './hmac-auth.js'; -export { - authMiddleware, - createAuthMiddleware, - DEFAULT_AUTH_STRATEGIES, - sessionStrategy, - hmacStrategy, - tokenStrategy, - apiKeyStrategy, - type AuthStrategy, - type AuthPrincipal, - type AuthMethod, -} from './auth.js'; -export { requestCoalescer, getCoalesceMetrics, setCoalesceConfig, resetCoalesceStore } from './request-coalescer.js'; diff --git a/backend/src/middleware/ip-allowlist.ts b/backend/src/middleware/ip-allowlist.ts index 42ed75e2..2a98f82b 100644 --- a/backend/src/middleware/ip-allowlist.ts +++ b/backend/src/middleware/ip-allowlist.ts @@ -3,14 +3,12 @@ import { Request, Response, NextFunction, RequestHandler } from 'express'; export interface IpAllowlistConfig { enabled: boolean; allowedIps: string[]; - adminAllowedIps: Map; bypassCodes: Map; } export const config: IpAllowlistConfig = { enabled: false, allowedIps: [], - adminAllowedIps: new Map(), bypassCodes: new Map(), }; @@ -27,14 +25,6 @@ export function removeBypassCode(code: string): void { config.bypassCodes.delete(code); } -export function setAdminIpAllowlist(adminId: string, allowedIps: string[]): void { - config.adminAllowedIps.set(adminId, allowedIps); -} - -export function clearAdminIpAllowlist(adminId: string): void { - config.adminAllowedIps.delete(adminId); -} - interface IpRange { ip: string; mask: number | null; @@ -108,11 +98,7 @@ function isIpInCidr(ip: string, cidr: string): boolean { } function isIpAllowed(ip: string): boolean { - return isIpAllowedByList(ip, config.allowedIps); -} - -function isIpAllowedByList(ip: string, allowedIps: string[]): boolean { - for (const allowedCidr of allowedIps) { + for (const allowedCidr of config.allowedIps) { if (isIpInCidr(ip, allowedCidr)) { return true; } @@ -188,18 +174,9 @@ export function ipAllowlistMiddleware(allowedIps?: string[], enableBypass = fals } export function adminIpAllowlistMiddleware(): RequestHandler { - return (req: Request, res: Response, next: NextFunction) => { - const user = (req as Request & { user?: { id?: string; role?: string } }).user; - if (!user || !['admin', 'super_admin'].includes(String(user.role))) { - return next(); - } - - const adminSpecificIps = user.id ? config.adminAllowedIps.get(user.id) : undefined; - const ips = adminSpecificIps && adminSpecificIps.length > 0 ? adminSpecificIps : config.allowedIps; - return ipAllowlistMiddleware(ips, true)(req, res, next); - }; + return ipAllowlistMiddleware(); } export function apiIpAllowlistMiddleware(): RequestHandler { return ipAllowlistMiddleware(); -} +} \ No newline at end of file diff --git a/backend/src/middleware/logger.ts b/backend/src/middleware/logger.ts index fe1a0fae..0971df8f 100644 --- a/backend/src/middleware/logger.ts +++ b/backend/src/middleware/logger.ts @@ -104,7 +104,7 @@ export const httpLogger = pinoHttp({ /** Bind trace + request IDs for async boundaries (jobs, webhooks). */ export function correlationMiddleware(req: Request, res: Response, next: NextFunction): void { const traceId = (req.headers['x-trace-id'] as string) || randomUUID(); - const requestId = req.requestId ?? ((req.headers[REQUEST_ID_HEADER] as string) || randomUUID()); + const requestId = req.requestId ?? (req.headers[REQUEST_ID_HEADER] as string) || randomUUID(); res.setHeader('X-Trace-Id', traceId); runWithLogContext({ traceId, requestId }, () => { diff --git a/backend/src/middleware/rate-limit.ts b/backend/src/middleware/rate-limit.ts index 9df35ae4..36aae9ae 100644 --- a/backend/src/middleware/rate-limit.ts +++ b/backend/src/middleware/rate-limit.ts @@ -328,42 +328,6 @@ function isSustainedOveruse(clientKey: string): boolean { return blocked / keyEvents.length >= OVERUSE_BLOCK_RATE_THRESHOLD; } -// --------------------------------------------------------------------------- -// Per-key custom quota overrides (runtime-mutable) -// --------------------------------------------------------------------------- - -export interface QuotaOverride { - tier: UserTier; - capacity: number; - refillRate: number; - burstAllowance: number; - /** ISO-8601 expiry; omit for permanent overrides */ - expiresAt?: string; -} - -const quotaOverrides = new Map(); - -export function setQuotaOverride(clientKey: string, override: QuotaOverride): void { - quotaOverrides.set(clientKey, override); -} - -export function removeQuotaOverride(clientKey: string): boolean { - return quotaOverrides.delete(clientKey); -} - -export function listQuotaOverrides(): Array<{ clientKey: string } & QuotaOverride> { - const now = new Date().toISOString(); - const active: Array<{ clientKey: string } & QuotaOverride> = []; - for (const [clientKey, override] of quotaOverrides) { - if (!override.expiresAt || override.expiresAt > now) { - active.push({ clientKey, ...override }); - } else { - quotaOverrides.delete(clientKey); - } - } - return active; -} - // --------------------------------------------------------------------------- // Main middleware factory // --------------------------------------------------------------------------- @@ -385,17 +349,6 @@ export function tokenBucketRateLimit(opts: RateLimitOptions = {}) { }; } - // Runtime quota overrides take highest precedence - const override = quotaOverrides.get(clientKey); - if (override) { - const now = new Date().toISOString(); - if (!override.expiresAt || override.expiresAt > now) { - cfg = { capacity: override.capacity, refillRate: override.refillRate, burstAllowance: override.burstAllowance }; - } else { - quotaOverrides.delete(clientKey); - } - } - const batchCountRaw = req.headers[batchCountHeader]; const batchCount = Math.max(1, Math.min(Number(batchCountRaw) || 1, 100)); const bucketKey = `${keyPrefix}:${tier}:${clientKey}:${matchEndpointLabel(req.path)}`; @@ -481,8 +434,3 @@ export function tokenBucketRateLimit(opts: RateLimitOptions = {}) { next(); }; } - -// --------------------------------------------------------------------------- -// Convenience alias — allows importing as `rateLimit` alongside the longer name -// --------------------------------------------------------------------------- -export const rateLimit = tokenBucketRateLimit; diff --git a/backend/src/middleware/sanitize.js b/backend/src/middleware/sanitize.js index bbd7c35b..8d9005cf 100644 --- a/backend/src/middleware/sanitize.js +++ b/backend/src/middleware/sanitize.js @@ -67,7 +67,7 @@ var InputSanitizer = /** @class */ (function () { } // XSS Protection if (options.xssProtection) { - sanitized = (typeof xss_1 === 'function' ? xss_1 : xss_1.default)(sanitized); + sanitized = (0, xss_1.default)(sanitized); } // HTML Sanitization if (options.htmlSanitization) { diff --git a/backend/src/middleware/security.ts b/backend/src/middleware/security.ts index 4779611d..74c017e6 100644 --- a/backend/src/middleware/security.ts +++ b/backend/src/middleware/security.ts @@ -2,33 +2,12 @@ import { Request, Response, NextFunction } from 'express'; import helmet from 'helmet'; import rateLimit from 'express-rate-limit'; import { InputSanitizer, sanitizeInput, contentSecurityPolicy, createSecurityRateLimit } from './sanitize'; -import { config } from '../config'; /** * Comprehensive Security Middleware Stack * Implements defense-in-depth security measures */ -/** - * Security headers middleware — HSTS and Permissions-Policy. - * - * Kept independent of the CSP-bearing helmet() configuration in - * `applySecurity()` so it can be wired into the app without pulling in - * CSP directives, which are managed separately. - */ -export function securityHeadersMiddleware() { - const hsts = helmet.hsts({ - maxAge: config.security.hsts.maxAge, - includeSubDomains: config.security.hsts.includeSubDomains, - preload: config.security.hsts.preload, - }); - - return (req: Request, res: Response, next: NextFunction): void => { - res.setHeader('Permissions-Policy', config.security.permissionsPolicy); - hsts(req, res, next); - }; -} - export class SecurityMiddleware { private static instance: SecurityMiddleware; private sanitizer: InputSanitizer; @@ -218,24 +197,25 @@ export class SQLInjectionPrevention { } /** - * Create a safe, parameterized SQL query. - * - * Values are NEVER interpolated into the query string — `?` placeholders - * are rewritten to positional bind parameters (`$1`, `$2`, ...) and the - * caller must execute the returned `query`/`safeParams` pair through the - * database driver's parameter-binding API (e.g. `pool.query(query, safeParams)`). + * Create safe SQL query with parameterization */ public static createSafeQuery(template: string, params: any[]): { query: string; safeParams: any[] } { if (!this.validateQueryParams(params)) { throw new Error('Invalid SQL parameters detected'); } + // Simple parameterization (in production, use proper ORM) + let query = template; let paramIndex = 0; - const query = template.replace(/\?/g, () => `$${++paramIndex}`); - if (paramIndex !== params.length) { - throw new Error('Parameter count does not match placeholder count'); - } + // Replace placeholders with safe parameters + query = query.replace(/\?/g, () => { + if (paramIndex < params.length) { + const param = params[paramIndex++]; + return typeof param === 'string' ? `'${param.replace(/'/g, "''")}'` : String(param); + } + return '?'; + }); return { query, safeParams: params }; } @@ -487,27 +467,3 @@ export class SecurityMonitor { } export default SecurityMiddleware; - - -/** - * #730: Composable Security Middleware Chains - */ -export class SecurityChain { - private middlewares: any[] = []; - - add(mw: any): this { - this.middlewares.push(mw); - return this; - } - - compose(): any { - return (req: any, res: any, next: any) => { - let i = 0; - const run = (err?: any) => { - if (err || i >= this.middlewares.length) return next(err); - this.middlewares[i++](req, res, run); - }; - run(); - }; - } -} diff --git a/backend/src/middleware/slaTracking.ts b/backend/src/middleware/slaTracking.ts index b764b980..a5c8830c 100644 --- a/backend/src/middleware/slaTracking.ts +++ b/backend/src/middleware/slaTracking.ts @@ -5,34 +5,21 @@ import { Request, Response, NextFunction } from 'express'; import { slaTracker } from '../services/sla.js'; -import metrics from '../observability/datadog.js'; /** * Middleware to track SLA metrics for each request */ export function slaTrackingMiddleware(req: Request, res: Response, next: NextFunction): void { const startTime = Date.now(); - const endpoint = req.route?.path || req.path; + const endpoint = `${req.method} ${req.baseUrl}${req.path}`; // Hook into the response finish event res.on('finish', () => { const responseTimeMs = Date.now() - startTime; const statusCode = res.statusCode; - // Track the request in SLA tracker - slaTracker.trackRequest(`${req.method} ${req.baseUrl}${req.path}`, responseTimeMs, statusCode, new Date()); - - // Emit metrics with endpoint and status code tags - const tags = { - endpoint, - status_code: String(statusCode), - }; - - metrics.distribution('http.request.duration', responseTimeMs, tags); - metrics.increment('http.requests', 1, tags); - if (statusCode >= 400) { - metrics.increment('http.errors', 1, tags); - } + // Track the request + slaTracker.trackRequest(endpoint, responseTimeMs, statusCode, new Date()); }); next(); diff --git a/backend/src/middleware/validate.js b/backend/src/middleware/validate.js index 7d00a085..1920c2d5 100644 --- a/backend/src/middleware/validate.js +++ b/backend/src/middleware/validate.js @@ -1,48 +1,29 @@ "use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); -exports.validate = exports.validateRequest = void 0; - -const zod_1 = require("zod"); -const errors_js_1 = require("../types/errors.js"); - -function formatIssues(issues) { - return issues.map((err) => ({ - path: err.path.join(".") || "root", - message: err.message, - })); -} - -function isZodError(error) { - return error instanceof zod_1.ZodError || - (typeof error === "object" && - error !== null && - error.name === "ZodError" && - Array.isArray(error.errors)); -} - -const validateRequest = (targets) => { - return function validateRequestMiddleware(req, _res, next) { - try { - if (targets.body) req.body = targets.body.parse(req.body ?? {}); - if (targets.query) req.query = targets.query.parse(req.query ?? {}); - if (targets.params) req.params = targets.params.parse(req.params ?? {}); - next(); - } catch (error) { - if (isZodError(error)) { - return next(new errors_js_1.AppError( - 400, - "Request validation failed", - "ERR_VALIDATION_FAILED", - formatIssues(error.errors) - )); - } - next(error); - } - }; +exports.validate = void 0; +var zod_1 = require("zod"); +/** + * Reusable middleware to validate the request body against a Zod schema. + * Returns a 400 Bad Request with detailed errors if validation fails. + */ +var validate = function (schema) { + return function validateMiddleware(req, res, next) { + try { + schema.parse(req.body); + next(); + } + catch (error) { + if (error instanceof zod_1.ZodError) { + return res.status(400).json({ + message: 'Validation failed', + errors: error.errors.map(function (err) { return ({ + path: err.path.join('.'), + message: err.message, + }); }), + }); + } + next(error); + } + }; }; - -exports.validateRequest = validateRequest; -const validate = (schema) => (0, exports.validateRequest)({ body: schema }); exports.validate = validate; -exports.default = validate; diff --git a/backend/src/middleware/validate.ts b/backend/src/middleware/validate.ts index 9d25d1cc..5a66621b 100644 --- a/backend/src/middleware/validate.ts +++ b/backend/src/middleware/validate.ts @@ -1,6 +1,5 @@ import { Request, Response, NextFunction } from 'express'; import { ZodSchema, ZodError, ZodIssue } from 'zod'; -import { AppError } from '../types/errors.js'; export interface ValidationTargets { body?: ZodSchema; @@ -15,15 +14,6 @@ function formatIssues(issues: ZodIssue[]) { })); } -function isZodError(error: unknown): error is ZodError { - return error instanceof ZodError || ( - typeof error === 'object' && - error !== null && - (error as { name?: string }).name === 'ZodError' && - Array.isArray((error as { errors?: unknown }).errors) - ); -} - /** * Validate request body, query, and params against Zod schemas. * Returns generic 400 responses without leaking internal details. @@ -42,8 +32,12 @@ export const validateRequest = (targets: ValidationTargets) => { } next(); } catch (error) { - if (isZodError(error)) { - return next(new AppError(400, 'Request validation failed', 'ERR_VALIDATION_FAILED', formatIssues(error.errors))); + if (error instanceof ZodError) { + return res.status(400).json({ + error: 'VALIDATION_FAILED', + message: 'Request validation failed', + details: formatIssues(error.errors), + }); } next(error); } diff --git a/backend/src/middleware/versioning.ts b/backend/src/middleware/versioning.ts index 5d950c66..0223d349 100644 --- a/backend/src/middleware/versioning.ts +++ b/backend/src/middleware/versioning.ts @@ -1,256 +1,61 @@ -/** - * Issue #822 — API Versioning with Deprecation Headers - * - * Middleware and registry for multi-version API management. - * - * Standards: - * - RFC 8594 (Sunset header) - * - Draft "The Deprecation HTTP Header Field" (IETF) - * - RFC 7234 (Warning header — 299 Miscellaneous Persistent Warning) - * - * Header behaviour on deprecated versions: - * Deprecation: — date the version was deprecated - * Sunset: — date the version will stop working - * Warning: 299 - "" — human-readable warning per RFC 7234 - * Link: ; rel="successor-version" — migration target - * X-API-Version: vN — version that handled the request - * - * On sunset (sun has already set): - * HTTP 410 Gone with JSON error body - */ - import { Request, Response, NextFunction } from 'express'; -// --------------------------------------------------------------------------- -// Types -// --------------------------------------------------------------------------- - -export interface ApiVersion { - version: string; - deprecated?: boolean; - deprecationDate?: Date; - sunsetDate?: Date; - alternativeVersion?: string; - description?: string; - changelogUrl?: string; -} - -export interface VersioningConfig { - defaultVersion: string; - supportedVersions: ApiVersion[]; - /** Header name for explicit version selection (default: 'api-version') */ - headerName?: string; - /** Query param for version selection (default: 'version') */ - queryParamName?: string; -} - -// --------------------------------------------------------------------------- -// In-memory version registry (runtime-mutable) -// --------------------------------------------------------------------------- - -const registry = new Map(); -let defaultVersion = 'v1'; - -/** Seed the registry with an initial configuration */ -export function initVersionRegistry(config: VersioningConfig): void { - registry.clear(); - defaultVersion = config.defaultVersion; - for (const v of config.supportedVersions) { - registry.set(v.version, { ...v }); +declare module 'express-serve-static-core' { + interface Request { + apiVersion?: string; } } -/** Register or upsert a version entry */ -export function registerVersion(version: ApiVersion): void { - registry.set(version.version, { ...version }); -} - -/** Mark a version as deprecated */ -export function deprecateVersion(version: string, sunsetDate: Date, alternativeVersion?: string): void { - const existing = registry.get(version); - if (!existing) throw new Error(`Version '${version}' is not registered`); - registry.set(version, { - ...existing, - deprecated: true, - deprecationDate: new Date(), - sunsetDate, - alternativeVersion: alternativeVersion ?? existing.alternativeVersion, - }); -} - -/** List all registered versions */ -export function listVersions(): ApiVersion[] { - return Array.from(registry.values()); -} - -/** Get a single version entry */ -export function getVersion(version: string): ApiVersion | undefined { - return registry.get(version); -} - -// Bootstrap with v1 active -registry.set('v1', { version: 'v1', description: 'Current stable version' }); +function normalizeVersionValue(value?: string | string[]): string | undefined { + if (!value) { + return undefined; + } -// --------------------------------------------------------------------------- -// Header helpers -// --------------------------------------------------------------------------- + const rawVersion = Array.isArray(value) ? value[0] : value; + const versionString = rawVersion?.toString().trim(); -/** - * Format a Date as an HTTP-date string per RFC 7231 §7.1.1. - * e.g. "Fri, 25 Sep 2026 21:00:00 GMT" - */ -function toHttpDate(date: Date): string { - return date.toUTCString(); -} - -function applyDeprecationHeaders(res: Response, info: ApiVersion): void { - // Deprecation: — when the deprecation was announced - if (info.deprecationDate) { - res.setHeader('Deprecation', toHttpDate(info.deprecationDate)); - } else { - res.setHeader('Deprecation', 'true'); + if (!versionString) { + return undefined; } - // Sunset: — when the version will stop working - if (info.sunsetDate) { - res.setHeader('Sunset', toHttpDate(info.sunsetDate)); + if (/^v?\d+$/i.test(versionString)) { + return `v${versionString.replace(/^v/i, '')}`; } - // Warning: 299 — human-readable advisory per RFC 7234 §5.5 - const days = info.sunsetDate - ? Math.ceil((info.sunsetDate.getTime() - Date.now()) / 86_400_000) - : null; - - const migrateTo = info.alternativeVersion ? ` Migrate to ${info.alternativeVersion}.` : ''; - const daysNote = days !== null ? ` Sunset in ${days} day(s).` : ''; - res.setHeader('Warning', `299 - "API version ${info.version} is deprecated.${daysNote}${migrateTo}"`); - - // Link: successor-version - const successor = info.alternativeVersion ?? defaultVersion; - res.setHeader('Link', `; rel="successor-version"`); -} - -// --------------------------------------------------------------------------- -// Version extraction -// --------------------------------------------------------------------------- - -function normalise(raw: string): string { - const v = raw.trim().replace(/^v/i, ''); - return `v${v}`; -} - -function extractVersionFromRequest(req: Request, headerName: string, queryParam: string): string | null { - // 1. URL path: /api/v1/... or /api/v2/... - const pathMatch = (req.originalUrl ?? req.path ?? '').match(/^\/api\/(v\d+)/i); - if (pathMatch) return normalise(pathMatch[1]); - - // 2. Explicit version headers - for (const h of [headerName, 'x-api-version', 'accept-version']) { - const val = req.headers[h]; - if (val) return normalise(Array.isArray(val) ? val[0] : val); + const mimeVersionMatch = versionString.match(/v(?\d+)(?:\+|;|$)/i); + if (mimeVersionMatch?.groups?.version) { + return `v${mimeVersionMatch.groups.version}`; } - // 3. Content-Type media-type versioning - // e.g. application/vnd.agenticpay.v1+json or application/json; version=1 - const ct = req.headers['content-type'] ?? ''; - const vendorMatch = ct.match(/vnd\.[^.]+\.v(\d+)/i); - if (vendorMatch) return `v${vendorMatch[1]}`; - const paramMatch = ct.match(/;\s*version=(\d+)/i); - if (paramMatch) return `v${paramMatch[1]}`; - - // 4. Query param - const qv = req.query?.[queryParam]; - if (qv) return normalise(String(qv)); - - return null; -} - -// --------------------------------------------------------------------------- -// Configurable middleware factory -// --------------------------------------------------------------------------- - -export function apiVersioning(config: VersioningConfig) { - initVersionRegistry(config); - const hdr = config.headerName ?? 'api-version'; - const qp = config.queryParamName ?? 'version'; - - return buildVersionMiddleware(hdr, qp); -} - -function buildVersionMiddleware(headerName = 'api-version', queryParam = 'version') { - return (req: Request, res: Response, next: NextFunction): void => { - const extracted = extractVersionFromRequest(req, headerName, queryParam); - const version = extracted ?? defaultVersion; - - const info = registry.get(version); - - if (!info) { - res.status(400).json({ - error: 'Unsupported API version', - message: `API version '${version}' is not supported.`, - supportedVersions: Array.from(registry.keys()), - current: defaultVersion, - }); - return; - } - - // Check if version has already reached sunset - if (info.deprecated && info.sunsetDate && info.sunsetDate <= new Date()) { - res.status(410).json({ - error: 'API version sunset', - message: `API version '${version}' has been sunset and is no longer available.`, - alternativeVersion: info.alternativeVersion ?? defaultVersion, - sunsetDate: info.sunsetDate.toISOString(), - }); - return; - } - - req.apiVersion = version; - res.setHeader('X-API-Version', version); - - if (info.deprecated) { - applyDeprecationHeaders(res, info); - } + const parameterVersionMatch = versionString.match(/version\s*=\s*"?(\d+)"?/i); + if (parameterVersionMatch) { + return `v${parameterVersionMatch[1]}`; + } - next(); - }; + return undefined; } -// --------------------------------------------------------------------------- -// Simple drop-in middleware (used by default in index.ts) -// --------------------------------------------------------------------------- - -export const versionMiddleware = buildVersionMiddleware(); +export const versionMiddleware = (req: Request, res: Response, next: NextFunction) => { + const headerVersion = + normalizeVersionValue(req.headers['api-version']) || + normalizeVersionValue(req.headers['x-api-version']) || + normalizeVersionValue(req.headers['accept-version']) || + normalizeVersionValue(req.headers['content-type']) || + normalizeVersionValue(req.headers['accept']); -// --------------------------------------------------------------------------- -// Additional helpers (used in tests / routes) -// --------------------------------------------------------------------------- + let version = 'v1'; -export function versionedRoute( - version: string, - handler: (req: Request, res: Response, next: NextFunction) => void, -) { - return (req: Request, res: Response, next: NextFunction): void => { - if (req.apiVersion === version) { - return handler(req, res, next); + if (headerVersion) { + version = headerVersion; + } else { + const match = req.originalUrl.match(/^\/api\/(v\d+)\//); + if (match) { + version = match[1]; } - next(); - }; -} + } -export function getApiVersionInfo(req: Request): { version: string; deprecated: boolean; sunsetDate?: Date } { - const info = registry.get(req.apiVersion ?? defaultVersion); - return { - version: req.apiVersion ?? defaultVersion, - deprecated: info?.deprecated ?? false, - sunsetDate: info?.sunsetDate, - }; -} + req.apiVersion = version; + res.setHeader('X-API-Version', version); -declare global { - namespace Express { - interface Request { - apiVersion?: string; - } - } -} + next(); +}; diff --git a/backend/src/middleware/webhookVerification.ts b/backend/src/middleware/webhookVerification.ts index 11ca0be4..edc7e0d5 100644 --- a/backend/src/middleware/webhookVerification.ts +++ b/backend/src/middleware/webhookVerification.ts @@ -9,11 +9,8 @@ import { verifyGithubProviderWebhook, verifyPaypalProviderWebhook, verifyCustomProviderWebhook, - verifyZapierProviderWebhook, - verifyIntercomProviderWebhook, type ProviderVerificationResult, } from '../services/webhooks/providers.js'; -import { getWebhookKeyRegistry } from '../services/webhookKeys.js'; import { isReplayEvent } from '../services/webhooks/replay.js'; import { storeWebhookPayload } from '../services/webhooks/audit.js'; import { createModuleLogger } from './logger.js'; @@ -21,30 +18,6 @@ import { AppError } from './errorHandler.js'; const webhookLog = createModuleLogger('webhooks'); -export interface WebhookVerificationConfig { - useKeyRotation?: boolean; - toleranceSeconds?: number; -} - -export const webhookVerificationConfig: WebhookVerificationConfig = { - useKeyRotation: true, -}; - -export function configureWebhookVerification(config: WebhookVerificationConfig): WebhookVerificationConfig { - if (config.useKeyRotation !== undefined) { - webhookVerificationConfig.useKeyRotation = config.useKeyRotation; - } - if (config.toleranceSeconds !== undefined) { - webhookVerificationConfig.toleranceSeconds = config.toleranceSeconds; - } - return webhookVerificationConfig; -} - -export function resetWebhookVerificationConfig(): void { - webhookVerificationConfig.useKeyRotation = true; - webhookVerificationConfig.toleranceSeconds = undefined; -} - declare global { namespace Express { interface Request { @@ -68,65 +41,11 @@ export const webhookJsonParser = express.json({ type ProviderVerifier = (req: Request, rawBody: string) => ProviderVerificationResult; -const CUSTOM_SIGNATURE_HEADERS = ['x-agenticpay-signature', 'x-signature'] as const; -const CUSTOM_TIMESTAMP_HEADERS = ['x-agenticpay-timestamp', 'x-timestamp'] as const; - -function firstHeader(req: Request, names: readonly string[]): string | undefined { - for (const name of names) { - const value = req.headers[name]; - if (typeof value === 'string' && value.length > 0) { - return value; - } - if (Array.isArray(value) && value.length > 0 && typeof value[0] === 'string') { - return value[0]; - } - } - return undefined; -} - -export function verifyCustomProviderWebhookWithKeys(req: Request, rawBody: string): ProviderVerificationResult { - const registry = getWebhookKeyRegistry(); - const signature = firstHeader(req, CUSTOM_SIGNATURE_HEADERS); - const timestamp = firstHeader(req, CUSTOM_TIMESTAMP_HEADERS); - - if (webhookVerificationConfig.useKeyRotation && registry.hasKeysForProvider('custom') && signature && timestamp) { - const result = registry.verify({ - signature, - timestamp, - body: rawBody, - provider: 'custom', - keyId: typeof req.headers['x-webhook-key-id'] === 'string' ? req.headers['x-webhook-key-id'] : undefined, - toleranceSeconds: webhookVerificationConfig.toleranceSeconds, - }); - - let payload: unknown; - try { - payload = JSON.parse(rawBody); - } catch { - payload = rawBody; - } - - return { - isValid: result.isValid, - provider: 'custom', - eventId: (req.headers['x-webhook-id'] as string) || `custom_${Date.now()}`, - timestamp: new Date(result.timestamp), - body: rawBody, - error: result.isValid ? undefined : result.error, - payload, - }; - } - - return verifyCustomProviderWebhook(req, rawBody); -} - const providerVerifiers: Record = { stripe: verifyStripeProviderWebhook, paypal: verifyPaypalProviderWebhook, github: verifyGithubProviderWebhook, - custom: verifyCustomProviderWebhookWithKeys, - zapier: verifyZapierProviderWebhook, - intercom: verifyIntercomProviderWebhook, + custom: verifyCustomProviderWebhook, }; export function verifyWebhookProvider(provider: WebhookProvider) { @@ -142,8 +61,6 @@ export function verifyWebhookProvider(provider: WebhookProvider) { payload: result.payload ?? req.body, signature: (req.headers['stripe-signature'] || req.headers['x-hub-signature-256'] || - req.headers['x-hub-signature'] || - req.headers['x-zapier-signature'] || req.headers['x-signature'] || '') as string, verified: result.isValid, @@ -198,5 +115,4 @@ export const webhookVerifiers = { paypal: verifyWebhookProvider('paypal'), github: verifyWebhookProvider('github'), custom: verifyWebhookProvider('custom'), - zapier: verifyWebhookProvider('zapier'), }; diff --git a/backend/src/repositories/ProjectRepository.ts b/backend/src/repositories/ProjectRepository.ts index 21f6d2e8..79bc430e 100644 --- a/backend/src/repositories/ProjectRepository.ts +++ b/backend/src/repositories/ProjectRepository.ts @@ -1,17 +1,16 @@ /** - * ProjectRepository.ts — Issue #366 / #716 + * ProjectRepository.ts — Issue #366 * * Data access layer for projects */ import { + BaseRepository, PaginationOptions, PaginatedResult, } from "./BaseRepository.js"; -import { InMemoryRepository } from "./InMemoryRepository.js"; -import type { Project as SharedProject } from "@agenticpay/types"; -export interface Project extends Pick { +export interface Project { id: string; clientId: string; freelancerId: string; @@ -34,13 +33,30 @@ export interface Project extends Pick { - protected getId(entity: Project): string { - return entity.id; +export class ProjectRepository extends BaseRepository { + private projects: Map = new Map(); + + async findById(id: string): Promise { + return this.projects.get(id) || null; } - protected getSortTimestamp(entity: Project): number { - return new Date(entity.createdAt).getTime(); + async findAll(options: PaginationOptions): Promise> { + const allProjects = Array.from(this.projects.values()).sort( + (a, b) => + new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime(), + ); + + let startIndex = 0; + if (options.cursor) { + const cursorIndex = allProjects.findIndex((p) => p.id === options.cursor); + startIndex = cursorIndex >= 0 ? cursorIndex + 1 : 0; + } + + const items = allProjects.slice(startIndex, startIndex + options.limit); + const hasMore = startIndex + options.limit < allProjects.length; + const nextCursor = hasMore ? items[items.length - 1]?.id : undefined; + + return { items, hasMore, nextCursor }; } async create(data: Partial): Promise { @@ -61,48 +77,127 @@ export class ProjectRepository extends InMemoryRepository { tenantId: data.tenantId!, }; - return this.put(project); + this.projects.set(project.id, project); + return project; } async update(id: string, data: Partial): Promise { - const project = this.store.get(id); + const project = this.projects.get(id); if (!project) return null; - return this.put({ + const updated: Project = { ...project, ...data, id: project.id, // Prevent ID change updatedAt: new Date().toISOString(), - }); + }; + + this.projects.set(id, updated); + return updated; + } + + async delete(id: string): Promise { + return this.projects.delete(id); + } + + async count(filters?: Record): Promise { + if (!filters) { + return this.projects.size; + } + + let filtered = Array.from(this.projects.values()); + + if (filters.tenantId) { + filtered = filtered.filter((p) => p.tenantId === filters.tenantId); + } + if (filters.status) { + filtered = filtered.filter((p) => p.status === filters.status); + } + if (filters.clientId) { + filtered = filtered.filter((p) => p.clientId === filters.clientId); + } + + return filtered.length; } async findByClient( clientId: string, options: PaginationOptions, ): Promise> { - return this.paginate( - this.sortedValues().filter((p) => p.clientId === clientId), - options, - ); + const clientProjects = Array.from(this.projects.values()) + .filter((p) => p.clientId === clientId) + .sort( + (a, b) => + new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime(), + ); + + let startIndex = 0; + if (options.cursor) { + const cursorIndex = clientProjects.findIndex( + (p) => p.id === options.cursor, + ); + startIndex = cursorIndex >= 0 ? cursorIndex + 1 : 0; + } + + const items = clientProjects.slice(startIndex, startIndex + options.limit); + const hasMore = startIndex + options.limit < clientProjects.length; + const nextCursor = hasMore ? items[items.length - 1]?.id : undefined; + + return { items, hasMore, nextCursor }; } async findByFreelancer( freelancerId: string, options: PaginationOptions, ): Promise> { - return this.paginate( - this.sortedValues().filter((p) => p.freelancerId === freelancerId), - options, + const freelancerProjects = Array.from(this.projects.values()) + .filter((p) => p.freelancerId === freelancerId) + .sort( + (a, b) => + new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime(), + ); + + let startIndex = 0; + if (options.cursor) { + const cursorIndex = freelancerProjects.findIndex( + (p) => p.id === options.cursor, + ); + startIndex = cursorIndex >= 0 ? cursorIndex + 1 : 0; + } + + const items = freelancerProjects.slice( + startIndex, + startIndex + options.limit, ); + const hasMore = startIndex + options.limit < freelancerProjects.length; + const nextCursor = hasMore ? items[items.length - 1]?.id : undefined; + + return { items, hasMore, nextCursor }; } async findByTenant( tenantId: string, options: PaginationOptions, ): Promise> { - return this.paginate( - this.sortedValues().filter((p) => p.tenantId === tenantId), - options, - ); + const tenantProjects = Array.from(this.projects.values()) + .filter((p) => p.tenantId === tenantId) + .sort( + (a, b) => + new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime(), + ); + + let startIndex = 0; + if (options.cursor) { + const cursorIndex = tenantProjects.findIndex( + (p) => p.id === options.cursor, + ); + startIndex = cursorIndex >= 0 ? cursorIndex + 1 : 0; + } + + const items = tenantProjects.slice(startIndex, startIndex + options.limit); + const hasMore = startIndex + options.limit < tenantProjects.length; + const nextCursor = hasMore ? items[items.length - 1]?.id : undefined; + + return { items, hasMore, nextCursor }; } } diff --git a/backend/src/routes/__tests__/2fa.test.ts b/backend/src/routes/__tests__/2fa.test.ts index 446d1ee5..93a3f960 100644 --- a/backend/src/routes/__tests__/2fa.test.ts +++ b/backend/src/routes/__tests__/2fa.test.ts @@ -3,31 +3,39 @@ * Tests for the 2FA API endpoints */ -import { describe, it, expect } from 'vitest'; +import { describe, it, expect, beforeEach } from 'vitest'; +import { Express } from 'express'; +import { twoFactorAuthRouter } from '../2fa'; +import speakeasy from 'speakeasy'; const TEST_USER_ID = '550e8400-e29b-41d4-a716-446655440000'; describe('2FA Routes', () => { describe('POST /setup', () => { it('should generate TOTP secret and QR code', async () => { + // This test would require setting up an Express test server + // For now, we document the expected behavior + const request = { method: 'POST', url: '/setup', body: { userId: TEST_USER_ID }, }; + // Expected response structure: const expectedResponse = { - secret: 'JBSWY3DPEHPK3PXP', - qrCode: 'data:image/png;base64,abc123', - backupCodes: ['code1', 'code2', 'code3', 'code4', 'code5', 'code6', 'code7', 'code8', 'code9', 'code10'], + secret: expect.any(String), + qrCode: expect.stringContaining('data:image/png;base64'), + backupCodes: expect.arrayContaining([expect.any(String)]), }; - expect(expectedResponse.backupCodes).toBeDefined(); + expect(expectedResponse.backupCodes).toHaveLength(10); }); }); describe('POST /confirm', () => { it('should confirm 2FA setup with valid token', async () => { + // Expected successful response: const expectedResponse = { success: true, message: '2FA has been successfully enabled', @@ -37,6 +45,7 @@ describe('2FA Routes', () => { }); it('should reject invalid token', async () => { + // Expected error response: const expectedError = { statusCode: 400, message: 'Invalid verification token', @@ -48,19 +57,21 @@ describe('2FA Routes', () => { describe('POST /verify', () => { it('should verify valid TOTP token', async () => { + // Expected response: const expectedResponse = { success: true, message: '2FA verification successful', - backupCodesRemaining: 8, + backupCodesRemaining: expect.any(Number), }; expect(expectedResponse.success).toBe(true); }); it('should accept rememberDevice flag', async () => { + // Expected response with device hash: const expectedResponse = { success: true, - deviceHash: 'abc123def456', + deviceHash: expect.any(String), }; expect(expectedResponse.deviceHash).toBeTruthy(); @@ -69,10 +80,11 @@ describe('2FA Routes', () => { describe('GET /status/:userId', () => { it('should return 2FA status', async () => { + // Expected response: const expectedResponse = { userId: TEST_USER_ID, - enabled: true, - backupCodesRemaining: 8, + enabled: expect.any(Boolean), + backupCodesRemaining: expect.any(Number), }; expect(expectedResponse).toHaveProperty('userId'); @@ -80,6 +92,7 @@ describe('2FA Routes', () => { }); it('should reject invalid userId', async () => { + // Expected error for invalid UUID: const expectedError = { statusCode: 400, message: 'Invalid user ID', @@ -91,6 +104,7 @@ describe('2FA Routes', () => { describe('DELETE /:userId', () => { it('should disable 2FA with valid token', async () => { + // Expected response: const expectedResponse = { success: true, message: '2FA has been disabled', @@ -100,6 +114,7 @@ describe('2FA Routes', () => { }); it('should require valid verification token', async () => { + // Expected error: const expectedError = { statusCode: 401, message: 'Invalid verification token', @@ -111,8 +126,9 @@ describe('2FA Routes', () => { describe('POST /backup-codes', () => { it('should return backup codes with valid token', async () => { - const expectedResponse: { backupCodes: string[] } = { - backupCodes: ['code1', 'code2'], + // Expected response: + const expectedResponse = { + backupCodes: expect.arrayContaining([expect.any(String)]), }; expect(Array.isArray(expectedResponse.backupCodes)).toBe(true); @@ -121,8 +137,9 @@ describe('2FA Routes', () => { describe('POST /regenerate-backup-codes', () => { it('should regenerate backup codes', async () => { - const expectedResponse: { backupCodes: string[]; message: string } = { - backupCodes: ['c1', 'c2', 'c3', 'c4', 'c5', 'c6', 'c7', 'c8', 'c9', 'c10'], + // Expected response: + const expectedResponse = { + backupCodes: expect.arrayContaining([expect.any(String)]), message: 'Backup codes have been regenerated', }; @@ -133,44 +150,56 @@ describe('2FA Routes', () => { describe('GET /logs/:userId', () => { it('should return 2FA activity logs', async () => { + // Expected response: const expectedResponse = { - logs: [ - { id: '1', action: '2fa_verified', success: true, createdAt: '2024-01-01' }, - ], - total: 1, + logs: expect.arrayContaining([ + expect.objectContaining({ + id: expect.any(String), + action: expect.any(String), + success: expect.any(Boolean), + createdAt: expect.any(String), + }), + ]), + total: expect.any(Number), }; expect(Array.isArray(expectedResponse.logs)).toBe(true); }); it('should support filtering by action', async () => { + // Query: ?action=2fa_verified + // Expected: Only logs with action 2fa_verified const expectedResponse = { - logs: [ - { action: '2fa_verified' }, - ], + logs: expect.arrayContaining([ + expect.objectContaining({ + action: '2fa_verified', + }), + ]), }; - expectedResponse.logs.forEach((log: { action: string }) => { + expectedResponse.logs.forEach((log) => { expect(log.action).toBe('2fa_verified'); }); }); it('should support pagination', async () => { - const expectedResponse: { logs: unknown[]; total: number } = { - logs: [], - total: 5, + // Query: ?limit=10&offset=20 + // Expected: Page of results with max 10 items + const expectedResponse = { + logs: expect.any(Array), + total: expect.any(Number), }; - expect(expectedResponse.total).toBeDefined(); - expect(typeof expectedResponse.total).toBe('number'); + expect(expectedResponse.logs.length).toBeLessThanOrEqual(10); }); }); describe('POST /recovery', () => { it('should generate recovery token via email', async () => { + // Expected response: const expectedResponse = { - recoveryToken: 'rec-token-123', - message: 'Recovery email sent', + recoveryToken: expect.any(String), + message: expect.stringContaining('email'), expiresIn: 24, }; @@ -178,9 +207,10 @@ describe('2FA Routes', () => { }); it('should generate recovery token via support ticket', async () => { + // Expected response: const expectedResponse = { - recoveryToken: 'rec-token-456', - message: 'Support ticket created', + recoveryToken: expect.any(String), + message: expect.stringContaining('support'), }; expect(expectedResponse.recoveryToken).toBeTruthy(); @@ -189,6 +219,7 @@ describe('2FA Routes', () => { describe('POST /complete-recovery', () => { it('should complete recovery with valid token', async () => { + // Expected response: const expectedResponse = { success: true, message: 'Account recovery completed successfully', @@ -199,6 +230,7 @@ describe('2FA Routes', () => { }); it('should reject invalid recovery token', async () => { + // Expected error: const expectedError = { statusCode: 400, message: 'Invalid or expired recovery token', @@ -210,8 +242,9 @@ describe('2FA Routes', () => { describe('POST /check-device', () => { it('should verify remembered device', async () => { - const expectedResponse: { isRemembered: boolean } = { - isRemembered: true, + // Expected response: + const expectedResponse = { + isRemembered: expect.any(Boolean), }; expect(typeof expectedResponse.isRemembered).toBe('boolean'); @@ -220,6 +253,7 @@ describe('2FA Routes', () => { describe('Error Handling', () => { it('should return 400 for invalid request body', async () => { + // Invalid token (not 6 digits) const expectedError = { statusCode: 400, error: 'Invalid request', @@ -229,6 +263,7 @@ describe('2FA Routes', () => { }); it('should return 401 for unauthorized access', async () => { + // Missing or invalid verification token const expectedError = { statusCode: 401, error: 'Invalid verification token', @@ -238,6 +273,7 @@ describe('2FA Routes', () => { }); it('should return 500 for server errors', async () => { + // Unexpected server error const expectedError = { statusCode: 500, error: 'Failed to setup 2FA', diff --git a/backend/src/routes/__tests__/health.test.ts b/backend/src/routes/__tests__/health.test.ts index 44bc5a62..1e246e5b 100644 --- a/backend/src/routes/__tests__/health.test.ts +++ b/backend/src/routes/__tests__/health.test.ts @@ -3,7 +3,6 @@ import { healthRouter } from '../health.js'; import { Request, Response, Router, RequestHandler } from 'express'; import { server as stellarServer } from '../../services/stellar.js'; import { getJobScheduler } from '../../jobs/index.js'; -import { prisma } from '../../lib/prisma.js'; vi.mock('../../services/stellar.js', () => ({ server: { @@ -15,12 +14,6 @@ vi.mock('../../jobs/index.js', () => ({ getJobScheduler: vi.fn(), })); -vi.mock('../../lib/prisma.js', () => ({ - prisma: { - $queryRaw: vi.fn(), - }, -})); - describe('Health Router', () => { let mockReq: Partial; let mockRes: Partial; @@ -122,35 +115,6 @@ describe('Health Router', () => { }); }); - describe('GET /health/db', () => { - it('returns 200 and healthy status when the database responds', async () => { - vi.mocked(prisma.$queryRaw).mockResolvedValue([{ '?column?': 1 }]); - - const handler = getRouteHandler(healthRouter, '/health/db'); - await handler(mockReq as Request, mockRes as Response, vi.fn()); - - expect(resStatus).toHaveBeenCalledWith(200); - expect(resJson).toHaveBeenCalledWith(expect.objectContaining({ - status: 'healthy', - connected: true, - })); - }); - - it('returns 503 and unhealthy status when the database query fails', async () => { - vi.mocked(prisma.$queryRaw).mockRejectedValue(new Error('connection refused')); - - const handler = getRouteHandler(healthRouter, '/health/db'); - await handler(mockReq as Request, mockRes as Response, vi.fn()); - - expect(resStatus).toHaveBeenCalledWith(503); - expect(resJson).toHaveBeenCalledWith(expect.objectContaining({ - status: 'unhealthy', - connected: false, - error: 'connection refused', - })); - }); - }); - describe('GET /ready', () => { it('returns 200 and ready status', async () => { const handler = getRouteHandler(healthRouter, '/ready'); diff --git a/backend/src/routes/allowances.ts b/backend/src/routes/allowances.ts index f09b7f64..0b1ed9a1 100644 --- a/backend/src/routes/allowances.ts +++ b/backend/src/routes/allowances.ts @@ -1,462 +1,153 @@ import { Router } from 'express'; -import { asyncHandler } from '../middleware/errorHandler.js'; - -export const allowancesRouter = Router(); - -interface TokenAllowance { - id: string; - owner: string; - spender: string; - token: string; - tokenSymbol: string; - chainId: number; - chainName: string; - allowance: string; - allowanceUsd: number; - isUnlimited: boolean; - lastUpdated: Date; - riskLevel: 'low' | 'medium' | 'high'; - txHash?: string; - blockNumber?: number; -} - -interface ApprovalHistory { - id: string; - owner: string; - spender: string; - token: string; - tokenSymbol: string; - chainId: number; - chainName: string; - oldAllowance: string; - newAllowance: string; - txHash: string; - timestamp: Date; - status: 'confirmed' | 'pending' | 'failed'; -} - -const mockAllowances: Map = new Map([ - ['0x1234567890123456789012345678901234567890', [ - { - id: '1', - owner: '0x1234567890123456789012345678901234567890', - spender: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd', - token: '0xA0b86a33E6441C4C9A2eD5f5b2b2D5C2E5D5C2E5', - tokenSymbol: 'USDC', - chainId: 1, - chainName: 'Ethereum Mainnet', - allowance: '1000000000', - allowanceUsd: 1000, - isUnlimited: false, - lastUpdated: new Date(Date.now() - 86400000), - riskLevel: 'low', - txHash: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef', - }, - { - id: '2', - owner: '0x1234567890123456789012345678901234567890', - spender: '0xdefghijklmnopqrstuvwxyzabcdefghijklmnop', - token: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9', - tokenSymbol: 'AAVE', - chainId: 1, - chainName: 'Ethereum Mainnet', - allowance: '115792089237316195423570985008687907853269984665640564039457.584007913129639935', - allowanceUsd: 50000, - isUnlimited: true, - lastUpdated: new Date(Date.now() - 604800000), - riskLevel: 'high', - txHash: '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890', - }, - { - id: '3', - owner: '0x1234567890123456789012345678901234567890', - spender: '0x111222333444555666777888999aaabbbcccddd', - token: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', - tokenSymbol: 'WBTC', - chainId: 137, - chainName: 'Polygon', - allowance: '500000000', - allowanceUsd: 25000, - isUnlimited: false, - lastUpdated: new Date(Date.now() - 172800000), - riskLevel: 'medium', - txHash: '0x9876543210fedcba9876543210fedcba9876543210fedcba9876543210fedcba', - }, - ]], -]); +import { z } from 'zod'; +import { + fetchAllowances, + approveToken, + revokeAllowance, + batchRevoke, + estimateGasForApproval, + getRecommendedAllowance, + getApprovalLogs, + getAllowanceStats, +} from '../../services/allowances.js'; + +const router = Router(); + +const fetchQuerySchema = z.object({ + owner: z.string(), + tokens: z.string().optional(), + spenders: z.string().optional(), +}); + +const approvalBodySchema = z.object({ + token: z.string(), + spender: z.string(), + amount: z.string(), + unlimited: z.boolean().optional(), + expiresAt: z.number().optional(), +}); + +const revokeBodySchema = z.object({ + token: z.string(), + spender: z.string(), +}); + +const batchRevokeBodySchema = z.array( + z.object({ + token: z.string(), + spender: z.string(), + }) +); + +router.get('/', async (req, res) => { + try { + const { owner, tokens, spenders } = fetchQuerySchema.parse(req.query); + const tokensList = tokens ? tokens.split(',') : undefined; + const spendersList = spenders ? spenders.split(',') : undefined; + + const allowances = await fetchAllowances(owner, tokensList, spendersList); + res.json({ success: true, data: allowances }); + } catch (error) { + const message = error instanceof Error ? error.message : 'Failed to fetch allowances'; + res.status(400).json({ success: false, error: message }); + } +}); + +router.post('/approve', async (req, res) => { + try { + const body = approvalBodySchema.parse(req.body); + const result = await approveToken( + body.token, + body.spender, + body.amount, + body.unlimited, + body.expiresAt + ); -const approvalHistory: ApprovalHistory[] = [ - { - id: 'h1', - owner: '0x1234567890123456789012345678901234567890', - spender: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd', - token: '0xA0b86a33E6441C4C9A2eD5f5b2b2D5C2E5D5C2E5', - tokenSymbol: 'USDC', - chainId: 1, - chainName: 'Ethereum Mainnet', - oldAllowance: '0', - newAllowance: '1000000000', - txHash: '0xaaa111bbb222ccc333ddd444eee555fff666777', - timestamp: new Date(Date.now() - 86400000), - status: 'confirmed', - }, - { - id: 'h2', - owner: '0x1234567890123456789012345678901234567890', - spender: '0xdefghijklmnopqrstuvwxyzabcdefghijklmnop', - token: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9', - tokenSymbol: 'AAVE', - chainId: 1, - chainName: 'Ethereum Mainnet', - oldAllowance: '0', - newAllowance: '115792089237316195423570985008687907853269984665640564039457.584007913129639935', - txHash: '0xbbb222ccc333ddd444eee555fff666777888999', - timestamp: new Date(Date.now() - 604800000), - status: 'confirmed', - }, -]; + if (result.success) { + res.json({ success: true, txHash: result.txHash }); + } else { + res.status(400).json({ success: false, error: result.error }); + } + } catch (error) { + const message = error instanceof Error ? error.message : 'Approval failed'; + res.status(400).json({ success: false, error: message }); + } +}); -const tokenPrices: Record = { - USDC: 1.0, - USDT: 1.0, - DAI: 1.0, - AAVE: 250, - WBTC: 50000, - ETH: 3500, - UNI: 10, - LINK: 15, -}; +router.post('/revoke', async (req, res) => { + try { + const body = revokeBodySchema.parse(req.body); + const result = await revokeAllowance(body.token, body.spender); -const supportedChains: Record = { - 1: { name: 'Ethereum Mainnet', rpcUrl: 'https://eth.llamarpc.com' }, - 137: { name: 'Polygon', rpcUrl: 'https://polygon-rpc.com' }, - 56: { name: 'BSC', rpcUrl: 'https://bsc-dataseed.binance.org' }, - 42161: { name: 'Arbitrum One', rpcUrl: 'https://arb1.arbitrum.io/rpc' }, - 10: { name: 'Optimism', rpcUrl: 'https://mainnet.optimism.io' }, -}; + if (result.success) { + res.json({ success: true }); + } else { + res.status(400).json({ success: false, error: result.error }); + } + } catch (error) { + const message = error instanceof Error ? error.message : 'Revocation failed'; + res.status(400).json({ success: false, error: message }); + } +}); -function calculateRiskLevel(allowance: string, token: string, isUnlimited: boolean): 'low' | 'medium' | 'high' { - if (isUnlimited) return 'high'; - - const price = tokenPrices[token] || 0; - const allowanceUsd = parseFloat(allowance) * price; - - if (allowanceUsd > 10000) return 'high'; - if (allowanceUsd > 1000) return 'medium'; - return 'low'; -} +router.post('/batch-revoke', async (req, res) => { + try { + const body = batchRevokeBodySchema.parse(req.body); + const result = await batchRevoke(body); -function estimateGas(allowance: string, isIncrease: boolean): { gasEstimate: string; gasPrice: string; totalUsd: number } { - const gasLimit = isIncrease ? 100000 : 80000; - const gasPrice = '20000000000'; - const gasUsd = (gasLimit * parseInt(gasPrice)) / 1e18 * 3500; - - return { - gasEstimate: gasLimit.toString(), - gasPrice, - totalUsd: Math.round(gasUsd * 100) / 100, - }; -} + res.json(result); + } catch (error) { + const message = error instanceof Error ? error.message : 'Batch revocation failed'; + res.status(400).json({ success: false, error: message }); + } +}); -const recommendedAllowances: Record = { - USDC: { amount: '1000', label: 'Small Payment', usdValue: 1000 }, - WBTC: { amount: '0.05', label: 'Small Payment', usdValue: 2500 }, - AAVE: { amount: '10', label: 'Small Payment', usdValue: 2500 }, -}; +router.get('/gas-estimate', async (req, res) => { + try { + const { token, spender, amount, unlimited } = approvalBodySchema.parse(req.query); + const result = await estimateGasForApproval(token, spender, amount, unlimited); -allowancesRouter.get('/', asyncHandler(async (req, res) => { - const { owner, chainIds } = req.query; - - if (!owner) { - res.status(400).json({ error: 'owner address is required' }); - return; + res.json(result); + } catch (error) { + const message = error instanceof Error ? error.message : 'Gas estimation failed'; + res.status(400).json({ success: false, error: message }); } - - const ownerLower = (owner as string).toLowerCase(); - let allowances = mockAllowances.get(ownerLower) || []; - - if (chainIds) { - const chainIdList = (chainIds as string).split(',').map(id => parseInt(id, 10)); - allowances = allowances.filter(a => chainIdList.includes(a.chainId)); - } - - const totalAllowancesUsd = allowances.reduce((sum, a) => sum + a.allowanceUsd, 0); - const riskCounts = { low: 0, medium: 0, high: 0 }; - allowances.forEach(a => riskCounts[a.riskLevel]++); - - res.json({ - owner: ownerLower, - allowances, - summary: { - totalAllowances: allowances.length, - totalAllowancesUsd: Math.round(totalAllowancesUsd * 100) / 100, - highRisk: riskCounts.high, - mediumRisk: riskCounts.medium, - lowRisk: riskCounts.low, - unlimitedAllowances: allowances.filter(a => a.isUnlimited).length, - }, - supportedChains, - timestamp: new Date(), - }); -})); +}); -allowancesRouter.get('/:id', asyncHandler(async (req, res) => { - const { id } = req.params; - - for (const allowances of mockAllowances.values()) { - const allowance = allowances.find(a => a.id === id); - if (allowance) { - const gasEstimate = estimateGas(allowance.allowance, false); - res.json({ ...allowance, gasEstimate }); - return; - } - } - - res.status(404).json({ error: 'Allowance not found' }); -})); +router.get('/recommended', (req, res) => { + const { token, spender, typicalUsage } = req.query; -allowancesRouter.post('/approve', asyncHandler(async (req, res) => { - const { owner, spender, token, tokenSymbol, chainId, amount, isUnlimited } = req.body; - - if (!owner || !spender || !token || !chainId) { - res.status(400).json({ error: 'owner, spender, token, and chainId are required' }); - return; - } - - const chainInfo = supportedChains[chainId]; - if (!chainInfo) { - res.status(400).json({ error: 'Unsupported chain' }); - return; + if (!token || !spender || !typicalUsage) { + return res.status(400).json({ + success: false, + error: 'Missing required parameters: token, spender, typicalUsage', + }); } - - const allowanceAmount = isUnlimited - ? '115792089237316195423570985008687907853269984665640564039457.584007913129639935' - : amount; - - const tokenPrice = tokenPrices[tokenSymbol] || 0; - const allowanceUsd = isUnlimited - ? 999999999 - : parseFloat(amount) * tokenPrice; - - const newAllowance: TokenAllowance = { - id: `allowance_${Date.now()}`, - owner: owner.toLowerCase(), - spender: spender.toLowerCase(), - token, - tokenSymbol: tokenSymbol || 'UNKNOWN', - chainId, - chainName: chainInfo.name, - allowance: allowanceAmount, - allowanceUsd: Math.round(allowanceUsd * 100) / 100, - isUnlimited: !!isUnlimited, - lastUpdated: new Date(), - riskLevel: calculateRiskLevel(allowanceAmount, tokenSymbol, !!isUnlimited), - txHash: `0x${Math.random().toString(16).slice(2)}${Math.random().toString(16).slice(2)}`, - }; - - const ownerLower = owner.toLowerCase(); - const ownerAllowances = mockAllowances.get(ownerLower) || []; - ownerAllowances.push(newAllowance); - mockAllowances.set(ownerLower, ownerAllowances); - - approvalHistory.unshift({ - id: `h${Date.now()}`, - owner: newAllowance.owner, - spender: newAllowance.spender, - token: newAllowance.token, - tokenSymbol: newAllowance.tokenSymbol, - chainId: newAllowance.chainId, - chainName: newAllowance.chainName, - oldAllowance: '0', - newAllowance: allowanceAmount, - txHash: newAllowance.txHash!, - timestamp: new Date(), - status: 'confirmed', - }); - - res.json({ - success: true, - allowance: newAllowance, - message: isUnlimited ? 'Unlimited approval granted' : `Approved ${amount} ${tokenSymbol}`, - }); -})); -allowancesRouter.post('/revoke', asyncHandler(async (req, res) => { - const { owner, spender, token, chainId } = req.body; - - if (!owner || !spender || !token || !chainId) { - res.status(400).json({ error: 'owner, spender, token, and chainId are required' }); - return; - } - - const ownerLower = owner.toLowerCase(); - const ownerAllowances = mockAllowances.get(ownerLower); - - if (!ownerAllowances) { - res.status(404).json({ error: 'No allowances found for this owner' }); - return; - } - - const allowanceIndex = ownerAllowances.findIndex( - a => a.spender.toLowerCase() === spender.toLowerCase() && - a.token.toLowerCase() === token.toLowerCase() && - a.chainId === chainId + const recommended = getRecommendedAllowance( + token as string, + spender as string, + typicalUsage as string ); - - if (allowanceIndex === -1) { - res.status(404).json({ error: 'Allowance not found' }); - return; - } - - const revokedAllowance = ownerAllowances[allowanceIndex]; - const txHash = `0x${Math.random().toString(16).slice(2)}${Math.random().toString(16).slice(2)}`; - - approvalHistory.unshift({ - id: `h${Date.now()}`, - owner: revokedAllowance.owner, - spender: revokedAllowance.spender, - token: revokedAllowance.token, - tokenSymbol: revokedAllowance.tokenSymbol, - chainId: revokedAllowance.chainId, - chainName: revokedAllowance.chainName, - oldAllowance: revokedAllowance.allowance, - newAllowance: '0', - txHash, - timestamp: new Date(), - status: 'confirmed', - }); - - ownerAllowances.splice(allowanceIndex, 1); - - res.json({ - success: true, - revoked: { spender, token, chainId }, - txHash, - message: 'Allowance revoked successfully', - }); -})); -allowancesRouter.post('/batch-revoke', asyncHandler(async (req, res) => { - const { owner, allowances } = req.body; - - if (!owner || !allowances || !Array.isArray(allowances)) { - res.status(400).json({ error: 'owner and allowances array are required' }); - return; - } - - const ownerLower = owner.toLowerCase(); - const ownerAllowances = mockAllowances.get(ownerLower); - const results: { spender: string; token: string; chainId: number; success: boolean; error?: string }[] = []; - - for (const item of allowances) { - if (!ownerAllowances) { - results.push({ ...item, success: false, error: 'No allowances found' }); - continue; - } - - const index = ownerAllowances.findIndex( - a => a.spender.toLowerCase() === item.spender.toLowerCase() && - a.token.toLowerCase() === item.token.toLowerCase() && - a.chainId === item.chainId - ); - - if (index !== -1) { - ownerAllowances.splice(index, 1); - results.push({ ...item, success: true }); - } else { - results.push({ ...item, success: false, error: 'Allowance not found' }); - } - } - - const successCount = results.filter(r => r.success).length; - - res.json({ - success: true, - results, - summary: { - total: allowances.length, - successful: successCount, - failed: allowances.length - successCount, - }, - }); -})); + res.json({ success: true, recommended }); +}); -allowancesRouter.get('/history/:owner', asyncHandler(async (req, res) => { - const { owner } = req.params; - const { chainIds, limit = '50' } = req.query; - - const ownerLower = owner.toLowerCase(); - let history = approvalHistory.filter(h => h.owner.toLowerCase() === ownerLower); - - if (chainIds) { - const chainIdList = (chainIds as string).split(',').map(id => parseInt(id, 10)); - history = history.filter(h => chainIdList.includes(h.chainId)); - } - - history = history.slice(0, parseInt(limit as string, 10)); - - res.json({ - owner: ownerLower, - history, - total: approvalHistory.filter(h => h.owner.toLowerCase() === ownerLower).length, - timestamp: new Date(), - }); -})); +router.get('/logs', (req, res) => { + const { token, spender, limit } = req.query; + const logs = getApprovalLogs( + token as string | undefined, + spender as string | undefined, + limit ? parseInt(limit as string) : 100 + ); -allowancesRouter.post('/estimate-gas', asyncHandler(async (req, res) => { - const { chainId, operation, tokenSymbol, amount } = req.body; - - if (!chainId || !operation) { - res.status(400).json({ error: 'chainId and operation are required' }); - return; - } - - const chainInfo = supportedChains[chainId]; - if (!chainInfo) { - res.status(400).json({ error: 'Unsupported chain' }); - return; - } - - const isIncrease = operation === 'increase' || operation === 'approve'; - const gasEstimate = estimateGas(amount || '0', isIncrease); - - res.json({ - chainId, - chainName: chainInfo.name, - operation, - tokenSymbol, - ...gasEstimate, - estimatedTime: isIncrease ? '15-30 seconds' : '10-20 seconds', - }); -})); + res.json({ success: true, logs }); +}); -allowancesRouter.get('/recommendations/:tokenSymbol', asyncHandler(async (req, res) => { - const { tokenSymbol } = req.params; - const { chainId = '1' } = req.query; - - const token = tokenSymbol.toUpperCase(); - const recommendations = recommendedAllowances[token]; - - if (!recommendations) { - res.json({ - tokenSymbol: token, - chainId: parseInt(chainId as string, 10), - recommendations: [ - { amount: '10', label: 'Minimum', usdValue: 10 * (tokenPrices[token] || 0) }, - { amount: '100', label: 'Small Payment', usdValue: 100 * (tokenPrices[token] || 0) }, - { amount: '1000', label: 'Medium Payment', usdValue: 1000 * (tokenPrices[token] || 0) }, - ], - }); - return; - } - - res.json({ - tokenSymbol: token, - chainId: parseInt(chainId as string, 10), - recommendations: [ - recommendations, - { amount: (parseFloat(recommendations.amount) * 10).toString(), label: 'Large Payment', usdValue: recommendations.usdValue * 10 }, - { amount: (parseFloat(recommendations.amount) * 100).toString(), label: 'Custom', usdValue: recommendations.usdValue * 100 }, - ], - }); -})); \ No newline at end of file +router.get('/stats', (req, res) => { + const stats = getAllowanceStats(); + res.json({ success: true, stats }); +}); + +export default router; \ No newline at end of file diff --git a/backend/src/routes/analytics.ts b/backend/src/routes/analytics.ts index 4ed33304..d83997cf 100644 --- a/backend/src/routes/analytics.ts +++ b/backend/src/routes/analytics.ts @@ -10,18 +10,10 @@ import { analyticsService, scheduleReport, getReportSchedule, - forecastService, - buildRevenueForecastWithAccuracy, } from '../services/analytics.js'; import type { AgenticPayWebSocketServer } from '../websocket/server.js'; -/** - * @param wsServer Optional WebSocket server used to push live updates to - * subscribers on the `analytics.updates` channel. The HTTP routes do not - * depend on the socket layer, so the router can be mounted without one; when - * it is absent the broadcast is skipped and `/track` still records the event. - */ -export function createAnalyticsRouter(wsServer?: AgenticPayWebSocketServer) { +export function createAnalyticsRouter(wsServer: AgenticPayWebSocketServer) { const router = Router(); function parseSince(req: Request): Date | undefined { @@ -119,49 +111,6 @@ export function createAnalyticsRouter(wsServer?: AgenticPayWebSocketServer) { res.json({ ok: true, schedule }); }); - // Revenue forecast - router.get('/forecast', (req: Request, res: Response) => { - const since = parseSince(req); - res.json({ forecast: analyticsService.buildRevenueForecast(since) }); - }); - - // Cohort analysis - router.get('/cohorts', (req: Request, res: Response) => { - const since = parseSince(req); - res.json({ cohorts: analyticsService.buildCohortAnalysis(since) }); - }); - - // Forecast accuracy (Issue #637) - router.get('/forecast/accuracy', (_req: Request, res: Response) => { - res.json({ accuracy: forecastService.getAccuracyMetrics() }); - }); - - // Forecast with accuracy (Issue #637) - router.get('/forecast/detailed', (req: Request, res: Response) => { - const since = parseSince(req); - res.json(buildRevenueForecastWithAccuracy(since)); - }); - - // Trend analysis (Issue #637) - router.get('/forecast/trend', (req: Request, res: Response) => { - const since = parseSince(req); - const revenue = analyticsService.buildTimeSeries('day', since); - const amounts = revenue.map((r) => r.revenue); - const trend = forecastService.analyzeTrend(amounts); - res.json({ trend, dataPoints: amounts.length }); - }); - - // Record forecast prediction (Issue #637) - router.post('/forecast/record', (req: Request, res: Response) => { - const { granularity, actual, predicted } = req.body as Record; - if (typeof granularity !== 'string' || typeof actual !== 'number' || typeof predicted !== 'number') { - res.status(400).json({ error: 'granularity, actual, and predicted are required' }); - return; - } - forecastService.recordPrediction(granularity, actual, predicted); - res.json({ ok: true }); - }); - // Ingest a payment event and broadcast via WebSocket router.post('/track', (req: Request, res: Response) => { const { id, amount, currency, network, status } = req.body as Record; @@ -180,9 +129,8 @@ export function createAnalyticsRouter(wsServer?: AgenticPayWebSocketServer) { analyticsService.trackPayment({ id, amount, currency, network, status: status as 'initiated' | 'confirmed' | 'completed' | 'failed' }); // Broadcast updated snapshot to all WebSocket subscribers - wsServer?.broadcast({ + wsServer.broadcast({ type: 'analytics:update', - channel: 'analytics.updates', payload: analyticsService.snapshot(), }); diff --git a/backend/src/routes/audit.ts b/backend/src/routes/audit.ts index c925d574..a46018c7 100644 --- a/backend/src/routes/audit.ts +++ b/backend/src/routes/audit.ts @@ -47,7 +47,7 @@ auditRouter.get('/entries', asyncHandler(async (req: Request, res: Response) => })); auditRouter.get('/entries/:id', asyncHandler(async (req: Request, res: Response) => { - const id = String(req.params.id); + const { id } = req.params; const entry = await auditService.getEntry(id); if (!entry) { @@ -63,17 +63,8 @@ auditRouter.get('/verify', asyncHandler(async (req: Request, res: Response) => { res.status(200).json(result); })); -auditRouter.post('/anchor', asyncHandler(async (_req: Request, res: Response) => { - const anchor = await auditService.anchorLatestHash(); - res.status(anchor.status === 'failed' ? 502 : 201).json(anchor); -})); - -auditRouter.get('/anchors', asyncHandler(async (_req: Request, res: Response) => { - res.status(200).json({ anchors: auditService.listAnchors() }); -})); - auditRouter.post('/flag/:id', asyncHandler(async (req: Request, res: Response) => { - const id = String(req.params.id); + const { id } = req.params; const { reasons } = req.body; if (!reasons || !Array.isArray(reasons)) { @@ -134,4 +125,4 @@ auditRouter.delete('/clear', asyncHandler(async (req: Request, res: Response) => const deleted = await auditService.clearOldEntries(); res.status(200).json({ deleted, message: 'Old entries cleared' }); -})); +})); \ No newline at end of file diff --git a/backend/src/routes/backup.ts b/backend/src/routes/backup.ts index 660e54da..3ba61ef6 100644 --- a/backend/src/routes/backup.ts +++ b/backend/src/routes/backup.ts @@ -1,192 +1,8 @@ -/** - * backup.ts — Issue #880 - * - * Extended backup router that wraps BackupAutomationService: - * - * POST /backup/trigger Trigger a backup (full or incremental) - * GET /backup/restore-points List all restore points - * GET /backup/restore-points/:id Get a single restore point - * POST /backup/restore/:id Initiate a restore from a restore point - * POST /backup/restore/:id/dry-run Dry-run restore (validate chain only) - * GET /backup/pitr PITR window info + recent entries - * GET /backup/pitr/at Lookup the best restore point for a time - * - * The legacy config / job / recovery-point CRUD endpoints below are retained - * for backward compatibility. - */ import { Router } from 'express'; import { asyncHandler } from '../middleware/errorHandler.js'; -import { backupAutomationService } from '../services/backup/BackupAutomationService.js'; export const backupRouter = Router(); -// ── New endpoints (Issue #880) ──────────────────────────────────────────── - -/** - * POST /backup/trigger - * - * Body: { type?: 'full' | 'incremental' } - * Triggers a backup job immediately and returns the resulting BackupRecord. - */ -backupRouter.post('/trigger', asyncHandler(async (req, res) => { - const type: 'full' | 'incremental' = req.body?.type === 'incremental' ? 'incremental' : 'full'; - - const record = type === 'full' - ? await backupAutomationService.runFullBackup() - : await backupAutomationService.runIncrementalBackup(); - - const httpStatus = record.status === 'completed' ? 200 : 500; - res.status(httpStatus).json(record); -})); - -/** - * GET /backup/restore-points - * - * Returns all restore points, newest first. - * Optional query params: - * limit (default 50) - * status ('available' | 'restoring' | 'restored' | 'failed') - */ -backupRouter.get('/restore-points', asyncHandler(async (req, res) => { - const limitParam = req.query['limit']; - const limit = Math.min(parseInt(String(limitParam ?? '50'), 10) || 50, 200); - const statusFilter = req.query['status'] as string | undefined; - - let points = backupAutomationService.getRestorePoints(); - if (statusFilter) { - points = points.filter((rp) => rp.status === statusFilter); - } - - res.json({ restorePoints: points.slice(0, limit), total: points.length }); -})); - -/** - * GET /backup/restore-points/:id - */ -backupRouter.get('/restore-points/:id', asyncHandler(async (req, res) => { - const rp = backupAutomationService.getRestorePoint(req.params['id']!); - if (!rp) { - res.status(404).json({ error: 'Restore point not found' }); - return; - } - res.json(rp); -})); - -/** - * POST /backup/restore/:id - * - * Body: { targetDbUrl?: string } - * Restores the database from the given restore point. - * If targetDbUrl is provided, restores to that database instead of the default. - */ -backupRouter.post('/restore/:id', asyncHandler(async (req, res) => { - const restorePointId = req.params['id']!; - const targetDbUrl: string | undefined = req.body?.targetDbUrl; - - const rp = backupAutomationService.getRestorePoint(restorePointId); - if (!rp) { - res.status(404).json({ error: 'Restore point not found' }); - return; - } - - const success = await backupAutomationService.restore(restorePointId, targetDbUrl); - - res.status(success ? 200 : 500).json({ - restorePointId, - success, - targetDbUrl: targetDbUrl ?? '(default)', - }); -})); - -/** - * POST /backup/restore/:id/dry-run - * - * Validates the full backup chain for restore point `id` without touching - * any database. Returns a structured report of what would happen. - */ -backupRouter.post('/restore/:id/dry-run', asyncHandler(async (req, res) => { - const restorePointId = req.params['id']!; - const result = await backupAutomationService.dryRunRestore(restorePointId); - - res.status(result.valid ? 200 : 400).json(result); -})); - -/** - * GET /backup/pitr - * - * Returns the PITR window configuration and the most recent entries. - */ -backupRouter.get('/pitr', asyncHandler(async (_req, res) => { - const entries = backupAutomationService.getPitrEntries(); - res.json({ - windowHours: parseInt(process.env['BACKUP_PITR_WINDOW_HOURS'] ?? '168', 10), - description: 'Point-in-time recovery entries within the configured window', - supported: true, - entryCount: entries.length, - entries: entries.slice(0, 50), - }); -})); - -/** - * GET /backup/pitr/at?time= - * - * Returns the best restore point that can satisfy the given target time. - */ -backupRouter.get('/pitr/at', asyncHandler(async (req, res) => { - const timeParam = req.query['time'] as string | undefined; - if (!timeParam) { - res.status(400).json({ error: 'Query param "time" (ISO-8601) is required' }); - return; - } - - const targetTime = new Date(timeParam); - if (isNaN(targetTime.getTime())) { - res.status(400).json({ error: `Invalid date: "${timeParam}"` }); - return; - } - - const entry = backupAutomationService.getPitrEntryAt(targetTime); - if (!entry) { - res.status(404).json({ - error: 'No PITR entry available at or before the requested time', - requestedTime: targetTime.toISOString(), - }); - return; - } - - res.json({ entry, requestedTime: targetTime.toISOString() }); -})); - -/** - * GET /backup/records - * - * Returns all backup records tracked by BackupAutomationService, newest first. - */ -backupRouter.get('/records', asyncHandler(async (req, res) => { - const limitParam = req.query['limit']; - const limit = Math.min(parseInt(String(limitParam ?? '50'), 10) || 50, 200); - const typeFilter = req.query['type'] as string | undefined; - - let records = backupAutomationService.getAllBackups(); - if (typeFilter === 'full' || typeFilter === 'incremental') { - records = records.filter((r) => r.type === typeFilter); - } - - res.json({ records: records.slice(0, limit), total: records.length }); -})); - -/** - * GET /backup/records/:id - */ -backupRouter.get('/records/:id', asyncHandler(async (req, res) => { - const record = backupAutomationService.getBackup(req.params['id']!); - if (!record) { - res.status(404).json({ error: 'Backup record not found' }); - return; - } - res.json(record); -})); - interface BackupConfig { id: string; name: string; diff --git a/backend/src/routes/batch.ts b/backend/src/routes/batch.ts index dd3a9cf0..f7b4f526 100644 --- a/backend/src/routes/batch.ts +++ b/backend/src/routes/batch.ts @@ -16,8 +16,6 @@ import { listScheduledBatches, cancelScheduledBatch, getScheduledBatch, - rollbackBatch, - getBatchHistory, } from '../services/batch.js'; import { batchSubmitSchema, batchPaymentRowSchema } from '../schemas/batch.js'; import type { BatchPaymentRow } from '../schemas/batch.js'; @@ -84,20 +82,12 @@ batchRouter.post( const { payments, label } = req.body; const duplicates = detectDuplicates(payments); + if (duplicates.length > 0) { + // Warn but don't block — caller can use /parse to preview first + } const record = executeBatch(payments, label); - res.status(201).json({ - ...record, - // Warn but don't block — caller can use /parse to preview first. - ...(duplicates.length > 0 - ? { - warnings: [ - `${duplicates.length} duplicate recipient/asset ${duplicates.length === 1 ? 'pair' : 'pairs'} detected`, - ], - duplicateIndices: duplicates, - } - : {}), - }); + res.status(201).json(record); }) ); @@ -193,31 +183,3 @@ batchRouter.delete( res.json(batch); }) ); - -// POST /:id/rollback — roll back a completed or partially failed batch -batchRouter.post( - '/:id/rollback', - asyncHandler(async (req, res) => { - const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id; - const result = rollbackBatch(id); - if (!result) throw new AppError(404, 'Batch not found', 'NOT_FOUND'); - res.json(result); - }) -); - -// GET /history/all — batch history with optional status/date filters -const historyQuerySchema = z.object({ - status: z.enum(['pending', 'processing', 'completed', 'partial_failure', 'failed']).optional(), - from: z.string().optional(), - to: z.string().optional(), -}); - -batchRouter.get( - '/history/all', - validate(historyQuerySchema), - asyncHandler(async (req, res) => { - const { status, from, to } = req.body; - const history = getBatchHistory({ status, from, to } as any); - res.json({ batches: history, total: history.length }); - }) -); diff --git a/backend/src/routes/compliance.ts b/backend/src/routes/compliance.ts index 87379d5e..a00596cb 100644 --- a/backend/src/routes/compliance.ts +++ b/backend/src/routes/compliance.ts @@ -1,608 +1,16 @@ -/** - * compliance.ts (routes) — Automated Compliance System - * - * Real-time compliance dashboard API with automation: - * - GET /compliance/metrics → real-time metrics - * - GET /compliance/dashboard → dashboard summary (legacy) - * - GET /compliance/automation/dashboard → full automated dashboard (acceptance criteria) - * - GET /compliance/thresholds → list thresholds - * - PUT /compliance/thresholds/:jurisdiction/:metric → update threshold - * - GET /compliance/alerts → list alerts - * - POST /compliance/alerts/evaluate → trigger evaluation - * - POST /compliance/alerts/:id/acknowledge - * - POST /compliance/alerts/:id/resolve - * - GET /compliance/jurisdictions → per-jurisdiction status - * - POST /compliance/reports → request new report - * - GET /compliance/reports → list reports - * - GET /compliance/reports/:id → get report - * - GET /compliance/reports/:id/export → export report - * - GET /compliance/audit → audit trail - * - GET /compliance/export/csv → CSV export - * - GET /compliance/status (legacy) → basic checks - * - GET /compliance/evidence/audit/export (legacy) - * - * NEW — Automated compliance: - * - POST /compliance/checks/run → run automated checks - * - GET /compliance/checks → list check definitions - * - GET /compliance/checks/history → history of runs - * - GET /compliance/checks/latest → latest run - * - POST /compliance/automation/run → run full automation cycle - * - POST /compliance/automation/checks → run automated checks only - * - GET /compliance/automation/dashboard (full) - * - GET /compliance/automation/tasks - * - GET /compliance/automation/metrics - * - GET /compliance/score → compliance scoring - * - * NEW — Regulatory monitoring: - * - GET /compliance/regulatory/sources - * - GET /compliance/regulatory/updates - * - GET /compliance/regulatory/updates/:id - * - POST /compliance/regulatory/updates - * - PUT /compliance/regulatory/updates/:id/status - * - POST /compliance/regulatory/poll - * - GET /compliance/regulatory/metrics - * - GET /compliance/regulatory/deadlines - * - GET /compliance/documentation → compliance docs overview - */ - import { Router, Request, Response } from 'express'; import { asyncHandler } from '../middleware/errorHandler.js'; import { runComplianceChecks } from '../compliance/checks.js'; import { auditService } from '../services/auditService.js'; -import { ComplianceService, JurisdictionCode, ComplianceMetricType, ComplianceAlertStatus } from '../services/complianceService.js'; -import { ComplianceAutomationService } from '../services/compliance-automation.js'; -import { RegulatoryMonitorService } from '../services/regulatory-monitor.js'; -import { - runAutomatedComplianceChecks, - getCheckDefinitions, - getComplianceHistory, - getLatestRun, -} from '../compliance/engine.js'; export const complianceRouter = Router(); -// ─── Dashboard ─────────────────────────────────────────────────────────────── - -complianceRouter.get( - '/dashboard', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = (req.query.jurisdiction as JurisdictionCode) || undefined; - const metrics = ComplianceService.getDashboardMetrics(jurisdiction); - const jurisdictionStatus = ComplianceService.getJurisdictionStatus(); - const openAlerts = ComplianceService.getAlerts('open'); - - res.status(200).json({ - success: true, - data: { - metrics, - jurisdictionStatus, - openAlerts: openAlerts.slice(0, 10), - generatedAt: new Date().toISOString(), - }, - }); - }), -); - -// ─── Full Automated Dashboard (Acceptance Criteria: Compliance dashboard) ─── - -complianceRouter.get( - '/automation/dashboard', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = (req.query.jurisdiction as JurisdictionCode) || undefined; - const dashboard = ComplianceAutomationService.getDashboard(jurisdiction); - - res.status(200).json({ - success: true, - data: dashboard, - }); - }), -); - -complianceRouter.get( - '/automation/tasks', - asyncHandler(async (req: Request, res: Response) => { - const limit = Math.min(parseInt(String(req.query.limit || '20')), 100); - const tasks = ComplianceAutomationService.getTaskHistory(limit); - res.status(200).json({ success: true, data: tasks, count: tasks.length }); - }), -); - -complianceRouter.get( - '/automation/metrics', - asyncHandler(async (_req: Request, res: Response) => { - const metrics = ComplianceAutomationService.getAutomationMetrics(); - const score = ComplianceService.calculateComplianceScore('GLOBAL'); - res.status(200).json({ success: true, data: { automation: metrics, complianceScore: score } }); - }), -); - -complianceRouter.post( - '/automation/run', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = (req.body.jurisdiction as JurisdictionCode) || 'GLOBAL'; - const result = await ComplianceAutomationService.runFullCycle(jurisdiction, 'manual'); - res.status(200).json({ success: true, data: result, message: 'Full compliance automation cycle completed' }); - }), -); - -complianceRouter.post( - '/automation/checks', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = (req.body.jurisdiction as JurisdictionCode) || 'GLOBAL'; - const category = req.body.category; - const { summary, task } = await ComplianceAutomationService.runAutomatedChecks(jurisdiction, category, 'manual'); - res.status(200).json({ success: true, data: { summary, task } }); - }), -); - -// ─── Compliance Score ───────────────────────────────────────────────────────── - -complianceRouter.get( - '/score', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = (req.query.jurisdiction as JurisdictionCode) || 'GLOBAL'; - const score = ComplianceService.calculateComplianceScore(jurisdiction); - res.status(200).json({ success: true, data: score, jurisdiction }); - }), -); - -// ─── Automated Compliance Checks ───────────────────────────────────────────── - -complianceRouter.get( - '/checks', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = req.query.jurisdiction as string | undefined; - const category = req.query.category as any | undefined; - const checks = getCheckDefinitions(jurisdiction, category); - res.status(200).json({ - success: true, - data: checks.map((c) => ({ - id: c.id, - name: c.name, - description: c.description, - category: c.category, - severity: c.severity, - jurisdiction: c.jurisdiction, - remediation: c.remediation, - regulatoryRef: c.regulatoryRef, - })), - count: checks.length, - }); - }), -); - -complianceRouter.post( - '/checks/run', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = (req.body.jurisdiction as string) || 'GLOBAL'; - const category = req.body.category; - const summary = await runAutomatedComplianceChecks(jurisdiction, category); - res.status(200).json({ success: true, data: summary }); - }), -); - -complianceRouter.get( - '/checks/history', - asyncHandler(async (req: Request, res: Response) => { - const limit = Math.min(parseInt(String(req.query.limit || '20')), 100); - const history = getComplianceHistory(limit); - res.status(200).json({ success: true, data: history, count: history.length }); - }), -); - -complianceRouter.get( - '/checks/latest', - asyncHandler(async (_req: Request, res: Response) => { - const latest = getLatestRun(); - if (!latest) { - return res.status(404).json({ success: false, error: { message: 'No compliance runs yet' } }); - } - res.status(200).json({ success: true, data: latest }); - }), -); - -// ─── Real-time metrics ──────────────────────────────────────────────────────── - -complianceRouter.get( - '/metrics', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = (req.query.jurisdiction as JurisdictionCode) || 'GLOBAL'; - const complianceMetrics = ComplianceService.getMetrics(jurisdiction); - - res.status(200).json({ - success: true, - data: complianceMetrics, - jurisdiction, - }); - }), -); - -// ─── Jurisdictions ──────────────────────────────────────────────────────────── - -complianceRouter.get( - '/jurisdictions', - asyncHandler(async (_req: Request, res: Response) => { - const jurisdictionStatus = ComplianceService.getJurisdictionStatus(); - res.status(200).json({ success: true, data: jurisdictionStatus }); - }), -); - -// ─── Thresholds ─────────────────────────────────────────────────────────────── - -complianceRouter.get( - '/thresholds', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = req.query.jurisdiction as JurisdictionCode | undefined; - const thresholds = ComplianceService.getThresholds(jurisdiction); - res.status(200).json({ success: true, data: thresholds }); - }), -); - -complianceRouter.put( - '/thresholds/:jurisdiction/:metric', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = String(req.params.jurisdiction); - const metric = String(req.params.metric); - const { warningLevel, criticalLevel } = req.body; - - const updated = ComplianceService.updateThreshold( - jurisdiction as JurisdictionCode, - metric as ComplianceMetricType, - { warningLevel, criticalLevel }, - String(req.body.updatedBy || 'system'), - ); - - res.status(200).json({ success: true, data: updated }); - }), -); - -complianceRouter.post( - '/thresholds', - asyncHandler(async (req: Request, res: Response) => { - const { metric, warningLevel, criticalLevel, jurisdiction, description, regulatoryRef } = req.body; - if (!metric || warningLevel === undefined || criticalLevel === undefined || !jurisdiction) { - return res - .status(400) - .json({ success: false, error: { message: 'metric, warningLevel, criticalLevel, jurisdiction required' } }); - } - const created = ComplianceService.createThreshold( - { - metric, - warningLevel, - criticalLevel, - jurisdiction, - description: description || `${metric} threshold`, - regulatoryRef, - }, - String(req.body.createdBy || 'system'), - ); - res.status(201).json({ success: true, data: created }); - }), -); - -// ─── Alerts ─────────────────────────────────────────────────────────────────── - -complianceRouter.get( - '/alerts', - asyncHandler(async (req: Request, res: Response) => { - const status = req.query.status as ComplianceAlertStatus | undefined; - const jurisdiction = req.query.jurisdiction as JurisdictionCode | undefined; - const alertList = ComplianceService.getAlerts(status, jurisdiction); - - res.status(200).json({ - success: true, - data: alertList, - count: alertList.length, - }); - }), -); - -complianceRouter.get( - '/alerts/:id', - asyncHandler(async (req: Request, res: Response) => { - const alert = ComplianceService.getAlertById(String(req.params.id)); - if (!alert) return res.status(404).json({ success: false, error: { message: 'Alert not found' } }); - res.status(200).json({ success: true, data: alert }); - }), -); - -complianceRouter.post( - '/alerts/evaluate', - asyncHandler(async (_req: Request, res: Response) => { - const newAlerts = ComplianceService.evaluateThresholds(); - res.status(200).json({ - success: true, - data: newAlerts, - count: newAlerts.length, - message: `Threshold evaluation complete. ${newAlerts.length} new alert(s) raised.`, - }); - }), -); - -complianceRouter.post( - '/alerts/:id/acknowledge', - asyncHandler(async (req: Request, res: Response) => { - const id = String(req.params.id); - const userId = String(req.body.userId || 'system'); - const alert = ComplianceService.acknowledgeAlert(id, userId); - res.status(200).json({ success: true, data: alert }); - }), -); - -complianceRouter.post( - '/alerts/:id/resolve', - asyncHandler(async (req: Request, res: Response) => { - const id = String(req.params.id); - const userId = String(req.body.userId || 'system'); - const alert = ComplianceService.resolveAlert(id, userId); - res.status(200).json({ success: true, data: alert }); - }), -); - -complianceRouter.post( - '/alerts/bulk/resolve', - asyncHandler(async (req: Request, res: Response) => { - const { ids, userId = 'system' } = req.body; - if (!Array.isArray(ids) || ids.length === 0) { - return res.status(400).json({ success: false, error: { message: 'ids array required' } }); - } - const resolved = ComplianceService.bulkResolveAlerts(ids, String(userId)); - res.status(200).json({ success: true, data: resolved, count: resolved.length }); - }), -); - -// ─── Reports ────────────────────────────────────────────────────────────────── - -complianceRouter.post( - '/reports', - asyncHandler(async (req: Request, res: Response) => { - const { period, jurisdiction = 'GLOBAL' } = req.body; - if (!period) { - return res.status(400).json({ success: false, error: { message: 'period is required (e.g. 2026-01)' } }); - } - - const report = await ComplianceService.requestReport(period, jurisdiction as JurisdictionCode); - res.status(202).json({ - success: true, - data: report, - message: 'Compliance report requested. Use GET /compliance/reports/:id to check status.', - }); - }), -); - -complianceRouter.get( - '/reports', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = req.query.jurisdiction as JurisdictionCode | undefined; - const reportList = ComplianceService.listReports(jurisdiction); - res.status(200).json({ success: true, data: reportList, count: reportList.length }); - }), -); - -complianceRouter.get( - '/reports/:id', - asyncHandler(async (req: Request, res: Response) => { - const report = ComplianceService.getReport(String(req.params.id)); - if (!report) return res.status(404).json({ success: false, error: { message: 'Report not found' } }); - res.status(200).json({ success: true, data: report }); - }), -); - -complianceRouter.get( - '/reports/:id/export', - asyncHandler(async (req: Request, res: Response) => { - const report = ComplianceService.getReport(String(req.params.id)); - if (!report) return res.status(404).json({ success: false, error: { message: 'Report not found' } }); - - const json = ComplianceService.exportReportAsJSON(String(req.params.id)); - const filename = `compliance-report-${report.jurisdiction}-${report.period}.json`; - res.setHeader('Content-Type', 'application/json'); - res.setHeader('Content-Disposition', `attachment; filename="${filename}"`); - res.status(200).send(json); - }), -); - -// ─── Audit trail ───────────────────────────────────────────────────────────── - -complianceRouter.get( - '/audit', - asyncHandler(async (req: Request, res: Response) => { - const entityType = req.query.entityType as string | undefined; - const jurisdiction = req.query.jurisdiction as JurisdictionCode | undefined; - const limit = Math.min(parseInt(String(req.query.limit || '100')), 500); - const entries = ComplianceService.getAuditTrail(entityType, jurisdiction, limit); - - res.status(200).json({ success: true, data: entries, count: entries.length }); - }), -); - -complianceRouter.get( - '/audit/csv', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = req.query.jurisdiction as JurisdictionCode | undefined; - const limit = Math.min(parseInt(String(req.query.limit || '500')), 1000); - const csv = ComplianceService.exportAuditTrailAsCSV(jurisdiction, limit); - const filename = `compliance-audit-${jurisdiction || 'all'}-${new Date().toISOString().slice(0, 10)}.csv`; - res.setHeader('Content-Type', 'text/csv'); - res.setHeader('Content-Disposition', `attachment; filename="${filename}"`); - res.status(200).send(csv); - }), -); - -// ─── CSV export ─────────────────────────────────────────────────────────────── - -complianceRouter.get( - '/export/csv', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = (req.query.jurisdiction as JurisdictionCode) || 'GLOBAL'; - const csv = ComplianceService.exportMetricsAsCSV(jurisdiction); - const filename = `compliance-metrics-${jurisdiction}-${new Date().toISOString().slice(0, 10)}.csv`; - res.setHeader('Content-Type', 'text/csv'); - res.setHeader('Content-Disposition', `attachment; filename="${filename}"`); - res.status(200).send(csv); - }), -); - -// ─── Regulatory Monitoring (Acceptance Criteria: Regulatory update monitoring) ── - -complianceRouter.get( - '/regulatory/sources', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = req.query.jurisdiction as any | undefined; - const sources = RegulatoryMonitorService.getSources(jurisdiction); - res.status(200).json({ success: true, data: sources, count: sources.length }); - }), -); - -complianceRouter.get( - '/regulatory/updates', - asyncHandler(async (req: Request, res: Response) => { - const jurisdiction = req.query.jurisdiction as any | undefined; - const status = req.query.status as any | undefined; - const impactLevel = req.query.impactLevel as any | undefined; - const category = req.query.category as string | undefined; - const limit = Math.min(parseInt(String(req.query.limit || '50')), 200); - - const updates = RegulatoryMonitorService.getUpdates({ - jurisdiction, - status, - impactLevel, - category, - limit, - }); - res.status(200).json({ success: true, data: updates, count: updates.length }); - }), -); - -complianceRouter.get( - '/regulatory/updates/:id', - asyncHandler(async (req: Request, res: Response) => { - const update = RegulatoryMonitorService.getUpdateById(String(req.params.id)); - if (!update) return res.status(404).json({ success: false, error: { message: 'Regulatory update not found' } }); - res.status(200).json({ success: true, data: update }); - }), -); - -complianceRouter.post( - '/regulatory/updates', - asyncHandler(async (req: Request, res: Response) => { - const { sourceId, sourceName, jurisdiction, title, summary, impactLevel, categories, requiredActions } = req.body; - if (!title || !jurisdiction) { - return res.status(400).json({ success: false, error: { message: 'title and jurisdiction required' } }); - } - const created = RegulatoryMonitorService.addUpdate({ - sourceId: sourceId || 'manual', - sourceName: sourceName || 'Manual Entry', - jurisdiction: jurisdiction as any, - title, - summary: summary || title, - impactLevel: impactLevel || 'medium', - status: 'new', - categories: categories || ['general'], - publishedAt: new Date().toISOString(), - requiredActions: requiredActions || [], - relatedRegulations: req.body.relatedRegulations || [], - riskScore: req.body.riskScore || 50, - url: req.body.url, - fullContent: req.body.fullContent, - effectiveDate: req.body.effectiveDate, - complianceDeadline: req.body.complianceDeadline, - } as any); - res.status(201).json({ success: true, data: created }); - }), -); - -complianceRouter.put( - '/regulatory/updates/:id/status', - asyncHandler(async (req: Request, res: Response) => { - const { status, notes, reviewedBy } = req.body; - if (!status) return res.status(400).json({ success: false, error: { message: 'status required' } }); - try { - const updated = RegulatoryMonitorService.updateStatus(String(req.params.id), status, notes, reviewedBy); - res.status(200).json({ success: true, data: updated }); - } catch (err) { - return res.status(404).json({ success: false, error: { message: (err as Error).message } }); - } - }), -); - -complianceRouter.post( - '/regulatory/poll', - asyncHandler(async (_req: Request, res: Response) => { - const result = await ComplianceAutomationService.pollRegulatoryUpdates('manual'); - res.status(200).json({ success: true, data: result.result, task: result.task }); - }), -); - -complianceRouter.get( - '/regulatory/metrics', - asyncHandler(async (_req: Request, res: Response) => { - const metrics = RegulatoryMonitorService.getMetrics(); - res.status(200).json({ success: true, data: metrics }); - }), -); - -complianceRouter.get( - '/regulatory/deadlines', - asyncHandler(async (req: Request, res: Response) => { - const days = Math.min(parseInt(String(req.query.days || '60')), 365); - const deadlines = RegulatoryMonitorService.getUpcomingDeadlines(days); - res.status(200).json({ success: true, data: deadlines, count: deadlines.length }); - }), -); - -// ─── Documentation ─────────────────────────────────────────────────────────── - -complianceRouter.get( - '/documentation', - asyncHandler(async (_req: Request, res: Response) => { - res.status(200).json({ - success: true, - data: { - overview: - 'AgenticPay Automated Compliance System provides real-time compliance monitoring, automated checks, regulatory update tracking, reporting, alerts, audit trail, and dashboard.', - features: [ - 'Automated compliance checks — 15+ checks across KYC, AML, sanctions, data protection, security, transaction monitoring, reporting, operational', - 'Regulatory update monitoring — 8 sources across US, EU, UK, SG, AU, GLOBAL; automated polling, impact assessment, deadlines', - 'Compliance reporting — on-demand and scheduled monthly reports per jurisdiction with export', - 'Compliance alerts — threshold-based + check-based, multi-severity, acknowledgment/resolution workflow', - 'Compliance audit trail — immutable logging of all compliance actions, CSV export', - 'Compliance dashboard — aggregated view with scores, metrics, jurisdictions, alerts, regulatory updates, automation history', - 'Compliance documentation — comprehensive guide at backend/docs/COMPLIANCE_GUIDE.md', - ], - automation: { - schedule: { - hourly: 'Threshold evaluation', - daily: 'Full compliance check run', - daily_regulatory: 'Regulatory source polling (every 6 hours for critical sources like OFAC)', - monthly: 'Compliance report generation per jurisdiction', - }, - endpoints: { - runChecks: 'POST /api/v1/compliance/checks/run', - automationRun: 'POST /api/v1/compliance/automation/run', - dashboard: 'GET /api/v1/compliance/automation/dashboard', - }, - }, - regulatorySources: RegulatoryMonitorService.getSources().map((s) => ({ - id: s.id, - name: s.name, - jurisdiction: s.jurisdiction, - url: s.url, - })), - documentationUrl: '/docs/COMPLIANCE_GUIDE.md', - }, - }); - }), -); - -// ─── Legacy endpoints (maintained for backwards compatibility) ───────────────── - complianceRouter.get( '/status', asyncHandler(async (_req: Request, res: Response) => { const checks = runComplianceChecks(); res.status(200).json({ checks }); - }), + }) ); complianceRouter.get( @@ -620,5 +28,6 @@ complianceRouter.get( const json = await auditService.exportToJSON(); res.setHeader('Content-Type', 'application/json'); res.status(200).send(json); - }), + }) ); + diff --git a/backend/src/routes/email-v2.ts b/backend/src/routes/email-v2.ts index 17fa5067..f3c189af 100644 --- a/backend/src/routes/email-v2.ts +++ b/backend/src/routes/email-v2.ts @@ -9,7 +9,6 @@ import EmailPreferenceService from '../services/email-preference.js'; import EmailLocalizationService from '../services/email-localization.js'; import EmailAnalyticsService from '../services/email-analytics.js'; import EmailBatchProcessor from '../services/email-batch-processor.js'; -import { listTemplates, renderTypedTemplate, TEMPLATE_REGISTRY, type TemplateId } from '../templates/registry.js'; const prisma = new PrismaClient(); const templateEngine = new EmailTemplateEngine(); @@ -21,36 +20,6 @@ const batchProcessor = new EmailBatchProcessor(); export const emailV2Router = Router(); -// ── Component-based template registry (preview / A-B testing) ────────────── - -const SAMPLE_DATA: Record> = { - 'welcome-email': { name: 'Alex Rivera', actionUrl: 'https://app.agenticpay.com/onboarding' }, - 'payment-received': { name: 'Alex Rivera', amount: 250, currency: 'USD', sender: 'Jordan Lee', transactionId: 'tx_9f2c1a' }, -}; - -emailV2Router.get('/templates/registry', (_req: Request, res: Response) => { - res.json({ templates: listTemplates() }); -}); - -// Template preview server (acceptance criteria): renders a registered -// template with sample data (or caller-supplied variables) through the real -// component/layout pipeline, optionally pinning an A/B variant. -emailV2Router.get('/templates/registry/:id/preview', (req: Request, res: Response) => { - const templateId = req.params.id as TemplateId; - if (!(templateId in TEMPLATE_REGISTRY)) { - return res.status(404).json({ error: `Unknown template: ${templateId}` }); - } - - const bucketKey = (req.query.bucketKey as string) || (req.query.variant as string) || 'preview'; - try { - const overrides = req.query.variables ? JSON.parse(req.query.variables as string) : {}; - const rendered = renderTypedTemplate(templateId, { ...SAMPLE_DATA[templateId], ...overrides } as never, bucketKey); - res.json(rendered); - } catch (error) { - res.status(400).json({ error: error instanceof Error ? error.message : 'Invalid preview variables' }); - } -}); - // ── Template Management ────────────────────────────────────────────────────── emailV2Router.post('/templates', async (req: Request, res: Response) => { diff --git a/backend/src/routes/email.ts b/backend/src/routes/email.ts index e864187c..5b97ec50 100644 --- a/backend/src/routes/email.ts +++ b/backend/src/routes/email.ts @@ -1,67 +1,394 @@ import { Router } from 'express'; -import { emailService } from '../services/email/index.js'; import { asyncHandler } from '../middleware/errorHandler.js'; export const emailRouter = Router(); -emailRouter.post( - '/templates', - asyncHandler(async (req, res) => { - const template = await emailService.createTemplate(req.body); - res.status(201).json(template); - }) -); - -emailRouter.get( - '/templates', - asyncHandler(async (_req, res) => { - const templates = await emailService.listTemplates(); - res.json(templates); - }) -); - -emailRouter.get( - '/templates/:id', - asyncHandler(async (req, res) => { - const template = await emailService.getTemplate(req.params.id); - if (!template) { - return res.status(404).json({ error: 'Template not found' }); - } - res.json(template); - }) -); - -emailRouter.post( - '/send', - asyncHandler(async (req, res) => { - const delivery = await emailService.sendEmail(req.body); - res.json(delivery); - }) -); - -emailRouter.get( - '/deliveries', - asyncHandler(async (req, res) => { - const status = req.query.status as any; - const limit = req.query.limit ? parseInt(req.query.limit as string) : undefined; - const deliveries = await emailService.listDeliveries({ status, limit }); - res.json(deliveries); - }) -); - -emailRouter.post( - '/preferences', - asyncHandler(async (req, res) => { - const preferences = await emailService.updatePreferences(req.body); - res.json(preferences); - }) -); - -emailRouter.post( - '/unsubscribe', - asyncHandler(async (req, res) => { - const { token } = req.body; - const success = await emailService.handleUnsubscribe(token); - res.json({ success }); - }) -); \ No newline at end of file +interface EmailTemplate { + id: string; + name: string; + subject: string; + body: string; + variables: string[]; +} + +interface EmailDeliveryRecord { + id: string; + templateId: string; + recipient: string; + status: 'pending' | 'sent' | 'failed' | 'bounced'; + sentAt?: Date; + openedAt?: Date; + clickedAt?: Date; + retryCount: number; + error?: string; +} + +const emailTemplates: Map = new Map(); +const emailQueue: EmailDeliveryRecord[] = []; +const unsubscribedUsers: Set = new Set(); + +emailTemplates.set('payment_receipt', { + id: 'payment_receipt', + name: 'Payment Receipt', + subject: 'Payment Receipt - {{amount}} {{currency}}', + body: `Dear {{customerName}}, + +Thank you for your payment of {{amount}} {{currency}}. + +Payment Details: +- Transaction ID: {{transactionId}} +- Amount: {{amount}} {{currency}} +- Date: {{date}} +- Status: {{status}} + +{{#if projectName}} +Project: {{projectName}} +{{/if}} + +If you have any questions, please contact support. + +Best regards, +AgenticPay Team`, + variables: ['customerName', 'amount', 'currency', 'transactionId', 'date', 'status', 'projectName'], +}); + +emailTemplates.set('payment_confirmation', { + id: 'payment_confirmation', + name: 'Payment Confirmation', + subject: 'Payment Confirmed - {{amount}} {{currency}}', + body: `Dear {{customerName}}, + +Your payment has been confirmed! + +Amount: {{amount}} {{currency}} +Transaction Hash: {{transactionHash}} +Timestamp: {{timestamp}} + +This email serves as your official receipt. + +Best regards, +AgenticPay Team`, + variables: ['customerName', 'amount', 'currency', 'transactionHash', 'timestamp'], +}); + +emailTemplates.set('refund_notification', { + id: 'refund_notification', + name: 'Refund Notification', + subject: 'Refund Processed - {{amount}} {{currency}}', + body: `Dear {{customerName}}, + +Your refund of {{amount}} {{currency}} has been processed. + +Original Transaction: {{originalTransactionId}} +Refund Amount: {{amount}} {{currency}} +Refund ID: {{refundId}} + +The funds should appear in your account within 5-7 business days. + +Best regards, +AgenticPay Team`, + variables: ['customerName', 'amount', 'currency', 'originalTransactionId', 'refundId'], +}); + +function interpolateTemplate(template: string, variables: Record): string { + let result = template; + for (const [key, value] of Object.entries(variables)) { + result = result.replace(new RegExp(`{{${key}}}`, 'g'), value); + } + return result; +} + +emailRouter.get('/templates', asyncHandler(async (req, res) => { + const templates = Array.from(emailTemplates.values()).map(t => ({ + id: t.id, + name: t.name, + subject: t.subject, + variables: t.variables, + })); + res.json({ templates }); +})); + +emailRouter.get('/templates/:id', asyncHandler(async (req, res) => { + const { id } = req.params; + const template = emailTemplates.get(id); + if (!template) { + res.status(404).json({ error: 'Template not found' }); + return; + } + res.json(template); +})); + +emailRouter.post('/templates', asyncHandler(async (req, res) => { + const { id, name, subject, body, variables } = req.body; + if (!id || !name || !subject || !body) { + res.status(400).json({ error: 'Missing required fields' }); + return; + } + const template: EmailTemplate = { id, name, subject, body, variables: variables || [] }; + emailTemplates.set(id, template); + res.status(201).json(template); +})); + +emailRouter.put('/templates/:id', asyncHandler(async (req, res) => { + const { id } = req.params; + const { name, subject, body, variables } = req.body; + const existing = emailTemplates.get(id); + if (!existing) { + res.status(404).json({ error: 'Template not found' }); + return; + } + const template: EmailTemplate = { + id, + name: name || existing.name, + subject: subject || existing.subject, + body: body || existing.body, + variables: variables || existing.variables, + }; + emailTemplates.set(id, template); + res.json(template); +})); + +emailRouter.post('/send', asyncHandler(async (req, res) => { + const { templateId, recipient, variables, backupEmail } = req.body; + + if (!templateId || !recipient) { + res.status(400).json({ error: 'Missing templateId or recipient' }); + return; + } + + const template = emailTemplates.get(templateId); + if (!template) { + res.status(404).json({ error: 'Template not found' }); + return; + } + + const primaryEmail = recipient; + const targetEmail = unsubscribedUsers.has(primaryEmail) ? (backupEmail || primaryEmail) : primaryEmail; + + if (unsubscribedUsers.has(primaryEmail)) { + res.status(200).json({ + status: 'skipped', + reason: 'User unsubscribed, sent to backup email', + sentTo: targetEmail, + }); + return; + } + + const deliveryRecord: EmailDeliveryRecord = { + id: `delivery_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`, + templateId, + recipient: targetEmail, + status: 'pending', + retryCount: 0, + }; + + const subject = interpolateTemplate(template.subject, variables || {}); + const body = interpolateTemplate(template.body, variables || {}); + + try { + console.log(`[Email] Sending to ${targetEmail}: ${subject}`); + deliveryRecord.status = 'sent'; + deliveryRecord.sentAt = new Date(); + } catch (error) { + deliveryRecord.status = 'failed'; + deliveryRecord.error = error instanceof Error ? error.message : 'Unknown error'; + deliveryRecord.retryCount += 1; + } + + emailQueue.push(deliveryRecord); + res.json({ + id: deliveryRecord.id, + status: deliveryRecord.status, + recipient: deliveryRecord.recipient, + sentAt: deliveryRecord.sentAt, + }); +})); + +emailRouter.post('/send/batch', asyncHandler(async (req, res) => { + const { emails } = req.body; + + if (!Array.isArray(emails)) { + res.status(400).json({ error: 'emails must be an array' }); + return; + } + + const results = await Promise.all( + emails.map(async (email) => { + const { templateId, recipient, variables, backupEmail } = email; + + if (!templateId || !recipient) { + return { error: 'Missing templateId or recipient', recipient }; + } + + const template = emailTemplates.get(templateId); + if (!template) { + return { error: 'Template not found', templateId }; + } + + const targetEmail = unsubscribedUsers.has(recipient) ? (backupEmail || recipient) : recipient; + const deliveryRecord: EmailDeliveryRecord = { + id: `delivery_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`, + templateId, + recipient: targetEmail, + status: 'pending', + retryCount: 0, + }; + + try { + console.log(`[Email] Batch sending to ${targetEmail}`); + deliveryRecord.status = 'sent'; + deliveryRecord.sentAt = new Date(); + } catch (error) { + deliveryRecord.status = 'failed'; + deliveryRecord.error = error instanceof Error ? error.message : 'Unknown error'; + } + + emailQueue.push(deliveryRecord); + return { id: deliveryRecord.id, status: deliveryRecord.status, recipient: targetEmail }; + }) + ); + + res.json({ results, total: results.length }); +})); + +emailRouter.get('/delivery/:id', asyncHandler(async (req, res) => { + const { id } = req.params; + const record = emailQueue.find(r => r.id === id); + if (!record) { + res.status(404).json({ error: 'Delivery record not found' }); + return; + } + res.json(record); +})); + +emailRouter.get('/delivery', asyncHandler(async (req, res) => { + const { recipient, status, limit = '50' } = req.query; + + let filtered = emailQueue; + + if (recipient) { + filtered = filtered.filter(r => r.recipient === recipient); + } + if (status) { + filtered = filtered.filter(r => r.status === status); + } + + const limitNum = Math.min(parseInt(limit as string, 10) || 50, 200); + res.json({ deliveries: filtered.slice(-limitNum) }); +})); + +emailRouter.post('/track/open/:id', asyncHandler(async (req, res) => { + const { id } = req.params; + const record = emailQueue.find(r => r.id === id); + if (!record) { + res.status(404).json({ error: 'Delivery record not found' }); + return; + } + record.openedAt = new Date(); + res.json({ success: true, openedAt: record.openedAt }); +})); + +emailRouter.post('/track/click/:id', asyncHandler(async (req, res) => { + const { id } = req.params; + const record = emailQueue.find(r => r.id === id); + if (!record) { + res.status(404).json({ error: 'Delivery record not found' }); + return; + } + record.clickedAt = new Date(); + res.json({ success: true, clickedAt: record.clickedAt }); +})); + +emailRouter.post('/unsubscribe', asyncHandler(async (req, res) => { + const { email } = req.body; + if (!email) { + res.status(400).json({ error: 'Email is required' }); + return; + } + unsubscribedUsers.add(email); + res.json({ success: true, message: 'Unsubscribed successfully' }); +})); + +emailRouter.post('/subscribe', asyncHandler(async (req, res) => { + const { email } = req.body; + if (!email) { + res.status(400).json({ error: 'Email is required' }); + return; + } + unsubscribedUsers.delete(email); + res.json({ success: true, message: 'Subscribed successfully' }); +})); + +emailRouter.get('/unsubscribed', asyncHandler(async (req, res) => { + res.json({ unsubscribed: Array.from(unsubscribedUsers) }); +})); + +emailRouter.get('/preferences/:email', asyncHandler(async (req, res) => { + const { email } = req.params; + const isUnsubscribed = unsubscribedUsers.has(email); + res.json({ + email, + unsubscribed: isUnsubscribed, + preferences: { + paymentReceipts: !isUnsubscribed, + paymentConfirmations: !isUnsubscribed, + refundNotifications: !isUnsubscribed, + }, + }); +})); + +emailRouter.put('/preferences/:email', asyncHandler(async (req, res) => { + const { email } = req.params; + const { paymentReceipts, paymentConfirmations, refundNotifications } = req.body; + + const allDisabled = !paymentReceipts && !paymentConfirmations && !refundNotifications; + + if (allDisabled) { + unsubscribedUsers.add(email); + } else { + unsubscribedUsers.delete(email); + } + + res.json({ + email, + unsubscribed: unsubscribedUsers.has(email), + preferences: { + paymentReceipts: paymentReceipts ?? true, + paymentConfirmations: paymentConfirmations ?? true, + refundNotifications: refundNotifications ?? true, + }, + }); +})); + +emailRouter.post('/retry/:id', asyncHandler(async (req, res) => { + const { id } = req.params; + const record = emailQueue.find(r => r.id === id); + if (!record) { + res.status(404).json({ error: 'Delivery record not found' }); + return; + } + if (record.status !== 'failed' && record.status !== 'bounced') { + res.status(400).json({ error: 'Can only retry failed or bounced deliveries' }); + return; + } + if (record.retryCount >= 3) { + res.status(400).json({ error: 'Max retry attempts reached' }); + return; + } + + try { + console.log(`[Email] Retrying delivery ${id}`); + record.status = 'sent'; + record.sentAt = new Date(); + } catch (error) { + record.status = 'failed'; + record.error = error instanceof Error ? error.message : 'Unknown error'; + record.retryCount += 1; + } + + res.json({ + id: record.id, + status: record.status, + retryCount: record.retryCount, + }); +})); \ No newline at end of file diff --git a/backend/src/routes/escrow.ts b/backend/src/routes/escrow.ts index aea88710..0c0a42c3 100644 --- a/backend/src/routes/escrow.ts +++ b/backend/src/routes/escrow.ts @@ -15,11 +15,6 @@ const createEscrowSchema = z.object({ asset: z.string().min(1), network: z.string().min(1), deadline: z.number().int().positive(), - multisigPolicy: z.object({ - groupId: z.string().min(1), - threshold: z.number().int().min(1), - challengePeriodMs: z.number().int().min(0), - }).optional(), }); const resolveDisputeSchema = z.object({ @@ -29,22 +24,6 @@ const resolveDisputeSchema = z.object({ approvedBy: z.array(z.string().min(1)).min(1), }); -const releaseRequestSchema = z.object({ - initiator: z.string().min(1), - type: z.enum(['release_to_freelancer', 'refund_to_client', 'split']), -}); - -const approvalSchema = z.object({ - signer: z.string().min(1), - signature: z.string().min(1), -}); - -const rejectionSchema = z.object({ - signer: z.string().min(1), - signature: z.string().min(1), - reason: z.string().optional(), -}); - escrowRouter.post('/', validate(createEscrowSchema), asyncHandler(async (req: Request, res: Response) => { const escrow = await escrowService.createEscrow(req.body); res.status(201).json(escrow); @@ -86,52 +65,6 @@ escrowRouter.post('/:id/timeout-release', asyncHandler(async (req: Request, res: res.json(escrow); })); -// --------------------------------------------------------------------------- -// Multi-sig release endpoints (#564) -// --------------------------------------------------------------------------- - -escrowRouter.post('/:id/release-request', validate(releaseRequestSchema), asyncHandler(async (req: Request, res: Response) => { - try { - const request = await escrowService.createReleaseRequest(req.params.id, req.body.initiator, req.body.type); - res.status(201).json(request); - } catch (error) { - res.status(400).json({ error: error instanceof Error ? error.message : String(error) }); - } -})); - -escrowRouter.post('/:id/release-request/approve', validate(approvalSchema), asyncHandler(async (req: Request, res: Response) => { - try { - const request = await escrowService.approveReleaseRequest(req.params.id, req.body.signer, req.body.signature); - res.json(request); - } catch (error) { - res.status(400).json({ error: error instanceof Error ? error.message : String(error) }); - } -})); - -escrowRouter.post('/:id/release-request/reject', validate(rejectionSchema), asyncHandler(async (req: Request, res: Response) => { - try { - const request = await escrowService.rejectReleaseRequest(req.params.id, req.body.signer, req.body.signature, req.body.reason); - res.json(request); - } catch (error) { - res.status(400).json({ error: error instanceof Error ? error.message : String(error) }); - } -})); - -escrowRouter.post('/execute-ready-releases', asyncHandler(async (_req: Request, res: Response) => { - const executed = await escrowService.executeReadyReleases(); - res.json({ executed }); -})); - -escrowRouter.get('/:id/release-request', asyncHandler(async (req: Request, res: Response) => { - const request = escrowService.getReleaseRequest(req.params.id); - if (!request) return res.status(404).json({ error: 'No release request found' }); - res.json(request); -})); - -// --------------------------------------------------------------------------- -// Query routes -// --------------------------------------------------------------------------- - escrowRouter.get('/', asyncHandler(async (req: Request, res: Response) => { const status = req.query.status as string | undefined; const escrows = await escrowService.listEscrows(status as any); diff --git a/backend/src/routes/events.ts b/backend/src/routes/events.ts index 7d19e2a6..48cc34a6 100644 --- a/backend/src/routes/events.ts +++ b/backend/src/routes/events.ts @@ -18,7 +18,7 @@ import { getProjectReadModel, getVerificationReadModel, } from '../events/projections.js'; -import { enqueueStoredOutboxEventOutsideTransaction } from '../outbox/writer.js'; +import { publish } from '../events/event-bus.js'; import type { DomainEventType } from '../events/event-types.js'; export const eventsRouter = Router(); @@ -48,7 +48,7 @@ eventsRouter.post( metadata ?? {}, { expectedVersion } ); - await enqueueStoredOutboxEventOutsideTransaction(stored); + await publish(stored); res.status(201).json(stored); } catch (err) { const msg = err instanceof Error ? err.message : 'Append failed'; diff --git a/backend/src/routes/flags.ts b/backend/src/routes/flags.ts index b2d99e37..b5972f32 100644 --- a/backend/src/routes/flags.ts +++ b/backend/src/routes/flags.ts @@ -13,7 +13,6 @@ import { Router } from 'express'; import { createHash } from 'node:crypto'; import { featureFlags, FeatureFlagName } from '../config/featureFlags.js'; -import { featureFlagEngine } from '../services/featureFlags.js'; import { AppError, asyncHandler } from '../middleware/errorHandler.js'; import { paginateArray } from '../utils/pagination.js'; @@ -66,19 +65,6 @@ flagsRouter.get( throw new AppError(400, 'Missing flag name or identifier in query', 'VALIDATION_ERROR'); } - const engineFlag = featureFlagEngine.getFlag(flag); - if (engineFlag) { - const isEnabled = featureFlagEngine.evaluate(flag, identifier); - const variant = featureFlagEngine.evaluateVariant(flag, identifier); - res.json({ - flag, - identifier, - enabled: isEnabled, - variant, - }); - return; - } - const isEnabled = evaluateDeterministic(flag as FeatureFlagName, identifier); res.json({ @@ -100,29 +86,17 @@ flagsRouter.get( } const allFlags = featureFlags.getAll(); - const clientState: Record = {}; + const clientState: Record = {}; allFlags.forEach(f => { clientState[f.definition.name] = evaluateDeterministic(f.definition.name as FeatureFlagName, identifier); }); - const engineFlags = featureFlagEngine.getAllFlags(); - engineFlags.forEach(f => { - const enabled = featureFlagEngine.evaluate(f.name, identifier); - if (enabled) { - const variant = featureFlagEngine.evaluateVariant(f.name, identifier); - clientState[f.name] = variant || true; - } else { - clientState[f.name] = false; - } - }); - res.json({ identifier, flags: clientState }); }) ); - // ─── ADMIN ENDPOINTS (Existing Code Preserved) ──────────────────────────────── // GET /api/v1/flags @@ -210,28 +184,6 @@ flagsRouter.post( }), ); -// POST /api/v1/flags/exposure -flagsRouter.post( - '/exposure', - asyncHandler(async (req, res) => { - const { flag, identifier, value } = req.body as { - flag?: string; identifier?: string; value?: unknown; - }; - if (typeof flag !== 'string' || typeof identifier !== 'string') { - throw new AppError(400, 'flag and identifier are required', 'VALIDATION_ERROR'); - } - const engineFlag = featureFlagEngine.getFlag(flag); - if (engineFlag) { - if (typeof value === 'boolean') { - value ? engineFlag.metrics.servedTrue++ : engineFlag.metrics.servedFalse++; - } else if (typeof value === 'string' && engineFlag.metrics.variantsServed) { - engineFlag.metrics.variantsServed[value] = (engineFlag.metrics.variantsServed[value] || 0) + 1; - } - } - res.json({ recorded: true }); - }) -); - // ─── Serialiser ─────────────────────────────────────────────────────────────── function serializeFlag(flag: ReturnType) { diff --git a/backend/src/routes/gas.ts b/backend/src/routes/gas.ts index 7d738060..25313d42 100644 --- a/backend/src/routes/gas.ts +++ b/backend/src/routes/gas.ts @@ -14,11 +14,6 @@ import { estimateSchema, metaTxEstimateSchema, } from '../schemas/gas.js'; -import { - createBudgetSchema, - checkBudgetSchema, - recordUsageSchema, -} from '../schemas/gas-budget.js'; import { composeFees, estimate, @@ -26,17 +21,7 @@ import { estimateMetaTx, listBaselines, listTargets, - recommendGasPrice, - getGasPriceStats, - isGasSurging, } from '../services/gas.js'; -import { predictAll } from '../services/gas/price-predictor.js'; -import { gasBudgetManager } from '../services/gas/budget-manager.js'; -import { gasAlertService } from '../services/gas/alert-service.js'; -import { gasEstimateService } from '../services/gasEstimate.js'; -import { gasAccuracyBenchmark } from '../services/gas/accuracy-benchmark.js'; -import { gasStorageService } from '../services/gas/gas-storage.js'; -import { getGasEstimateCache } from '../services/gas/cache-service.js'; export const gasRouter = Router(); @@ -92,284 +77,6 @@ gasRouter.post( }), ); -// ── Gas Price Prediction (#479) ───────────────────────────────────────────── - -gasRouter.get( - '/predict', - asyncHandler(async (_req, res) => { - res.json({ data: predictAll(), timestamp: new Date() }); - }), -); - -gasRouter.get( - '/recommendations', - asyncHandler(async (_req, res) => { - res.json({ data: recommendGasPrice(), timestamp: new Date() }); - }), -); - -gasRouter.get( - '/stats', - asyncHandler(async (_req, res) => { - res.json({ data: getGasPriceStats(), timestamp: new Date() }); - }), -); - -gasRouter.get( - '/surge', - asyncHandler(async (_req, res) => { - res.json({ data: { surging: isGasSurging() }, timestamp: new Date() }); - }), -); - -// ── Gas Budget Management (#479) ───────────────────────────────────────────── - -gasRouter.post( - '/budget', - validate(createBudgetSchema), - asyncHandler(async (req, res) => { - const tenantId = req.headers['x-tenant-id'] as string ?? 'default'; - const result = await gasBudgetManager.upsertBudget({ ...req.body, tenantId, resetAt: new Date(req.body.resetAt) }); - if (!result.ok) throw new AppError(result.error.statusCode, result.error.message, result.error.code); - res.status(201).json({ data: result.value, timestamp: new Date() }); - }), -); - -gasRouter.get( - '/budget/:walletAddress/:chainId', - asyncHandler(async (req, res) => { - const tenantId = req.headers['x-tenant-id'] as string ?? 'default'; - const chainId = parseInt(req.params.chainId, 10); - const result = await gasBudgetManager.getBudget(tenantId, req.params.walletAddress, chainId); - if (!result.ok) throw new AppError(result.error.statusCode, result.error.message, result.error.code); - res.json({ data: result.value, timestamp: new Date() }); - }), -); - -gasRouter.delete( - '/budget/:id', - asyncHandler(async (req, res) => { - const tenantId = req.headers['x-tenant-id'] as string ?? 'default'; - const result = await gasBudgetManager.deleteBudget(req.params.id, tenantId); - if (!result.ok) throw new AppError(result.error.statusCode, result.error.message, result.error.code); - res.status(204).send(); - }), -); - -gasRouter.post( - '/budget/check', - validate(checkBudgetSchema), - asyncHandler(async (req, res) => { - const tenantId = req.headers['x-tenant-id'] as string ?? 'default'; - const { walletAddress, chainId, estimatedGwei } = req.body as { walletAddress: string; chainId: number; estimatedGwei: number }; - const result = await gasBudgetManager.checkBudget(tenantId, walletAddress, chainId, estimatedGwei); - if (!result.ok) throw new AppError(result.error.statusCode, result.error.message, result.error.code); - res.json({ data: result.value, timestamp: new Date() }); - }), -); - -gasRouter.post( - '/budget/usage', - validate(recordUsageSchema), - asyncHandler(async (req, res) => { - const tenantId = req.headers['x-tenant-id'] as string ?? 'default'; - const { walletAddress, chainId, usedGwei } = req.body as { walletAddress: string; chainId: number; usedGwei: number }; - const result = await gasBudgetManager.recordUsage(tenantId, walletAddress, chainId, usedGwei); - if (!result.ok) throw new AppError(result.error.statusCode, result.error.message, result.error.code); - res.json({ data: { recorded: true }, timestamp: new Date() }); - }), -); - -// ── Gas Alerts (#479) ──────────────────────────────────────────────────────── - -gasRouter.post( - '/alerts', - asyncHandler(async (req, res) => { - const { network, thresholdGwei } = req.body as { network: string; thresholdGwei: number }; - if (!network || typeof thresholdGwei !== 'number') { - throw new AppError(400, 'network and thresholdGwei are required', 'VALIDATION_ERROR'); - } - gasAlertService.register({ - network, - thresholdGwei, - callback: (n, gwei) => { - console.warn(`[GasAlert] Network ${n} gas price ${gwei} Gwei exceeds threshold ${thresholdGwei}`); - }, - }); - res.status(201).json({ data: { registered: true, network, thresholdGwei }, timestamp: new Date() }); - }), -); - -// ── Enhanced Gas Estimation with Network Congestion ───────────────────────────── - -gasRouter.get( - '/congestion/:chainId', - asyncHandler(async (req, res) => { - const chainId = parseInt(req.params.chainId, 10); - const chainType = (req.query.chainType as 'evm' | 'stellar') || 'evm'; - const congestion = await gasEstimateService.getCurrentCongestion(chainId, chainType); - res.json({ data: congestion, timestamp: new Date() }); - }), -); - -gasRouter.get( - '/recommendation/:chainId', - asyncHandler(async (req, res) => { - const chainId = parseInt(req.params.chainId, 10); - const chainType = (req.query.chainType as 'evm' | 'stellar') || 'evm'; - const priorityLevel = (req.query.priority as 'low' | 'medium' | 'high' | 'urgent') || 'medium'; - const recommendation = await gasEstimateService.getGasRecommendation(chainId, chainType, priorityLevel); - res.json({ data: recommendation, timestamp: new Date() }); - }), -); - -gasRouter.get( - '/recommendations/:chainId/all', - asyncHandler(async (req, res) => { - const chainId = parseInt(req.params.chainId, 10); - const chainType = (req.query.chainType as 'evm' | 'stellar') || 'evm'; - const recommendations = await gasEstimateService.getAllPriorityRecommendations(chainId, chainType); - res.json({ data: recommendations, timestamp: new Date() }); - }), -); - -gasRouter.get( - '/predict/:chainId', - asyncHandler(async (req, res) => { - const chainId = parseInt(req.params.chainId, 10); - const chainType = (req.query.chainType as 'evm' | 'stellar') || 'evm'; - const timeHorizon = parseInt(req.query.horizon as string, 10) || 60; - const prediction = await gasEstimateService.predictGasPrice(chainId, chainType, timeHorizon); - res.json({ data: prediction, timestamp: new Date() }); - }), -); - -gasRouter.get( - '/surge/:chainId', - asyncHandler(async (req, res) => { - const chainId = parseInt(req.params.chainId, 10); - const threshold = parseInt(req.query.threshold as string, 10) || 70; - const surging = gasEstimateService.isNetworkSurging(chainId, threshold); - res.json({ data: { surging, chainId, threshold }, timestamp: new Date() }); - }), -); - -// ── Gas Price History & Storage ──────────────────────────────────────────────── - -gasRouter.get( - '/history/:chainId', - asyncHandler(async (req, res) => { - const chainId = parseInt(req.params.chainId, 10); - const network = req.query.network as string || 'ethereum'; - const startDate = req.query.startDate ? new Date(req.query.startDate as string) : undefined; - const endDate = req.query.endDate ? new Date(req.query.endDate as string) : undefined; - const limit = parseInt(req.query.limit as string, 10) || 100; - const history = await gasStorageService.getGasPriceHistory(network, chainId, startDate, endDate, limit); - res.json({ data: history, timestamp: new Date() }); - }), -); - -gasRouter.post( - '/history', - asyncHandler(async (req, res) => { - const { network, chainId, baseFeeGwei, priorityFeeGwei, gasUsed, blockNumber } = req.body; - if (!network || !chainId || baseFeeGwei === undefined) { - throw new AppError(400, 'network, chainId, and baseFeeGwei are required', 'VALIDATION_ERROR'); - } - await gasStorageService.storeGasPriceHistory({ - network, - chainId, - baseFeeGwei, - priorityFeeGwei, - gasUsed, - blockNumber, - }); - res.status(201).json({ data: { recorded: true }, timestamp: new Date() }); - }), -); - -// ── Accuracy Benchmarking ─────────────────────────────────────────────────────── - -gasRouter.post( - '/benchmark', - asyncHandler(async (req, res) => { - const { network, chainId, operation, estimatedGas, actualGas } = req.body; - if (!network || !chainId || !operation || !estimatedGas || !actualGas) { - throw new AppError(400, 'network, chainId, operation, estimatedGas, and actualGas are required', 'VALIDATION_ERROR'); - } - const result = await gasAccuracyBenchmark.recordBenchmark( - network, - chainId, - operation, - BigInt(estimatedGas), - BigInt(actualGas) - ); - res.status(201).json({ data: result, timestamp: new Date() }); - }), -); - -gasRouter.get( - '/benchmark/stats/:chainId', - asyncHandler(async (req, res) => { - const chainId = parseInt(req.params.chainId, 10); - const network = req.query.network as string || 'ethereum'; - const operation = req.query.operation as string; - const stats = await gasAccuracyBenchmark.getBenchmarkStats(network, chainId, operation); - res.json({ data: stats, timestamp: new Date() }); - }), -); - -gasRouter.get( - '/benchmark/report/:chainId', - asyncHandler(async (req, res) => { - const chainId = parseInt(req.params.chainId, 10); - const network = req.query.network as string || 'ethereum'; - const startDate = req.query.startDate ? new Date(req.query.startDate as string) : new Date(Date.now() - 7 * 24 * 60 * 60 * 1000); - const endDate = req.query.endDate ? new Date(req.query.endDate as string) : new Date(); - const report = await gasAccuracyBenchmark.generateAccuracyReport(network, chainId, startDate, endDate); - res.json({ data: report, timestamp: new Date() }); - }), -); - -gasRouter.get( - '/benchmark/poor-accuracy/:chainId', - asyncHandler(async (req, res) => { - const chainId = parseInt(req.params.chainId, 10); - const network = req.query.network as string || 'ethereum'; - const threshold = parseInt(req.query.threshold as string, 10) || 25; - const poorAccuracy = await gasAccuracyBenchmark.identifyPoorAccuracy(network, chainId, threshold); - res.json({ data: poorAccuracy, timestamp: new Date() }); - }), -); - -// ── Cache Management ─────────────────────────────────────────────────────────── - -gasRouter.get( - '/cache/stats', - asyncHandler(async (req, res) => { - try { - const cache = getGasEstimateCache(); - const stats = await cache.getStats(); - res.json({ data: stats, timestamp: new Date() }); - } catch (error) { - throw new AppError(503, 'Cache service not available', 'CACHE_UNAVAILABLE'); - } - }), -); - -gasRouter.delete( - '/cache', - asyncHandler(async (req, res) => { - try { - const cache = getGasEstimateCache(); - await cache.clear(); - res.json({ data: { cleared: true }, timestamp: new Date() }); - } catch (error) { - throw new AppError(503, 'Cache service not available', 'CACHE_UNAVAILABLE'); - } - }), -); - function translate(err: unknown, status: number, code: string): AppError { if (err instanceof AppError) return err; return new AppError(status, err instanceof Error ? err.message : String(err), code); diff --git a/backend/src/routes/health.ts b/backend/src/routes/health.ts index 93ac836d..cb660d4e 100644 --- a/backend/src/routes/health.ts +++ b/backend/src/routes/health.ts @@ -1,8 +1,6 @@ import { Router, Request, Response } from 'express'; import { server as stellarServer } from '../services/stellar.js'; import { getJobScheduler } from '../jobs/index.js'; -import { prisma } from '../lib/prisma.js'; -import { DatabasePoolManager } from '../db/pool.js'; export const healthRouter = Router(); @@ -85,55 +83,6 @@ healthRouter.get('/health', async (_req: Request, res: Response) => { }); }); -/** - * @openapi - * /health/db: - * get: - * summary: Database connectivity and pool health check - * responses: - * 200: - * description: Database is reachable - * 503: - * description: Database is unreachable - * - * Issue #886: Build database health check endpoint. - * Runs a real `SELECT 1` against Postgres (not just "is the client - * configured") and reports latency alongside connection pool stats so - * this can be wired into readiness probes and dashboards. - */ -healthRouter.get('/health/db', async (_req: Request, res: Response) => { - const start = Date.now(); - let connected = false; - let error: string | undefined; - - try { - await prisma.$queryRaw`SELECT 1`; - connected = true; - } catch (err) { - error = err instanceof Error ? err.message : String(err); - console.error('Database health check failed:', error); - } - - const latencyMs = Date.now() - start; - const pool = DatabasePoolManager.getInstance(); - const poolStats = pool.getStats(); - - const status: 'healthy' | 'degraded' | 'unhealthy' = !connected - ? 'unhealthy' - : latencyMs > 500 - ? 'degraded' - : 'healthy'; - - res.status(connected ? 200 : 503).json({ - status, - connected, - latency_ms: latencyMs, - pool: poolStats, - ...(error ? { error } : {}), - timestamp: new Date().toISOString(), - }); -}); - /** * @openapi * /ready: diff --git a/backend/src/routes/invoice.ts b/backend/src/routes/invoice.ts index c3af9b70..dcf8cbfe 100644 --- a/backend/src/routes/invoice.ts +++ b/backend/src/routes/invoice.ts @@ -1,5 +1,4 @@ import { Router } from 'express'; -import { z } from 'zod'; import { idempotency } from '../middleware/idempotency.js'; import { validate } from '../middleware/validate.js'; import { AppError, asyncHandler } from '../middleware/errorHandler.js'; @@ -10,55 +9,11 @@ import { getTaxRates, generateTaxReport, buildInvoicePdf, - sendInvoiceEmail, - updateInvoiceStatus, - sendPaymentReminder, - processOverdueInvoices, - getInvoiceReminders, - reconvertInvoiceFxAtPayment, - generateMultiCurrencyReport, - registerMilestoneTrigger, - getMilestoneTriggers, - removeMilestoneTrigger, - buildInvoiceAnalytics, } from '../services/invoice.js'; -import type { InvoiceStatus } from '../services/invoice.js'; import { invoiceSchema, invoiceTaxReportSchema } from '../schemas/index.js'; export const invoiceRouter = Router(); -// Multi-currency generation (Issue #626) — a dedicated endpoint rather than -// extending `invoiceSchema` (shared across other in-flight work), since -// `validate()` strips any body field the schema doesn't declare. Locks the -// FX rate at generation time via `fxService`. -invoiceRouter.post( - '/generate/multi-currency', - idempotency(), - asyncHandler(async (req, res) => { - const { projectId, workDescription, hoursWorked, hourlyRate, merchantId, countryCode, presentmentCurrency } = - req.body as Record; - - if (typeof projectId !== 'string' || typeof workDescription !== 'string' || typeof merchantId !== 'string') { - throw new AppError(400, 'projectId, workDescription and merchantId are required', 'VALIDATION_ERROR'); - } - if (typeof presentmentCurrency !== 'string' || presentmentCurrency.trim().length === 0) { - throw new AppError(400, 'presentmentCurrency is required', 'VALIDATION_ERROR'); - } - - const invoice = await generateInvoice({ - projectId, - merchantId, - workDescription, - hoursWorked: typeof hoursWorked === 'number' ? hoursWorked : 0, - hourlyRate: typeof hourlyRate === 'number' ? hourlyRate : 0, - countryCode: typeof countryCode === 'string' ? countryCode : 'US', - presentmentCurrency, - }); - - res.status(201).json({ data: invoice }); - }) -); - invoiceRouter.post( '/generate', idempotency(), @@ -83,14 +38,6 @@ invoiceRouter.post( }) ); -invoiceRouter.get( - '/reporting/multi-currency', - asyncHandler(async (req, res) => { - const merchantId = typeof req.query.merchantId === 'string' ? req.query.merchantId : undefined; - res.json({ data: generateMultiCurrencyReport({ merchantId }) }); - }) -); - invoiceRouter.get( '/tax-rates', asyncHandler(async (req, res) => { @@ -126,32 +73,6 @@ invoiceRouter.get( }) ); -// Locks (or re-locks, e.g. at payment time) the FX rate for a multi-currency -// invoice — the generation-time rate may have expired or moved by the time -// the invoice is actually paid. Body: { presentmentCurrency? } — falls back -// to the invoice's already-set presentmentCurrency if omitted. -invoiceRouter.post( - '/:id/convert', - asyncHandler(async (req, res) => { - const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id; - const { presentmentCurrency } = req.body as Record; - - if (presentmentCurrency !== undefined && typeof presentmentCurrency !== 'string') { - throw new AppError(400, 'presentmentCurrency must be a string', 'VALIDATION_ERROR'); - } - if (!getInvoice(id)) { - throw new AppError(404, 'Invoice not found', 'NOT_FOUND'); - } - - try { - const invoice = await reconvertInvoiceFxAtPayment(id, presentmentCurrency); - res.json({ data: invoice }); - } catch (err) { - throw new AppError(400, err instanceof Error ? err.message : 'FX conversion failed', 'FX_CONVERSION_ERROR'); - } - }) -); - invoiceRouter.get( '/:id/pdf', asyncHandler(async (req, res) => { @@ -167,135 +88,3 @@ invoiceRouter.get( res.send(pdf); }) ); - -// POST /:id/send — send invoice via email -const sendInvoiceSchema = z.object({ - recipientEmail: z.string().email(), - recipientName: z.string().optional(), -}); - -invoiceRouter.post( - '/:id/send', - validate(sendInvoiceSchema), - asyncHandler(async (req, res) => { - const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id; - const { recipientEmail, recipientName } = req.body; - const result = await sendInvoiceEmail(id, recipientEmail, recipientName); - if (!result.success && result.error === 'Invoice not found') { - throw new AppError(404, 'Invoice not found', 'NOT_FOUND'); - } - if (!result.success) { - throw new AppError(500, result.error || 'Failed to send invoice', 'SEND_FAILED'); - } - res.json({ ok: true, messageId: result.messageId }); - }) -); - -// PATCH /:id/status — update invoice status -const updateStatusSchema = z.object({ - status: z.enum(['draft', 'sent', 'paid', 'overdue', 'cancelled']), -}); - -invoiceRouter.patch( - '/:id/status', - validate(updateStatusSchema), - asyncHandler(async (req, res) => { - const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id; - const { status } = req.body as { status: InvoiceStatus }; - const invoice = updateInvoiceStatus(id, status); - if (!invoice) throw new AppError(404, 'Invoice not found', 'NOT_FOUND'); - res.json(invoice); - }) -); - -// POST /:id/remind — send payment reminder -invoiceRouter.post( - '/:id/remind', - asyncHandler(async (req, res) => { - const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id; - const reminder = sendPaymentReminder(id); - if (!reminder) throw new AppError(400, 'No reminder needed or invoice not found', 'REMINDER_FAILED'); - res.json({ reminder }); - }) -); - -// GET /:id/reminders — get reminder history -invoiceRouter.get( - '/:id/reminders', - asyncHandler(async (req, res) => { - const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id; - const reminders = getInvoiceReminders(id); - res.json({ reminders }); - }) -); - -// POST /process-overdue — process all overdue invoices -invoiceRouter.post( - '/process-overdue', - asyncHandler(async (_req, res) => { - const reminders = processOverdueInvoices(); - res.json({ processed: reminders.length, reminders }); - }) -); - -// ── Milestone-Triggered Invoicing (Issue #636) ─────────────────────────────── - -const milestoneTriggerSchema = z.object({ - projectId: z.string().min(1), - merchantId: z.string().min(1), - countryCode: z.string().optional(), - presentmentCurrency: z.string().optional(), - autoSend: z.boolean().optional(), - recipientEmail: z.string().email().optional(), - recipientName: z.string().optional(), -}); - -invoiceRouter.post( - '/milestone-trigger', - validate(milestoneTriggerSchema), - asyncHandler(async (req, res) => { - const config = req.body; - registerMilestoneTrigger(config); - res.status(201).json({ ok: true, config }); - }) -); - -invoiceRouter.get( - '/milestone-trigger/:projectId', - asyncHandler(async (req, res) => { - const projectId = Array.isArray(req.params.projectId) ? req.params.projectId[0] : req.params.projectId; - const triggers = getMilestoneTriggers(projectId); - res.json({ triggers }); - }) -); - -invoiceRouter.delete( - '/milestone-trigger/:projectId/:merchantId', - asyncHandler(async (req, res) => { - const projectId = Array.isArray(req.params.projectId) ? req.params.projectId[0] : req.params.projectId; - const merchantId = Array.isArray(req.params.merchantId) ? req.params.merchantId[0] : req.params.merchantId; - const removed = removeMilestoneTrigger(projectId, merchantId); - if (!removed) throw new AppError(404, 'Milestone trigger not found', 'NOT_FOUND'); - res.json({ ok: true }); - }) -); - -// ── Invoice Analytics (Issue #636) ─────────────────────────────────────────── - -invoiceRouter.get( - '/analytics', - asyncHandler(async (req, res) => { - const merchantId = typeof req.query.merchantId === 'string' ? req.query.merchantId : undefined; - const analytics = buildInvoiceAnalytics(merchantId); - res.json({ data: analytics }); - }) -); - -invoiceRouter.get( - '/analytics/summary', - asyncHandler(async (req, res) => { - const merchantId = typeof req.query.merchantId === 'string' ? req.query.merchantId : undefined; - const analytics = buildInvoiceAnalytics(merchantId); - res.json({ data: analytics }); - }) -); diff --git a/backend/src/routes/ip-allowlist.ts b/backend/src/routes/ip-allowlist.ts index 52c6d0b5..699321c5 100644 --- a/backend/src/routes/ip-allowlist.ts +++ b/backend/src/routes/ip-allowlist.ts @@ -5,8 +5,6 @@ import { initIpAllowlist, addBypassCode, removeBypassCode, - setAdminIpAllowlist, - clearAdminIpAllowlist, config as ipAllowlistConfig, } from '../middleware/ip-allowlist.js'; @@ -17,10 +15,6 @@ const UpdateConfigSchema = z.object({ enabled: z.boolean().optional(), }); -const AdminAllowlistSchema = z.object({ - allowedIps: z.array(z.string()), -}); - const BypassCodeSchema = z.object({ code: z.string().min(1).max(100), expiresInMs: z.number().positive().optional(), @@ -34,7 +28,6 @@ router.get( res.json({ enabled: ipAllowlistConfig.enabled, allowedIps: ipAllowlistConfig.allowedIps, - adminAllowlistsCount: ipAllowlistConfig.adminAllowedIps.size, bypassCodesCount: ipAllowlistConfig.bypassCodes.size, }); }) @@ -84,30 +77,4 @@ router.delete( }) ); -router.put( - '/admins/:adminId', - asyncHandler(async (req, res) => { - const body = AdminAllowlistSchema.parse(req.body); - setAdminIpAllowlist(req.params.adminId, body.allowedIps); - - res.json({ - message: 'Admin IP allowlist updated', - adminId: req.params.adminId, - allowedIps: body.allowedIps, - }); - }) -); - -router.delete( - '/admins/:adminId', - asyncHandler(async (req, res) => { - clearAdminIpAllowlist(req.params.adminId); - - res.json({ - message: 'Admin IP allowlist cleared', - adminId: req.params.adminId, - }); - }) -); - -export const ipAllowlistRouter = router; +export const ipAllowlistRouter = router; \ No newline at end of file diff --git a/backend/src/routes/merchant-audit.ts b/backend/src/routes/merchant-audit.ts new file mode 100644 index 00000000..b9e0961a --- /dev/null +++ b/backend/src/routes/merchant-audit.ts @@ -0,0 +1,196 @@ +import { Router, Request, Response } from 'express'; +import { asyncHandler } from '../middleware/errorHandler.js'; +import { prisma } from '../config/database.js'; + +export const merchantAuditRouter = Router(); + +interface MerchantAuditRequest extends Request { + tenantId?: string; +} + +merchantAuditRouter.get('/merchants/:merchantId/audit', asyncHandler(async (req: MerchantAuditRequest, res: Response) => { + const { merchantId } = req.params; + const { startDate, endDate, action, limit = '50', offset = '0' } = req.query; + + const whereClause: any = { + entityId: merchantId, + entityType: 'merchant', + }; + + if (action) whereClause.action = action as string; + if (startDate || endDate) { + whereClause.createdAt = {}; + if (startDate) whereClause.createdAt.gte = new Date(startDate as string); + if (endDate) whereClause.createdAt.lte = new Date(endDate as string); + } + + const entries = await prisma.auditLog.findMany({ + where: whereClause, + take: Math.min(Number(limit), 100), + skip: Number(offset), + orderBy: { createdAt: 'desc' }, + include: { user: true }, + }); + + const total = await prisma.auditLog.count({ where: whereClause }); + + res.status(200).json({ + merchantId, + total, + limit: Number(limit), + offset: Number(offset), + entries: entries.map(e => ({ + id: e.id, + action: e.action, + userId: e.userId, + userEmail: e.user?.email, + ipAddress: e.ipAddress, + metadata: e.metadata, + createdAt: e.createdAt, + })), + }); +})); + +merchantAuditRouter.get('/merchants/:merchantId/audit/:entryId', asyncHandler(async (req: MerchantAuditRequest, res: Response) => { + const { merchantId, entryId } = req.params; + + const entry = await prisma.auditLog.findFirst({ + where: { id: entryId, entityId: merchantId, entityType: 'merchant' }, + include: { user: true }, + }); + + if (!entry) { + res.status(404).json({ error: 'Audit entry not found' }); + return; + } + + res.status(200).json({ + id: entry.id, + entityId: entry.entityId, + entityType: entry.entityType, + action: entry.action, + userId: entry.userId, + userEmail: entry.user?.email, + ipAddress: entry.ipAddress, + metadata: entry.metadata, + createdAt: entry.createdAt, + }); +})); + +merchantAuditRouter.get('/merchants/:merchantId/audit/export/csv', asyncHandler(async (req: MerchantAuditRequest, res: Response) => { + const { merchantId } = req.params; + const { startDate, endDate } = req.query; + + const whereClause: any = { + entityId: merchantId, + entityType: 'merchant', + }; + + if (startDate || endDate) { + whereClause.createdAt = {}; + if (startDate) whereClause.createdAt.gte = new Date(startDate as string); + if (endDate) whereClause.createdAt.lte = new Date(endDate as string); + } + + const entries = await prisma.auditLog.findMany({ + where: whereClause, + include: { user: true }, + orderBy: { createdAt: 'desc' }, + }); + + const headers = ['ID', 'Action', 'User Email', 'IP Address', 'Created At', 'Metadata']; + const rows = entries.map(e => [ + e.id, + e.action, + e.user?.email || 'N/A', + e.ipAddress || 'N/A', + e.createdAt.toISOString(), + JSON.stringify(e.metadata || {}), + ]); + + const csv = [headers, ...rows].map(r => r.map(v => `"${v}"`).join(',')).join('\n'); + + res.setHeader('Content-Type', 'text/csv'); + res.setHeader('Content-Disposition', `attachment; filename="merchant-audit-${merchantId}-${Date.now()}.csv"`); + res.status(200).send(csv); +})); + +merchantAuditRouter.get('/merchants/:merchantId/audit/export/json', asyncHandler(async (req: MerchantAuditRequest, res: Response) => { + const { merchantId } = req.params; + const { startDate, endDate } = req.query; + + const whereClause: any = { + entityId: merchantId, + entityType: 'merchant', + }; + + if (startDate || endDate) { + whereClause.createdAt = {}; + if (startDate) whereClause.createdAt.gte = new Date(startDate as string); + if (endDate) whereClause.createdAt.lte = new Date(endDate as string); + } + + const entries = await prisma.auditLog.findMany({ + where: whereClause, + include: { user: true }, + orderBy: { createdAt: 'desc' }, + }); + + res.setHeader('Content-Type', 'application/json'); + res.setHeader('Content-Disposition', `attachment; filename="merchant-audit-${merchantId}-${Date.now()}.json"`); + res.status(200).json({ + merchantId, + total: entries.length, + entries: entries.map(e => ({ + id: e.id, + action: e.action, + userId: e.userId, + userEmail: e.user?.email, + ipAddress: e.ipAddress, + metadata: e.metadata, + createdAt: e.createdAt, + })), + exportedAt: new Date().toISOString(), + }); +})); + +merchantAuditRouter.get('/merchants/:merchantId/audit/summary', asyncHandler(async (req: MerchantAuditRequest, res: Response) => { + const { merchantId } = req.params; + const { days = '30' } = req.query; + + const startDate = new Date(); + startDate.setDate(startDate.getDate() - Number(days)); + + const entries = await prisma.auditLog.findMany({ + where: { + entityId: merchantId, + entityType: 'merchant', + createdAt: { gte: startDate }, + }, + include: { user: true }, + }); + + const actionCounts = entries.reduce((acc: any, e) => { + acc[e.action] = (acc[e.action] || 0) + 1; + return acc; + }, {}); + + const userActivity = entries.reduce((acc: any, e) => { + const email = e.user?.email || 'unknown'; + acc[email] = (acc[email] || 0) + 1; + return acc; + }, {}); + + res.status(200).json({ + merchantId, + period: `${Number(days)} days`, + totalEvents: entries.length, + uniqueUsers: Object.keys(userActivity).length, + actionBreakdown: actionCounts, + userActivity, + dateRange: { + from: startDate.toISOString(), + to: new Date().toISOString(), + }, + }); +})); diff --git a/backend/src/routes/notifications.ts b/backend/src/routes/notifications.ts index a9de5828..a41b5182 100644 --- a/backend/src/routes/notifications.ts +++ b/backend/src/routes/notifications.ts @@ -30,83 +30,6 @@ notificationsRouter.post('/send', asyncHandler(async (req: Request, res: Respons res.status(200).json(result); })); -// Real-time notification endpoints (Issue #635) -notificationsRouter.post('/realtime/send', asyncHandler(async (req: Request, res: Response) => { - const { RealTimeNotificationService } = require('../services/notificationService.js'); - const service = new RealTimeNotificationService(); - const { userId, notification } = req.body; - const result = await service.sendToUser(userId, notification); - res.status(200).json(result); -})); - -notificationsRouter.post('/realtime/broadcast', asyncHandler(async (req: Request, res: Response) => { - const { RealTimeNotificationService } = require('../services/notificationService.js'); - const service = new RealTimeNotificationService(); - const { notification } = req.body; - const result = await service.broadcast(notification); - res.status(200).json(result); -})); - -notificationsRouter.post('/realtime/connect/:userId', asyncHandler(async (req: Request, res: Response) => { - const { RealTimeNotificationService } = require('../services/notificationService.js'); - const service = new RealTimeNotificationService(); - const { userId } = req.params; - const { channelId } = req.body; - service.connectUser(userId, channelId); - res.status(200).json({ ok: true, userId, channelId }); -})); - -notificationsRouter.post('/realtime/disconnect/:userId', asyncHandler(async (req: Request, res: Response) => { - const { RealTimeNotificationService } = require('../services/notificationService.js'); - const service = new RealTimeNotificationService(); - const { userId } = req.params; - const { channelId } = req.body; - service.disconnectUser(userId, channelId); - res.status(200).json({ ok: true }); -})); - -notificationsRouter.get('/realtime/queue/:userId', asyncHandler(async (req: Request, res: Response) => { - const { RealTimeNotificationService } = require('../services/notificationService.js'); - const service = new RealTimeNotificationService(); - const { userId } = req.params; - const queue = service.getQueue(userId); - res.status(200).json({ queue }); -})); - -notificationsRouter.post('/realtime/drain/:userId', asyncHandler(async (req: Request, res: Response) => { - const { RealTimeNotificationService } = require('../services/notificationService.js'); - const service = new RealTimeNotificationService(); - const { userId } = req.params; - const delivered = service.drainQueue(userId); - res.status(200).json({ delivered }); -})); - -// Notification history endpoints (Issue #635) -notificationsRouter.get('/history/:userId', asyncHandler(async (req: Request, res: Response) => { - const { NotificationHistoryService } = require('../services/notificationService.js'); - const service = new NotificationHistoryService(); - const { userId } = req.params; - const { type, status, channel, startDate, endDate, limit, offset } = req.query; - const history = service.getHistory(userId, { - type: type as string, - status: status as string, - channel: channel as string, - startDate: startDate as string, - endDate: endDate as string, - limit: limit ? parseInt(limit as string) : undefined, - offset: offset ? parseInt(offset as string) : undefined, - }); - res.status(200).json({ history }); -})); - -notificationsRouter.get('/analytics', asyncHandler(async (req: Request, res: Response) => { - const { NotificationHistoryService } = require('../services/notificationService.js'); - const service = new NotificationHistoryService(); - const { userId } = req.query; - const analytics = service.getAnalytics(userId as string); - res.status(200).json(analytics); -})); - // Get notification preferences notificationsRouter.get('/preferences/:userId', asyncHandler(async (req: Request, res: Response) => { const { userId } = req.params; diff --git a/backend/src/routes/onboarding.ts b/backend/src/routes/onboarding.ts index 680806eb..f07839d8 100644 --- a/backend/src/routes/onboarding.ts +++ b/backend/src/routes/onboarding.ts @@ -1,6 +1,5 @@ import { Router } from 'express'; import { OnboardingService } from '../services/onboarding.js'; -import { OnboardingAnalyticsService } from '../services/onboardingAnalytics.js'; import { validate } from '../middleware/validate.js'; import { AppError, asyncHandler } from '../middleware/errorHandler.js'; import { @@ -150,49 +149,4 @@ onboardingRouter.get( count: onboardings.length, }); }) -); - -// ─── Analytics endpoints (Issue #591) ──────────────────────────────────────── - -// Record / update an onboarding session from frontend -onboardingRouter.post( - '/analytics/session', - asyncHandler(async (req, res) => { - const session = OnboardingAnalyticsService.upsertSession(req.body); - res.status(200).json({ success: true, data: session }); - }), -); - -// Get analytics summary -onboardingRouter.get( - '/analytics/summary', - asyncHandler(async (_req, res) => { - const summary = OnboardingAnalyticsService.getSummary(); - res.status(200).json({ success: true, data: summary }); - }), -); - -// List sessions -onboardingRouter.get( - '/analytics/sessions', - asyncHandler(async (req, res) => { - const { role, variant } = req.query as { role?: string; variant?: string }; - const sessionList = OnboardingAnalyticsService.listSessions({ - role: role as any, - variant: variant as any, - }); - res.status(200).json({ success: true, data: sessionList, count: sessionList.length }); - }), -); - -// Get single session -onboardingRouter.get( - '/analytics/sessions/:sessionId', - asyncHandler(async (req, res) => { - const session = OnboardingAnalyticsService.getSession(req.params.sessionId); - if (!session) { - throw new AppError(404, 'Session not found', 'SESSION_NOT_FOUND'); - } - res.status(200).json({ success: true, data: session }); - }), -); +); \ No newline at end of file diff --git a/backend/src/routes/payment-links.ts b/backend/src/routes/payment-links.ts index a91d1cd9..c955aeb3 100644 --- a/backend/src/routes/payment-links.ts +++ b/backend/src/routes/payment-links.ts @@ -1,5 +1,4 @@ import { Router, Request, Response, NextFunction } from 'express'; -import escapeHtml from 'escape-html'; import { AppError, asyncHandler } from '../middleware/errorHandler.js'; import { validate } from '../middleware/validate.js'; import { @@ -8,7 +7,7 @@ import { paymentLinkCompletionSchema, updatePaymentLinkSchema, } from '../schemas/payment-links.js'; -import { paymentLinksService, type PaymentLinkRecord, type ABTestVariant } from '../services/payment-links.js'; +import { paymentLinksService } from '../services/payment-links.js'; export const paymentLinksRouter = Router(); @@ -165,212 +164,6 @@ function enforcePassword(slug: string, link: { requiresPassword: boolean }, pass throw new AppError(401, 'A valid password is required for this link', 'PAYMENT_LINK_PASSWORD_REQUIRED'); } -function safeUrl(value: string | undefined): string | undefined { - if (!value) { - return undefined; - } - - try { - const url = new URL(value); - return url.protocol === 'https:' ? url.toString() : undefined; - } catch { - return undefined; - } -} - -function safeColor(value: string | undefined): string { - return value && /^#[A-Fa-f0-9]{6}$/.test(value) ? value : '#0052FF'; -} - -function money(amount: number, currency: string): string { - try { - return new Intl.NumberFormat('en', { - style: 'currency', - currency, - maximumFractionDigits: 2, - }).format(amount); - } catch { - return `${amount.toFixed(2)} ${currency}`; - } -} - -export function renderHostedCheckoutPage( - link: PaymentLinkRecord, - options: { source: string; password?: string; passwordError?: string; variant?: ABTestVariant } = { source: 'direct' } -): string { - const selectedVariant = options.variant; - const accentColor = safeColor(selectedVariant?.accentColor || link.brand?.accentColor); - const brandName = escapeHtml(link.brand?.brandName || 'AgenticPay'); - const logoUrl = safeUrl(link.brand?.logoUrl); - const redirectUrl = safeUrl(link.brand?.redirectUrl); - const description = escapeHtml(selectedVariant?.description || link.description || 'Secure checkout link'); - const amountToPay = selectedVariant ? selectedVariant.amount : link.amount; - const formattedAmount = escapeHtml(money(amountToPay, link.currency)); - const expiresAt = escapeHtml(new Date(link.expiresAt).toUTCString()); - const source = escapeHtml(options.source || 'direct'); - const password = escapeHtml(options.password || ''); - const passwordError = options.passwordError ? escapeHtml(options.passwordError) : ''; - const isUnlocked = !link.requiresPassword || Boolean(options.password && !options.passwordError); - const ctaText = escapeHtml(selectedVariant?.ctaText || 'Complete payment'); - - const completionPayload = JSON.stringify({ - amountPaid: amountToPay, - source: options.source || 'direct', - password: options.password || undefined, - }).replace(/ - - - - - ${brandName} checkout - - - -
-
-
- ${logoUrl ? `` : `
${brandName.charAt(0)}
`} -
-

${brandName}

-

Secure payment request

-
-
-
-

Review payment

- ${selectedVariant ? `

Variant: ${escapeHtml(selectedVariant.name)}

` : ''} -

${description}

-

${formattedAmount}

-
- Currency - ${escapeHtml(link.currency)} -
-
- Expires - ${expiresAt} -
- ${ - link.requiresPassword - ? `
- - - - ${passwordError ? `

${passwordError}

` : ''} -
-
` - : '' - } - ${ - isUnlocked - ? `
- - ${redirectUrl ? `Return to merchant` : ''} -
-

` - : '' - } -
-
-
- - -`; -} -paymentLinksRouter.get( - '/merchant/:merchantId/summary', - asyncHandler(async (req, res) => { - const merchantId = Array.isArray(req.params.merchantId) ? req.params.merchantId[0] : req.params.merchantId; - const summary = paymentLinksService.getMerchantDashboardSummary(merchantId); - res.json({ data: summary }); - }) -); - -paymentLinksRouter.post( - '/id/:id/variants', - asyncHandler(async (req, res) => { - const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id; - const { variants } = req.body as { variants: ABTestVariant[] }; - - if (!variants || !Array.isArray(variants)) { - throw new AppError(400, 'variants array is required', 'VALIDATION_ERROR'); - } - - const updated = paymentLinksService.addOrUpdateVariants(id, variants); - if (!updated) { - throw new AppError(404, 'Payment link not found', 'NOT_FOUND'); - } - - res.json({ data: updated }); - }) -); - -paymentLinksRouter.get( - '/id/:id/qr', - asyncHandler(async (req, res) => { - const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id; - const link = paymentLinksService.getById(id); - if (!link) { - throw new AppError(404, 'Payment link not found', 'NOT_FOUND'); - } - const dataUrl = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=='; - res.json({ - dataUrl, - linkUrl: paymentLinksService.getShareLinks(link.slug).url, - }); - }) -); - paymentLinksRouter.get( '/r/:slug', redirectRateLimiter, @@ -388,65 +181,43 @@ paymentLinksRouter.get( // Gate protected links before counting the view, so brute-force probes // can't inflate analytics. - const password = typeof req.query.password === 'string' ? req.query.password : ''; - if (existing.requiresPassword) { - if (!password) { - if (req.headers?.accept?.includes('application/json')) { - res.status(401).json({ error: 'A valid password is required', code: 'PAYMENT_LINK_PASSWORD_REQUIRED' }); - return; - } - res.status(401).setHeader('Content-Type', 'text/html; charset=utf-8'); - res.send(renderHostedCheckoutPage(existing, { source })); - return; - } - - const result = paymentLinksService.verifyPassword(slug, password); - if (!result.ok) { - if (result.reason === 'locked') { - throw new AppError( - 429, - 'Too many incorrect password attempts. Try again later.', - 'PAYMENT_LINK_LOCKED' - ); - } - - if (req.headers?.accept?.includes('application/json')) { - res.status(401).json({ error: 'Invalid password', code: 'PAYMENT_LINK_PASSWORD_REQUIRED' }); - return; - } + enforcePassword(slug, existing, req.query.password); - res.status(401).setHeader('Content-Type', 'text/html; charset=utf-8'); - res.send( - renderHostedCheckoutPage(existing, { - source, - password, - passwordError: 'That password did not match this payment link.', - }) - ); - return; - } - } - - const requestedVariantId = req.query.variant ? String(req.query.variant) : undefined; - const variant = paymentLinksService.selectVariant(existing, requestedVariantId); - - const link = paymentLinksService.trackView(slug, source, variant?.id); + const link = paymentLinksService.trackView(slug, source); if (!link) { throw new AppError(404, 'Payment link not found', 'NOT_FOUND'); } - if (req.headers?.accept?.includes('application/json')) { - res.json({ - data: link, - selectedVariant: variant, - qrCodeUrl: paymentLinksService.getQrCodeUrl(link.slug), - share: paymentLinksService.getShareLinks(link.slug, variant?.id, source), - }); - return; - } + const accentColor = link.brand?.accentColor || '#0B3A80'; + const brandName = link.brand?.brandName || 'AgenticPay'; + const html = ` + + + + + ${brandName} Payment Link + + + +
+ ${brandName} +

Payment Request

+

${link.description || 'Secure checkout link'}

+

${link.amount.toFixed(2)} ${link.currency}

+

Expires ${new Date(link.expiresAt).toUTCString()}

+ Continue to Pay +
+ +`; res.setHeader('Content-Type', 'text/html; charset=utf-8'); - res.send(renderHostedCheckoutPage(link, { source, password, variant })); + res.send(html); }) ); @@ -474,4 +245,4 @@ paymentLinksRouter.post( res.json({ data: completed.analytics }); }) -); +); \ No newline at end of file diff --git a/backend/src/routes/portfolio.ts b/backend/src/routes/portfolio.ts index 7a997aa4..5373cd4a 100644 --- a/backend/src/routes/portfolio.ts +++ b/backend/src/routes/portfolio.ts @@ -1,31 +1,193 @@ import { Router } from 'express'; -import { portfolioService } from '../services/portfolio/index.js'; -import { cacheControl, CacheTTL } from '../middleware/cache.js'; import { asyncHandler } from '../middleware/errorHandler.js'; export const portfolioRouter = Router(); -portfolioRouter.get( - '/:walletAddress', - cacheControl({ maxAge: 30, staleWhileRevalidate: 60 }), - asyncHandler(async (req, res) => { - const { walletAddress } = req.params; - const chains = (req.query.chains as string)?.split(',') || ['stellar', 'ethereum']; - - const portfolio = await portfolioService.getPortfolio(walletAddress, chains); - res.json(portfolio); - }) -); - -portfolioRouter.get( - '/:walletAddress/export', - asyncHandler(async (req, res) => { - const { walletAddress } = req.params; - const portfolio = await portfolioService.getPortfolio(walletAddress); - const csv = portfolioService.exportToCsv(portfolio); - - res.setHeader('Content-Type', 'text/csv'); - res.setHeader('Content-Disposition', `attachment; filename="portfolio-${walletAddress}.csv"`); - res.send(csv); - }) -); \ No newline at end of file +interface TokenPrice { + symbol: string; + price: number; + change24h: number; + lastUpdated: Date; +} + +interface WalletBalance { + address: string; + chain: string; + token: string; + balance: string; + balanceUsd?: number; +} + +const mockPrices: Map = new Map([ + ['XLM', { symbol: 'XLM', price: 0.12, change24h: 2.5, lastUpdated: new Date() }], + ['USDC', { symbol: 'USDC', price: 1.0, change24h: 0.01, lastUpdated: new Date() }], + ['USDT', { symbol: 'USDT', price: 1.0, change24h: -0.02, lastUpdated: new Date() }], + ['BTC', { symbol: 'BTC', price: 67500, change24h: 1.2, lastUpdated: new Date() }], + ['ETH', { symbol: 'ETH', price: 3450, change24h: -0.8, lastUpdated: new Date() }], + ['SOL', { symbol: 'SOL', price: 145, change24h: 3.2, lastUpdated: new Date() }], +]); + +const chainRpcUrls: Record = { + stellar: 'https://horizon.stellar.org', + ethereum: 'https://eth.llamarpc.com', + solana: 'https://api.mainnet-beta.solana.com', +}; + +function getTokenPrice(symbol: string): TokenPrice | undefined { + return mockPrices.get(symbol.toUpperCase()); +} + +async function fetchChainBalance(address: string, chain: string, token: string): Promise { + const price = getTokenPrice(token); + const balance = Math.random() * 1000; + const balanceUsd = price ? balance * price.price : 0; + + return { + address, + chain, + token, + balance: balance.toFixed(6), + balanceUsd: Math.round(balanceUsd * 100) / 100, + }; +} + +function calculatePortfolioAllocation(balances: WalletBalance[]): { token: string; percentage: number; valueUSD: number }[] { + const totalUsd = balances.reduce((sum, b) => sum + (b.balanceUsd || 0), 0); + if (totalUsd === 0) return []; + + const tokenMap = new Map(); + for (const balance of balances) { + const current = tokenMap.get(balance.token) || 0; + tokenMap.set(balance.token, current + (balance.balanceUsd || 0)); + } + + const allocations: { token: string; percentage: number; valueUSD: number }[] = []; + for (const [token, valueUsd] of tokenMap) { + allocations.push({ + token, + percentage: Math.round((valueUsd / totalUsd) * 10000) / 100, + valueUSD: Math.round(valueUsd * 100) / 100, + }); + } + + return allocations.sort((a, b) => b.valueUSD - a.valueUSD); +} + +portfolioRouter.get('/prices', asyncHandler(async (req, res) => { + const prices = Array.from(mockPrices.values()); + res.json({ prices, timestamp: new Date() }); +})); + +portfolioRouter.get('/prices/:symbol', asyncHandler(async (req, res) => { + const { symbol } = req.params; + const price = getTokenPrice(symbol); + if (!price) { + res.status(404).json({ error: 'Token price not found' }); + return; + } + res.json(price); +})); + +portfolioRouter.post('/prices', asyncHandler(async (req, res) => { + const { symbol, price, change24h } = req.body; + if (!symbol || price === undefined) { + res.status(400).json({ error: 'symbol and price are required' }); + return; + } + const tokenPrice: TokenPrice = { + symbol: symbol.toUpperCase(), + price, + change24h: change24h || 0, + lastUpdated: new Date(), + }; + mockPrices.set(symbol.toUpperCase(), tokenPrice); + res.json(tokenPrice); +})); + +portfolioRouter.get('/balance', asyncHandler(async (req, res) => { + const { address, chains, tokens } = req.query; + + if (!address) { + res.status(400).json({ error: 'address is required' }); + return; + } + + const chainList = chains ? (chains as string).split(',') : ['stellar']; + const tokenList = tokens ? (tokens as string).split(',') : ['XLM']; + + const balances = await Promise.all( + chainList.flatMap(chain => + tokenList.map(token => fetchChainBalance(address as string, chain, token)) + ) + ); + + const totalUsd = balances.reduce((sum, b) => sum + (b.balanceUsd || 0), 0); + + res.json({ + address, + balances, + totalUsd: Math.round(totalUsd * 100) / 100, + lastUpdated: new Date(), + }); +})); + +portfolioRouter.get('/', asyncHandler(async (req, res) => { + const { address, chains, tokens } = req.query; + + if (!address) { + res.status(400).json({ error: 'address is required' }); + return; + } + + const chainList = chains ? (chains as string).split(',') : ['stellar']; + const tokenList = tokens ? (tokens as string).split(',') : ['XLM', 'USDC']; + + const balances = await Promise.all( + chainList.flatMap(chain => + tokenList.map(token => fetchChainBalance(address as string, chain, token)) + ) + ); + + const totalUsd = balances.reduce((sum, b) => sum + (b.balanceUsd || 0), 0); + const totalChange24h = balances.reduce((sum, b) => { + const price = getTokenPrice(b.token); + return sum + (price ? price.change24h * (b.balanceUsd || 0) : 0); + }, 0) / totalUsd; + + const allocation = calculatePortfolioAllocation(balances); + + res.json({ + address, + chains: chainList, + tokens: tokenList, + balances, + totalUsd: Math.round(totalUsd * 100) / 100, + change24h: Math.round(totalChange24h * 100) / 100, + allocation, + lastUpdated: new Date(), + }); +})); + +portfolioRouter.get('/history', asyncHandler(async (req, res) => { + const { address, days = '30' } = req.query; + + const daysNum = parseInt(days as string, 10) || 30; + const history = []; + const baseValue = 10000; + + for (let i = daysNum; i >= 0; i--) { + const date = new Date(); + date.setDate(date.getDate() - i); + const randomChange = 1 + (Math.random() - 0.5) * 0.1; + history.push({ + date: date.toISOString().split('T')[0], + valueUsd: Math.round(baseValue * randomChange * (1 - i / daysNum * 0.2)), + }); + } + + res.json({ + address, + history, + days: daysNum, + }); +})); \ No newline at end of file diff --git a/backend/src/routes/projects.ts b/backend/src/routes/projects.ts index 6664b152..96b8efd6 100644 --- a/backend/src/routes/projects.ts +++ b/backend/src/routes/projects.ts @@ -112,121 +112,3 @@ projectsRouter.delete( requireEnhancedPermission("projects", "delete"), projectController.deleteProject, ); - -// ── Milestone Dependency Routes ───────────────────────────────────────────── - -// GET /:id/dependencies — list all milestone dependencies -projectsRouter.get( - "/:id/dependencies", - requireEnhancedPermission("projects", "read"), - (req, res, next) => { - try { - const projectId = String(req.params.id); - const deps = projectsService.getDependencies(projectId); - res.json({ dependencies: deps, count: deps.length }); - } catch (err) { next(err); } - }, -); - -// GET /:id/dependencies/conflicts — detect dependency conflicts -projectsRouter.get( - "/:id/dependencies/conflicts", - requireEnhancedPermission("projects", "read"), - (req, res, next) => { - try { - const projectId = String(req.params.id); - const conflicts = projectsService.checkDependencyConflicts(projectId); - res.json({ conflicts, hasConflicts: conflicts.length > 0 }); - } catch (err) { next(err); } - }, -); - -// PATCH /:id/milestones/:milestoneId/dependencies — update milestone deps -import { z } from 'zod'; -import { validate } from '../middleware/validate.js'; - -const updateDepsSchema = z.object({ - dependsOn: z.array(z.string()), -}); - -projectsRouter.patch( - "/:id/milestones/:milestoneId/dependencies", - requireEnhancedPermission("projects", "write"), - validate(updateDepsSchema), - (req, res, next) => { - try { - const projectId = String(req.params.id); - const milestoneId = String(req.params.milestoneId); - const { dependsOn } = req.body; - const updated = projectsService.updateMilestoneDependencies(projectId, milestoneId, dependsOn); - if (!updated) { - res.status(404).json({ error: 'Milestone not found or invalid dependencies' }); - return; - } - res.json(updated); - } catch (err) { next(err); } - }, -); - -// ── Critical Path Routes ──────────────────────────────────────────────────── - -// GET /:id/critical-path — compute critical path -projectsRouter.get( - "/:id/critical-path", - requireEnhancedPermission("projects", "read"), - (req, res, next) => { - try { - const projectId = String(req.params.id); - const result = projectsService.computeCriticalPath(projectId); - if (!result) { - res.status(404).json({ error: 'No milestones found for project' }); - return; - } - res.json(result); - } catch (err) { next(err); } - }, -); - -// GET /:id/gantt — get Gantt data -projectsRouter.get( - "/:id/gantt", - requireEnhancedPermission("projects", "read"), - (req, res, next) => { - try { - const projectId = String(req.params.id); - const ganttData = projectsService.getGanttData(projectId); - res.json({ items: ganttData, count: ganttData.length }); - } catch (err) { next(err); } - }, -); - -// GET /:id/deadline-alerts — get deadline alerts -projectsRouter.get( - "/:id/deadline-alerts", - requireEnhancedPermission("projects", "read"), - (req, res, next) => { - try { - const projectId = String(req.params.id); - const { thresholdDays } = req.query; - const threshold = typeof thresholdDays === 'string' ? parseInt(thresholdDays, 10) : 7; - const sessionUser = (req as typeof req & { user?: { id: string; role: string } }).user; - const ownerId = sessionUser?.role === 'admin' ? undefined : sessionUser?.id; - const alerts = projectsService.getDeadlineAlerts(projectId, ownerId, threshold); - res.json({ alerts, count: alerts.length }); - } catch (err) { next(err); } - }, -); - -// POST /:id/milestones/:milestoneId/complete — cascade completion -projectsRouter.post( - "/:id/milestones/:milestoneId/complete", - requireEnhancedPermission("projects", "write"), - (req, res, next) => { - try { - const projectId = String(req.params.id); - const milestoneId = String(req.params.milestoneId); - const cascaded = projectsService.cascadeMilestoneCompletion(projectId, milestoneId); - res.json({ cascaded, count: cascaded.length }); - } catch (err) { next(err); } - }, -); diff --git a/backend/src/routes/queue.ts b/backend/src/routes/queue.ts index 78e2e951..53f8a400 100644 --- a/backend/src/routes/queue.ts +++ b/backend/src/routes/queue.ts @@ -1,5 +1,10 @@ +/** + * Queue Routes + * API endpoints for managing message queue and monitoring jobs + */ + import { Router } from 'express'; -import { messageQueue, JobStatus, JobPriority, QueueName } from '../services/queue.js'; +import { messageQueue, JobStatus } from '../services/queue.js'; import { queueEmail, queueNotification, @@ -13,206 +18,228 @@ import { paginateArray } from '../utils/pagination.js'; export const queueRouter = Router(); -const allowedStatuses: JobStatus[] = ['pending', 'processing', 'completed', 'failed', 'retrying', 'dlq']; -const allowedPriorities: JobPriority[] = ['critical', 'high', 'normal', 'low']; +const allowedStatuses: JobStatus[] = ['pending', 'processing', 'completed', 'failed', 'retrying']; function getParamAsString(param: string | string[]): string { return Array.isArray(param) ? param[0] : param; } -function parsePriority(val: string | undefined): JobPriority { - if (val && allowedPriorities.includes(val as JobPriority)) return val as JobPriority; - return 'normal'; -} - +/** + * POST /api/v1/queue/email + * Queue an email to be sent asynchronously + */ queueRouter.post( '/email', asyncHandler(async (req, res) => { - const { to, subject, body, html, from, priority, tags } = req.body; + const { to, subject, body, html, from } = req.body as EmailJobData; + if (!to || !subject || !body) { throw new AppError(400, 'Missing required fields: to, subject, body', 'INVALID_REQUEST'); } - const job = await queueEmail({ to, subject, body, html, from }, { - priority: parsePriority(priority), - tags: Array.isArray(tags) ? tags : undefined, + + const job = await queueEmail({ to, subject, body, html, from }); + + res.status(202).json({ + message: 'Email queued for delivery', + jobId: job.id, + status: job.status, + queue: job.queue, }); - res.status(202).json({ message: 'Email queued for delivery', jobId: job.id, status: job.status, queue: job.queue, priority: job.priority }); }) ); +/** + * POST /api/v1/queue/notification + * Queue a notification to be delivered asynchronously + */ queueRouter.post( '/notification', asyncHandler(async (req, res) => { - const { userId, type, title, message, metadata, priority, tags } = req.body; + const { userId, type, title, message, metadata } = req.body as NotificationJobData; + if (!userId || !type || !title || !message) { - throw new AppError(400, 'Missing required fields: userId, type, title, message', 'INVALID_REQUEST'); + throw new AppError( + 400, + 'Missing required fields: userId, type, title, message', + 'INVALID_REQUEST' + ); } - const job = await queueNotification({ userId, type, title, message, metadata }, { - priority: parsePriority(priority), - tags: Array.isArray(tags) ? tags : undefined, + + const job = await queueNotification({ userId, type, title, message, metadata }); + + res.status(202).json({ + message: 'Notification queued for delivery', + jobId: job.id, + status: job.status, + queue: job.queue, }); - res.status(202).json({ message: 'Notification queued for delivery', jobId: job.id, status: job.status, queue: job.queue, priority: job.priority }); }) ); +/** + * POST /api/v1/queue/webhook + * Queue a webhook call to be delivered asynchronously + */ queueRouter.post( '/webhook', asyncHandler(async (req, res) => { - const { url, method = 'POST', headers, body, timeout, priority, tags } = req.body; + const { url, method = 'POST', headers, body, timeout } = req.body as WebhookJobData; + if (!url) { throw new AppError(400, 'Missing required field: url', 'INVALID_REQUEST'); } - const job = await queueWebhook({ url, method, headers, body, timeout }, { - priority: parsePriority(priority), - tags: Array.isArray(tags) ? tags : undefined, + + const job = await queueWebhook({ url, method, headers, body, timeout }); + + res.status(202).json({ + message: 'Webhook queued for delivery', + jobId: job.id, + status: job.status, + queue: job.queue, }); - res.status(202).json({ message: 'Webhook queued for delivery', jobId: job.id, status: job.status, queue: job.queue, priority: job.priority }); }) ); +/** + * GET /api/v1/queue/jobs + * Get all queued jobs or filter by queue/status + */ queueRouter.get( '/jobs', asyncHandler(async (req, res) => { const queue = req.query.queue as string | undefined; const status = req.query.status as string | undefined; - const priority = req.query.priority as string | undefined; let jobs = messageQueue.getAllJobs(); - if (queue) jobs = messageQueue.getJobsByQueue(queue); - else if (status) { + if (queue) { + jobs = messageQueue.getJobsByQueue(queue); + } else if (status) { if (!allowedStatuses.includes(status as JobStatus)) { throw new AppError(400, `Invalid status: ${status}`, 'INVALID_REQUEST'); } jobs = messageQueue.getJobsByStatus(status as JobStatus); - } else if (priority) { - if (!allowedPriorities.includes(priority as JobPriority)) { - throw new AppError(400, `Invalid priority: ${priority}`, 'INVALID_REQUEST'); - } - jobs = messageQueue.getJobsByPriority(priority as JobPriority); } const limit = req.query.limit ? parseInt(req.query.limit as string, 10) : undefined; const offset = req.query.offset ? parseInt(req.query.offset as string, 10) : undefined; + const paginated = paginateArray(jobs, { limit, offset }); - res.json({ data: paginated.data, total: paginated.total, limit: paginated.limit, offset: paginated.offset, timestamp: new Date() }); + res.json({ + data: paginated.data, + total: paginated.total, + limit: paginated.limit, + offset: paginated.offset, + timestamp: new Date(), + }); }) ); +/** + * GET /api/v1/queue/jobs/:jobId + * Get a specific job by ID + */ queueRouter.get( '/jobs/:jobId', asyncHandler(async (req, res) => { const jobId = getParamAsString(req.params.jobId); const job = messageQueue.getJob(jobId); - if (!job) throw new AppError(404, `Job not found: ${jobId}`, 'JOB_NOT_FOUND'); - res.json({ data: job, timestamp: new Date() }); + + if (!job) { + throw new AppError(404, `Job not found: ${jobId}`, 'JOB_NOT_FOUND'); + } + + res.json({ + data: job, + timestamp: new Date(), + }); }) ); +/** + * POST /api/v1/queue/jobs/:jobId/retry + * Retry a failed job + */ queueRouter.post( '/jobs/:jobId/retry', asyncHandler(async (req, res) => { const jobId = getParamAsString(req.params.jobId); const retried = messageQueue.retryJob(jobId); - if (!retried) throw new AppError(400, 'Job cannot be retried', 'INVALID_STATE'); - res.json({ message: 'Job scheduled for retry', jobId, timestamp: new Date() }); + + if (!retried) { + throw new AppError(400, 'Job cannot be retried', 'INVALID_STATE'); + } + + res.json({ + message: 'Job scheduled for retry', + jobId, + timestamp: new Date(), + }); }) ); +/** + * DELETE /api/v1/queue/jobs/:jobId + * Delete a job + */ queueRouter.delete( '/jobs/:jobId', asyncHandler(async (req, res) => { const jobId = getParamAsString(req.params.jobId); const deleted = messageQueue.deleteJob(jobId); - if (!deleted) throw new AppError(404, `Job not found: ${jobId}`, 'JOB_NOT_FOUND'); - res.json({ message: 'Job deleted', jobId, timestamp: new Date() }); + + if (!deleted) { + throw new AppError(404, `Job not found: ${jobId}`, 'JOB_NOT_FOUND'); + } + + res.json({ + message: 'Job deleted', + jobId, + timestamp: new Date(), + }); }) ); +/** + * GET /api/v1/queue/stats + * Get queue statistics + */ queueRouter.get( '/stats', asyncHandler(async (req, res) => { const stats = messageQueue.getStats(); - res.json({ data: stats, timestamp: new Date() }); - }) -); - -queueRouter.get( - '/metrics', - asyncHandler(async (req, res) => { - const metrics = messageQueue.getMetrics(); - res.json({ data: metrics, timestamp: new Date() }); - }) -); -queueRouter.get( - '/rate-limits', - asyncHandler(async (req, res) => { - const limits = messageQueue.getRateLimitStatus(); - res.json({ data: limits, timestamp: new Date() }); + res.json({ + data: stats, + timestamp: new Date(), + }); }) ); +/** + * DELETE /api/v1/queue/clear + * Clear jobs by status + */ queueRouter.delete( '/clear', asyncHandler(async (req, res) => { const status = req.query.status as string | undefined; - if (!status) throw new AppError(400, 'Status query parameter is required', 'INVALID_REQUEST'); + + if (!status) { + throw new AppError(400, 'Status query parameter is required', 'INVALID_REQUEST'); + } + if (!allowedStatuses.includes(status as JobStatus)) { throw new AppError(400, `Invalid status: ${status}`, 'INVALID_REQUEST'); } - const cleared = messageQueue.clearByStatus(status as JobStatus); - res.json({ message: `Cleared ${cleared} jobs with status: ${status}`, cleared, timestamp: new Date() }); - }) -); - -queueRouter.get( - '/dlq', - asyncHandler(async (req, res) => { - const dlq = messageQueue.getDlq(); - const queue = req.query.queue as string | undefined; - const filtered = queue ? dlq.filter((e) => e.originalQueue === queue) : dlq; - const limit = req.query.limit ? parseInt(req.query.limit as string, 10) : undefined; - const offset = req.query.offset ? parseInt(req.query.offset as string, 10) : undefined; - const paginated = paginateArray(filtered, { limit, offset }); - res.json({ data: paginated.data, total: paginated.total, timestamp: new Date() }); - }) -); -queueRouter.post( - '/dlq/:jobId/replay', - asyncHandler(async (req, res) => { - const jobId = getParamAsString(req.params.jobId); - const replayed = messageQueue.replayFromDlq(jobId); - if (!replayed) throw new AppError(404, `Job not found in DLQ: ${jobId}`, 'JOB_NOT_FOUND'); - res.json({ message: 'Job replayed from DLQ', jobId, timestamp: new Date() }); - }) -); - -queueRouter.post( - '/dlq/replay-all', - asyncHandler(async (req, res) => { - const queue = req.query.queue as QueueName | undefined; - const count = messageQueue.replayAllFromDlq(queue); - res.json({ message: `Replayed ${count} job(s) from DLQ`, count, timestamp: new Date() }); - }) -); + const cleared = messageQueue.clearByStatus(status as JobStatus); -queueRouter.delete( - '/dlq/:jobId', - asyncHandler(async (req, res) => { - const jobId = getParamAsString(req.params.jobId); - const deleted = messageQueue.deleteFromDlq(jobId); - if (!deleted) throw new AppError(404, `Job not found in DLQ: ${jobId}`, 'JOB_NOT_FOUND'); - res.json({ message: 'Job deleted from DLQ', jobId, timestamp: new Date() }); + res.json({ + message: `Cleared ${cleared} jobs with status: ${status}`, + cleared, + timestamp: new Date(), + }); }) ); - -queueRouter.delete( - '/dlq/clear', - asyncHandler(async (req, res) => { - const count = messageQueue.clearDlq(); - res.json({ message: `Cleared ${count} job(s) from DLQ`, cleared: count, timestamp: new Date() }); - }) -); \ No newline at end of file diff --git a/backend/src/routes/receipts.ts b/backend/src/routes/receipts.ts index 99c29dea..b3bb5e0c 100644 --- a/backend/src/routes/receipts.ts +++ b/backend/src/routes/receipts.ts @@ -18,8 +18,6 @@ import { searchReceipts, archiveReceipts, generateReceiptPdf, - verifyReceiptOnChain, - exportReceipts, } from '../services/receipts.js'; import { archiveReceiptSchema, @@ -177,33 +175,6 @@ receiptsRouter.get( }) ); -receiptsRouter.get( - '/:tokenId/verify/onchain', - cacheControl({ maxAge: CacheTTL.SHORT }), - asyncHandler(async (req, res) => { - const receipt = getReceiptByTokenId(req.params.tokenId); - if (!receipt) throw new AppError(404, 'Receipt not found', 'NOT_FOUND'); - const onChain = verifyReceiptOnChain(receipt); - res.json(onChain); - }) -); - -receiptsRouter.get( - '/export', - cacheControl({ maxAge: CacheTTL.SHORT }), - asyncHandler(async (req, res) => { - const format = (req.query.format as string) === 'csv' ? 'csv' : 'json'; - const data = exportReceipts(format); - if (format === 'csv') { - res.setHeader('Content-Type', 'text/csv'); - res.setHeader('Content-Disposition', 'attachment; filename="receipts.csv"'); - res.send(data); - } else { - res.json(JSON.parse(data as string)); - } - }) -); - receiptsRouter.get( '/:tokenId/pdf', cacheControl({ maxAge: CacheTTL.LONG }), diff --git a/backend/src/routes/refunds.ts b/backend/src/routes/refunds.ts index a8594c3f..d8a17dec 100644 --- a/backend/src/routes/refunds.ts +++ b/backend/src/routes/refunds.ts @@ -10,6 +10,7 @@ import { resolveManualReview, upsertRefundPolicy, } from '../services/refunds.js'; +import { paginateArray } from '../utils/pagination.js'; export const refundsRouter = Router(); const firstParam = (value: string | string[] | undefined): string => (Array.isArray(value) ? value[0] ?? '' : value ?? ''); @@ -46,7 +47,19 @@ refundsRouter.get( '/manual-review', asyncHandler(async (req, res) => { const merchantId = typeof req.query.merchantId === 'string' ? req.query.merchantId : undefined; - res.json({ items: listManualReviews(merchantId) }); + const reviews = listManualReviews(merchantId); + + const limit = req.query.limit ? parseInt(req.query.limit as string, 10) : undefined; + const offset = req.query.offset ? parseInt(req.query.offset as string, 10) : undefined; + + const paginated = paginateArray(reviews, { limit, offset }); + + res.json({ + items: paginated.data, + total: paginated.total, + limit: paginated.limit, + offset: paginated.offset, + }); }) ); diff --git a/backend/src/routes/relayer.ts b/backend/src/routes/relayer.ts index f9cbd650..7840cec2 100644 --- a/backend/src/routes/relayer.ts +++ b/backend/src/routes/relayer.ts @@ -1,105 +1,198 @@ import { Router } from 'express'; import { z } from 'zod'; -import { asyncHandler } from '../middleware/errorHandler.js'; import { validate } from '../middleware/validate.js'; -import { bridgeRelayerService } from '../services/bridge-relayer.js'; +import { asyncHandler, AppError } from '../middleware/errorHandler.js'; +import { relayTransaction, RelayError } from '../relayer/relay.js'; +import { getRelayerHealth, estimateGas } from '../relayer/health.js'; +import { relayRequestSchema } from '../relayer/schema.js'; +import { + relayEVMTransaction, + EVMRelayError, + getForwarderNonce, + type EVMRelayRequest, +} from '../relayer/evmRelay.js'; +import { generateGasQuote, isQuoteValid, type EVMGasQuote } from '../relayer/gasOracle.js'; export const relayerRouter = Router(); -const initiateSwapSchema = z.object({ - sourceChain: z.enum(['stellar', 'evm']), - destinationChain: z.enum(['stellar', 'evm']), - sourceLockId: z.string().min(1), - sender: z.string().min(1), - recipient: z.string().min(1), - amount: z.string().min(1), - hashlock: z.string().min(16), - timelockSource: z.number().int().positive(), - timelockDestination: z.number().int().positive(), -}); - -const revealSecretSchema = z.object({ - secret: z.string().min(16), -}); - -const updateConfigSchema = z.object({ - pollIntervalMs: z.number().int().min(1000).optional(), - sourceChainRpc: z.string().url().optional(), - destinationChainRpc: z.string().url().optional(), - maxRetries: z.number().int().min(1).max(10).optional(), - safetyMarginMs: z.number().int().min(0).optional(), -}); - +/** + * POST /api/v1/relayer/relay + * Submit a gasless transaction using an off-chain authorization token. + */ relayerRouter.post( - '/swaps', - validate(initiateSwapSchema), + '/relay', + validate(relayRequestSchema), asyncHandler(async (req, res) => { - const swap = await bridgeRelayerService.initiateSwap(req.body); - res.status(201).json(swap); + try { + const result = await relayTransaction(req.body); + res.status(200).json({ success: true, data: result }); + } catch (err) { + if (err instanceof RelayError) { + res.status(err.statusCode).json({ + success: false, + error: { code: err.code, message: err.message }, + }); + return; + } + throw err; + } }) ); +/** + * GET /api/v1/relayer/health + * Returns relayer health status and balance. + */ relayerRouter.get( - '/swaps', - asyncHandler(async (req, res) => { - const status = req.query.status as string | undefined; - res.json({ data: bridgeRelayerService.listSwaps(status as any) }); + '/health', + asyncHandler(async (_req, res) => { + const relayerAddress = process.env.RELAYER_PUBLIC_KEY; + const health = await getRelayerHealth(relayerAddress); + const statusCode = health.status === 'unavailable' ? 503 : 200; + res.status(statusCode).json({ success: true, data: health }); }) ); +/** + * GET /api/v1/relayer/estimate + * Returns current gas/fee estimate for a relayed transaction. + */ relayerRouter.get( - '/swaps/:id', - asyncHandler(async (req, res) => { - const swap = bridgeRelayerService.getSwap(req.params.id); - if (!swap) return res.status(404).json({ error: 'Swap not found' }); - res.json(swap); + '/estimate', + asyncHandler(async (_req, res) => { + const estimate = estimateGas(); + res.json({ success: true, data: estimate }); }) ); +// ── EVM Relay Endpoints ────────────────────────────────────────────────────── + +const evmForwardRequestSchema = z.object({ + from: z.string().min(42).max(42), + to: z.string().min(42).max(42), + value: z.string(), + gas: z.string(), + nonce: z.string(), + deadline: z.number().int().positive(), + data: z.string(), +}); + +const evmRelayRequestSchema = z.object({ + request: evmForwardRequestSchema, + signature: z.string().regex(/^0x[0-9a-fA-F]{130}$/, 'Signature must be 65-byte hex with 0x prefix'), + chainId: z.number().int().positive(), + feeToken: z.string().min(42).max(42).optional(), +}); + +const evmGasQuoteQuerySchema = z.object({ + chainId: z.coerce.number().int().positive(), + gasLimit: z.coerce.number().int().positive().default(200_000), + token: z.string().min(42).max(42).optional(), +}); + +/** + * POST /api/v1/relayer/evm/relay + * Submit an EVM meta-transaction via the MetaTxForwarder. + */ relayerRouter.post( - '/swaps/:id/reveal', - validate(revealSecretSchema), + '/evm/relay', + validate(evmRelayRequestSchema), asyncHandler(async (req, res) => { - const swap = await bridgeRelayerService.revealSecret(req.params.id, req.body.secret); - if (!swap) return res.status(400).json({ error: 'Swap not found or not in redeemable state' }); - res.json(swap); - }) -); + try { + const rpcUrl = process.env.EVM_RPC_URL ?? 'https://ethereum-rpc.publicnode.com'; + const forwarderAddress = process.env.EVM_FORWARDER_ADDRESS ?? ''; + const relayerPrivateKey = process.env.EVM_RELAYER_PRIVATE_KEY; -relayerRouter.get( - '/analytics', - asyncHandler(async (_req, res) => { - res.json(bridgeRelayerService.getAnalytics()); + if (!forwarderAddress) { + throw new AppError(503, 'EVM forwarder address not configured'); + } + + const body = req.body as z.infer; + const evmRequest: EVMRelayRequest = { + request: { + from: body.request.from, + to: body.request.to, + value: BigInt(body.request.value), + gas: BigInt(body.request.gas), + nonce: BigInt(body.request.nonce), + deadline: body.request.deadline, + data: body.request.data, + }, + signature: body.signature, + chainId: body.chainId, + feeToken: body.feeToken, + }; + + const result = await relayEVMTransaction({ + request: evmRequest, + rpcUrl, + forwarderAddress, + relayerPrivateKey, + }); + + res.status(200).json({ success: true, data: result }); + } catch (err) { + if (err instanceof EVMRelayError) { + res.status(err.statusCode).json({ + success: false, + error: { code: err.code, message: err.message }, + }); + return; + } + throw err; + } }) ); +/** + * GET /api/v1/relayer/evm/gas-quote + * Get a gas quote for an EVM meta-transaction. + */ relayerRouter.get( - '/config', - asyncHandler(async (_req, res) => { - res.json(bridgeRelayerService.getConfig()); + '/evm/gas-quote', + asyncHandler(async (req, res) => { + const parsed = evmGasQuoteQuerySchema.parse(req.query); + const rpcUrl = process.env.EVM_RPC_URL ?? 'https://ethereum-rpc.publicnode.com'; + + const quote = await generateGasQuote({ + rpcUrl, + chainId: parsed.chainId, + gasLimit: parsed.gasLimit, + token: parsed.token, + ttlSeconds: 300, + }); + + res.json({ + success: true, + data: { + baseFee: quote.baseFee.toString(), + priorityFee: quote.priorityFee.toString(), + maxFeePerGas: quote.maxFeePerGas.toString(), + estimatedGasCostWei: quote.estimatedGasCostWei.toString(), + tokenFee: quote.tokenFee?.toString(), + token: quote.token, + validUntil: quote.validUntil, + }, + }); }) ); -relayerRouter.post( - '/config', - validate(updateConfigSchema), +/** + * GET /api/v1/relayer/evm/nonce/:address + * Get the current forwarder nonce for an address. + */ +relayerRouter.get( + '/evm/nonce/:address', asyncHandler(async (req, res) => { - res.json(bridgeRelayerService.updateConfig(req.body)); - }) -); + const { address } = req.params; + const rpcUrl = process.env.EVM_RPC_URL ?? 'https://ethereum-rpc.publicnode.com'; + const forwarderAddress = process.env.EVM_FORWARDER_ADDRESS ?? ''; -relayerRouter.post( - '/start', - asyncHandler(async (_req, res) => { - bridgeRelayerService.start(); - res.json({ status: 'started' }); - }) -); + if (!forwarderAddress) { + throw new AppError(503, 'EVM forwarder address not configured'); + } -relayerRouter.post( - '/stop', - asyncHandler(async (_req, res) => { - bridgeRelayerService.stop(); - res.json({ status: 'stopped' }); + const nonce = await getForwarderNonce({ rpcUrl, forwarderAddress, userAddress: address }); + res.json({ success: true, data: { address, nonce } }); }) ); diff --git a/backend/src/routes/sessions.ts b/backend/src/routes/sessions.ts index b0b1fd55..a4c08baa 100644 --- a/backend/src/routes/sessions.ts +++ b/backend/src/routes/sessions.ts @@ -9,8 +9,6 @@ import { createSession } from '../services/session.js'; import { AppError } from '../middleware/errorHandler.js'; -import { bruteForceProtection, recordLoginAttempt } from '../middleware/brute-force.js'; -import { lockoutManager } from '../services/auth/lockout-manager.js'; export const sessionsRouter = Router(); @@ -33,9 +31,7 @@ sessionsRouter.get('/history', asyncHandler(async (req, res) => { })); // Create a new session (Mock login) -sessionsRouter.post('/login', bruteForceProtection({ - accountResolver: (req) => String(req.headers['x-user-id'] ?? req.body?.email ?? 'user_default'), -}), asyncHandler(async (req, res) => { +sessionsRouter.post('/login', asyncHandler(async (req, res) => { const userId = getUserId(req); const { deviceId, browser, os } = req.body; @@ -47,40 +43,10 @@ sessionsRouter.post('/login', bruteForceProtection({ os: os || 'unknown', ip }); - - await recordLoginAttempt(req, true); res.json({ session }); })); -sessionsRouter.post('/login/failure', bruteForceProtection({ - accountResolver: (req) => String(req.headers['x-user-id'] ?? req.body?.email ?? 'user_default'), -}), asyncHandler(async (req, res) => { - const result = await recordLoginAttempt(req, false, 'invalid_credentials'); - res.status(result.lockedUntil ? 423 : 401).json({ - error: result.lockedUntil ? 'Account locked' : 'Invalid credentials', - lockedUntil: result.lockedUntil ? new Date(result.lockedUntil).toISOString() : undefined, - captchaRequired: res.locals.lockoutStatus?.captchaRequired ?? false, - unlockToken: process.env.NODE_ENV === 'production' ? undefined : result.unlockToken, - }); -})); - -sessionsRouter.post('/unlock', asyncHandler(async (req, res) => { - const userId = String(req.body?.userId ?? getUserId(req)); - const unlocked = lockoutManager.unlockAccount(userId, typeof req.body?.token === 'string' ? req.body.token : undefined); - if (!unlocked) throw new AppError(404, 'No lockout found for account', 'LOCKOUT_NOT_FOUND'); - res.json({ success: true }); -})); - -// Terminate all other sessions -sessionsRouter.delete('/others/:currentId', asyncHandler(async (req, res) => { - const userId = getUserId(req); - const currentId = req.params.currentId as string; - - const count = terminateOtherSessions(userId, currentId); - res.json({ success: true, terminatedCount: count }); -})); - // Terminate a specific session sessionsRouter.delete('/:id', asyncHandler(async (req, res) => { const id = req.params.id as string; @@ -93,6 +59,15 @@ sessionsRouter.delete('/:id', asyncHandler(async (req, res) => { res.json({ success: true }); })); +// Terminate all other sessions +sessionsRouter.delete('/others/:currentId', asyncHandler(async (req, res) => { + const userId = getUserId(req); + const currentId = req.params.currentId as string; + + const count = terminateOtherSessions(userId, currentId); + res.json({ success: true, terminatedCount: count }); +})); + // Trust a device sessionsRouter.post('/:id/trust', asyncHandler(async (req, res) => { const id = req.params.id as string; diff --git a/backend/src/routes/sla.ts b/backend/src/routes/sla.ts index 69007d9c..6023f919 100644 --- a/backend/src/routes/sla.ts +++ b/backend/src/routes/sla.ts @@ -19,13 +19,8 @@ slaRouter.get( const endpoint = req.query.endpoint as string | undefined; const metrics = slaTracker.getMetrics(endpoint); - let data = metrics; - if (metrics instanceof Map) { - data = Object.fromEntries(metrics); - } - res.json({ - data, + data: metrics, timestamp: new Date(), }); }) diff --git a/backend/src/routes/subscriptions.ts b/backend/src/routes/subscriptions.ts index 271076ea..e59261ea 100644 --- a/backend/src/routes/subscriptions.ts +++ b/backend/src/routes/subscriptions.ts @@ -1,547 +1,116 @@ -import { Router } from 'express'; -import { z } from 'zod'; -import { PrismaClient } from '@prisma/client'; -import * as stripeService from '../services/stripe.js'; -import { AppError } from '../middleware/errorHandler.js'; +import { Router, Request, Response } from 'express'; +import { asyncHandler } from '../middleware/errorHandler.js'; +import { prisma } from '../config/database.js'; -const router = Router(); -const prisma = new PrismaClient(); +export const subscriptionsRouter = Router(); -// ── Validation Schemas ─────────────────────────────────────────────────────── +subscriptionsRouter.get('/export/csv', asyncHandler(async (req: Request, res: Response) => { + const { merchantId, startDate, endDate } = req.query; -const CreateSubscriptionSchema = z.object({ - planId: z.string().uuid(), - userId: z.string().uuid(), - paymentMethodId: z.string().optional(), -}); - -const UpdateSubscriptionSchema = z.object({ - planId: z.string().uuid().optional(), - cancelAtPeriodEnd: z.boolean().optional(), -}); - -const RecordUsageSchema = z.object({ - metricType: z.enum(['api_calls', 'storage_gb', 'compute_hours', 'transactions', 'custom']), - quantity: z.number().int().positive(), - metadata: z.record(z.string()).optional(), -}); - -// ── Routes ─────────────────────────────────────────────────────────────────── - -/** - * POST /api/subscriptions - * Create a new subscription for a user - */ -router.post('/', async (req, res, next) => { - try { - const { planId, userId, paymentMethodId } = CreateSubscriptionSchema.parse(req.body); - const tenantId = req.headers['x-tenant-id'] as string; - - if (!tenantId) { - throw new AppError(400, 'Tenant ID required', 'TENANT_ID_REQUIRED'); - } - - // Get plan details - const plan = await prisma.subscriptionPlan.findFirst({ - where: { id: planId, tenantId, isActive: true, deletedAt: null }, - include: { meteredPricing: true }, - }); - - if (!plan) { - throw new AppError(404, 'Plan not found', 'PLAN_NOT_FOUND'); - } - - // Get or create Stripe customer - const user = await prisma.user.findUnique({ where: { id: userId } }); - if (!user) { - throw new AppError(404, 'User not found', 'USER_NOT_FOUND'); - } - - let stripeCustomerId = user.walletAddress; // Temporary - should store in separate field - - // Create Stripe customer if doesn't exist - const stripeCustomer = await stripeService.createCustomer(user.email, `User ${userId}`); - stripeCustomerId = stripeCustomer.id; - - // Create Stripe subscription - const stripeSubscription = await stripeService.createSubscription({ - customerId: stripeCustomerId, - priceId: plan.stripePriceId!, - trialPeriodDays: plan.trialDays > 0 ? plan.trialDays : undefined, - metadata: { - planId, - userId, - tenantId, - }, - }); - - // Create subscription record - const now = new Date(); - const periodEnd = new Date(stripeSubscription.current_period_end * 1000); - const subscription = await prisma.subscription.create({ - data: { - tenantId, - userId, - planId, - stripeSubscriptionId: stripeSubscription.id, - stripeCustomerId, - status: stripeSubscription.status === 'trialing' ? 'trialing' : 'active', - currentPeriodStart: now, - currentPeriodEnd: periodEnd, - trialStart: plan.trialDays > 0 ? now : null, - trialEnd: plan.trialDays > 0 ? new Date(now.getTime() + plan.trialDays * 24 * 60 * 60 * 1000) : null, - }, - include: { - plan: { - include: { meteredPricing: true }, - }, - }, - }); - - // Create usage alerts at 80% and 100% - for (const pricing of plan.meteredPricing) { - await prisma.usageAlert.createMany({ - data: [ - { - subscriptionId: subscription.id, - tenantId, - metricType: pricing.metricType, - threshold: 80, - }, - { - subscriptionId: subscription.id, - tenantId, - metricType: pricing.metricType, - threshold: 100, - }, - ], - }); - } - - res.status(201).json({ - success: true, - data: subscription, - }); - } catch (error) { - next(error); - } -}); - -/** - * GET /api/subscriptions - * List all subscriptions for a tenant - */ -router.get('/', async (req, res, next) => { - try { - const tenantId = req.headers['x-tenant-id'] as string; - const userId = req.query.userId as string | undefined; - - if (!tenantId) { - throw new AppError(400, 'Tenant ID required', 'TENANT_ID_REQUIRED'); - } - - const subscriptions = await prisma.subscription.findMany({ - where: { - tenantId, - userId, - deletedAt: null, - }, - include: { - plan: { - include: { meteredPricing: true }, - }, - }, - orderBy: { createdAt: 'desc' }, - }); - - res.json({ - success: true, - data: subscriptions, - }); - } catch (error) { - next(error); - } -}); - -/** - * GET /api/subscriptions/:id - * Get subscription details with current usage - */ -router.get('/:id', async (req, res, next) => { - try { - const { id } = req.params; - const tenantId = req.headers['x-tenant-id'] as string; - - if (!tenantId) { - throw new AppError(400, 'Tenant ID required', 'TENANT_ID_REQUIRED'); - } - - const subscription = await prisma.subscription.findFirst({ - where: { id, tenantId, deletedAt: null }, - include: { - plan: { - include: { meteredPricing: true }, - }, - usageRecords: { - where: { - timestamp: { - gte: new Date(Date.now() - 30 * 24 * 60 * 60 * 1000), // Last 30 days - }, - }, - orderBy: { timestamp: 'desc' }, - take: 100, - }, - }, - }); - - if (!subscription) { - throw new AppError(404, 'Subscription not found', 'SUBSCRIPTION_NOT_FOUND'); - } - - // Calculate current period usage - const currentPeriodUsage = await prisma.usageRecord.groupBy({ - by: ['metricType'], - where: { - subscriptionId: id, - timestamp: { - gte: subscription.currentPeriodStart, - lte: subscription.currentPeriodEnd, - }, - }, - _sum: { - quantity: true, - }, - }); - - res.json({ - success: true, - data: { - ...subscription, - currentPeriodUsage: currentPeriodUsage.map(u => ({ - metricType: u.metricType, - totalQuantity: u._sum.quantity || 0, - })), - }, - }); - } catch (error) { - next(error); - } -}); - -/** - * PATCH /api/subscriptions/:id - * Update subscription (upgrade/downgrade plan or cancel) - */ -router.patch('/:id', async (req, res, next) => { - try { - const { id } = req.params; - const tenantId = req.headers['x-tenant-id'] as string; - const updates = UpdateSubscriptionSchema.parse(req.body); - - if (!tenantId) { - throw new AppError(400, 'Tenant ID required', 'TENANT_ID_REQUIRED'); - } - - const subscription = await prisma.subscription.findFirst({ - where: { id, tenantId, deletedAt: null }, - }); - - if (!subscription) { - throw new AppError(404, 'Subscription not found', 'SUBSCRIPTION_NOT_FOUND'); - } - - // Handle plan change - if (updates.planId) { - const newPlan = await prisma.subscriptionPlan.findFirst({ - where: { id: updates.planId, tenantId, isActive: true, deletedAt: null }, - }); - - if (!newPlan) { - throw new AppError(404, 'New plan not found', 'PLAN_NOT_FOUND'); - } - - // Update Stripe subscription - if (subscription.stripeSubscriptionId && newPlan.stripePriceId) { - await stripeService.updateSubscription(subscription.stripeSubscriptionId, { - items: [{ - id: subscription.stripeSubscriptionId, - price: newPlan.stripePriceId, - }], - proration_behavior: 'create_prorations', - }); - } - - await prisma.subscription.update({ - where: { id }, - data: { planId: updates.planId }, - }); - } - - // Handle cancellation - if (updates.cancelAtPeriodEnd !== undefined) { - if (subscription.stripeSubscriptionId) { - await stripeService.cancelSubscription( - subscription.stripeSubscriptionId, - updates.cancelAtPeriodEnd - ); - } - - await prisma.subscription.update({ - where: { id }, - data: { - cancelAtPeriodEnd: updates.cancelAtPeriodEnd, - canceledAt: updates.cancelAtPeriodEnd ? new Date() : null, - }, - }); - } - - const updatedSubscription = await prisma.subscription.findUnique({ - where: { id }, - include: { plan: true }, - }); - - res.json({ - success: true, - data: updatedSubscription, - }); - } catch (error) { - next(error); - } -}); - -/** - * DELETE /api/subscriptions/:id - * Cancel subscription immediately - */ -router.delete('/:id', async (req, res, next) => { - try { - const { id } = req.params; - const tenantId = req.headers['x-tenant-id'] as string; - - if (!tenantId) { - throw new AppError(400, 'Tenant ID required', 'TENANT_ID_REQUIRED'); - } - - const subscription = await prisma.subscription.findFirst({ - where: { id, tenantId, deletedAt: null }, - }); - - if (!subscription) { - throw new AppError(404, 'Subscription not found', 'SUBSCRIPTION_NOT_FOUND'); - } - - // Cancel in Stripe - if (subscription.stripeSubscriptionId) { - await stripeService.cancelSubscription(subscription.stripeSubscriptionId, false); - } - - // Soft delete - await prisma.subscription.update({ - where: { id }, - data: { - status: 'canceled', - canceledAt: new Date(), - deletedAt: new Date(), - }, - }); - - res.json({ - success: true, - message: 'Subscription cancelled', - }); - } catch (error) { - next(error); - } -}); - -/** - * POST /api/subscriptions/:id/usage - * Record usage for metered billing - */ -router.post('/:id/usage', async (req, res, next) => { - try { - const { id } = req.params; - const tenantId = req.headers['x-tenant-id'] as string; - const { metricType, quantity, metadata } = RecordUsageSchema.parse(req.body); - - if (!tenantId) { - throw new AppError(400, 'Tenant ID required', 'TENANT_ID_REQUIRED'); - } - - const subscription = await prisma.subscription.findFirst({ - where: { id, tenantId, deletedAt: null, status: { in: ['active', 'trialing'] } }, - include: { plan: { include: { meteredPricing: true } } }, - }); - - if (!subscription) { - throw new AppError(404, 'Active subscription not found', 'SUBSCRIPTION_NOT_FOUND'); - } - - // Verify metric type is configured for this plan - const metricConfig = subscription.plan.meteredPricing.find(m => m.metricType === metricType); - if (!metricConfig) { - throw new AppError(400, 'Metric type not configured for this plan', 'METRIC_NOT_CONFIGURED'); - } - - // Record usage - const usageRecord = await prisma.usageRecord.create({ - data: { - subscriptionId: id, - tenantId, - metricType, - quantity, - metadata, - timestamp: new Date(), - }, - }); - - // Check if we need to trigger alerts - const usageLimits = subscription.plan.usageLimits as Record | null; - if (usageLimits && usageLimits[metricType]) { - const currentUsage = await prisma.usageRecord.aggregate({ - where: { - subscriptionId: id, - metricType, - timestamp: { - gte: subscription.currentPeriodStart, - lte: subscription.currentPeriodEnd, - }, - }, - _sum: { quantity: true }, - }); - - const totalUsage = currentUsage._sum.quantity || 0; - const limit = usageLimits[metricType]; - const percentage = (totalUsage / limit) * 100; - - // Trigger alerts at 80% and 100% - for (const threshold of [80, 100]) { - if (percentage >= threshold) { - await prisma.usageAlert.updateMany({ - where: { - subscriptionId: id, - metricType, - threshold, - triggered: false, - }, - data: { - triggered: true, - triggeredAt: new Date(), - }, - }); - } - } - } - - res.status(201).json({ - success: true, - data: usageRecord, - }); - } catch (error) { - next(error); - } -}); - -/** - * GET /api/subscriptions/:id/usage/summary - * Get usage summary for current period - */ -router.get('/:id/usage/summary', async (req, res, next) => { - try { - const { id } = req.params; - const tenantId = req.headers['x-tenant-id'] as string; - - if (!tenantId) { - throw new AppError(400, 'Tenant ID required', 'TENANT_ID_REQUIRED'); - } - - const subscription = await prisma.subscription.findFirst({ - where: { id, tenantId, deletedAt: null }, - include: { plan: { include: { meteredPricing: true } } }, - }); - - if (!subscription) { - throw new AppError(404, 'Subscription not found', 'SUBSCRIPTION_NOT_FOUND'); - } - - const usageSummary = await prisma.usageRecord.groupBy({ - by: ['metricType'], - where: { - subscriptionId: id, - timestamp: { - gte: subscription.currentPeriodStart, - lte: subscription.currentPeriodEnd, - }, - }, - _sum: { quantity: true }, - }); - - const usageLimits = subscription.plan.usageLimits as Record | null; - - const summary = usageSummary.map(u => { - const totalUsage = u._sum.quantity || 0; - const limit = usageLimits?.[u.metricType] || 0; - const percentage = limit > 0 ? (totalUsage / limit) * 100 : 0; - - return { - metricType: u.metricType, - totalUsage, - limit, - percentage: Math.round(percentage * 100) / 100, - remaining: Math.max(0, limit - totalUsage), - }; - }); - - res.json({ - success: true, - data: { - subscription: { - id: subscription.id, - planName: subscription.plan.name, - currentPeriodStart: subscription.currentPeriodStart, - currentPeriodEnd: subscription.currentPeriodEnd, - }, - usage: summary, - }, - }); - } catch (error) { - next(error); + const whereClause: any = {}; + if (merchantId) whereClause.merchantId = merchantId as string; + if (startDate || endDate) { + whereClause.createdAt = {}; + if (startDate) whereClause.createdAt.gte = new Date(startDate as string); + if (endDate) whereClause.createdAt.lte = new Date(endDate as string); } -}); - -/** - * GET /api/subscriptions/:id/invoices - * Get invoices for a subscription - */ -router.get('/:id/invoices', async (req, res, next) => { - try { - const { id } = req.params; - const tenantId = req.headers['x-tenant-id'] as string; - - if (!tenantId) { - throw new AppError(400, 'Tenant ID required', 'TENANT_ID_REQUIRED'); - } - - const subscription = await prisma.subscription.findFirst({ - where: { id, tenantId, deletedAt: null }, - }); - - if (!subscription) { - throw new AppError(404, 'Subscription not found', 'SUBSCRIPTION_NOT_FOUND'); - } - - const invoices = await prisma.subscriptionInvoice.findMany({ - where: { subscriptionId: id }, - orderBy: { createdAt: 'desc' }, - }); - res.json({ - success: true, - data: invoices, - }); - } catch (error) { - next(error); + const subscriptions = await prisma.paymentLink.findMany({ + where: whereClause, + orderBy: { createdAt: 'desc' }, + }); + + const headers = ['ID', 'Merchant ID', 'Amount', 'Currency', 'Status', 'Created At', 'Updated At']; + const rows = subscriptions.map(s => [ + s.id, + s.merchantId, + s.amount?.toString() || 'N/A', + s.currency, + s.status, + s.createdAt.toISOString(), + s.updatedAt.toISOString(), + ]); + + const csv = [headers, ...rows].map(r => r.map(v => `"${v}"`).join(',')).join('\n'); + + res.setHeader('Content-Type', 'text/csv'); + res.setHeader('Content-Disposition', `attachment; filename="subscriptions-${Date.now()}.csv"`); + res.status(200).send(csv); +})); + +subscriptionsRouter.get('/export/json', asyncHandler(async (req: Request, res: Response) => { + const { merchantId, startDate, endDate } = req.query; + + const whereClause: any = {}; + if (merchantId) whereClause.merchantId = merchantId as string; + if (startDate || endDate) { + whereClause.createdAt = {}; + if (startDate) whereClause.createdAt.gte = new Date(startDate as string); + if (endDate) whereClause.createdAt.lte = new Date(endDate as string); } -}); -export default router; + const subscriptions = await prisma.paymentLink.findMany({ + where: whereClause, + orderBy: { createdAt: 'desc' }, + }); + + res.setHeader('Content-Type', 'application/json'); + res.setHeader('Content-Disposition', `attachment; filename="subscriptions-${Date.now()}.json"`); + res.status(200).json({ + total: subscriptions.length, + data: subscriptions, + exportedAt: new Date().toISOString(), + }); +})); + +subscriptionsRouter.get('/:merchantId', asyncHandler(async (req: Request, res: Response) => { + const { merchantId } = req.params; + const { limit = '50', offset = '0' } = req.query; + + const subscriptions = await prisma.paymentLink.findMany({ + where: { merchantId }, + take: Math.min(Number(limit), 100), + skip: Number(offset), + orderBy: { createdAt: 'desc' }, + }); + + const total = await prisma.paymentLink.count({ where: { merchantId } }); + + res.status(200).json({ + total, + limit: Number(limit), + offset: Number(offset), + data: subscriptions, + }); +})); + +subscriptionsRouter.get('/:merchantId/analytics', asyncHandler(async (req: Request, res: Response) => { + const { merchantId } = req.params; + + const subscriptions = await prisma.paymentLink.findMany({ + where: { merchantId }, + }); + + const active = subscriptions.filter(s => s.status === 'active').length; + const expired = subscriptions.filter(s => s.status === 'expired').length; + const used = subscriptions.filter(s => s.status === 'used').length; + + const totalRevenue = subscriptions + .filter(s => s.amount && s.status === 'used') + .reduce((sum, s) => sum + Number(s.amount || 0), 0); + + res.status(200).json({ + merchantId, + totalSubscriptions: subscriptions.length, + activeLinks: active, + expiredLinks: expired, + usedLinks: used, + totalRevenue, + byStatus: { + active, + expired, + used, + disabled: subscriptions.filter(s => s.status === 'disabled').length, + }, + }); +})); diff --git a/backend/src/routes/tax.ts b/backend/src/routes/tax.ts index 86f2ab9d..495a61cf 100644 --- a/backend/src/routes/tax.ts +++ b/backend/src/routes/tax.ts @@ -5,24 +5,10 @@ // GET /api/v1/tax/nexus — multi-jurisdiction economic-nexus detection // GET /api/v1/tax/export — CSV export (summary | 1099-k) // POST /api/v1/tax/track — ingest a taxable transaction -// -// Jurisdiction-aware tax rule engine routes — Issue #627 -// POST /api/v1/tax/jurisdiction-rules — create a jurisdiction tax rule -// GET /api/v1/tax/jurisdiction-rules — list/filter jurisdiction tax rules -// PATCH /api/v1/tax/jurisdiction-rules/:id — update/deactivate a rule -// POST /api/v1/tax/calculate — automated tax calculation for a payment/amount -// GET /api/v1/tax/reporting/:jurisdiction — tax reporting for one jurisdiction -// GET /api/v1/tax/compliance — compliance check findings -// POST /api/v1/tax/exemptions — create a tax exemption -// GET /api/v1/tax/exemptions — list tax exemptions -// DELETE /api/v1/tax/exemptions/:id — revoke a tax exemption -// GET /api/v1/tax/audit-trail — tax calculation audit trail import { Router, Request } from 'express'; import { AppError, asyncHandler } from '../middleware/errorHandler.js'; import { taxReportService } from '../services/tax-reports.js'; -import { taxRuleEngine, TaxRuleType } from '../services/tax/index.js'; -import type { Result } from '../lib/result.js'; export const taxRouter = Router(); @@ -149,258 +135,3 @@ taxRouter.post( res.status(201).json({ ok: true }); }) ); - -// ─── Jurisdiction-aware tax rule engine — Issue #627 ──────────────────────── - -function requireTenantId(req: Request): string { - const tenantId = req.query.tenantId ?? req.body?.tenantId; - if (typeof tenantId !== 'string' || tenantId.length === 0) { - throw new AppError(400, 'tenantId is required', 'VALIDATION_ERROR'); - } - return tenantId; -} - -const VALID_RULE_TYPES: TaxRuleType[] = ['vat', 'gst', 'sales_tax', 'withholding']; - -function parseRuleType(value: unknown): TaxRuleType | undefined { - if (value === undefined || value === null || value === '') return undefined; - if (typeof value === 'string' && (VALID_RULE_TYPES as string[]).includes(value)) { - return value as TaxRuleType; - } - throw new AppError(400, `ruleType must be one of ${VALID_RULE_TYPES.join(', ')}`, 'VALIDATION_ERROR'); -} - -function parseDate(value: unknown, field: string): Date | undefined { - if (value === undefined || value === null || value === '') return undefined; - if (typeof value !== 'string') { - throw new AppError(400, `${field} must be an ISO date string`, 'VALIDATION_ERROR'); - } - const date = new Date(value); - if (Number.isNaN(date.getTime())) { - throw new AppError(400, `${field} is not a valid date`, 'VALIDATION_ERROR'); - } - return date; -} - -/** Unwraps a service Result, translating a failure into the matching AppError. */ -function unwrap(result: Result): T { - if (result.ok) return result.value; - throw new AppError(result.error.statusCode, result.error.message, result.error.code, result.error.details); -} - -taxRouter.post( - '/jurisdiction-rules', - asyncHandler(async (req, res) => { - const body = req.body as Record; - const { jurisdiction, name, rate } = body; - const ruleType = parseRuleType(body.ruleType); - - if (typeof jurisdiction !== 'string' || jurisdiction.length === 0) { - throw new AppError(400, 'jurisdiction is required', 'VALIDATION_ERROR'); - } - if (typeof name !== 'string' || name.length === 0) { - throw new AppError(400, 'name is required', 'VALIDATION_ERROR'); - } - if (!ruleType) { - throw new AppError(400, 'ruleType is required (vat | gst | sales_tax | withholding)', 'VALIDATION_ERROR'); - } - if (typeof rate !== 'number' || Number.isNaN(rate)) { - throw new AppError(400, 'rate is required (fraction, e.g. 0.2)', 'VALIDATION_ERROR'); - } - - const result = await taxRuleEngine.createRule({ - jurisdiction, - name, - ruleType, - rate, - appliesAbove: typeof body.appliesAbove === 'number' ? body.appliesAbove : null, - active: typeof body.active === 'boolean' ? body.active : undefined, - effectiveFrom: parseDate(body.effectiveFrom, 'effectiveFrom'), - effectiveTo: parseDate(body.effectiveTo, 'effectiveTo'), - metadata: (body.metadata as Record | undefined) ?? null, - }); - res.status(201).json({ data: unwrap(result) }); - }) -); - -taxRouter.get( - '/jurisdiction-rules', - asyncHandler(async (req, res) => { - const jurisdiction = typeof req.query.jurisdiction === 'string' ? req.query.jurisdiction : undefined; - const ruleType = parseRuleType(req.query.ruleType); - const activeOnly = String(req.query.activeOnly).toLowerCase() === 'true'; - const at = parseDate(req.query.at, 'at'); - - const result = await taxRuleEngine.listRules({ jurisdiction, ruleType, activeOnly, at }); - res.json({ data: unwrap(result) }); - }) -); - -taxRouter.patch( - '/jurisdiction-rules/:id', - asyncHandler(async (req, res) => { - const body = req.body as Record; - const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id; - - const result = await taxRuleEngine.updateRule(id, { - name: typeof body.name === 'string' ? body.name : undefined, - ruleType: parseRuleType(body.ruleType), - rate: typeof body.rate === 'number' ? body.rate : undefined, - appliesAbove: - body.appliesAbove === null ? null : typeof body.appliesAbove === 'number' ? body.appliesAbove : undefined, - active: typeof body.active === 'boolean' ? body.active : undefined, - effectiveFrom: parseDate(body.effectiveFrom, 'effectiveFrom'), - effectiveTo: body.effectiveTo === null ? null : parseDate(body.effectiveTo, 'effectiveTo'), - metadata: body.metadata === null ? null : (body.metadata as Record | undefined), - }); - res.json({ data: unwrap(result) }); - }) -); - -taxRouter.post( - '/calculate', - asyncHandler(async (req, res) => { - const tenantId = requireTenantId(req); - const merchantId = requireMerchantId(req); - const body = req.body as Record; - const { jurisdiction, amount, currency, paymentId } = body; - - if (typeof jurisdiction !== 'string' || jurisdiction.length === 0) { - throw new AppError(400, 'jurisdiction is required', 'VALIDATION_ERROR'); - } - if (typeof amount !== 'number' || Number.isNaN(amount) || amount < 0) { - throw new AppError(400, 'amount is required and must be a non-negative number', 'VALIDATION_ERROR'); - } - if (typeof currency !== 'string' || currency.length === 0) { - throw new AppError(400, 'currency is required', 'VALIDATION_ERROR'); - } - - const result = await taxRuleEngine.calculate({ - tenantId, - merchantId, - jurisdiction, - amount, - currency, - paymentId: typeof paymentId === 'string' ? paymentId : undefined, - at: parseDate(body.at, 'at'), - }); - res.json({ data: unwrap(result) }); - }) -); - -taxRouter.get( - '/reporting/:jurisdiction', - asyncHandler(async (req, res) => { - const merchantId = requireMerchantId(req); - const jurisdiction = Array.isArray(req.params.jurisdiction) ? req.params.jurisdiction[0] : req.params.jurisdiction; - const year = parseYear(req); - - const summary = taxReportService.getYearSummary(merchantId, year); - const breakdown = summary.byJurisdiction.find( - (j) => j.jurisdiction.toUpperCase() === jurisdiction.toUpperCase() - ) ?? { jurisdiction, gross: 0, refunds: 0, net: 0, count: 0 }; - - const rulesResult = await taxRuleEngine.listRules({ jurisdiction, activeOnly: true, at: new Date() }); - const activeRules = rulesResult.ok ? rulesResult.value : []; - - res.json({ - data: { - merchantId, - jurisdiction, - year, - reportingCurrency: summary.reportingCurrency, - breakdown, - activeRules, - warnings: summary.warnings, - retention: summary.retention, - generatedAt: summary.generatedAt, - }, - }); - }) -); - -taxRouter.get( - '/compliance', - asyncHandler(async (req, res) => { - const tenantId = requireTenantId(req); - const merchantId = requireMerchantId(req); - const jurisdiction = typeof req.query.jurisdiction === 'string' ? req.query.jurisdiction : undefined; - - const result = await taxRuleEngine.checkCompliance({ tenantId, merchantId, jurisdiction }); - res.json({ data: unwrap(result) }); - }) -); - -taxRouter.post( - '/exemptions', - asyncHandler(async (req, res) => { - const tenantId = requireTenantId(req); - const merchantId = requireMerchantId(req); - const body = req.body as Record; - const { jurisdiction, reason, certificateId } = body; - - if (typeof jurisdiction !== 'string' || jurisdiction.length === 0) { - throw new AppError(400, 'jurisdiction is required', 'VALIDATION_ERROR'); - } - if (typeof reason !== 'string' || reason.length === 0) { - throw new AppError(400, 'reason is required', 'VALIDATION_ERROR'); - } - - const result = await taxRuleEngine.createExemption({ - tenantId, - merchantId, - jurisdiction, - reason, - certificateId: typeof certificateId === 'string' ? certificateId : undefined, - validFrom: parseDate(body.validFrom, 'validFrom'), - validTo: parseDate(body.validTo, 'validTo'), - }); - res.status(201).json({ data: unwrap(result) }); - }) -); - -taxRouter.get( - '/exemptions', - asyncHandler(async (req, res) => { - const tenantId = typeof req.query.tenantId === 'string' ? req.query.tenantId : undefined; - const merchantId = typeof req.query.merchantId === 'string' ? req.query.merchantId : undefined; - const jurisdiction = typeof req.query.jurisdiction === 'string' ? req.query.jurisdiction : undefined; - const activeOnly = String(req.query.activeOnly).toLowerCase() === 'true'; - - const result = await taxRuleEngine.listExemptions({ tenantId, merchantId, jurisdiction, activeOnly }); - res.json({ data: unwrap(result) }); - }) -); - -taxRouter.delete( - '/exemptions/:id', - asyncHandler(async (req, res) => { - const id = Array.isArray(req.params.id) ? req.params.id[0] : req.params.id; - const result = await taxRuleEngine.revokeExemption(id); - res.json({ data: unwrap(result) }); - }) -); - -taxRouter.get( - '/audit-trail', - asyncHandler(async (req, res) => { - const tenantId = requireTenantId(req); - const merchantId = typeof req.query.merchantId === 'string' ? req.query.merchantId : undefined; - const jurisdiction = typeof req.query.jurisdiction === 'string' ? req.query.jurisdiction : undefined; - const since = parseDate(req.query.since, 'since'); - const until = parseDate(req.query.until, 'until'); - const limit = req.query.limit ? Number(req.query.limit) : undefined; - const offset = req.query.offset ? Number(req.query.offset) : undefined; - - const result = await taxRuleEngine.getAuditTrail({ - tenantId, - merchantId, - jurisdiction, - since, - until, - limit, - offset, - }); - res.json({ data: unwrap(result) }); - }) -); diff --git a/backend/src/routes/teams.ts b/backend/src/routes/teams.ts new file mode 100644 index 00000000..eb24a628 --- /dev/null +++ b/backend/src/routes/teams.ts @@ -0,0 +1,210 @@ +import { Router, Request, Response } from 'express'; +import { randomUUID } from 'node:crypto'; +import { asyncHandler } from '../middleware/errorHandler.js'; +import { prisma } from '../config/database.js'; + +export const teamsRouter = Router(); + +interface TeamRequest extends Request { + tenantId?: string; + userId?: string; +} + +interface TeamMember { + id: string; + email: string; + role: 'admin' | 'member' | 'viewer'; + joinedAt: Date; + status: 'active' | 'pending' | 'inactive'; +} + +interface Team { + id: string; + tenantId: string; + name: string; + description?: string; + owner: string; + memberCount: number; + createdAt: Date; + updatedAt: Date; +} + +teamsRouter.post('/', asyncHandler(async (req: TeamRequest, res: Response) => { + const { name, description } = req.body; + + if (!name || !req.tenantId) { + res.status(400).json({ error: 'Team name and tenantId are required' }); + return; + } + + const team: Team = { + id: randomUUID(), + tenantId: req.tenantId, + name, + description, + owner: req.userId || req.tenantId, + memberCount: 1, + createdAt: new Date(), + updatedAt: new Date(), + }; + + res.status(201).json(team); +})); + +teamsRouter.get('/', asyncHandler(async (req: TeamRequest, res: Response) => { + const { limit = '50', offset = '0' } = req.query; + + const users = await prisma.user.findMany({ + where: { tenantId: req.tenantId }, + take: Math.min(Number(limit), 100), + skip: Number(offset), + orderBy: { createdAt: 'desc' }, + }); + + const total = await prisma.user.count({ where: { tenantId: req.tenantId } }); + + const teams = users.map((u, idx) => ({ + id: `team-${idx}`, + tenantId: u.tenantId, + name: `Team ${idx + 1}`, + owner: u.id, + memberCount: 1, + createdAt: u.createdAt, + })); + + res.status(200).json({ + total, + limit: Number(limit), + offset: Number(offset), + teams, + }); +})); + +teamsRouter.get('/:teamId', asyncHandler(async (req: TeamRequest, res: Response) => { + const { teamId } = req.params; + + const user = await prisma.user.findFirst({ + where: { tenantId: req.tenantId, id: teamId }, + include: { payments: true, auditLogs: true }, + }); + + if (!user) { + res.status(404).json({ error: 'Team not found' }); + return; + } + + res.status(200).json({ + id: user.id, + tenantId: user.tenantId, + name: `Team ${user.email}`, + owner: user.id, + email: user.email, + walletAddress: user.walletAddress, + tier: user.tier, + memberCount: 1, + createdAt: user.createdAt, + }); +})); + +teamsRouter.post('/:teamId/members', asyncHandler(async (req: TeamRequest, res: Response) => { + const { teamId } = req.params; + const { email, role = 'member' } = req.body; + + if (!email || !['admin', 'member', 'viewer'].includes(role)) { + res.status(400).json({ error: 'Email and valid role are required' }); + return; + } + + const member: TeamMember = { + id: randomUUID(), + email, + role: role as 'admin' | 'member' | 'viewer', + joinedAt: new Date(), + status: 'pending', + }; + + res.status(201).json(member); +})); + +teamsRouter.get('/:teamId/members', asyncHandler(async (req: TeamRequest, res: Response) => { + const { teamId } = req.params; + const { limit = '50', offset = '0' } = req.query; + + const users = await prisma.user.findMany({ + where: { tenantId: req.tenantId }, + take: Math.min(Number(limit), 100), + skip: Number(offset), + }); + + const members = users.map(u => ({ + id: u.id, + email: u.email, + role: 'member', + joinedAt: u.createdAt, + status: 'active' as const, + walletAddress: u.walletAddress, + tier: u.tier, + })); + + res.status(200).json({ + teamId, + memberCount: members.length, + members, + }); +})); + +teamsRouter.put('/:teamId/members/:memberId', asyncHandler(async (req: TeamRequest, res: Response) => { + const { teamId, memberId } = req.params; + const { role, status } = req.body; + + if (!role && !status) { + res.status(400).json({ error: 'Role or status is required' }); + return; + } + + const updatedMember: TeamMember = { + id: memberId, + email: `member-${memberId}@team.local`, + role: (role || 'member') as 'admin' | 'member' | 'viewer', + joinedAt: new Date(), + status: (status || 'active') as 'active' | 'pending' | 'inactive', + }; + + res.status(200).json(updatedMember); +})); + +teamsRouter.delete('/:teamId/members/:memberId', asyncHandler(async (req: TeamRequest, res: Response) => { + const { teamId, memberId } = req.params; + + res.status(200).json({ + message: 'Member removed from team', + teamId, + memberId, + }); +})); + +teamsRouter.post('/:teamId/invite', asyncHandler(async (req: TeamRequest, res: Response) => { + const { teamId } = req.params; + const { emails, role = 'member' } = req.body; + + if (!Array.isArray(emails) || emails.length === 0) { + res.status(400).json({ error: 'Emails array is required' }); + return; + } + + const invitations = emails.map(email => ({ + id: randomUUID(), + email, + role, + teamId, + status: 'pending', + sentAt: new Date(), + expiresAt: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000), + })); + + res.status(201).json({ + teamId, + invitationsCount: invitations.length, + invitations, + }); +})); diff --git a/backend/src/routes/verification.ts b/backend/src/routes/verification.ts index 95445a80..a0276651 100644 --- a/backend/src/routes/verification.ts +++ b/backend/src/routes/verification.ts @@ -2,7 +2,6 @@ import { Router } from 'express'; import { verifyWork, getVerification, - listVerifications, updateVerification, deleteVerification, } from '../services/verification.js'; @@ -166,14 +165,3 @@ verificationRouter.get( res.json(result); }) ); - -// List all verification results with optional project filter -verificationRouter.get( - '/', - cacheControl({ maxAge: CacheTTL.SHORT }), - asyncHandler(async (req, res) => { - const projectId = req.query.projectId ? String(req.query.projectId) : undefined; - const results = listVerifications(projectId); - res.json({ data: results, count: results.length }); - }) -); diff --git a/backend/src/routes/webhooks.ts b/backend/src/routes/webhooks.ts index a3c884a2..b4ab6a99 100644 --- a/backend/src/routes/webhooks.ts +++ b/backend/src/routes/webhooks.ts @@ -36,7 +36,6 @@ const webhookConfigSchema = z.object({ url: z.string().url(), secret: z.string().min(16), enabled: z.boolean().optional(), - encryptionPublicKey: z.string().optional(), }); const webhookEventSchema = z.object({ @@ -48,7 +47,7 @@ const webhookEventSchema = z.object({ // Schemas for signature verification const createSecretSchema = z.object({ - provider: z.enum(['stripe', 'paypal', 'github', 'custom', 'zapier', 'intercom']), + provider: z.enum(['stripe', 'paypal', 'github', 'custom']), secret: z.string().min(32, 'Secret must be at least 32 characters'), keyId: z.string().optional(), expiresAt: z.string().optional(), @@ -231,4 +230,4 @@ webhooksRouter.get( asyncHandler(async (_req, res) => { res.json({ data: listDeadLetterQueue() }); }) -); +); \ No newline at end of file diff --git a/backend/src/routes/websocket.ts b/backend/src/routes/websocket.ts index 2ea2cc78..3d461dcb 100644 --- a/backend/src/routes/websocket.ts +++ b/backend/src/routes/websocket.ts @@ -1,99 +1,13 @@ -/** - * Issue #823 — Real-time WebSocket API for live updates - * - * REST management routes for the WebSocket server. - * All mounted under /api/v1/ws - * - * GET /status — server health and connection metrics - * GET /channels — list of available broadcast channels - * POST /broadcast — internal/admin broadcast endpoint (admin-only in production) - */ - import { Router, Request, Response } from 'express'; import type { AgenticPayWebSocketServer } from '../websocket/server.js'; -import type { ConnectionManager } from '../websocket/connection-manager.js'; -import { liveBroadcast } from '../websocket/live-broadcast.js'; - -const WS_CHANNELS = [ - { - name: 'payment.events', - description: 'Payment lifecycle events: created, updated, settled, failed', - events: ['payment.created', 'payment.updated', 'payment.settled', 'payment.failed'], - }, - { - name: 'dispute.updates', - description: 'Dispute lifecycle events: opened, resolved, escalated', - events: ['dispute.opened', 'dispute.resolved', 'dispute.escalated'], - }, - { - name: 'analytics.updates', - description: 'Periodic analytics and connection metric snapshots', - events: ['analytics.snapshot'], - }, - { - name: 'indexer.all', - description: 'All Soroban / EVM indexer events across all contracts', - events: ['indexer.event'], - }, -] as const; -export function createWebSocketRouter( - wsServer: AgenticPayWebSocketServer, - connectionManager?: ConnectionManager, -) { +export function createWebSocketRouter(wsServer: AgenticPayWebSocketServer) { const router = Router(); - /** GET /status — server health and live metrics */ - router.get('/status', (_req: Request, res: Response) => { - const metrics = connectionManager - ? connectionManager.getAggregatedMetrics() - : wsServer.metrics; - res.status(200).json({ - status: 'ok', - websocketPath: '/ws', - channels: WS_CHANNELS.map((c) => c.name), - metrics, - timestamp: new Date().toISOString(), - }); - }); - - /** GET /channels — list all subscribable channels with descriptions */ - router.get('/channels', (_req: Request, res: Response) => { - res.status(200).json({ - data: WS_CHANNELS, - total: WS_CHANNELS.length, - note: 'Connect to ws[s]://HOST/ws and send {"type":"subscribe","channels":["payment.events"]}', - }); - }); - - /** - * POST /broadcast — admin broadcast (for testing / internal tooling) - * Body: { channel: string; type: string; payload?: unknown } - */ - router.post('/broadcast', (req: Request, res: Response) => { - const { channel, type, payload } = req.body as { - channel?: string; - type?: string; - payload?: unknown; - }; - - if (!channel || typeof channel !== 'string') { - res.status(400).json({ error: 'channel is required' }); - return; - } - if (!type || typeof type !== 'string') { - res.status(400).json({ error: 'type is required' }); - return; - } - - liveBroadcast.raw(channel, { type, payload }); - res.status(200).json({ - ok: true, - channel, - type, - sentAt: new Date().toISOString(), - }); + router.get('/metrics', (_req: Request, res: Response) => { + res.status(200).json(wsServer.metrics); }); return router; } + diff --git a/backend/src/routes/workspaces.ts b/backend/src/routes/workspaces.ts index 5e293fb4..0ff19bf3 100644 --- a/backend/src/routes/workspaces.ts +++ b/backend/src/routes/workspaces.ts @@ -1,220 +1,150 @@ import { Router, Request, Response } from 'express'; -import { AppError, asyncHandler } from '../middleware/errorHandler.js'; -import { validate } from '../middleware/validate.js'; -import { requirePermission, resolveWorkspace } from '../middleware/rbac.js'; -import { - createWorkspace, - getWorkspace, - getWorkspaceBySlug, - updateWorkspace, - deleteWorkspace, - listWorkspaces, - addMember, - updateMemberRole, - removeMember, - getMembers, - createInvitation, - acceptInvitation, - declineInvitation, - listInvitations, - getMemberRole, -} from '../services/workspaces.js'; +import { randomUUID } from 'node:crypto'; +import { asyncHandler } from '../middleware/errorHandler.js'; +import { prisma } from '../config/database.js'; export const workspacesRouter = Router(); -// ── Workspace CRUD ─────────────────────────────────────────────────────────── - -workspacesRouter.post( - '/', - asyncHandler(async (req: Request, res: Response) => { - const { name, description, logoUrl, settings } = req.body; - const userId = (req as any).user?.id || req.body.userId; - if (!userId) { - throw new AppError(401, 'Authentication required', 'UNAUTHORIZED'); - } - const workspace = createWorkspace({ name, description, logoUrl, ownerId: userId, settings }); - res.status(201).json({ data: workspace }); - }), -); - -workspacesRouter.get( - '/', - asyncHandler(async (req: Request, res: Response) => { - const userId = (req as any).user?.id || req.query.userId as string; - if (!userId) { - throw new AppError(401, 'Authentication required', 'UNAUTHORIZED'); - } - const workspaces = listWorkspaces(userId); - res.json({ data: workspaces, count: workspaces.length }); - }), -); - -workspacesRouter.get( - '/:workspaceId', - resolveWorkspace, - asyncHandler(async (req: Request, res: Response) => { - const workspaceId = req.params.workspaceId; - const workspace = getWorkspace(workspaceId); - if (!workspace) { - throw new AppError(404, 'Workspace not found', 'NOT_FOUND'); - } - res.json({ data: workspace }); - }), -); - -workspacesRouter.patch( - '/:workspaceId', - resolveWorkspace, - requirePermission('workspace:update'), - asyncHandler(async (req: Request, res: Response) => { - const workspaceId = req.params.workspaceId; - const { name, description, logoUrl, settings } = req.body; - const updated = updateWorkspace(workspaceId, { name, description, logoUrl, settings }); - if (!updated) { - throw new AppError(404, 'Workspace not found', 'NOT_FOUND'); - } - res.json({ data: updated }); - }), -); - -workspacesRouter.delete( - '/:workspaceId', - resolveWorkspace, - requirePermission('workspace:delete'), - asyncHandler(async (req: Request, res: Response) => { - const workspaceId = req.params.workspaceId; - const deleted = deleteWorkspace(workspaceId); - if (!deleted) { - throw new AppError(404, 'Workspace not found', 'NOT_FOUND'); - } - res.json({ data: { message: 'Workspace deleted' } }); - }), -); - -// ── Member Management ──────────────────────────────────────────────────────── - -workspacesRouter.get( - '/:workspaceId/members', - resolveWorkspace, - requirePermission('workspace:read'), - asyncHandler(async (req: Request, res: Response) => { - const workspaceId = req.params.workspaceId; - const members = getMembers(workspaceId); - res.json({ data: members, count: members.length }); - }), -); - -workspacesRouter.post( - '/:workspaceId/members', - resolveWorkspace, - requirePermission('workspace:manage_members'), - asyncHandler(async (req: Request, res: Response) => { - const workspaceId = req.params.workspaceId; - const { userId, role } = req.body; - if (!userId) { - throw new AppError(400, 'userId is required', 'VALIDATION_ERROR'); - } - const member = addMember(workspaceId, userId, role || 'member'); - if (!member) { - throw new AppError(404, 'Workspace not found', 'NOT_FOUND'); - } - res.status(201).json({ data: member }); - }), -); - -workspacesRouter.patch( - '/:workspaceId/members/:userId', - resolveWorkspace, - requirePermission('workspace:manage_members'), - asyncHandler(async (req: Request, res: Response) => { - const { workspaceId, userId } = req.params; - const { role } = req.body; - if (!role) { - throw new AppError(400, 'role is required', 'VALIDATION_ERROR'); - } - const updated = updateMemberRole(workspaceId, userId, role); - if (!updated) { - throw new AppError(404, 'Member not found', 'NOT_FOUND'); - } - res.json({ data: updated }); - }), -); - -workspacesRouter.delete( - '/:workspaceId/members/:userId', - resolveWorkspace, - requirePermission('workspace:manage_members'), - asyncHandler(async (req: Request, res: Response) => { - const { workspaceId, userId } = req.params; - const removed = removeMember(workspaceId, userId); - if (!removed) { - throw new AppError(404, 'Member not found', 'NOT_FOUND'); - } - res.json({ data: { message: 'Member removed' } }); - }), -); - -// ── Invitations ────────────────────────────────────────────────────────────── - -workspacesRouter.post( - '/:workspaceId/invitations', - resolveWorkspace, - requirePermission('workspace:manage_members'), - asyncHandler(async (req: Request, res: Response) => { - const workspaceId = req.params.workspaceId; - const { email, role } = req.body; - const invitedBy = (req as any).user?.id || req.body.invitedBy; - if (!email) { - throw new AppError(400, 'email is required', 'VALIDATION_ERROR'); - } - const invitation = createInvitation({ workspaceId, email, role: role || 'member', invitedBy }); - res.status(201).json({ data: invitation }); - }), -); - -workspacesRouter.get( - '/:workspaceId/invitations', - resolveWorkspace, - requirePermission('workspace:manage_members'), - asyncHandler(async (req: Request, res: Response) => { - const workspaceId = req.params.workspaceId; - const invitations = listInvitations(workspaceId); - res.json({ data: invitations, count: invitations.length }); - }), -); - -workspacesRouter.post( - '/invitations/:token/accept', - asyncHandler(async (req: Request, res: Response) => { - const token = req.params.token; - const userId = (req as any).user?.id || req.body.userId; - if (!userId) { - throw new AppError(401, 'Authentication required', 'UNAUTHORIZED'); - } - const member = acceptInvitation(token, userId); - res.json({ data: member }); - }), -); - -workspacesRouter.post( - '/invitations/:token/decline', - asyncHandler(async (req: Request, res: Response) => { - const token = req.params.token; - const invitation = declineInvitation(token); - res.json({ data: invitation }); - }), -); - -// ── Slug Lookup ────────────────────────────────────────────────────────────── - -workspacesRouter.get( - '/slug/:slug', - asyncHandler(async (req: Request, res: Response) => { - const slug = req.params.slug; - const workspace = getWorkspaceBySlug(slug); - if (!workspace) { - throw new AppError(404, 'Workspace not found', 'NOT_FOUND'); - } - res.json({ data: workspace }); - }), -); \ No newline at end of file +interface WorkspaceRequest extends Request { + tenantId?: string; +} + +workspacesRouter.post('/', asyncHandler(async (req: WorkspaceRequest, res: Response) => { + const { name, description, type = 'standard' } = req.body; + + if (!name) { + res.status(400).json({ error: 'Workspace name is required' }); + return; + } + + const workspaceId = randomUUID(); + const metadata = { + type, + createdBy: req.tenantId, + createdAt: new Date().toISOString(), + }; + + res.status(201).json({ + id: workspaceId, + name, + description, + type, + metadata, + }); +})); + +workspacesRouter.get('/', asyncHandler(async (req: WorkspaceRequest, res: Response) => { + const { limit = '50', offset = '0' } = req.query; + + const projects = await prisma.project.findMany({ + where: { tenantId: req.tenantId }, + take: Math.min(Number(limit), 100), + skip: Number(offset), + orderBy: { createdAt: 'desc' }, + }); + + const total = await prisma.project.count({ where: { tenantId: req.tenantId } }); + + res.status(200).json({ + total, + limit: Number(limit), + offset: Number(offset), + workspaces: projects.map(p => ({ + id: p.id, + name: p.title, + description: p.description, + status: p.status, + createdAt: p.createdAt, + })), + }); +})); + +workspacesRouter.get('/:workspaceId', asyncHandler(async (req: WorkspaceRequest, res: Response) => { + const { workspaceId } = req.params; + + const workspace = await prisma.project.findFirst({ + where: { id: workspaceId, tenantId: req.tenantId }, + include: { milestones: true, payments: true }, + }); + + if (!workspace) { + res.status(404).json({ error: 'Workspace not found' }); + return; + } + + res.status(200).json({ + id: workspace.id, + name: workspace.title, + description: workspace.description, + status: workspace.status, + totalAmount: workspace.totalAmount, + currency: workspace.currency, + clientAddress: workspace.clientAddress, + freelancerAddress: workspace.freelancerAddress, + milestonesCount: workspace.milestones.length, + paymentsCount: workspace.payments.length, + createdAt: workspace.createdAt, + updatedAt: workspace.updatedAt, + }); +})); + +workspacesRouter.put('/:workspaceId', asyncHandler(async (req: WorkspaceRequest, res: Response) => { + const { workspaceId } = req.params; + const { name, description, status } = req.body; + + const workspace = await prisma.project.findFirst({ + where: { id: workspaceId, tenantId: req.tenantId }, + }); + + if (!workspace) { + res.status(404).json({ error: 'Workspace not found' }); + return; + } + + const updated = await prisma.project.update({ + where: { id: workspaceId }, + data: { + ...(name && { title: name }), + ...(description && { description }), + ...(status && { status: status as any }), + updatedAt: new Date(), + }, + }); + + res.status(200).json({ + id: updated.id, + name: updated.title, + description: updated.description, + status: updated.status, + updatedAt: updated.updatedAt, + }); +})); + +workspacesRouter.get('/:workspaceId/members', asyncHandler(async (req: WorkspaceRequest, res: Response) => { + const { workspaceId } = req.params; + + const workspace = await prisma.project.findFirst({ + where: { id: workspaceId, tenantId: req.tenantId }, + }); + + if (!workspace) { + res.status(404).json({ error: 'Workspace not found' }); + return; + } + + res.status(200).json({ + workspaceId, + members: [ + { + address: workspace.clientAddress, + role: 'client', + joinedAt: workspace.createdAt, + }, + { + address: workspace.freelancerAddress, + role: 'freelancer', + joinedAt: workspace.createdAt, + }, + ], + }); +})); diff --git a/backend/src/schemas/index.ts b/backend/src/schemas/index.ts index 75d20ceb..5e8c9004 100644 --- a/backend/src/schemas/index.ts +++ b/backend/src/schemas/index.ts @@ -3,11 +3,76 @@ import { z } from 'zod'; // Invoice Generation Schema export const invoiceSchema = z.object({ projectId: z.string().min(1, 'Project ID is required'), + merchantId: z.string().min(1, 'Merchant ID is required'), workDescription: z.string().min(1, 'Work description is required'), hoursWorked: z.number().nonnegative('Hours worked must be a non-negative number').optional(), hourlyRate: z.number().nonnegative('Hourly rate must be a non-negative number').optional(), + countryCode: z.string().length(2, 'Country code must be 2 letters').transform((val) => val.toUpperCase()).optional(), }); +export const invoiceTaxReportSchema = z.object({ + merchantId: z.string().min(1, 'Merchant ID is required'), + from: z.string().optional(), + to: z.string().optional(), +}); + +export const createEscrowSchema = z.object({ + projectId: z.string().min(1, 'Project ID is required'), + payerId: z.string().min(1, 'Payer ID is required'), + payeeId: z.string().min(1, 'Payee ID is required'), + currency: z.string().min(1, 'Currency is required'), + totalAmount: z.number().positive('Total amount must be positive'), + milestones: z + .array( + z.object({ + title: z.string().min(1, 'Milestone title is required'), + description: z.string().optional(), + amount: z.number().positive('Milestone amount must be positive'), + completionCriteria: z.string().min(1, 'Completion criteria is required'), + }) + ) + .min(1, 'At least one milestone is required'), + metadata: z.record(z.string()).optional(), +}); + +export const fundEscrowSchema = z.object({ + amount: z.number().positive('Funding amount must be positive'), +}); + +export const escrowSubmissionSchema = z.object({ + submissionUrl: z.string().url('A valid submission URL is required'), + notes: z.string().optional(), +}); + +export const escrowMilestoneActionSchema = z + .object({ + approvedBy: z.string().min(1, 'Approver ID is required').optional(), + reason: z.string().min(1, 'Reason is required').optional(), + }) + .refine((data) => data.approvedBy || data.reason, 'approvedBy or reason is required'); + +// EIP-712 Signature Schemas +export const signatureChallengeSchema = z.object({ + signer: z.string().regex(/^0x[a-fA-F0-9]{40}$/, 'Invalid signer address'), + chainId: z.number().int().positive('chainId must be a positive integer'), + origin: z.string().url('Invalid origin URL'), + action: z.string().min(1, 'Action is required'), + payloadHash: z.string().regex(/^0x[a-fA-F0-9]{64}$/, 'payloadHash must be 32-byte hex'), + ttlSeconds: z.number().int().positive().max(15 * 60).optional(), +}); + +export const signatureVerifySchema = z.object({ + signer: z.string().regex(/^0x[a-fA-F0-9]{40}$/, 'Invalid signer address'), + signature: z.string().regex(/^0x[a-fA-F0-9]+$/, 'Invalid signature'), + nonce: z.string().regex(/^0x[a-fA-F0-9]{64}$/, 'nonce must be 32-byte hex'), + chainId: z.number().int().positive('chainId must be a positive integer'), + origin: z.string().url('Invalid origin URL'), + action: z.string().min(1, 'Action is required'), + payloadHash: z.string().regex(/^0x[a-fA-F0-9]{64}$/, 'payloadHash must be 32-byte hex'), + expiresAt: z.number().int().positive('expiresAt must be unix timestamp'), +}); + + // Single Work Verification Schema export const verificationSchema = z.object({ repositoryUrl: z.string().url('Invalid repository URL'), @@ -47,6 +112,55 @@ export const bulkDeleteSchema = z.object({ ids: z.array(z.string().min(1)).min(1, 'Missing ids for bulk delete'), }); +// Merchant Onboarding Schemas +export const onboardingTaskSchema = z.object({ + id: z.string().min(1, 'Task ID is required'), + title: z.string().min(1, 'Task title is required'), + description: z.string().min(1, 'Task description is required'), + type: z.enum(['document_upload', 'form_submission', 'verification', 'compliance_check']), + required: z.boolean().default(true), + order: z.number().min(0), +}); + +export const createOnboardingSchema = z.object({ + merchantId: z.string().min(1, 'Merchant ID is required'), + businessName: z.string().min(1, 'Business name is required'), + businessType: z.string().min(1, 'Business type is required'), + contactEmail: z.string().email('Invalid email address'), + contactPhone: z.string().optional(), + website: z.string().url('Invalid website URL').optional(), +}); + +export const updateOnboardingTaskSchema = z.object({ + taskId: z.string().min(1, 'Task ID is required'), + status: z.enum(['pending', 'in_progress', 'completed', 'skipped', 'failed']), + data: z.record(z.any()).optional(), + notes: z.string().optional(), +}); + +export const submitDocumentSchema = z.object({ + taskId: z.string().min(1, 'Task ID is required'), + documentType: z.enum(['business_license', 'tax_id', 'bank_statement', 'identity_proof', 'address_proof']), + fileName: z.string().min(1, 'File name is required'), + fileSize: z.number().positive('File size must be positive'), + mimeType: z.string().min(1, 'MIME type is required'), + // In a real implementation, this would be handled by file upload middleware + fileData: z.string().optional(), // Base64 encoded file data +}); + +export const skipTaskSchema = z.object({ + taskId: z.string().min(1, 'Task ID is required'), + reason: z.string().min(1, 'Skip reason is required'), +}); + +export const adminReviewSchema = z.object({ + onboardingId: z.string().min(1, 'Onboarding ID is required'), + status: z.enum(['approved', 'rejected', 'needs_revision']), + reviewNotes: z.string().optional(), + reviewerId: z.string().min(1, 'Reviewer ID is required'), +}); + +// Split / Refund Schemas const splitRecipientSchema = z.object({ recipientId: z.string().min(1, 'Recipient id is required'), walletAddress: z.string().min(1, 'Wallet address is required'), @@ -91,3 +205,61 @@ export const refundEvaluationSchema = z.object({ hasChargeback: z.boolean().default(false), hasDispute: z.boolean().default(false), }); + +// Multisig Wallet Schemas +export const createMultisigGroupSchema = z.object({ + name: z.string().min(1, 'Wallet name is required').max(100), + walletAddresses: z + .array(z.string().min(1, 'Wallet address is required')) + .min(2, 'At least 2 signers required') + .max(20, 'Maximum 20 signers allowed'), + threshold: z.number().int().min(1, 'Threshold must be at least 1'), + mode: z.enum(['onchain', 'offchain']).optional(), + timeoutSeconds: z.number().int().positive().optional(), +}); + +export const updateMultisigGroupSchema = z.object({ + name: z.string().min(1).max(100).optional(), + timeoutSeconds: z.number().int().positive().optional(), +}); + +export const addSignerSchema = z.object({ + newSigner: z.string().min(1, 'New signer address is required'), + proposerSigner: z.string().min(1, 'Proposer signer address is required'), + proposerSignature: z.string().min(1, 'Proposer signature is required'), +}); + +export const removeSignerSchema = z.object({ + signerToRemove: z.string().min(1, 'Signer address to remove is required'), + proposerSigner: z.string().min(1, 'Proposer signer address is required'), + proposerSignature: z.string().min(1, 'Proposer signature is required'), + newThreshold: z.number().int().min(1).optional(), +}); + +export const changeThresholdSchema = z.object({ + newThreshold: z.number().int().min(1, 'New threshold must be at least 1'), + proposerSigner: z.string().min(1, 'Proposer signer address is required'), + proposerSignature: z.string().min(1, 'Proposer signature is required'), +}); + +export const createMultisigPaymentSchema = z.object({ + groupId: z.string().min(1, 'Group ID is required'), + amount: z.number().positive('Amount must be positive'), + currency: z.string().min(1, 'Currency is required').default('USD'), + description: z.string().optional(), + recipient: z.string().optional(), + mode: z.enum(['onchain', 'offchain']).optional(), + metadata: z.record(z.string()).optional(), + timeoutSeconds: z.number().int().positive().optional(), +}); + +export const approveMultisigPaymentSchema = z.object({ + signer: z.string().min(1, 'Signer address is required'), + signature: z.string().min(1, 'Signature is required'), +}); + +export const rejectMultisigPaymentSchema = z.object({ + signer: z.string().min(1, 'Signer address is required'), + signature: z.string().min(1, 'Signature is required'), + reason: z.string().optional(), +}); diff --git a/backend/src/schemas/payment-links.ts b/backend/src/schemas/payment-links.ts index 122e7a34..20f999a1 100644 --- a/backend/src/schemas/payment-links.ts +++ b/backend/src/schemas/payment-links.ts @@ -1,60 +1,43 @@ -import { z } from 'zod'; - -const brandSchema = z.object({ - brandName: z.string().min(1).max(80), - accentColor: z.string().regex(/^#([A-Fa-f0-9]{6})$/).optional(), - logoUrl: z.string().url().optional(), - redirectUrl: z.string().url().optional(), -}); - -export const abTestVariantSchema = z.object({ - id: z.string().min(1).max(64), - name: z.string().min(1).max(100), - amount: z.number().positive(), - description: z.string().max(280).optional(), - accentColor: z.string().regex(/^#([A-Fa-f0-9]{6})$/).optional(), - ctaText: z.string().max(64).optional(), - weight: z.number().min(0).max(100).default(50), -}); - -export const addVariantsSchema = z.object({ - variants: z.array(abTestVariantSchema).min(1).max(10), -}); - -export const createPaymentLinkSchema = z.object({ - merchantId: z.string().min(1), - amount: z.number().positive(), - currency: z.string().length(3).default('USD'), - description: z.string().max(280).optional(), - expiresAt: z.string().datetime(), - recurrence: z.enum(['one_time', 'weekly', 'monthly']).default('one_time'), - tags: z.array(z.string().min(1).max(32)).max(20).default([]), - category: z.string().min(1).max(64).optional(), - metadata: z.record(z.string(), z.string()).optional(), - brand: brandSchema.optional(), - variants: z.array(abTestVariantSchema).max(10).optional(), - password: z.string().min(4).max(128).optional(), - maxUses: z.number().int().positive().max(1_000_000).optional(), -}); - -export const bulkCreatePaymentLinkSchema = z.object({ - merchantId: z.string().min(1), - links: z.array(createPaymentLinkSchema.omit({ merchantId: true })).min(1).max(500), -}); - -export const updatePaymentLinkSchema = z.object({ - description: z.string().max(280).optional(), - expiresAt: z.string().datetime().optional(), - tags: z.array(z.string().min(1).max(32)).max(20).optional(), - category: z.string().min(1).max(64).optional(), - brand: brandSchema.optional(), - variants: z.array(abTestVariantSchema).max(10).optional(), - isActive: z.boolean().optional(), -}); - -export const paymentLinkCompletionSchema = z.object({ - amountPaid: z.number().positive().optional(), - source: z.string().max(64).optional(), - variantId: z.string().max(64).optional(), - password: z.string().max(128).optional(), -}); \ No newline at end of file +import { z } from 'zod'; + +const brandSchema = z.object({ + brandName: z.string().min(1).max(80), + accentColor: z.string().regex(/^#([A-Fa-f0-9]{6})$/).optional(), + logoUrl: z.string().url().optional(), + redirectUrl: z.string().url().optional(), +}); + +export const createPaymentLinkSchema = z.object({ + merchantId: z.string().min(1), + amount: z.number().positive(), + currency: z.string().length(3).default('USD'), + description: z.string().max(280).optional(), + expiresAt: z.string().datetime(), + recurrence: z.enum(['one_time', 'weekly', 'monthly']).default('one_time'), + tags: z.array(z.string().min(1).max(32)).max(20).default([]), + category: z.string().min(1).max(64).optional(), + metadata: z.record(z.string(), z.string()).optional(), + brand: brandSchema.optional(), + password: z.string().min(4).max(128).optional(), + maxUses: z.number().int().positive().max(1_000_000).optional(), +}); + +export const bulkCreatePaymentLinkSchema = z.object({ + merchantId: z.string().min(1), + links: z.array(createPaymentLinkSchema.omit({ merchantId: true })).min(1).max(500), +}); + +export const updatePaymentLinkSchema = z.object({ + description: z.string().max(280).optional(), + expiresAt: z.string().datetime().optional(), + tags: z.array(z.string().min(1).max(32)).max(20).optional(), + category: z.string().min(1).max(64).optional(), + brand: brandSchema.optional(), + isActive: z.boolean().optional(), +}); + +export const paymentLinkCompletionSchema = z.object({ + amountPaid: z.number().positive(), + source: z.string().max(64).optional(), + password: z.string().max(128).optional(), +}); \ No newline at end of file diff --git a/backend/src/services/2fa-service.ts b/backend/src/services/2fa-service.ts index 94be3813..51129ff3 100644 --- a/backend/src/services/2fa-service.ts +++ b/backend/src/services/2fa-service.ts @@ -5,7 +5,7 @@ import speakeasy from 'speakeasy'; import QRCode from 'qrcode'; -import { randomBytes, randomUUID, timingSafeEqual } from 'node:crypto'; +import { randomUUID } from 'node:crypto'; import { TOTPSecret, TwoFactorSetup, @@ -91,10 +91,10 @@ export function generateBackupCodes(): string[] { * Generate a random alphanumeric code */ function generateRandomCode(length: number): string { - const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ23456789'; + const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; let result = ''; for (let i = 0; i < length; i++) { - result += chars.charAt(randomBytes(1)[0] % chars.length); + result += chars.charAt(Math.floor(Math.random() * chars.length)); } return result; } @@ -112,11 +112,7 @@ export function hashBackupCode(code: string): string { */ export function validateBackupCode(backupCodes: string[], code: string): boolean { const hashedCode = hashBackupCode(code); - const candidate = Buffer.from(hashedCode); - return backupCodes.some((stored) => { - const storedHash = Buffer.from(stored); - return storedHash.length === candidate.length && timingSafeEqual(storedHash, candidate); - }); + return backupCodes.some((stored) => hashBackupCode(stored) === hashedCode); } /** diff --git a/backend/src/services/__tests__/2fa-service.test.ts b/backend/src/services/__tests__/2fa-service.test.ts index cf42642d..d18b57c9 100644 --- a/backend/src/services/__tests__/2fa-service.test.ts +++ b/backend/src/services/__tests__/2fa-service.test.ts @@ -3,7 +3,7 @@ * Tests for TOTP generation, verification, and management */ -import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; +import { describe, it, expect, beforeEach } from 'vitest'; import { generateTOTPSecret, verifyTOTPToken, @@ -30,10 +30,8 @@ const TEST_USER_ID = '550e8400-e29b-41d4-a716-446655440000'; describe('2FA Service', () => { beforeEach(() => { - }); - - afterEach(() => { - vi.clearAllMocks(); + // Clean up state before each test + jest.clearAllMocks(); }); describe('generateTOTPSecret', () => { diff --git a/backend/src/services/analytics.ts b/backend/src/services/analytics.ts index 6b227834..fee7237a 100644 --- a/backend/src/services/analytics.ts +++ b/backend/src/services/analytics.ts @@ -75,192 +75,6 @@ interface PaymentRecord { timestamp: Date; } -// ── Revenue Forecasting ────────────────────────────────────────────────────── - -export interface ForecastPoint { - timestamp: string; - actual: number | null; - forecast: number; - lowerBound: number; - upperBound: number; -} - -export interface RevenueForecast { - historical: ForecastPoint[]; - forecast: ForecastPoint[]; - summary: { - next7Days: number; - next30Days: number; - next90Days: number; - confidence: 'low' | 'medium' | 'high'; - trend: 'up' | 'down' | 'stable'; - }; -} - -// ── Forecast Accuracy Tracking (Issue #637) ────────────────────────────────── - -export interface AccuracyMetrics { - totalPredictions: number; - mae: number; - rmse: number; - mape: number; - bias: number; - byGranularity: Record; -} - -export interface TrendResult { - direction: 'up' | 'down' | 'stable'; - slope: number; - strength: number; -} - -export class ForecastAccuracyTracker { - private predictions: Array<{ granularity: string; actual: number; predicted: number; timestamp: number }> = []; - - resetForTests(): void { - this.predictions = []; - } - - recordPrediction(granularity: string, actual: number, predicted: number): void { - this.predictions.push({ granularity, actual, predicted, timestamp: Date.now() }); - } - - getAccuracyMetrics(): AccuracyMetrics { - const byGranularity: Record = {}; - const groups = new Map>(); - - for (const p of this.predictions) { - const g = groups.get(p.granularity) ?? []; - g.push({ actual: p.actual, predicted: p.predicted }); - groups.set(p.granularity, g); - } - - for (const [granularity, values] of groups) { - const mae = values.reduce((s, v) => s + Math.abs(v.actual - v.predicted), 0) / values.length; - const rmse = Math.sqrt(values.reduce((s, v) => s + (v.actual - v.predicted) ** 2, 0) / values.length); - byGranularity[granularity] = { count: values.length, mae, rmse }; - } - - const total = this.predictions.length; - if (total === 0) { - return { totalPredictions: 0, mae: 0, rmse: 0, mape: 0, bias: 0, byGranularity }; - } - - const mae = this.predictions.reduce((s, p) => s + Math.abs(p.actual - p.predicted), 0) / total; - const rmse = Math.sqrt(this.predictions.reduce((s, p) => s + (p.actual - p.predicted) ** 2, 0) / total); - const mape = this.predictions.reduce((s, p) => s + (p.actual > 0 ? Math.abs((p.actual - p.predicted) / p.actual) : 0), 0) / total * 100; - const bias = this.predictions.reduce((s, p) => s + (p.predicted - p.actual), 0) / total; - - return { totalPredictions: total, mae, rmse, mape, bias, byGranularity }; - } - - analyzeTrend(data: number[]): TrendResult { - if (data.length < 2) return { direction: 'stable', slope: 0, strength: 0 }; - - const n = data.length; - const xMean = (n - 1) / 2; - const yMean = data.reduce((s, v) => s + v, 0) / n; - - let num = 0; - let den = 0; - for (let i = 0; i < n; i++) { - num += (i - xMean) * (data[i] - yMean); - den += (i - xMean) ** 2; - } - - const slope = den === 0 ? 0 : num / den; - const yVariance = data.reduce((s, v) => s + (v - yMean) ** 2, 0); - const strength = yVariance === 0 ? 0 : (den === 0 ? 0 : Math.abs(num) / Math.sqrt(den * yVariance)); - - let direction: 'up' | 'down' | 'stable'; - if (slope > data.reduce((s, v) => s + Math.abs(v), 0) / n * 0.02) { - direction = 'up'; - } else if (slope < -data.reduce((s, v) => s + Math.abs(v), 0) / n * 0.02) { - direction = 'down'; - } else { - direction = 'stable'; - } - - return { direction, slope, strength }; - } -} - -export const forecastService = new ForecastAccuracyTracker(); - -export function buildRevenueForecastWithAccuracy(since?: Date): { forecast: RevenueForecast; accuracy: AccuracyMetrics } { - const forecast = analyticsService.buildRevenueForecast(since); - const accuracy = forecastService.getAccuracyMetrics(); - return { forecast, accuracy }; -} - -// ── Cohort Analysis ────────────────────────────────────────────────────────── - -export interface CohortDefinition { - cohortId: string; - cohortDate: string; - periodLabel: string; - users: number; - retention: Record; - revenue: Record; -} - -export interface CohortAnalysisResult { - cohorts: CohortDefinition[]; - overallRetention: Record; - periodLabels: string[]; - summary: { - totalCohorts: number; - firstWeekRetention: number; - firstMonthRetention: number; - bestCohort: string; - worstCohort: string; - }; -} - -// ── Forecasting helpers ────────────────────────────────────────────────────── - -function linearRegression(data: Array<{ x: number; y: number }>): { slope: number; intercept: number; r2: number } { - const n = data.length; - if (n < 2) return { slope: 0, intercept: 0, r2: 0 }; - const sumX = data.reduce((s, d) => s + d.x, 0); - const sumY = data.reduce((s, d) => s + d.y, 0); - const sumXY = data.reduce((s, d) => s + d.x * d.y, 0); - const sumX2 = data.reduce((s, d) => s + d.x * d.x, 0); - const slope = (n * sumXY - sumX * sumY) / (n * sumX2 - sumX * sumX); - const intercept = (sumY - slope * sumX) / n; - const ssRes = data.reduce((s, d) => s + (d.y - (slope * d.x + intercept)) ** 2, 0); - const ssTot = data.reduce((s, d) => s + (d.y - sumY / n) ** 2, 0); - const r2 = ssTot === 0 ? 1 : 1 - ssRes / ssTot; - return { slope, intercept, r2 }; -} - -function movingAverage(data: number[], window: number): number[] { - const result: number[] = []; - for (let i = 0; i < data.length; i++) { - const start = Math.max(0, i - window + 1); - const slice = data.slice(start, i + 1); - result.push(slice.reduce((a, b) => a + b, 0) / slice.length); - } - return result; -} - -function seasonalAdjustment(data: number[], period: number): number[] { - if (data.length < period * 2) return data.map(() => 1); - const factors: number[] = []; - for (let i = 0; i < period; i++) { - let sum = 0; - let count = 0; - for (let j = i; j < data.length; j += period) { - sum += data[j]; - count++; - } - const avg = sum / count; - const overallAvg = data.reduce((a, b) => a + b, 0) / data.length; - factors.push(overallAvg > 0 ? avg / overallAvg : 1); - } - return factors; -} - // In-memory report schedule store const reportSchedules = new Map(); @@ -486,246 +300,6 @@ export class PaymentAnalyticsService { return [header, ...rows].join('\n'); } - // ── Revenue Forecasting ────────────────────────────────────────────────── - - buildRevenueForecast(since?: Date): RevenueForecast { - const data = this.filterSince(since).filter((p) => p.status === 'completed'); - if (data.length < 2) { - return { - historical: [], - forecast: [], - summary: { next7Days: 0, next30Days: 0, next90Days: 0, confidence: 'low', trend: 'stable' }, - }; - } - - const dailyBuckets = new Map(); - const earliest = new Date( - data.reduce((min, p) => Math.min(min, p.timestamp.getTime()), Date.now()) - ); - const latest = new Date(Date.now()); - - for (const p of data) { - const key = this.bucketKey(p.timestamp, 'day'); - dailyBuckets.set(key, (dailyBuckets.get(key) ?? 0) + p.amount); - } - - const dayMs = 24 * 60 * 60 * 1000; - const daysCount = Math.ceil((latest.getTime() - earliest.getTime()) / dayMs) + 1; - const points: Array<{ x: number; y: number; timestamp: string }> = []; - - for (let i = 0; i < daysCount; i++) { - const d = new Date(earliest.getTime() + i * dayMs); - const key = this.bucketKey(d, 'day'); - const revenue = dailyBuckets.get(key) ?? 0; - if (revenue > 0 || i >= daysCount - 14) { - points.push({ x: i, y: revenue, timestamp: key }); - } - } - - if (points.length < 2) { - return { - historical: [], - forecast: [], - summary: { next7Days: 0, next30Days: 0, next90Days: 0, confidence: 'low', trend: 'stable' }, - }; - } - - const recentPoints = points.slice(-30); - const regression = linearRegression(recentPoints.map((p) => ({ x: p.x, y: p.y }))); - const ma7 = movingAverage(points.map((p) => p.y), 7); - const seasonal = seasonalAdjustment(points.map((p) => p.y), 7); - - const historical: ForecastPoint[] = points.map((p, i) => ({ - timestamp: p.timestamp, - actual: p.y, - forecast: ma7[i] ?? p.y, - lowerBound: Math.max(0, (ma7[i] ?? p.y) * 0.8), - upperBound: (ma7[i] ?? p.y) * 1.2, - })); - - const lastX = points[points.length - 1].x; - const lastY = ma7[ma7.length - 1] ?? points[points.length - 1].y; - const lastSeasonal = seasonal[seasonal.length - 1] ?? 1; - const forecastDays = 90; - - const forecast: ForecastPoint[] = []; - for (let i = 1; i <= forecastDays; i++) { - const x = lastX + i; - const trendVal = regression.slope * x + regression.intercept; - const seasonalFactor = seasonal[(points.length - 1 + i) % seasonal.length] ?? lastSeasonal; - const forecastVal = Math.max(0, trendVal * seasonalFactor * 0.7 + lastY * 0.3); - const residualStd = recentPoints.length > 2 - ? Math.sqrt(recentPoints.reduce((s, p) => s + (p.y - (regression.slope * p.x + regression.intercept)) ** 2, 0) / (recentPoints.length - 2)) - : forecastVal * 0.3; - const d = new Date(latest.getTime() + i * dayMs); - forecast.push({ - timestamp: this.bucketKey(d, 'day'), - actual: null, - forecast: Math.round(forecastVal * 100) / 100, - lowerBound: Math.max(0, Math.round((forecastVal - 1.96 * residualStd) * 100) / 100), - upperBound: Math.round((forecastVal + 1.96 * residualStd) * 100) / 100, - }); - } - - const next7Days = forecast.slice(0, 7).reduce((s, f) => s + f.forecast, 0); - const next30Days = forecast.slice(0, 30).reduce((s, f) => s + f.forecast, 0); - const next90Days = forecast.reduce((s, f) => s + f.forecast, 0); - - const trend = regression.slope > 0.5 ? 'up' : regression.slope < -0.5 ? 'down' : 'stable'; - const confidence = regression.r2 > 0.7 ? 'high' : regression.r2 > 0.3 ? 'medium' : 'low'; - - return { - historical, - forecast, - summary: { - next7Days: Math.round(next7Days * 100) / 100, - next30Days: Math.round(next30Days * 100) / 100, - next90Days: Math.round(next90Days * 100) / 100, - confidence, - trend, - }, - }; - } - - // ── Cohort Analysis ────────────────────────────────────────────────────── - - buildCohortAnalysis(since?: Date): CohortAnalysisResult { - const data = this.filterSince(since); - if (data.length === 0) { - return { - cohorts: [], - overallRetention: {}, - periodLabels: [], - summary: { - totalCohorts: 0, - firstWeekRetention: 0, - firstMonthRetention: 0, - bestCohort: '', - worstCohort: '', - }, - }; - } - - const weekMs = 7 * 24 * 60 * 60 * 1000; - const earliest = new Date( - data.reduce((min, p) => Math.min(min, p.timestamp.getTime()), Date.now()) - ); - const latest = new Date(Date.now()); - const cohortWeeks = Math.max(1, Math.ceil((latest.getTime() - earliest.getTime()) / weekMs)); - const periodLabels = Array.from({ length: cohortWeeks }, (_, i) => `Week ${i + 1}`); - - const cohorts = new Map; revenue: number }>>(); - - for (const p of data) { - const cohortKey = this.bucketByWeek(p.timestamp, earliest); - const periodKey = this.bucketByWeekOffset(p.timestamp, earliest); - if (!cohorts.has(cohortKey)) { - cohorts.set(cohortKey, new Map()); - } - const cohort = cohorts.get(cohortKey)!; - if (!cohort.has(periodKey)) { - cohort.set(periodKey, { users: new Set(), revenue: 0 }); - } - const entry = cohort.get(periodKey)!; - entry.users.add(p.id); - entry.revenue += p.amount; - } - - const cohortDefs: CohortDefinition[] = []; - let totalFirstWeekRetention = 0; - let totalFirstMonthRetention = 0; - let retentionCount = 0; - - for (const [cohortKey, periods] of cohorts) { - const sortedPeriods = Array.from(periods.entries()).sort(([a], [b]) => a.localeCompare(b)); - const firstPeriod = sortedPeriods[0]; - if (!firstPeriod) continue; - const totalUsers = firstPeriod[1].users.size; - if (totalUsers === 0) continue; - - const retention: Record = {}; - const revenue: Record = {}; - - for (const [periodKey, data] of sortedPeriods) { - const periodIdx = periodLabels.findIndex((_, i) => { - const start = new Date(earliest.getTime() + i * weekMs); - return this.bucketByWeek(start, earliest) === periodKey; - }); - if (periodIdx >= 0) { - retention[periodLabels[periodIdx]] = totalUsers > 0 ? Math.round((data.users.size / totalUsers) * 10000) / 100 : 0; - revenue[periodLabels[periodIdx]] = Math.round(data.revenue * 100) / 100; - } - } - - const allPeriodKeys = sortedPeriods.map(([k]) => k); - const week1Retention = allPeriodKeys.length > 1 && sortedPeriods[1] - ? (sortedPeriods[1][1].users.size / totalUsers) * 100 - : 0; - const week4Retention = allPeriodKeys.length > 4 && sortedPeriods[4] - ? (sortedPeriods[4][1].users.size / totalUsers) * 100 - : 0; - - totalFirstWeekRetention += week1Retention; - totalFirstMonthRetention += week4Retention; - retentionCount++; - - cohortDefs.push({ - cohortId: cohortKey, - cohortDate: cohortKey, - periodLabel: `Cohort ${cohortKey}`, - users: totalUsers, - retention, - revenue, - }); - } - - cohortDefs.sort((a, b) => a.cohortDate.localeCompare(b.cohortDate)); - - const overallRetention: Record = {}; - const maxPeriods = Math.max(...cohortDefs.map((c) => Object.keys(c.retention).length)); - for (let i = 0; i < Math.min(maxPeriods, periodLabels.length); i++) { - let sum = 0; - let count = 0; - for (const c of cohortDefs) { - if (c.retention[periodLabels[i]] !== undefined) { - sum += c.retention[periodLabels[i]]; - count++; - } - } - overallRetention[periodLabels[i]] = count > 0 ? Math.round((sum / count) * 100) / 100 : 0; - } - - const sortedByRetention = [...cohortDefs].sort( - (a, b) => (b.retention[periodLabels[0]] ?? 0) - (a.retention[periodLabels[0]] ?? 0) - ); - - return { - cohorts: cohortDefs, - overallRetention, - periodLabels, - summary: { - totalCohorts: cohortDefs.length, - firstWeekRetention: retentionCount > 0 ? Math.round((totalFirstWeekRetention / retentionCount) * 100) / 100 : 0, - firstMonthRetention: retentionCount > 0 ? Math.round((totalFirstMonthRetention / retentionCount) * 100) / 100 : 0, - bestCohort: sortedByRetention[0]?.cohortId ?? '', - worstCohort: sortedByRetention[sortedByRetention.length - 1]?.cohortId ?? '', - }, - }; - } - - private bucketByWeek(date: Date, epoch: Date): string { - const diffMs = date.getTime() - epoch.getTime(); - const week = Math.floor(diffMs / (7 * 24 * 60 * 60 * 1000)); - const d = new Date(epoch.getTime() + week * 7 * 24 * 60 * 60 * 1000); - return `${d.getUTCFullYear()}-${String(d.getUTCMonth() + 1).padStart(2, '0')}-${String(d.getUTCDate()).padStart(2, '0')}`; - } - - private bucketByWeekOffset(date: Date, epoch: Date): string { - const diffMs = date.getTime() - epoch.getTime(); - const week = Math.floor(diffMs / (7 * 24 * 60 * 60 * 1000)); - return `w${week}`; - } - private filterSince(since?: Date): PaymentRecord[] { if (!since) return this.payments; return this.payments.filter((p) => p.timestamp >= since); diff --git a/backend/src/services/api-key-registry.ts b/backend/src/services/api-key-registry.ts index 8acb30e7..4da7afc7 100644 --- a/backend/src/services/api-key-registry.ts +++ b/backend/src/services/api-key-registry.ts @@ -1,6 +1,4 @@ import type { UserTier } from '../middleware/rate-limit.js'; -import { prisma } from '../lib/prisma.js'; -import { settleGracePeriod } from './keys/rotation.js'; export interface ApiKeyRecord { key: string; @@ -37,28 +35,9 @@ export function lookupApiKey(rawKey: string): ApiKeyRecord | null { return KEY_REGISTRY[normalized] ?? null; } -export async function lookupApiKeyRecord(rawKey: string): Promise { - const normalized = rawKey.trim(); - const demo = lookupApiKey(normalized); - if (demo) return demo; - - const record = await prisma.apiKey.findUnique({ where: { keyId: normalized } }); - if (!record) return null; - - const settled = await settleGracePeriod(record); - if (!settled.isActive) return null; - if (settled.expiresAt && settled.expiresAt.getTime() <= Date.now()) return null; - - return { - key: settled.keyId, - tier: 'enterprise', - label: settled.description ?? settled.keyId, - }; -} - export function maskApiKey(key: string): string { if (key.length <= 8) return '***'; return `${key.slice(0, 4)}…${key.slice(-4)}`; } -export default { lookupApiKey, lookupApiKeyRecord, maskApiKey }; +export default { lookupApiKey, maskApiKey }; diff --git a/backend/src/services/auditService.ts b/backend/src/services/auditService.ts index 61c63215..bca9c356 100644 --- a/backend/src/services/auditService.ts +++ b/backend/src/services/auditService.ts @@ -1,7 +1,5 @@ +import { createHash, randomUUID } from 'node:crypto'; import { randomUUID as uuidv4 } from 'node:crypto'; -import { AuditAnchorService } from '../audit/anchor-service.js'; -import { AUDIT_GENESIS_HASH, computeAuditHash, ImmutableAuditLogger } from '../audit/immutable-logger.js'; -import { verifyAuditChain } from '../audit/chain-verifier.js'; export interface AuditEntry { id: string; @@ -44,10 +42,7 @@ export interface RetentionPolicy { export class AuditService { private entries: AuditEntry[] = []; - private currentHash = AUDIT_GENESIS_HASH; - private immutableLogger = new ImmutableAuditLogger(); - private anchorService = new AuditAnchorService(); - private persistenceInitialized = false; + private currentHash = '0000000000000000000000000000000000000000000000000000000000000000'; private retentionPolicy: RetentionPolicy = { retentionDays: 2555, archiveAfterDays: 2190, @@ -60,30 +55,27 @@ export class AuditService { } } - private async ensurePersistence(): Promise { - if (this.persistenceInitialized) return; - this.persistenceInitialized = true; - if (!process.env.DATABASE_URL || process.env.AUDIT_PERSISTENCE === 'memory') return; - - try { - const { PrismaAuditStore } = await import('../audit/prisma-audit-store.js'); - const store = new PrismaAuditStore(); - this.immutableLogger = new ImmutableAuditLogger(store); - this.anchorService = new AuditAnchorService(store); - } catch (error) { - console.warn('[audit] Falling back to in-memory immutable audit store', error); - } + private computeHash(data: string): string { + return createHash('sha256').update(data).digest('hex'); } private generateEntryHash(entry: Omit): string { - return computeAuditHash({ - previousHash: entry.previousHash, - timestamp: new Date(entry.timestamp).toISOString(), - actor: entry.userId || 'system', - action: entry.action, - resource: entry.resource, - details: entry.details, - }); + const data = [ + entry.id, + entry.timestamp, + entry.userId || '', + entry.action, + entry.resource, + entry.resourceId || '', + JSON.stringify(entry.details || {}), + JSON.stringify(entry.beforeState || {}), + JSON.stringify(entry.afterState || {}), + entry.ipAddress || '', + entry.requestMethod || '', + entry.requestPath || '', + entry.previousHash, + ].join('|'); + return this.computeHash(data); } async logAction(params: { @@ -105,16 +97,9 @@ export class AuditService { status?: number; }; }): Promise { - await this.ensurePersistence(); - const immutable = await this.immutableLogger.log({ - actor: params.userId || 'system', - action: params.action, - resource: params.resource, - details: params.details, - }); const id = uuidv4(); - const timestamp = Date.parse(immutable.timestamp); - + const timestamp = Date.now(); + const entry: Omit = { id, timestamp, @@ -131,10 +116,10 @@ export class AuditService { requestPath: params.request?.path, requestBody: this.sanitizeRequestBody(params.request?.body), responseStatus: params.response?.status, - previousHash: immutable.previousHash, + previousHash: this.currentHash, }; - const hash = immutable.hash; + const hash = this.generateEntryHash(entry); const fullEntry: AuditEntry = { ...entry, hash }; this.entries.push(fullEntry); @@ -185,27 +170,26 @@ export class AuditService { } async verifyIntegrity(): Promise<{ valid: boolean; brokenAt?: string }> { - await this.ensurePersistence(); - const result = await verifyAuditChain(this.entries.map((entry) => ({ - id: entry.id, - timestamp: new Date(entry.timestamp).toISOString(), - actor: entry.userId || 'system', - action: entry.action, - resource: entry.resource, - details: entry.details ?? {}, - previousHash: entry.previousHash, - hash: entry.hash, - }))); - return { valid: result.valid, brokenAt: result.brokenAt }; - } - - async anchorLatestHash() { - await this.ensurePersistence(); - return this.anchorService.anchorLatestHash(this.currentHash); - } - - listAnchors() { - return this.anchorService.listAnchors(); + let expectedHash = '0000000000000000000000000000000000000000000000000000000000000000'; + + for (const entry of this.entries) { + if (entry.previousHash !== expectedHash) { + return { valid: false, brokenAt: entry.id }; + } + + const computedHash = this.generateEntryHash(entry); + if (computedHash !== entry.hash) { + return { valid: false, brokenAt: entry.id }; + } + + expectedHash = entry.hash; + } + + if (this.currentHash !== expectedHash) { + return { valid: false, brokenAt: this.entries[this.entries.length - 1]?.id }; + } + + return { valid: true }; } async flagSuspicious(entryId: string, reasons: string[]): Promise { @@ -300,4 +284,4 @@ export class AuditService { } } -export const auditService = new AuditService(); +export const auditService = new AuditService(); \ No newline at end of file diff --git a/backend/src/services/batch.ts b/backend/src/services/batch.ts index 96c8271c..59b383d3 100644 --- a/backend/src/services/batch.ts +++ b/backend/src/services/batch.ts @@ -44,100 +44,22 @@ export interface BatchRecord { const batchStore = new Map(); -/** - * Split a single CSV record into fields, honouring RFC 4180 quoting. - * - * A quoted field may contain commas, and a literal quote inside a quoted field - * is escaped by doubling it (`""`). The previous implementation used a bare - * `split(',')`, so a memo such as `"Invoice 12, net 30"` was torn into two - * columns and every field after it shifted left. - */ -function parseCsvRecord(line: string): string[] { - const fields: string[] = []; - let current = ''; - let inQuotes = false; - let fieldStarted = false; - - for (let i = 0; i < line.length; i += 1) { - const char = line[i]; - - if (inQuotes) { - if (char === '"') { - if (line[i + 1] === '"') { - current += '"'; - i += 1; - } else { - inQuotes = false; - } - } else { - current += char; - } - continue; - } - - if (char === '"' && !fieldStarted) { - inQuotes = true; - fieldStarted = true; - continue; - } - - if (char === ',') { - fields.push(current.trim()); - current = ''; - fieldStarted = false; - continue; - } - - fieldStarted = true; - current += char; - } - - fields.push(current.trim()); - return fields; -} - -/** Canonical field names, mapped onto whatever order the header declares. */ -const CSV_FIELDS = ['recipient', 'amount', 'asset', 'memo'] as const; - export function parseCSV(csv: string): { rows: BatchPaymentItem[]; errors: Array<{ line: number; error: string }>; } { - // Normalise CRLF/CR line endings so a spreadsheet export on Windows does not - // leave a trailing \r inside the last field of every row. - const lines = csv.replace(/\r\n/g, '\n').replace(/\r/g, '\n').trim().split('\n'); + const lines = csv.trim().split('\n'); const rows: BatchPaymentItem[] = []; const errors: Array<{ line: number; error: string }> = []; - // Map columns by header name when a header row is present. Reading columns - // purely by position meant a file without an `asset` column had its memo - // consumed as the asset ticker. - let header: Partial> | undefined; - const firstCells = lines[0] ? parseCsvRecord(lines[0]).map((c) => c.toLowerCase()) : []; - if (firstCells.includes('recipient') || firstCells.includes('amount')) { - header = {}; - for (const field of CSV_FIELDS) { - const index = firstCells.indexOf(field); - if (index !== -1) header[field] = index; - } - } - - const dataLines = header ? lines.slice(1) : lines; + const dataLines = lines[0]?.toLowerCase().includes('recipient') ? lines.slice(1) : lines; for (let i = 0; i < dataLines.length; i++) { const line = dataLines[i].trim(); if (!line) continue; - const cols = parseCsvRecord(line); - const at = (field: (typeof CSV_FIELDS)[number], position: number): string | undefined => { - const index = header ? header[field] : position; - return index === undefined ? undefined : cols[index]; - }; - - const recipient = at('recipient', 0) ?? ''; - const amount = at('amount', 1) ?? ''; - const asset = at('asset', 2) || 'XLM'; - const memo = at('memo', 3); + const cols = line.split(',').map((c) => c.trim().replace(/^"|"$/g, '')); + const [recipient, amount, asset = 'XLM', memo] = cols; if (!recipient) { errors.push({ line: i + 2, error: 'Missing recipient' }); @@ -214,69 +136,6 @@ export function executeBatch(payments: BatchPaymentItem[], label?: string): Batc return record; } -export interface RollbackResult { - batchId: string; - rolledBackPayments: string[]; - failedRollbacks: Array<{ recipient: string; error: string }>; - status: 'fully_rolled_back' | 'partially_rolled_back'; -} - -export function rollbackBatch(batchId: string): RollbackResult | undefined { - const record = batchStore.get(batchId); - if (!record) return undefined; - if (record.status === 'failed') { - return { - batchId, - rolledBackPayments: [], - failedRollbacks: record.payments.map((p) => ({ recipient: p.recipient, error: 'Batch had no successful payments' })), - status: 'fully_rolled_back', - }; - } - - const rolledBackPayments: string[] = []; - const failedRollbacks: Array<{ recipient: string; error: string }> = []; - - for (const result of record.results) { - if (result.status === 'success') { - rolledBackPayments.push(result.recipient); - } - } - - if (failedRollbacks.length === 0) { - record.status = 'completed'; - for (const r of record.results) { - if (r.status === 'success') r.status = 'failed'; - r.error = r.error ? `${r.error}; rolled back` : 'rolled back'; - } - } - - record.updatedAt = new Date().toISOString(); - batchStore.set(batchId, record); - - return { - batchId, - rolledBackPayments, - failedRollbacks, - status: failedRollbacks.length === 0 ? 'fully_rolled_back' : 'partially_rolled_back', - }; -} - -export function getBatchHistory(filters?: { status?: BatchStatus; from?: string; to?: string }): BatchRecord[] { - let entries = Array.from(batchStore.values()); - if (filters?.status) { - entries = entries.filter((e) => e.status === filters.status); - } - if (filters?.from) { - const from = new Date(filters.from).getTime(); - entries = entries.filter((e) => new Date(e.createdAt).getTime() >= from); - } - if (filters?.to) { - const to = new Date(filters.to).getTime(); - entries = entries.filter((e) => new Date(e.createdAt).getTime() <= to); - } - return entries.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()); -} - export function getBatch(id: string): BatchRecord | undefined { return batchStore.get(id); } @@ -327,40 +186,17 @@ export function generateCSVTemplate(): string { export interface BatchEstimate { totalPayments: number; - /** Totals broken down by asset. Amounts in different assets are not - * comparable, so they are never combined into one figure. */ + totalAmount: string; byAsset: Record; - /** - * Combined total. Only meaningful when every payment uses the same asset; - * `null` for a mixed-asset batch. Read `byAsset` for those. - */ - totalAmount: string | null; estimatedGasUnits: number; duplicateCount: number; invalidAddressCount: number; estimatedDurationMs: number; } -/** Stellar amounts carry at most 7 decimal places. */ -const AMOUNT_DECIMALS = 7; -const AMOUNT_SCALE = 10 ** AMOUNT_DECIMALS; - -/** - * Parse a decimal amount string into integer minor units. - * Avoids binary floating point drift when many rows are summed. - */ -function toMinorUnits(amount: string): number { - const [whole = '0', fraction = ''] = amount.split('.'); - const padded = fraction.padEnd(AMOUNT_DECIMALS, '0').slice(0, AMOUNT_DECIMALS); - return Number(whole) * AMOUNT_SCALE + Number(padded || '0'); -} - -function fromMinorUnits(minor: number): string { - return (minor / AMOUNT_SCALE).toFixed(AMOUNT_DECIMALS); -} - export function estimateBatch(payments: BatchPaymentItem[]): BatchEstimate { - const byAssetMinor: Record = {}; + const byAsset: Record = {}; + let totalAmount = 0; let invalidCount = 0; for (const p of payments) { @@ -368,25 +204,21 @@ export function estimateBatch(payments: BatchPaymentItem[]): BatchEstimate { invalidCount++; continue; } - const minor = toMinorUnits(p.amount); - byAssetMinor[p.asset] = (byAssetMinor[p.asset] ?? 0) + minor; + const amount = parseFloat(p.amount) || 0; + totalAmount += amount; + byAsset[p.asset] = (byAsset[p.asset] ?? 0) + amount; } const duplicateIndices = detectDuplicates(payments); - const byAsset: Record = {}; - for (const [asset, minor] of Object.entries(byAssetMinor)) { - byAsset[asset] = fromMinorUnits(minor); + const byAssetStrings: Record = {}; + for (const [k, v] of Object.entries(byAsset)) { + byAssetStrings[k] = v.toFixed(7); } - // Only combine when the batch is single-asset; otherwise a total would add - // incomparable units together. - const assets = Object.keys(byAssetMinor); - const totalAmount = assets.length === 1 ? byAsset[assets[0]] : null; - return { totalPayments: payments.length, - totalAmount, - byAsset, + totalAmount: totalAmount.toFixed(7), + byAsset: byAssetStrings, estimatedGasUnits: payments.length * 100 + 100, // rough Stellar estimate duplicateCount: duplicateIndices.length, invalidAddressCount: invalidCount, diff --git a/backend/src/services/bridge.ts b/backend/src/services/bridge.ts index 91eb03f0..a91a4008 100644 --- a/backend/src/services/bridge.ts +++ b/backend/src/services/bridge.ts @@ -1,5 +1,4 @@ import { randomUUID } from 'node:crypto'; -import { getBridgeMonitorService } from './bridge-monitor/bridge-monitor.js'; export interface BridgeTransfer { id: string; @@ -89,46 +88,9 @@ export function createBridgeTransfer(input: { updatedAt: ts, }; transfers.set(transfer.id, transfer); - void syncBridgeMonitor(transfer, 'initiated'); return transfer; } -function mapBridgeStatus( - status: BridgeTransfer['status'], -): 'initiated' | 'source_confirmed' | 'relayed' | 'destination_executed' | 'failed' | 'stuck' { - switch (status) { - case 'created': - return 'initiated'; - case 'locked': - return 'source_confirmed'; - case 'relayed': - return 'relayed'; - case 'redeemed': - return 'destination_executed'; - case 'refunded': - case 'disputed': - return 'failed'; - default: - return 'stuck'; - } -} - -function syncBridgeMonitor(transfer: BridgeTransfer, status?: BridgeTransfer['status']): void { - void getBridgeMonitorService() - .trackMessage({ - provider: 'custom', - messageId: transfer.id, - sourceChain: transfer.fromChain, - destinationChain: transfer.toChain, - status: mapBridgeStatus(status ?? transfer.status), - amount: String(transfer.amount), - sender: transfer.sender, - recipient: transfer.recipient, - metadata: { hashlock: transfer.hashlock, route: transfer.route }, - }) - .catch(() => undefined); -} - export function transitionBridgeTransfer( id: string, next: BridgeTransfer['status'] @@ -142,7 +104,6 @@ export function transitionBridgeTransfer( } transfer.updatedAt = nowIso(); transfers.set(id, transfer); - syncBridgeMonitor(transfer, next); return transfer; } diff --git a/backend/src/services/email-template-engine.ts b/backend/src/services/email-template-engine.ts index adc08b3c..d601ccca 100644 --- a/backend/src/services/email-template-engine.ts +++ b/backend/src/services/email-template-engine.ts @@ -2,12 +2,6 @@ // Handlebars-style template rendering with localization support import Handlebars from 'handlebars'; -import { readFileSync, readdirSync } from 'node:fs'; -import { dirname, join, basename } from 'node:path'; -import { fileURLToPath } from 'node:url'; - -const __dirname = dirname(fileURLToPath(import.meta.url)); -const COMPONENTS_DIR = join(__dirname, '..', 'templates', 'components'); export interface TemplateVariable { name: string; @@ -33,43 +27,6 @@ export class EmailTemplateEngine { constructor() { this.handlebars = Handlebars.create(); this.registerHelpers(); - this.registerComponents(); - } - - /** - * Register every .hbs file in templates/components/ (header, footer, - * button, layout, ...) as a reusable Handlebars partial, keyed by - * filename. Lets templates opt into shared components via `{{> header}}`. - */ - private registerComponents(): void { - let files: string[] = []; - try { - files = readdirSync(COMPONENTS_DIR).filter((f) => f.endsWith('.hbs')); - } catch { - return; // components dir is optional in some deployments (e.g. bundled builds) - } - for (const file of files) { - const name = basename(file, '.hbs'); - const source = readFileSync(join(COMPONENTS_DIR, file), 'utf-8'); - this.handlebars.registerPartial(name, source); - } - } - - /** - * Renders `contentHtml` as a standalone component, then injects the - * result into the shared `layout` partial (header/footer chrome) — the - * template-inheritance pattern: layout owns the shell, callers only - * supply body content and get consistent chrome for free. - */ - renderWithLayout(contentHtml: string, context: TemplateContext): string { - const body = this.render(contentHtml, context); - const layoutSource = this.handlebars.partials['layout'] as string; - return this.render(layoutSource, { - currentYear: new Date().getFullYear(), - unsubscribeUrl: '#', - ...context, - body: new this.handlebars.SafeString(body), - }); } /** diff --git a/backend/src/services/escrow.ts b/backend/src/services/escrow.ts index 5df6e467..c5d1cccb 100644 --- a/backend/src/services/escrow.ts +++ b/backend/src/services/escrow.ts @@ -1,7 +1,5 @@ import { randomUUID } from 'node:crypto'; -import { EventEmitter } from 'node:events'; import { auditService } from './auditService.js'; -import { multisigService } from './multisig.js'; export type EscrowStatus = 'pending' | 'funded' | 'disputed' | 'released' | 'refunded' | 'expired'; @@ -31,40 +29,9 @@ export interface EscrowRecord { appealDeadline?: number; appealTarget?: string; signatures: string[]; - multisigPolicy?: MultisigEscrowPolicy; - releaseRequest?: MultisigReleaseRequest; } -export interface MultisigEscrowPolicy { - groupId: string; - threshold: number; - challengePeriodMs: number; -} - -export type ReleaseRequestStatus = 'pending' | 'approved' | 'rejected' | 'expired' | 'executed'; - -export interface MultisigReleaseRequest { - id: string; - escrowId: string; - initiator: string; - type: 'release_to_freelancer' | 'refund_to_client' | 'split'; - approvals: Array<{ signer: string; signature: string; timestamp: number }>; - rejections: Array<{ signer: string; signature: string; reason?: string; timestamp: number }>; - status: ReleaseRequestStatus; - createdAt: number; - expiresAt: number | null; - challengeEndsAt: number; - executedAt?: number; -} - -export interface EscrowEvent { - type: string; - escrowId: string; - data: Record; - timestamp: number; -} - -export class EscrowService extends EventEmitter { +class EscrowService { private escrows = new Map(); async createEscrow(params: { @@ -76,7 +43,6 @@ export class EscrowService extends EventEmitter { asset: string; network: string; deadline: number; - multisigPolicy?: MultisigEscrowPolicy; }): Promise { const escrow: EscrowRecord = { id: randomUUID(), @@ -84,13 +50,11 @@ export class EscrowService extends EventEmitter { createdAt: Date.now(), deadline: params.deadline, signatures: [], - multisigPolicy: params.multisigPolicy, ...params, }; this.escrows.set(escrow.id, escrow); await auditService.logAction({ action: 'escrow.created', resource: 'escrow', resourceId: escrow.id, details: { projectId: params.projectId, amount: params.amount, asset: params.asset } }); - this.emitEscrowEvent({ type: 'escrow.created', escrowId: escrow.id, data: { projectId: params.projectId, amount: params.amount }, timestamp: Date.now() }); return escrow; } @@ -101,7 +65,6 @@ export class EscrowService extends EventEmitter { escrow.fundedAt = Date.now(); this.escrows.set(escrowId, escrow); await auditService.logAction({ action: 'escrow.funded', resource: 'escrow', resourceId: escrowId, details: { txHash } }); - this.emitEscrowEvent({ type: 'escrow.funded', escrowId, data: { txHash }, timestamp: Date.now() }); return escrow; } @@ -113,7 +76,6 @@ export class EscrowService extends EventEmitter { escrow.appealDeadline = Date.now() + 7 * 24 * 60 * 60 * 1000; this.escrows.set(escrowId, escrow); await auditService.logAction({ action: 'escrow.disputed', resource: 'escrow', resourceId: escrowId, details: { raisedBy } }); - this.emitEscrowEvent({ type: 'escrow.disputed', escrowId, data: { raisedBy }, timestamp: Date.now() }); return escrow; } @@ -131,7 +93,6 @@ export class EscrowService extends EventEmitter { escrow.releasedAt = Date.now(); this.escrows.set(escrowId, escrow); await auditService.logAction({ action: 'escrow.resolved', resource: 'escrow', resourceId: escrowId, details: { releaseType: release.type, approvedBy: release.approvedBy } }); - this.emitEscrowEvent({ type: 'escrow.resolved', escrowId, data: { releaseType: release.type, approvedBy: release.approvedBy }, timestamp: Date.now() }); return escrow; } @@ -146,7 +107,6 @@ export class EscrowService extends EventEmitter { escrow.arbitratorAddresses = [appealTargetAddress]; this.escrows.set(escrowId, escrow); await auditService.logAction({ action: 'escrow.appealed', resource: 'escrow', resourceId: escrowId, details: { appealTarget: appealTargetAddress } }); - this.emitEscrowEvent({ type: 'escrow.appealed', escrowId, data: { appealTarget: appealTargetAddress }, timestamp: Date.now() }); return escrow; } @@ -160,220 +120,9 @@ export class EscrowService extends EventEmitter { escrow.releasedAt = Date.now(); this.escrows.set(escrowId, escrow); await auditService.logAction({ action: 'escrow.timeout_release', resource: 'escrow', resourceId: escrowId, details: { reason: 'arbitrator_timeout' } }); - this.emitEscrowEvent({ type: 'escrow.timeout_release', escrowId, data: { reason: 'arbitrator_timeout' }, timestamp: Date.now() }); return escrow; } - // --------------------------------------------------------------------------- - // Multi-sig escrow release (#564) - // --------------------------------------------------------------------------- - - async createReleaseRequest(escrowId: string, initiator: string, type: MultisigReleaseRequest['type']): Promise { - const escrow = this.escrows.get(escrowId); - if (!escrow) throw new Error('Escrow not found'); - if (escrow.status !== 'funded') throw new Error('Escrow must be funded to create a release request'); - if (!escrow.multisigPolicy) throw new Error('Escrow has no multisig policy configured'); - - if (escrow.releaseRequest && escrow.releaseRequest.status === 'pending') { - throw new Error('A pending release request already exists'); - } - - const group = multisigService.getGroup(escrow.multisigPolicy.groupId); - if (!group) throw new Error('Multisig group not found'); - - const normalizedInitiator = initiator.trim().toLowerCase(); - if (!group.walletAddresses.includes(normalizedInitiator)) { - throw new Error('Initiator is not a signer of the multisig group'); - } - - const now = Date.now(); - const request: MultisigReleaseRequest = { - id: randomUUID(), - escrowId, - initiator: normalizedInitiator, - type, - approvals: [{ signer: normalizedInitiator, signature: 'implicit', timestamp: now }], - rejections: [], - status: 'pending', - createdAt: now, - expiresAt: group.timeoutSeconds ? now + group.timeoutSeconds * 1000 : null, - challengeEndsAt: now + escrow.multisigPolicy.challengePeriodMs, - }; - - escrow.releaseRequest = request; - this.escrows.set(escrowId, escrow); - - await auditService.logAction({ - action: 'escrow.release_request.created', - resource: 'escrow', - resourceId: escrowId, - details: { requestId: request.id, initiator: normalizedInitiator, type, challengeEndsAt: request.challengeEndsAt }, - }); - this.emitEscrowEvent({ - type: 'escrow.release_request.created', - escrowId, - data: { requestId: request.id, initiator: normalizedInitiator, type, challengeEndsAt: request.challengeEndsAt }, - timestamp: now, - }); - - return request; - } - - async approveReleaseRequest(escrowId: string, signer: string, signature: string): Promise { - const escrow = this.escrows.get(escrowId); - if (!escrow) throw new Error('Escrow not found'); - if (!escrow.releaseRequest || escrow.releaseRequest.status !== 'pending') { - throw new Error('No pending release request'); - } - if (!escrow.multisigPolicy) throw new Error('Escrow has no multisig policy'); - - const group = multisigService.getGroup(escrow.multisigPolicy.groupId); - if (!group) throw new Error('Multisig group not found'); - - const normalizedSigner = signer.trim().toLowerCase(); - if (!group.walletAddresses.includes(normalizedSigner)) { - throw new Error('Signer is not a member of the multisig group'); - } - - const request = escrow.releaseRequest; - - if (request.expiresAt && Date.now() > request.expiresAt) { - request.status = 'expired'; - this.escrows.set(escrowId, escrow); - throw new Error('Release request has expired'); - } - - if (request.approvals.some(a => a.signer === normalizedSigner)) { - throw new Error('Signer has already approved'); - } - if (request.rejections.some(r => r.signer === normalizedSigner)) { - throw new Error('Signer has already rejected'); - } - - const now = Date.now(); - request.approvals.push({ signer: normalizedSigner, signature, timestamp: now }); - - await auditService.logAction({ - action: 'escrow.release_request.approved', - resource: 'escrow', - resourceId: escrowId, - details: { requestId: request.id, signer: normalizedSigner, approvalCount: request.approvals.length, threshold: escrow.multisigPolicy.threshold }, - }); - this.emitEscrowEvent({ - type: 'escrow.release_request.approval', - escrowId, - data: { requestId: request.id, signer: normalizedSigner, approvalCount: request.approvals.length, threshold: escrow.multisigPolicy.threshold }, - timestamp: now, - }); - - if (request.approvals.length >= escrow.multisigPolicy.threshold) { - await this._executeReleaseRequest(escrow, request); - } - - this.escrows.set(escrowId, escrow); - return request; - } - - async rejectReleaseRequest(escrowId: string, signer: string, signature: string, reason?: string): Promise { - const escrow = this.escrows.get(escrowId); - if (!escrow) throw new Error('Escrow not found'); - if (!escrow.releaseRequest || escrow.releaseRequest.status !== 'pending') { - throw new Error('No pending release request'); - } - if (!escrow.multisigPolicy) throw new Error('Escrow has no multisig policy'); - - const group = multisigService.getGroup(escrow.multisigPolicy.groupId); - if (!group) throw new Error('Multisig group not found'); - - const normalizedSigner = signer.trim().toLowerCase(); - if (!group.walletAddresses.includes(normalizedSigner)) { - throw new Error('Signer is not a member of the multisig group'); - } - - const request = escrow.releaseRequest; - if (request.approvals.some(a => a.signer === normalizedSigner)) { - throw new Error('Signer has already approved'); - } - if (request.rejections.some(r => r.signer === normalizedSigner)) { - throw new Error('Signer has already rejected'); - } - - const now = Date.now(); - request.rejections.push({ signer: normalizedSigner, signature, reason, timestamp: now }); - - const blockingThreshold = group.walletAddresses.length - escrow.multisigPolicy.threshold + 1; - if (request.rejections.length >= blockingThreshold) { - request.status = 'rejected'; - } - - await auditService.logAction({ - action: 'escrow.release_request.rejected', - resource: 'escrow', - resourceId: escrowId, - details: { requestId: request.id, signer: normalizedSigner, reason, rejectionCount: request.rejections.length, blockingThreshold }, - }); - this.emitEscrowEvent({ - type: 'escrow.release_request.rejection', - escrowId, - data: { requestId: request.id, signer: normalizedSigner, reason, rejectionCount: request.rejections.length, blockingThreshold }, - timestamp: now, - }); - - this.escrows.set(escrowId, escrow); - return request; - } - - private async _executeReleaseRequest(escrow: EscrowRecord, request: MultisigReleaseRequest): Promise { - const now = Date.now(); - if (now < request.challengeEndsAt) { - return; - } - - const approvedSigners = request.approvals.map(a => a.signer); - escrow.status = request.type === 'refund_to_client' ? 'refunded' : 'released'; - escrow.release = { type: request.type, approvedBy: approvedSigners }; - escrow.releasedAt = now; - request.status = 'executed'; - request.executedAt = now; - - await auditService.logAction({ - action: 'escrow.release_request.executed', - resource: 'escrow', - resourceId: escrow.id, - details: { requestId: request.id, type: request.type, approvedBy: approvedSigners }, - }); - this.emitEscrowEvent({ - type: 'escrow.released', - escrowId: escrow.id, - data: { requestId: request.id, type: request.type, approvedBy: approvedSigners }, - timestamp: now, - }); - } - - async executeReadyReleases(): Promise { - let executed = 0; - const now = Date.now(); - for (const escrow of this.escrows.values()) { - if (!escrow.releaseRequest || escrow.releaseRequest.status !== 'pending') continue; - if (!escrow.multisigPolicy) continue; - const request = escrow.releaseRequest; - if (request.approvals.length < escrow.multisigPolicy.threshold) continue; - if (now < request.challengeEndsAt) continue; - await this._executeReleaseRequest(escrow, request); - this.escrows.set(escrow.id, escrow); - executed++; - } - return executed; - } - - getReleaseRequest(escrowId: string): MultisigReleaseRequest | undefined { - return this.escrows.get(escrowId)?.releaseRequest; - } - - // --------------------------------------------------------------------------- - // Query helpers - // --------------------------------------------------------------------------- - async getEscrow(escrowId: string): Promise { return this.escrows.get(escrowId); } @@ -382,15 +131,6 @@ export class EscrowService extends EventEmitter { const all = Array.from(this.escrows.values()); return status ? all.filter(e => e.status === status) : all; } - - private emitEscrowEvent(event: EscrowEvent): void { - this.emit('escrow:event', event); - } } export const escrowService = new EscrowService(); - -/** Create an independent EscrowService instance (for testing). */ -export function createEscrowService(): EscrowService { - return new EscrowService(); -} diff --git a/backend/src/services/featureFlags.ts b/backend/src/services/featureFlags.ts index 05f874c9..accfb08b 100644 --- a/backend/src/services/featureFlags.ts +++ b/backend/src/services/featureFlags.ts @@ -1,74 +1,37 @@ import { createHash } from 'node:crypto'; export interface FeatureFlagMetrics { - servedTrue: number; - servedFalse: number; - variantsServed?: Record; -} - -export interface FeatureFlagVariant { - key: string; - value: any; - weight: number; -} - -export interface RolloutSchedule { - startPercentage: number; - endPercentage: number; - startTime: Date; - endTime: Date; +servedTrue: number; +servedFalse: number; } export interface FeatureFlag { - name: string; - enabled: boolean; - rolloutPercentage: number; - targetedUsers: Set; - metrics: FeatureFlagMetrics; - variants?: FeatureFlagVariant[]; - rolloutSchedule?: RolloutSchedule; +name: string; +enabled: boolean; +rolloutPercentage: number; +targetedUsers: Set; +metrics: FeatureFlagMetrics; // <-- Added metrics tracking } class FeatureFlagService { - private flags: Map = new Map(); +private flags: Map = new Map(); - constructor() { +constructor() { // Initialize with some default flags for testing this.upsertFlag('new-checkout-flow', true, 20); // 20% A/B test this.upsertFlag('beta-dashboard', true, 0, ['dev-user-1', 'qa-tester']); // Targeted rollout } - public upsertFlag( - name: string, - enabled: boolean, - rolloutPercentage: number = 0, - targetedUsers: string[] = [], - variants?: FeatureFlagVariant[], - rolloutSchedule?: RolloutSchedule - ): void { + public upsertFlag(name: string, enabled: boolean, rolloutPercentage: number = 0, targetedUsers: string[] = []): void { const existing = this.flags.get(name); - - const initialVariantsServed: Record = {}; - if (variants) { - for (const v of variants) { - initialVariantsServed[v.key] = 0; - } - } - const existingVariantsServed = existing?.metrics?.variantsServed || {}; - const variantsServed = { ...initialVariantsServed, ...existingVariantsServed }; this.flags.set(name, { name, enabled, rolloutPercentage: Math.max(0, Math.min(100, rolloutPercentage)), targetedUsers: new Set(targetedUsers), - metrics: { - servedTrue: existing?.metrics?.servedTrue || 0, - servedFalse: existing?.metrics?.servedFalse || 0, - variantsServed, - }, - variants, - rolloutSchedule, + // Preserve existing metrics on update, or initialize to 0 + metrics: existing?.metrics || { servedTrue: 0, servedFalse: 0 } }); } @@ -84,29 +47,6 @@ class FeatureFlagService { this.flags.delete(name); } - private getEffectiveRolloutPercentage(flag: FeatureFlag): number { - if (!flag.rolloutSchedule) { - return flag.rolloutPercentage; - } - - const { startPercentage, endPercentage, startTime, endTime } = flag.rolloutSchedule; - const now = Date.now(); - const startMs = new Date(startTime).getTime(); - const endMs = new Date(endTime).getTime(); - - if (now <= startMs) { - return startPercentage; - } - if (now >= endMs) { - return endPercentage; - } - - // Linearly interpolate between startPercentage and endPercentage - const progress = (now - startMs) / (endMs - startMs); - const interpolated = startPercentage + (endPercentage - startPercentage) * progress; - return Math.round(interpolated); - } - /** * Deterministic flag evaluation with analytics tracking. * Resolves in < 1ms to prevent API latency. @@ -132,15 +72,13 @@ class FeatureFlagService { return trackAndReturn(true); } - const effectivePercentage = this.getEffectiveRolloutPercentage(flag); - // 3. If rollout is 100%, return true - if (effectivePercentage === 100) { + if (flag.rolloutPercentage === 100) { return trackAndReturn(true); } // 4. If rollout is 0%, return false - if (effectivePercentage === 0) { + if (flag.rolloutPercentage === 0) { return trackAndReturn(false); } @@ -151,60 +89,7 @@ class FeatureFlagService { const hashInt = parseInt(hash.substring(0, 4), 16); const normalizedHash = (hashInt % 100) + 1; - return trackAndReturn(normalizedHash <= effectivePercentage); - } - - /** - * Deterministically assigns a variant for A/B testing if the flag is enabled. - */ - public evaluateVariant(flagName: string, identifier: string): string | undefined { - const flag = this.flags.get(flagName); - if (!flag || !flag.enabled) { - return undefined; - } - - // Check if the user is in the rollout bucket - const isEnabled = this.evaluate(flagName, identifier); - if (!isEnabled) { - return undefined; - } - - // If there are no variants, return undefined - if (!flag.variants || flag.variants.length === 0) { - return undefined; - } - - // Deterministically assign to a variant using MD5 hashing of the flag name + identifier - const hash = createHash('md5').update(`${flagName}-variant-${identifier}`).digest('hex'); - const hashInt = parseInt(hash.substring(0, 4), 16); - - const totalWeight = flag.variants.reduce((sum, v) => sum + v.weight, 0); - if (totalWeight <= 0) { - return undefined; - } - - const bucket = hashInt % totalWeight; - let cumulativeWeight = 0; - - for (const variant of flag.variants) { - cumulativeWeight += variant.weight; - if (bucket < cumulativeWeight) { - // Track variant metrics - if (!flag.metrics.variantsServed) { - flag.metrics.variantsServed = {}; - } - flag.metrics.variantsServed[variant.key] = (flag.metrics.variantsServed[variant.key] || 0) + 1; - return variant.key; - } - } - - // Fallback - const fallbackKey = flag.variants[0].key; - if (!flag.metrics.variantsServed) { - flag.metrics.variantsServed = {}; - } - flag.metrics.variantsServed[fallbackKey] = (flag.metrics.variantsServed[fallbackKey] || 0) + 1; - return fallbackKey; + return trackAndReturn(normalizedHash <= flag.rolloutPercentage); } } diff --git a/backend/src/services/fiat-payments.ts b/backend/src/services/fiat-payments.ts index 32d120d3..125495bf 100644 --- a/backend/src/services/fiat-payments.ts +++ b/backend/src/services/fiat-payments.ts @@ -438,7 +438,7 @@ class FiatPaymentsService { }, }, byStatus, - discrepancies, + discreancies, }; } diff --git a/backend/src/services/invoice.ts b/backend/src/services/invoice.ts index 0baf7a9d..a5e2586c 100644 --- a/backend/src/services/invoice.ts +++ b/backend/src/services/invoice.ts @@ -2,11 +2,8 @@ import OpenAI from 'openai'; import { randomUUID } from 'node:crypto'; import { config } from '../config/env.js'; import { withQueryProfiling } from '../config/database.js'; -import { EmailDeliveryService } from './email-delivery.js'; -import { fxService } from './fx/index.js'; let openaiClient: OpenAI | null = null; -const emailService = new EmailDeliveryService(); const TAX_RATES: Record = { US: 0.10, @@ -31,13 +28,7 @@ const getOpenAIClient = () => { return openaiClient; }; -export type InvoiceStatus = 'draft' | 'sent' | 'paid' | 'overdue' | 'cancelled'; - -export interface InvoiceReminder { - sentAt: string; - type: '7_days' | '3_days' | 'overdue' | 'custom'; - message: string; -} +export type InvoiceStatus = 'draft' | 'pending' | 'paid' | 'overdue'; export type InvoiceLineItem = { description: string; @@ -61,18 +52,11 @@ export type InvoiceRecord = { invoiceNumber: string; merchantId: string; projectId: string; - recipientEmail?: string; - recipientName?: string; lineItems: InvoiceLineItem[]; subtotal: number; taxTotal: number; total: number; currency: string; - dueDate?: string; - sentAt?: string; - paidAt?: string; - cancelledAt?: string; - reminders: InvoiceReminder[]; generatedAt: string; createdAt: string; updatedAt: string; @@ -80,22 +64,6 @@ export type InvoiceRecord = { status: InvoiceStatus; countryCode: string; taxBreakdown: InvoiceTaxBreakdown[]; - // Multi-currency FX (Issue #626) — `currency`/`total` above stay the - // merchant's settlement currency; these track the customer-facing - // presentment currency and the rate locked at generation/payment time. - // Mirrors the Invoice.presentmentCurrency/presentmentAmount/fxRate/ - // fxRateLockedAt columns added to the Prisma schema for this feature. - presentmentCurrency: string | null; - presentmentAmount: number | null; - fxRate: number | null; - fxRateLockedAt: string | null; -}; - -export type FxLockInfo = { - presentmentCurrency: string; - presentmentAmount: number; - fxRate: number; - fxRateLockedAt: string; }; const invoices = new Map(); @@ -175,32 +143,6 @@ interface InvoiceRequest { hoursWorked: number; hourlyRate: number; countryCode: string; - /** - * Customer-facing display currency, if different from the invoice's - * settlement currency ('USD'). When set, the FX rate is fetched/cached via - * `fxService` and locked onto the invoice at generation time (Issue #626). - */ - presentmentCurrency?: string; -} - -/** - * Computes and locks the FX conversion for a multi-currency invoice against - * its settlement `currency`/`total`, using the shared `fxService` rate - * cache. Used both at generation time and to re-lock the rate at payment - * time (the generation-time rate may have expired or moved by then). - */ -async function lockFxForInvoice(invoice: InvoiceRecord, presentmentCurrency: string): Promise { - const conversion = await fxService.convert(invoice.total, invoice.currency, presentmentCurrency); - if (!conversion.ok) { - throw new Error(`FX conversion failed for ${invoice.currency}->${presentmentCurrency}: ${conversion.error.message}`); - } - - return { - presentmentCurrency: conversion.value.quoteCurrency, - presentmentAmount: conversion.value.convertedAmount, - fxRate: conversion.value.rate, - fxRateLockedAt: new Date().toISOString(), - }; } export async function generateInvoice(request: InvoiceRequest): Promise { @@ -282,8 +224,7 @@ export async function generateInvoice(request: InvoiceRequest): Promise { - const invoice = invoices.get(invoiceId); - if (!invoice) return { success: false, error: 'Invoice not found' }; - if (invoice.status === 'cancelled') return { success: false, error: 'Invoice is cancelled' }; - - const pdf = buildSimplePdf(invoice); - const result = await emailService.send({ - to: recipientEmail, - toName: recipientName, - subject: `Invoice ${invoice.invoiceNumber} from AgenticPay`, - html: ` -

Invoice ${invoice.invoiceNumber}

-

Dear ${recipientName || 'Valued Customer'},

-

Please find attached the invoice for project ${invoice.projectId}.

- - - - -
Subtotal$${invoice.subtotal.toFixed(2)}
Tax$${invoice.taxTotal.toFixed(2)}
Total$${invoice.total.toFixed(2)}
- ${invoice.dueDate ? `

Due Date: ${new Date(invoice.dueDate).toLocaleDateString()}

` : ''} -

${invoice.summary}

-
-

AgenticPay - Automated Invoice System

- `, - attachments: [ - { - filename: `${invoice.invoiceNumber}.pdf`, - content: pdf, - contentType: 'application/pdf', - }, - ], - }); - - if (result.success) { - invoice.recipientEmail = recipientEmail; - invoice.recipientName = recipientName || undefined; - invoice.sentAt = new Date().toISOString(); - invoice.status = 'sent'; - invoice.updatedAt = new Date().toISOString(); - invoices.set(invoiceId, invoice); - } - - return { success: result.success, messageId: result.messageId, error: result.error }; -} - -export function updateInvoiceStatus( - invoiceId: string, - status: InvoiceStatus -): InvoiceRecord | undefined { - const invoice = invoices.get(invoiceId); - if (!invoice) return undefined; - - invoice.status = status; - invoice.updatedAt = new Date().toISOString(); - if (status === 'paid') invoice.paidAt = new Date().toISOString(); - if (status === 'cancelled') invoice.cancelledAt = new Date().toISOString(); - - invoices.set(invoiceId, invoice); - return invoice; -} - -export function sendPaymentReminder(invoiceId: string): InvoiceReminder | undefined { - const invoice = invoices.get(invoiceId); - if (!invoice) return undefined; - if (invoice.status === 'paid' || invoice.status === 'cancelled') return undefined; - if (!invoice.dueDate) return undefined; - - const daysOverdue = Math.floor( - (Date.now() - new Date(invoice.dueDate).getTime()) / (1000 * 60 * 60 * 24) - ); - - let reminderType: InvoiceReminder['type']; - let message: string; - - if (daysOverdue <= 0) { - const daysUntilDue = Math.abs(daysOverdue); - if (daysUntilDue <= 7 && daysUntilDue > 3) { - reminderType = '7_days'; - message = `Reminder: Invoice ${invoice.invoiceNumber} is due in ${daysUntilDue} days.`; - } else if (daysUntilDue <= 3 && daysUntilDue > 0) { - reminderType = '3_days'; - message = `Reminder: Invoice ${invoice.invoiceNumber} is due in ${daysUntilDue} days. Please arrange payment.`; - } else { - return undefined; - } - } else { - reminderType = 'overdue'; - invoice.status = 'overdue'; - message = `Overdue Notice: Invoice ${invoice.invoiceNumber} is ${daysOverdue} day(s) overdue. Please pay immediately.`; - } - - const reminder: InvoiceReminder = { - sentAt: new Date().toISOString(), - type: reminderType, - message, }; - invoice.reminders.push(reminder); - invoice.updatedAt = new Date().toISOString(); - invoices.set(invoiceId, invoice); - - if (invoice.recipientEmail) { - emailService.send({ - to: invoice.recipientEmail, - toName: invoice.recipientName, - subject: `Payment Reminder: ${invoice.invoiceNumber}`, - html: `

${message}

Total Due: $${invoice.total.toFixed(2)}

`, - }).catch(() => {}); - } - - return reminder; -} - -export function getOverdueInvoices(): InvoiceRecord[] { - return [...invoices.values()].filter( - (inv) => inv.status === 'sent' || inv.status === 'overdue' - ); -} - -export function processOverdueInvoices(): InvoiceReminder[] { - const sent = getOverdueInvoices(); - const reminders: InvoiceReminder[] = []; - for (const inv of sent) { - const reminder = sendPaymentReminder(inv.id); - if (reminder) reminders.push(reminder); - } - return reminders; -} - -export function getInvoiceReminders(invoiceId: string): InvoiceReminder[] { - const invoice = invoices.get(invoiceId); - return invoice?.reminders ?? []; -} - -/** - * Re-locks the FX rate for an existing multi-currency invoice — call this - * when the invoice is actually paid, since the rate locked at generation - * time may have expired or moved. Only updates the invoice's stored FX - * fields; it does not touch payment processing/webhook handling. - */ -export async function reconvertInvoiceFxAtPayment( - invoiceId: string, - presentmentCurrency?: string, -): Promise { - const invoice = invoices.get(invoiceId); - if (!invoice) { - throw new Error(`Invoice not found: ${invoiceId}`); - } - - const targetCurrency = (presentmentCurrency ?? invoice.presentmentCurrency)?.trim().toUpperCase(); - if (!targetCurrency) { - throw new Error(`Invoice ${invoiceId} has no presentment currency to reconvert`); - } - if (targetCurrency === invoice.currency) { - throw new Error(`presentmentCurrency must differ from settlement currency (${invoice.currency})`); - } - - const lock = await lockFxForInvoice(invoice, targetCurrency); - invoice.presentmentCurrency = lock.presentmentCurrency; - invoice.presentmentAmount = lock.presentmentAmount; - invoice.fxRate = lock.fxRate; - invoice.fxRateLockedAt = lock.fxRateLockedAt; - invoice.updatedAt = new Date().toISOString(); - invoices.set(invoice.id, invoice); return invoice; } -export type MultiCurrencyReportRow = { - currency: string; - presentmentCurrency: string; - invoiceCount: number; - totalSettlement: number; - totalPresentment: number; - averageFxRate: number | null; -}; - -/** - * Aggregates invoices by (currency, presentmentCurrency) pair — counts and - * totals per pair — for multi-currency reporting. Single-currency invoices - * (no presentmentCurrency set) are grouped under presentmentCurrency === - * currency with a null-equivalent fxRate of 1. - */ -export function generateMultiCurrencyReport(input: { merchantId?: string } = {}): { - rows: MultiCurrencyReportRow[]; - totalInvoices: number; - multiCurrencyInvoices: number; -} { - const relevant = [...invoices.values()].filter( - (invoice) => !input.merchantId || invoice.merchantId === input.merchantId, - ); - - const groups = new Map< - string, - { currency: string; presentmentCurrency: string; count: number; settlement: number; presentment: number; rateSum: number; rateCount: number } - >(); - - for (const invoice of relevant) { - const presentmentCurrency = invoice.presentmentCurrency ?? invoice.currency; - const key = `${invoice.currency}:${presentmentCurrency}`; - const group = groups.get(key) ?? { - currency: invoice.currency, - presentmentCurrency, - count: 0, - settlement: 0, - presentment: 0, - rateSum: 0, - rateCount: 0, - }; - - group.count += 1; - group.settlement += invoice.total; - group.presentment += invoice.presentmentAmount ?? invoice.total; - if (invoice.fxRate !== null) { - group.rateSum += invoice.fxRate; - group.rateCount += 1; - } - - groups.set(key, group); - } - - const rows: MultiCurrencyReportRow[] = [...groups.values()].map((g) => ({ - currency: g.currency, - presentmentCurrency: g.presentmentCurrency, - invoiceCount: g.count, - totalSettlement: Number(g.settlement.toFixed(2)), - totalPresentment: Number(g.presentment.toFixed(2)), - averageFxRate: g.rateCount > 0 ? Number((g.rateSum / g.rateCount).toFixed(10)) : null, - })); - - return { - rows: rows.sort((a, b) => a.currency.localeCompare(b.currency) || a.presentmentCurrency.localeCompare(b.presentmentCurrency)), - totalInvoices: relevant.length, - multiCurrencyInvoices: relevant.filter((i) => i.presentmentCurrency !== null).length, - }; -} - export function listInvoices(): InvoiceRecord[] { return [...invoices.values()].sort((a, b) => b.createdAt.localeCompare(a.createdAt)); } @@ -607,198 +294,3 @@ export function generateTaxReport(input: { merchantId: string; from?: string; to export function buildInvoicePdf(invoice: InvoiceRecord): Buffer { return buildSimplePdf(invoice); } - -// ── Milestone-Triggered Invoicing (Issue #636) ─────────────────────────────── - -export type MilestoneTriggerConfig = { - projectId: string; - merchantId: string; - countryCode?: string; - presentmentCurrency?: string; - autoSend?: boolean; - recipientEmail?: string; - recipientName?: string; -}; - -export type MilestoneInvoiceResult = { - invoice: InvoiceRecord; - milestoneId: string; - projectId: string; - triggeredAt: string; -}; - -const milestoneTriggers = new Map(); - -export function registerMilestoneTrigger(config: MilestoneTriggerConfig): void { - const triggers = milestoneTriggers.get(config.projectId) ?? []; - triggers.push(config); - milestoneTriggers.set(config.projectId, triggers); -} - -export function getMilestoneTriggers(projectId: string): MilestoneTriggerConfig[] { - return milestoneTriggers.get(projectId) ?? []; -} - -export function removeMilestoneTrigger(projectId: string, merchantId: string): boolean { - const triggers = milestoneTriggers.get(projectId); - if (!triggers) return false; - const filtered = triggers.filter((t) => t.merchantId !== merchantId); - if (filtered.length === triggers.length) return false; - milestoneTriggers.set(projectId, filtered); - return true; -} - -export async function generateInvoiceFromMilestone( - milestone: { id: string; title: string; deliverable: string; amount: number }, - config: MilestoneTriggerConfig, -): Promise { - const invoice = await generateInvoice({ - projectId: config.projectId, - merchantId: config.merchantId, - workDescription: `Milestone: ${milestone.title} — ${milestone.deliverable}`, - hoursWorked: 1, - hourlyRate: milestone.amount, - countryCode: config.countryCode ?? 'US', - presentmentCurrency: config.presentmentCurrency, - }); - - if (config.autoSend && config.recipientEmail) { - await sendInvoiceEmail(invoice.id, config.recipientEmail, config.recipientName).catch(() => {}); - } - - return { - invoice, - milestoneId: milestone.id, - projectId: config.projectId, - triggeredAt: new Date().toISOString(), - }; -} - -// ── Invoice Analytics (Issue #636) ─────────────────────────────────────────── - -export type InvoiceStatusTrend = { - date: string; - status: string; - count: number; -}; - -export type InvoiceAgingBreakdown = { - range: string; - count: number; - amount: number; -}; - -export type InvoiceAnalyticsData = { - totalInvoices: number; - totalAmount: number; - paidAmount: number; - overdueAmount: number; - draftAmount: number; - cancelledAmount: number; - sentAmount: number; - averageValue: number; - statusBreakdown: Record; - monthlyTrend: Array<{ month: string; count: number; amount: number }>; - topMerchants: Array<{ merchantId: string; count: number; total: number }>; - statusTrend: InvoiceStatusTrend[]; - agingBreakdown: InvoiceAgingBreakdown[]; - generatedAt: string; -}; - -export function buildInvoiceAnalytics(merchantId?: string): InvoiceAnalyticsData { - const filtered = merchantId - ? Array.from(invoices.values()).filter((i) => i.merchantId === merchantId) - : Array.from(invoices.values()); - - const totalInvoices = filtered.length; - const totalAmount = filtered.reduce((s, i) => s + i.total, 0); - const paidAmount = filtered.filter((i) => i.status === 'paid').reduce((s, i) => s + i.total, 0); - const overdueAmount = filtered.filter((i) => i.status === 'overdue').reduce((s, i) => s + i.total, 0); - const draftAmount = filtered.filter((i) => i.status === 'draft').reduce((s, i) => s + i.total, 0); - const cancelledAmount = filtered.filter((i) => i.status === 'cancelled').reduce((s, i) => s + i.total, 0); - const sentAmount = filtered.filter((i) => i.status === 'sent').reduce((s, i) => s + i.total, 0); - - const statusBreakdown: Record = {}; - for (const inv of filtered) { - statusBreakdown[inv.status] = (statusBreakdown[inv.status] || 0) + 1; - } - - const monthBuckets = new Map(); - for (const inv of filtered) { - const month = inv.createdAt.slice(0, 7); - const bucket = monthBuckets.get(month) ?? { count: 0, amount: 0 }; - bucket.count += 1; - bucket.amount += inv.total; - monthBuckets.set(month, bucket); - } - - const monthlyTrend = Array.from(monthBuckets.entries()) - .sort(([a], [b]) => a.localeCompare(b)) - .map(([month, data]) => ({ month, ...data })); - - const merchantTotals = new Map(); - for (const inv of filtered) { - const m = merchantTotals.get(inv.merchantId) ?? { count: 0, total: 0 }; - m.count += 1; - m.total += inv.total; - merchantTotals.set(inv.merchantId, m); - } - - const topMerchants = Array.from(merchantTotals.entries()) - .map(([merchantId, data]) => ({ merchantId, ...data })) - .sort((a, b) => b.total - a.total) - .slice(0, 10); - - const dailyStatus = new Map>(); - for (const inv of filtered) { - const date = inv.updatedAt.slice(0, 10); - if (!dailyStatus.has(date)) dailyStatus.set(date, new Map()); - const statusMap = dailyStatus.get(date)!; - statusMap.set(inv.status, (statusMap.get(inv.status) || 0) + 1); - } - - const statusTrend = Array.from(dailyStatus.entries()) - .sort(([a], [b]) => a.localeCompare(b)) - .flatMap(([date, statuses]) => - Array.from(statuses.entries()).map(([status, count]) => ({ date, status, count })) - ); - - const now = Date.now(); - const agingRanges = [ - { label: '0-30 days', min: 0, max: 30 }, - { label: '31-60 days', min: 31, max: 60 }, - { label: '61-90 days', min: 61, max: 90 }, - { label: '90+ days', min: 91, max: Infinity }, - ]; - - const agingBreakdown = agingRanges.map((range) => { - const matching = filtered.filter((inv) => { - if (inv.status === 'paid' || inv.status === 'cancelled') return false; - const due = inv.dueDate ? new Date(inv.dueDate).getTime() : new Date(inv.createdAt).getTime(); - const daysOverdue = Math.floor((now - due) / (1000 * 60 * 60 * 24)); - return daysOverdue >= range.min && daysOverdue <= range.max; - }); - return { - range: range.label, - count: matching.length, - amount: Math.round(matching.reduce((s, i) => s + i.total, 0) * 100) / 100, - }; - }); - - return { - totalInvoices, - totalAmount: Math.round(totalAmount * 100) / 100, - paidAmount: Math.round(paidAmount * 100) / 100, - overdueAmount: Math.round(overdueAmount * 100) / 100, - draftAmount: Math.round(draftAmount * 100) / 100, - cancelledAmount: Math.round(cancelledAmount * 100) / 100, - sentAmount: Math.round(sentAmount * 100) / 100, - averageValue: totalInvoices > 0 ? Math.round((totalAmount / totalInvoices) * 100) / 100 : 0, - statusBreakdown, - monthlyTrend, - topMerchants, - statusTrend, - agingBreakdown, - generatedAt: new Date().toISOString(), - }; -} diff --git a/backend/src/services/notificationService.ts b/backend/src/services/notificationService.ts index 41613904..41a26b6c 100644 --- a/backend/src/services/notificationService.ts +++ b/backend/src/services/notificationService.ts @@ -216,202 +216,4 @@ export class NotificationService { // For now, return a placeholder return `+1555${userId.padStart(7, '0')}`; } -} - -// ── Real-Time Notification Service (Issue #635) ────────────────────────────── - -export interface RealtimeNotification { - title: string; - body: string; - type: string; - data?: Record; - priority?: 'low' | 'normal' | 'high' | 'urgent'; -} - -export interface RealtimeDeliveryResult { - success: boolean; - userId: string; - queued: boolean; - channelResults: Record; - deliveredAt?: string; -} - -export class RealTimeNotificationService { - private userChannels = new Map>(); - private queues = new Map(); - - connectUser(userId: string, channelId: string): void { - const channels = this.userChannels.get(userId) ?? new Set(); - channels.add(channelId); - this.userChannels.set(userId, channels); - } - - disconnectUser(userId: string, channelId: string): void { - const channels = this.userChannels.get(userId); - if (channels) { - channels.delete(channelId); - if (channels.size === 0) this.userChannels.delete(userId); - } - } - - isConnected(userId: string): boolean { - const channels = this.userChannels.get(userId); - return channels !== undefined && channels.size > 0; - } - - async sendToUser(userId: string, notification: RealtimeNotification): Promise { - const channelResults: Record = {}; - - if (!this.isConnected(userId)) { - this.enqueue(userId, notification); - return { - success: false, - userId, - queued: true, - channelResults, - }; - } - - const channels = this.userChannels.get(userId) ?? new Set(); - let anySuccess = false; - - for (const channelId of channels) { - try { - channelResults[channelId] = { success: true }; - anySuccess = true; - } catch { - channelResults[channelId] = { success: false, error: 'Channel delivery failed' }; - } - } - - return { - success: anySuccess, - userId, - queued: false, - channelResults, - deliveredAt: new Date().toISOString(), - }; - } - - async broadcast(notification: RealtimeNotification): Promise<{ success: boolean; userCount: number }> { - let successCount = 0; - for (const userId of this.userChannels.keys()) { - await this.sendToUser(userId, notification); - successCount++; - } - return { - success: successCount > 0, - userCount: successCount, - }; - } - - drainQueue(userId: string): RealtimeNotification[] { - const queue = this.queues.get(userId) ?? []; - this.queues.delete(userId); - return queue; - } - - getQueue(userId: string): RealtimeNotification[] { - return this.queues.get(userId) ?? []; - } - - private enqueue(userId: string, notification: RealtimeNotification): void { - const queue = this.queues.get(userId) ?? []; - queue.push(notification); - this.queues.set(userId, queue); - } -} - -// ── Notification History Service (Issue #635) ──────────────────────────────── - -export interface HistoryEntry { - id: string; - userId: string; - title: string; - body: string; - type: string; - channel: string; - status: 'sent' | 'delivered' | 'failed' | 'opened' | 'clicked' | 'read'; - timestamp: string; - metadata?: Record; -} - -export interface HistoryQueryParams { - type?: string; - status?: string; - channel?: string; - startDate?: string; - endDate?: string; - limit?: number; - offset?: number; -} - -export class NotificationHistoryService { - private entries: HistoryEntry[] = []; - private maxEntries = 10000; - - record(entry: Omit): HistoryEntry { - const record: HistoryEntry = { - ...entry, - id: `hist_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`, - timestamp: new Date().toISOString(), - }; - this.entries.push(record); - if (this.entries.length > this.maxEntries) { - this.entries = this.entries.slice(-this.maxEntries); - } - return record; - } - - getHistory(userId: string, params?: HistoryQueryParams): HistoryEntry[] { - let results = this.entries.filter((e) => e.userId === userId); - - if (params?.type) { - results = results.filter((e) => e.type === params.type); - } - if (params?.status) { - results = results.filter((e) => e.status === params.status); - } - if (params?.channel) { - results = results.filter((e) => e.channel === params.channel); - } - if (params?.startDate) { - const start = new Date(params.startDate).getTime(); - results = results.filter((e) => new Date(e.timestamp).getTime() >= start); - } - if (params?.endDate) { - const end = new Date(params.endDate).getTime(); - results = results.filter((e) => new Date(e.timestamp).getTime() <= end); - } - - results.sort((a, b) => b.timestamp.localeCompare(a.timestamp)); - - const offset = params?.offset ?? 0; - const limit = params?.limit ?? 50; - return results.slice(offset, offset + limit); - } - - getAnalytics(userId?: string): { - total: number; - byType: Record; - byStatus: Record; - byChannel: Record; - } { - const filtered = userId ? this.entries.filter((e) => e.userId === userId) : this.entries; - - const byType: Record = {}; - const byStatus: Record = {}; - const byChannel: Record = {}; - - for (const e of filtered) { - byType[e.type] = (byType[e.type] || 0) + 1; - byStatus[e.status] = (byStatus[e.status] || 0) + 1; - byChannel[e.channel] = (byChannel[e.channel] || 0) + 1; - } - - return { total: filtered.length, byType, byStatus, byChannel }; - } -} - -export const realTimeNotificationService = new RealTimeNotificationService(); -export const notificationHistoryService = new NotificationHistoryService(); \ No newline at end of file +} \ No newline at end of file diff --git a/backend/src/services/notifications/deliveryTracker.ts b/backend/src/services/notifications/deliveryTracker.ts index 94a58035..65418b2b 100644 --- a/backend/src/services/notifications/deliveryTracker.ts +++ b/backend/src/services/notifications/deliveryTracker.ts @@ -6,13 +6,11 @@ export interface DeliveryRecord { channel: 'email' | 'sms' | 'push' | 'in-app'; userId: string; templateId: string; - status: 'pending' | 'sent' | 'failed' | 'delivered' | 'opened' | 'clicked' | 'read'; + status: 'pending' | 'sent' | 'failed' | 'delivered' | 'read'; messageId?: string; error?: string; sentAt?: Date; deliveredAt?: Date; - openedAt?: Date; - clickedAt?: Date; readAt?: Date; retryCount: number; createdAt: Date; @@ -22,7 +20,7 @@ export interface DeliveryRecord { export class DeliveryTracker { // In a real implementation, this would use a database // For now, we'll use an in-memory store - private deliveries: Map = new Map(); + private deliveries: Map = {}; async track(delivery: Omit): Promise { const now = new Date(); @@ -44,9 +42,9 @@ export class DeliveryTracker { }; this.deliveries.set(record.id, record); - + console.log(`[Delivery] Tracked ${delivery.channel} delivery for notification ${delivery.notificationId}: ${delivery.status}`); - + return record; } @@ -74,9 +72,9 @@ export class DeliveryTracker { } this.deliveries.set(deliveryId, record); - + console.log(`[Delivery] Updated delivery ${deliveryId} status to ${status}`); - + return record; } @@ -104,60 +102,4 @@ export class DeliveryTracker { .filter(d => d.status === 'failed' && d.retryCount < 3) // Max 3 retries .sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime()); // Oldest first } - - async getDeliveriesInRange(userId?: string, startDate?: Date, endDate?: Date): Promise { - let results = Array.from(this.deliveries.values()); - - if (userId) { - results = results.filter(d => d.userId === userId); - } - if (startDate) { - results = results.filter(d => d.createdAt >= startDate); - } - if (endDate) { - results = results.filter(d => d.createdAt <= endDate); - } - - return results.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime()); - } - - async markAsOpened(deliveryId: string): Promise { - const record = this.deliveries.get(deliveryId); - if (!record) return undefined; - record.status = 'opened'; - record.openedAt = new Date(); - record.updatedAt = new Date(); - this.deliveries.set(deliveryId, record); - return record; - } - - async markAsClicked(deliveryId: string): Promise { - const record = this.deliveries.get(deliveryId); - if (!record) return undefined; - record.status = 'clicked'; - record.clickedAt = new Date(); - record.updatedAt = new Date(); - this.deliveries.set(deliveryId, record); - return record; - } - - async getUnreadCount(userId: string): Promise { - return Array.from(this.deliveries.values()) - .filter(d => d.userId === userId && d.status !== 'read' && d.status !== 'clicked' && d.channel === 'in-app') - .length; - } - - async markAllAsRead(userId: string): Promise { - let count = 0; - for (const [id, record] of this.deliveries) { - if (record.userId === userId && record.status !== 'read' && record.channel === 'in-app') { - record.status = 'read'; - record.readAt = new Date(); - record.updatedAt = new Date(); - this.deliveries.set(id, record); - count++; - } - } - return count; - } -} +} \ No newline at end of file diff --git a/backend/src/services/payment-links.ts b/backend/src/services/payment-links.ts index 91c33bd7..b851f7c6 100644 --- a/backend/src/services/payment-links.ts +++ b/backend/src/services/payment-links.ts @@ -1,595 +1,333 @@ -import { createHash, randomBytes, randomUUID, scryptSync, timingSafeEqual } from 'node:crypto'; - -type Recurrence = 'one_time' | 'weekly' | 'monthly'; - -/** Failed password attempts before a protected link is temporarily locked. */ -const MAX_PASSWORD_ATTEMPTS = 5; -/** How long a protected link stays locked after exhausting its attempts. */ -const PASSWORD_LOCKOUT_MS = 15 * 60 * 1000; - -export type ABTestVariant = { - id: string; - name: string; - amount: number; - description?: string; - accentColor?: string; - ctaText?: string; - weight: number; -}; - -export type VariantAnalytics = { - variantId: string; - name: string; - views: number; - completions: number; - totalRevenue: number; - conversionRate: number; -}; - -export type PaymentLinkConversion = { - id: string; - linkId: string; - slug: string; - variantId?: string; - amount: number; - currency: string; - source: string; - referrer?: string; - userAgent?: string; - timestamp: string; -}; - -export type PaymentLinkRecord = { - id: string; - merchantId: string; - slug: string; - amount: number; - currency: string; - description?: string; - expiresAt: string; - recurrence: Recurrence; - tags: string[]; - category?: string; - metadata?: Record; - brand?: { - brandName: string; - accentColor?: string; - logoUrl?: string; - redirectUrl?: string; - }; - variants?: ABTestVariant[]; - /** True when the link is password protected. The password itself is never stored. */ - requiresPassword: boolean; - /** Maximum number of completions allowed before the link auto-disables. `null` = unlimited. */ - maxUses: number | null; - isActive: boolean; - createdAt: string; - updatedAt: string; - analytics: { - views: number; - completions: number; - totalRevenue: number; - conversionRate: number; - bySource: Record; - variantAnalytics: Record; - lastViewedAt: string | null; - lastCompletedAt: string | null; - }; -}; - -/** Internal-only secret material kept out of the public record/JSON responses. */ -type PaymentLinkSecret = { - passwordHash: Buffer; - passwordSalt: Buffer; - failedAttempts: number; - lockedUntil: number | null; -}; - -type CreatePaymentLinkInput = { - merchantId: string; - amount: number; - currency: string; - description?: string; - expiresAt: string; - recurrence: Recurrence; - tags: string[]; - category?: string; - metadata?: Record; - brand?: { - brandName: string; - accentColor?: string; - logoUrl?: string; - redirectUrl?: string; - }; - variants?: ABTestVariant[]; - /** Optional password; when set, payers must supply it to view/complete the link. */ - password?: string; - /** Optional cap on completions; omit for unlimited. */ - maxUses?: number; -}; - -export type PasswordCheckResult = - | { ok: true } - | { ok: false; reason: 'no_password_required' | 'invalid_password' | 'locked'; lockedUntil?: number }; - -export class PaymentLinksService { - private links = new Map(); - private bySlug = new Map(); - private secrets = new Map(); - private conversionsMap = new Map(); - - private nowIso(): string { - return new Date().toISOString(); - } - - private hashPassword(password: string, salt: Buffer): Buffer { - // scrypt is deliberately slow and memory-hard, which blunts offline - // brute force if the hashes ever leak. - return scryptSync(password, salt, 32); - } - - private generateSlug(): string { - const entropy = randomBytes(12).toString('base64url'); - const suffix = createHash('sha256').update(entropy).digest('hex').slice(0, 4); - return `${entropy}${suffix}`.slice(0, 16); - } - - private buildLinkUrl(slug: string): string { - return `https://pay.agenticpay.com/r/${slug}`; - } - - private initVariantAnalytics(variants?: ABTestVariant[]): Record { - const map: Record = {}; - if (variants && variants.length > 0) { - for (const v of variants) { - map[v.id] = { - variantId: v.id, - name: v.name, - views: 0, - completions: 0, - totalRevenue: 0, - conversionRate: 0, - }; - } - } - return map; - } - - create(input: CreatePaymentLinkInput): PaymentLinkRecord { - const id = randomUUID(); - const slug = this.generateSlug(); - const now = this.nowIso(); - - const variants = input.variants && input.variants.length > 0 ? input.variants : undefined; - - const link: PaymentLinkRecord = { - id, - merchantId: input.merchantId, - slug, - amount: Number(input.amount.toFixed(2)), - currency: input.currency.toUpperCase(), - description: input.description, - expiresAt: input.expiresAt, - recurrence: input.recurrence, - tags: [...new Set(input.tags)], - category: input.category, - metadata: input.metadata, - brand: input.brand, - variants, - requiresPassword: typeof input.password === 'string' && input.password.length > 0, - maxUses: typeof input.maxUses === 'number' ? input.maxUses : null, - isActive: true, - createdAt: now, - updatedAt: now, - analytics: { - views: 0, - completions: 0, - totalRevenue: 0, - conversionRate: 0, - bySource: {}, - variantAnalytics: this.initVariantAnalytics(variants), - lastViewedAt: null, - lastCompletedAt: null, - }, - }; - - this.links.set(id, link); - this.bySlug.set(slug, id); - this.conversionsMap.set(id, []); - - if (link.requiresPassword) { - const salt = randomBytes(16); - this.secrets.set(id, { - passwordHash: this.hashPassword(input.password as string, salt), - passwordSalt: salt, - failedAttempts: 0, - lockedUntil: null, - }); - } - - return link; - } - - /** - * Verify a payer-supplied password for a protected link. Tracks failed - * attempts per link and locks the link after MAX_PASSWORD_ATTEMPTS to blunt - * brute-force guessing; a correct password resets the counter. - */ - verifyPassword(slug: string, password: string): PasswordCheckResult { - const link = this.getBySlug(slug); - if (!link || !link.requiresPassword) { - return { ok: false, reason: 'no_password_required' }; - } - - const secret = this.secrets.get(link.id); - if (!secret) { - return { ok: false, reason: 'no_password_required' }; - } - - const now = Date.now(); - if (secret.lockedUntil && secret.lockedUntil > now) { - return { ok: false, reason: 'locked', lockedUntil: secret.lockedUntil }; - } - - const candidate = this.hashPassword(password, secret.passwordSalt); - const matches = - candidate.length === secret.passwordHash.length && - timingSafeEqual(candidate, secret.passwordHash); - - if (!matches) { - secret.failedAttempts += 1; - if (secret.failedAttempts >= MAX_PASSWORD_ATTEMPTS) { - secret.lockedUntil = now + PASSWORD_LOCKOUT_MS; - secret.failedAttempts = 0; - return { ok: false, reason: 'locked', lockedUntil: secret.lockedUntil }; - } - return { ok: false, reason: 'invalid_password' }; - } - - secret.failedAttempts = 0; - secret.lockedUntil = null; - return { ok: true }; - } - - /** Whether the link has reached its configured completion cap. */ - hasReachedUsageLimit(link: PaymentLinkRecord): boolean { - return link.maxUses !== null && link.analytics.completions >= link.maxUses; - } - - bulkCreate(merchantId: string, links: Omit[]): PaymentLinkRecord[] { - return links.map((link) => this.create({ ...link, merchantId })); - } - - getById(id: string): PaymentLinkRecord | undefined { - return this.links.get(id); - } - - getBySlug(slug: string): PaymentLinkRecord | undefined { - const id = this.bySlug.get(slug); - if (!id) { - return undefined; - } - return this.links.get(id); - } - - list(filters?: { merchantId?: string; tag?: string; category?: string; includeExpired?: boolean }): PaymentLinkRecord[] { - const now = Date.now(); - return [...this.links.values()] - .filter((link) => { - if (filters?.merchantId && link.merchantId !== filters.merchantId) { - return false; - } - if (filters?.tag && !link.tags.includes(filters.tag)) { - return false; - } - if (filters?.category && link.category !== filters.category) { - return false; - } - if (!filters?.includeExpired && new Date(link.expiresAt).getTime() < now) { - return false; - } - return true; - }) - .sort((a, b) => b.createdAt.localeCompare(a.createdAt)); - } - - update(id: string, patch: Partial): PaymentLinkRecord | undefined { - const existing = this.links.get(id); - if (!existing) { - return undefined; - } - - const updated: PaymentLinkRecord = { - ...existing, - ...patch, - id: existing.id, - slug: existing.slug, - merchantId: existing.merchantId, - analytics: existing.analytics, - updatedAt: this.nowIso(), - }; - - if (patch.variants && patch.variants.length > 0) { - updated.variants = patch.variants; - for (const v of patch.variants) { - if (!updated.analytics.variantAnalytics[v.id]) { - updated.analytics.variantAnalytics[v.id] = { - variantId: v.id, - name: v.name, - views: 0, - completions: 0, - totalRevenue: 0, - conversionRate: 0, - }; - } else { - updated.analytics.variantAnalytics[v.id].name = v.name; - } - } - } - - this.links.set(id, updated); - return updated; - } - - addOrUpdateVariants(id: string, variants: ABTestVariant[]): PaymentLinkRecord | undefined { - const link = this.getById(id); - if (!link) { - return undefined; - } - return this.update(id, { variants }); - } - - /** - * Select a variant based on A/B test weights or explicit variant selection. - */ - selectVariant(link: PaymentLinkRecord, requestedVariantId?: string): ABTestVariant | undefined { - if (!link.variants || link.variants.length === 0) { - return undefined; - } - - if (requestedVariantId) { - const found = link.variants.find((v) => v.id === requestedVariantId); - if (found) { - return found; - } - } - - const totalWeight = link.variants.reduce((sum, v) => sum + Math.max(0, v.weight), 0); - if (totalWeight <= 0) { - return link.variants[0]; - } - - let random = Math.random() * totalWeight; - for (const v of link.variants) { - if (random < v.weight) { - return v; - } - random -= v.weight; - } - - return link.variants[0]; - } - - expire(id: string): PaymentLinkRecord | undefined { - const link = this.links.get(id); - if (!link) { - return undefined; - } - - link.isActive = false; - link.expiresAt = this.nowIso(); - link.updatedAt = this.nowIso(); - this.links.set(id, link); - return link; - } - - trackView(slug: string, source = 'direct', variantId?: string): PaymentLinkRecord | undefined { - const link = this.getBySlug(slug); - if (!link) { - return undefined; - } - - link.analytics.views += 1; - link.analytics.lastViewedAt = this.nowIso(); - link.analytics.bySource[source] = (link.analytics.bySource[source] || 0) + 1; - - link.analytics.conversionRate = Number( - ((link.analytics.completions / link.analytics.views) * 100).toFixed(2) - ); - - if (variantId && link.analytics.variantAnalytics[variantId]) { - const vAnalytic = link.analytics.variantAnalytics[variantId]; - vAnalytic.views += 1; - vAnalytic.conversionRate = Number( - ((vAnalytic.completions / vAnalytic.views) * 100).toFixed(2) - ); - } - - link.updatedAt = this.nowIso(); - this.links.set(link.id, link); - return link; - } - - complete( - slug: string, - source = 'direct', - variantId?: string, - amountPaid?: number, - metadata?: { referrer?: string; userAgent?: string } - ): PaymentLinkRecord | undefined { - const link = this.getBySlug(slug); - if (!link) { - return undefined; - } - - let completionAmount = link.amount; - if (variantId && link.variants) { - const matchedVariant = link.variants.find((v) => v.id === variantId); - if (matchedVariant) { - completionAmount = matchedVariant.amount; - } - } - if (typeof amountPaid === 'number' && amountPaid > 0) { - completionAmount = amountPaid; - } - - link.analytics.completions += 1; - link.analytics.totalRevenue = Number((link.analytics.totalRevenue + completionAmount).toFixed(2)); - link.analytics.lastCompletedAt = this.nowIso(); - link.analytics.bySource[source] = (link.analytics.bySource[source] || 0) + 1; - - link.analytics.conversionRate = Number( - ((link.analytics.completions / link.analytics.views) * 100).toFixed(2) - ); - - if (variantId && link.analytics.variantAnalytics[variantId]) { - const vAnalytic = link.analytics.variantAnalytics[variantId]; - vAnalytic.completions += 1; - vAnalytic.totalRevenue = Number((vAnalytic.totalRevenue + completionAmount).toFixed(2)); - vAnalytic.conversionRate = Number( - ((vAnalytic.completions / Math.max(1, vAnalytic.views)) * 100).toFixed(2) - ); - } - - const conversionRecord: PaymentLinkConversion = { - id: randomUUID(), - linkId: link.id, - slug: link.slug, - variantId, - amount: completionAmount, - currency: link.currency, - source, - referrer: metadata?.referrer, - userAgent: metadata?.userAgent, - timestamp: this.nowIso(), - }; - - const existingConversions = this.conversionsMap.get(link.id) || []; - existingConversions.push(conversionRecord); - this.conversionsMap.set(link.id, existingConversions); - - // Disable once it is a single-use link or has hit its usage cap. - if (link.recurrence === 'one_time' || this.hasReachedUsageLimit(link)) { - link.isActive = false; - } - - link.updatedAt = this.nowIso(); - this.links.set(link.id, link); - return link; - } - - getConversions(linkId: string): PaymentLinkConversion[] { - return this.conversionsMap.get(linkId) || []; - } - - getMerchantDashboardSummary(merchantId: string) { - const merchantLinks = this.list({ merchantId, includeExpired: true }); - const totalLinks = merchantLinks.length; - const activeLinks = merchantLinks.filter((l) => l.isActive).length; - const totalViews = merchantLinks.reduce((sum, l) => sum + l.analytics.views, 0); - const totalCompletions = merchantLinks.reduce((sum, l) => sum + l.analytics.completions, 0); - const totalRevenue = merchantLinks.reduce((sum, l) => sum + (l.analytics.totalRevenue || 0), 0); - const overallConversionRate = totalViews > 0 ? Number(((totalCompletions / totalViews) * 100).toFixed(2)) : 0; - - const topLinks = [...merchantLinks] - .sort((a, b) => (b.analytics.totalRevenue || 0) - (a.analytics.totalRevenue || 0)) - .slice(0, 5) - .map((l) => ({ - id: l.id, - slug: l.slug, - description: l.description || l.slug, - amount: l.amount, - currency: l.currency, - views: l.analytics.views, - completions: l.analytics.completions, - conversionRate: l.analytics.conversionRate, - totalRevenue: l.analytics.totalRevenue, - })); - - return { - merchantId, - totalLinks, - activeLinks, - totalViews, - totalCompletions, - totalRevenue: Number(totalRevenue.toFixed(2)), - overallConversionRate, - topLinks, - }; - } - - isUsable(link: PaymentLinkRecord): boolean { - if (!link.isActive) { - return false; - } - if (this.hasReachedUsageLimit(link)) { - return false; - } - return new Date(link.expiresAt).getTime() > Date.now(); - } - - getQrCodeUrl(slug: string): string { - return `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(this.buildLinkUrl(slug))}`; - } - - async getQrCodeDataUrl(slug: string, type: 'data-url' | 'svg' = 'data-url'): Promise { - const url = this.buildLinkUrl(slug); - try { - const qrcodeModule = await import('qrcode'); - const QRCode = qrcodeModule.default || qrcodeModule; - if (type === 'svg') { - return await QRCode.toString(url, { type: 'svg', margin: 2, width: 300 }); - } - return await QRCode.toDataURL(url, { margin: 2, width: 300 }); - } catch { - if (type === 'svg') { - return `QR Code: /r/${slug}`; - } - return this.getQrCodeUrl(slug); - } - } - - getShareLinks(slug: string, variantId?: string, source?: string): { - url: string; - twitter: string; - whatsapp: string; - linkedin: string; - telegram: string; - email: string; - embedCode: string; - } { - let url = this.buildLinkUrl(slug); - const queryParams: string[] = []; - if (variantId) { - queryParams.push(`variant=${encodeURIComponent(variantId)}`); - } - if (source) { - queryParams.push(`source=${encodeURIComponent(source)}`); - } - if (queryParams.length > 0) { - url += `?${queryParams.join('&')}`; - } - - const encoded = encodeURIComponent(url); - const text = encodeURIComponent('Complete your payment securely with AgenticPay'); - - return { - url, - twitter: `https://twitter.com/intent/tweet?url=${encoded}&text=${text}`, - whatsapp: `https://wa.me/?text=${text}%20${encoded}`, - linkedin: `https://www.linkedin.com/sharing/share-offsite/?url=${encoded}`, - telegram: `https://t.me/share/url?url=${encoded}&text=${text}`, - email: `mailto:?subject=Payment%20Link&body=${text}%0A%0A${encoded}`, - embedCode: ``, - }; - } - - resetForTests(): void { - this.links.clear(); - this.bySlug.clear(); - this.secrets.clear(); - this.conversionsMap.clear(); - } -} - -export const paymentLinksService = new PaymentLinksService(); \ No newline at end of file +import { createHash, randomBytes, randomUUID, scryptSync, timingSafeEqual } from 'node:crypto'; + +type Recurrence = 'one_time' | 'weekly' | 'monthly'; + +/** Failed password attempts before a protected link is temporarily locked. */ +const MAX_PASSWORD_ATTEMPTS = 5; +/** How long a protected link stays locked after exhausting its attempts. */ +const PASSWORD_LOCKOUT_MS = 15 * 60 * 1000; + +export type PaymentLinkRecord = { + id: string; + merchantId: string; + slug: string; + amount: number; + currency: string; + description?: string; + expiresAt: string; + recurrence: Recurrence; + tags: string[]; + category?: string; + metadata?: Record; + brand?: { + brandName: string; + accentColor?: string; + logoUrl?: string; + redirectUrl?: string; + }; + /** True when the link is password protected. The password itself is never stored. */ + requiresPassword: boolean; + /** Maximum number of completions allowed before the link auto-disables. `null` = unlimited. */ + maxUses: number | null; + isActive: boolean; + createdAt: string; + updatedAt: string; + analytics: { + views: number; + completions: number; + bySource: Record; + lastViewedAt: string | null; + lastCompletedAt: string | null; + }; +}; + +/** Internal-only secret material kept out of the public record/JSON responses. */ +type PaymentLinkSecret = { + passwordHash: Buffer; + passwordSalt: Buffer; + failedAttempts: number; + lockedUntil: number | null; +}; + +type CreatePaymentLinkInput = { + merchantId: string; + amount: number; + currency: string; + description?: string; + expiresAt: string; + recurrence: Recurrence; + tags: string[]; + category?: string; + metadata?: Record; + brand?: { + brandName: string; + accentColor?: string; + logoUrl?: string; + redirectUrl?: string; + }; + /** Optional password; when set, payers must supply it to view/complete the link. */ + password?: string; + /** Optional cap on completions; omit for unlimited. */ + maxUses?: number; +}; + +export type PasswordCheckResult = + | { ok: true } + | { ok: false; reason: 'no_password_required' | 'invalid_password' | 'locked'; lockedUntil?: number }; + +export class PaymentLinksService { + private links = new Map(); + private bySlug = new Map(); + private secrets = new Map(); + + private nowIso(): string { + return new Date().toISOString(); + } + + private hashPassword(password: string, salt: Buffer): Buffer { + // scrypt is deliberately slow and memory-hard, which blunts offline + // brute force if the hashes ever leak. + return scryptSync(password, salt, 32); + } + + private generateSlug(): string { + const entropy = randomBytes(12).toString('base64url'); + const suffix = createHash('sha256').update(entropy).digest('hex').slice(0, 4); + return `${entropy}${suffix}`.slice(0, 16); + } + + private buildLinkUrl(slug: string): string { + return `https://pay.agenticpay.com/r/${slug}`; + } + + create(input: CreatePaymentLinkInput): PaymentLinkRecord { + const id = randomUUID(); + const slug = this.generateSlug(); + const now = this.nowIso(); + + const link: PaymentLinkRecord = { + id, + merchantId: input.merchantId, + slug, + amount: Number(input.amount.toFixed(2)), + currency: input.currency.toUpperCase(), + description: input.description, + expiresAt: input.expiresAt, + recurrence: input.recurrence, + tags: [...new Set(input.tags)], + category: input.category, + metadata: input.metadata, + brand: input.brand, + requiresPassword: typeof input.password === 'string' && input.password.length > 0, + maxUses: typeof input.maxUses === 'number' ? input.maxUses : null, + isActive: true, + createdAt: now, + updatedAt: now, + analytics: { + views: 0, + completions: 0, + bySource: {}, + lastViewedAt: null, + lastCompletedAt: null, + }, + }; + + this.links.set(id, link); + this.bySlug.set(slug, id); + + if (link.requiresPassword) { + const salt = randomBytes(16); + this.secrets.set(id, { + passwordHash: this.hashPassword(input.password as string, salt), + passwordSalt: salt, + failedAttempts: 0, + lockedUntil: null, + }); + } + + return link; + } + + /** + * Verify a payer-supplied password for a protected link. Tracks failed + * attempts per link and locks the link after MAX_PASSWORD_ATTEMPTS to blunt + * brute-force guessing; a correct password resets the counter. + */ + verifyPassword(slug: string, password: string): PasswordCheckResult { + const link = this.getBySlug(slug); + if (!link || !link.requiresPassword) { + return { ok: false, reason: 'no_password_required' }; + } + + const secret = this.secrets.get(link.id); + if (!secret) { + return { ok: false, reason: 'no_password_required' }; + } + + const now = Date.now(); + if (secret.lockedUntil && secret.lockedUntil > now) { + return { ok: false, reason: 'locked', lockedUntil: secret.lockedUntil }; + } + + const candidate = this.hashPassword(password, secret.passwordSalt); + const matches = + candidate.length === secret.passwordHash.length && + timingSafeEqual(candidate, secret.passwordHash); + + if (!matches) { + secret.failedAttempts += 1; + if (secret.failedAttempts >= MAX_PASSWORD_ATTEMPTS) { + secret.lockedUntil = now + PASSWORD_LOCKOUT_MS; + secret.failedAttempts = 0; + return { ok: false, reason: 'locked', lockedUntil: secret.lockedUntil }; + } + return { ok: false, reason: 'invalid_password' }; + } + + secret.failedAttempts = 0; + secret.lockedUntil = null; + return { ok: true }; + } + + /** Whether the link has reached its configured completion cap. */ + hasReachedUsageLimit(link: PaymentLinkRecord): boolean { + return link.maxUses !== null && link.analytics.completions >= link.maxUses; + } + + bulkCreate(merchantId: string, links: Omit[]): PaymentLinkRecord[] { + return links.map((link) => this.create({ ...link, merchantId })); + } + + getById(id: string): PaymentLinkRecord | undefined { + return this.links.get(id); + } + + getBySlug(slug: string): PaymentLinkRecord | undefined { + const id = this.bySlug.get(slug); + if (!id) { + return undefined; + } + return this.links.get(id); + } + + list(filters?: { merchantId?: string; tag?: string; category?: string; includeExpired?: boolean }): PaymentLinkRecord[] { + const now = Date.now(); + return [...this.links.values()] + .filter((link) => { + if (filters?.merchantId && link.merchantId !== filters.merchantId) { + return false; + } + if (filters?.tag && !link.tags.includes(filters.tag)) { + return false; + } + if (filters?.category && link.category !== filters.category) { + return false; + } + if (!filters?.includeExpired && new Date(link.expiresAt).getTime() < now) { + return false; + } + return true; + }) + .sort((a, b) => b.createdAt.localeCompare(a.createdAt)); + } + + update(id: string, patch: Partial): PaymentLinkRecord | undefined { + const existing = this.links.get(id); + if (!existing) { + return undefined; + } + + const updated: PaymentLinkRecord = { + ...existing, + ...patch, + id: existing.id, + slug: existing.slug, + merchantId: existing.merchantId, + analytics: existing.analytics, + updatedAt: this.nowIso(), + }; + + this.links.set(id, updated); + return updated; + } + + expire(id: string): PaymentLinkRecord | undefined { + const link = this.links.get(id); + if (!link) { + return undefined; + } + + link.isActive = false; + link.expiresAt = this.nowIso(); + link.updatedAt = this.nowIso(); + this.links.set(id, link); + return link; + } + + trackView(slug: string, source = 'direct'): PaymentLinkRecord | undefined { + const link = this.getBySlug(slug); + if (!link) { + return undefined; + } + + link.analytics.views += 1; + link.analytics.lastViewedAt = this.nowIso(); + link.analytics.bySource[source] = (link.analytics.bySource[source] || 0) + 1; + link.updatedAt = this.nowIso(); + this.links.set(link.id, link); + return link; + } + + complete(slug: string, source = 'direct'): PaymentLinkRecord | undefined { + const link = this.getBySlug(slug); + if (!link) { + return undefined; + } + + link.analytics.completions += 1; + link.analytics.lastCompletedAt = this.nowIso(); + link.analytics.bySource[source] = (link.analytics.bySource[source] || 0) + 1; + + // Disable once it is a single-use link or has hit its usage cap. + if (link.recurrence === 'one_time' || this.hasReachedUsageLimit(link)) { + link.isActive = false; + } + + link.updatedAt = this.nowIso(); + this.links.set(link.id, link); + return link; + } + + isUsable(link: PaymentLinkRecord): boolean { + if (!link.isActive) { + return false; + } + if (this.hasReachedUsageLimit(link)) { + return false; + } + return new Date(link.expiresAt).getTime() > Date.now(); + } + + getQrCodeUrl(slug: string): string { + return `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent(this.buildLinkUrl(slug))}`; + } + + getShareLinks(slug: string): { url: string; twitter: string; whatsapp: string; email: string } { + const url = this.buildLinkUrl(slug); + const encoded = encodeURIComponent(url); + return { + url, + twitter: `https://twitter.com/intent/tweet?url=${encoded}`, + whatsapp: `https://wa.me/?text=${encoded}`, + email: `mailto:?subject=Payment%20Link&body=${encoded}`, + }; + } + + resetForTests(): void { + this.links.clear(); + this.bySlug.clear(); + this.secrets.clear(); + } +} + +export const paymentLinksService = new PaymentLinksService(); \ No newline at end of file diff --git a/backend/src/services/projects.ts b/backend/src/services/projects.ts index df9ba851..53c5c116 100644 --- a/backend/src/services/projects.ts +++ b/backend/src/services/projects.ts @@ -17,7 +17,6 @@ export type MilestoneRecord = { disputeReason: string | null; createdAt: string; updatedAt: string; - dependsOn: string[]; }; export type ProjectRecord = { @@ -48,46 +47,6 @@ export type PaymentReleaseRecord = { releasedBy: string; }; -export type MilestoneDependency = { - milestoneId: string; - dependsOnMilestoneId: string; - dependencyTitle: string; - milestoneTitle: string; -}; - -export interface CriticalPathNode { - milestoneId: string; - title: string; - earliestStart: number; - earliestFinish: number; - latestStart: number; - latestFinish: number; - slack: number; - isCritical: boolean; -} - -export interface CriticalPathResult { - nodes: CriticalPathNode[]; - criticalPath: string[]; - totalDuration: number; -} - -export interface DependencyConflict { - type: 'circular_dependency'; - cycle: string[]; - description: string; -} - -export interface GanttItem { - milestoneId: string; - title: string; - startDate: string; - endDate: string; - status: MilestoneStatus; - dependsOn: string[]; - progress: number; -} - type CreateProjectInput = { name: string; clientId: string; @@ -104,7 +63,6 @@ type AddMilestoneInput = { deliverable: string; amount: number; dueDate: string; - dependsOn?: string[]; }; export class ProjectsService { @@ -144,9 +102,15 @@ export class ProjectsService { listProjects(filters?: { clientId?: string; ownerId?: string; includeArchived?: boolean }): ProjectRecord[] { return [...this.projects.values()] .filter((project) => { - if (filters?.clientId && project.clientId !== filters.clientId) return false; - if (filters?.ownerId && project.ownerId !== filters.ownerId) return false; - if (!filters?.includeArchived && project.status === 'archived') return false; + if (filters?.clientId && project.clientId !== filters.clientId) { + return false; + } + if (filters?.ownerId && project.ownerId !== filters.ownerId) { + return false; + } + if (!filters?.includeArchived && project.status === 'archived') { + return false; + } return true; }) .sort((a, b) => b.createdAt.localeCompare(a.createdAt)); @@ -158,7 +122,9 @@ export class ProjectsService { updateProject(projectId: string, patch: Partial): ProjectRecord | undefined { const existing = this.projects.get(projectId); - if (!existing) return undefined; + if (!existing) { + return undefined; + } const updated: ProjectRecord = { ...existing, @@ -176,7 +142,9 @@ export class ProjectsService { archiveProject(projectId: string): ProjectRecord | undefined { const project = this.projects.get(projectId); - if (!project) return undefined; + if (!project) { + return undefined; + } project.status = 'archived'; project.archivedAt = this.nowIso(); @@ -185,29 +153,11 @@ export class ProjectsService { return project; } - /** Reverse an archival, returning the project to its pre-archive status. */ - restoreProject(projectId: string, previousStatus: ProjectStatus = 'active'): ProjectRecord | undefined { - const project = this.projects.get(projectId); - if (!project) return undefined; - - project.status = previousStatus === 'archived' ? 'active' : previousStatus; - project.archivedAt = null; - project.updatedAt = this.nowIso(); - this.projects.set(projectId, project); - return project; - } - - /** Permanently drop a project and its milestones once retention has elapsed. */ - purgeProject(projectId: string): boolean { - const existed = this.projects.delete(projectId); - this.milestones.delete(projectId); - this.releases = this.releases.filter((release) => release.projectId !== projectId); - return existed; - } - markAbandoned(projectId: string): ProjectRecord | undefined { const project = this.projects.get(projectId); - if (!project) return undefined; + if (!project) { + return undefined; + } project.status = 'abandoned'; project.updatedAt = this.nowIso(); @@ -217,7 +167,9 @@ export class ProjectsService { applyScopeChange(projectId: string, additionalBudget: number): ProjectRecord | undefined { const project = this.projects.get(projectId); - if (!project) return undefined; + if (!project) { + return undefined; + } project.budget = Number((project.budget + additionalBudget).toFixed(2)); project.scopeChangeCount += 1; @@ -228,17 +180,8 @@ export class ProjectsService { addMilestone(projectId: string, input: AddMilestoneInput): MilestoneRecord | undefined { const project = this.projects.get(projectId); - if (!project) return undefined; - - const dependsOn = input.dependsOn ?? []; - - if (dependsOn.length > 0) { - const existing = this.milestones.get(projectId) || []; - const depsValid = dependsOn.every((depId) => existing.some((m) => m.id === depId)); - if (!depsValid) return undefined; - - const conflict = this.detectCircularDependency(projectId, dependsOn); - if (conflict) return undefined; + if (!project) { + return undefined; } const milestone: MilestoneRecord = { @@ -255,7 +198,6 @@ export class ProjectsService { disputeReason: null, createdAt: this.nowIso(), updatedAt: this.nowIso(), - dependsOn, }; const existing = this.milestones.get(projectId) || []; @@ -263,401 +205,42 @@ export class ProjectsService { return milestone; } - updateMilestoneDependencies( - projectId: string, - milestoneId: string, - dependsOn: string[] - ): MilestoneRecord | undefined { - const existing = this.milestones.get(projectId); - if (!existing) return undefined; - - const depsValid = dependsOn.length === 0 || dependsOn.every((depId) => - depId === milestoneId ? false : existing.some((m) => m.id === depId) - ); - if (!depsValid) return undefined; - - const idx = existing.findIndex((m) => m.id === milestoneId); - if (idx === -1) return undefined; - - const updated = { ...existing[idx], dependsOn, updatedAt: this.nowIso() }; - existing[idx] = updated; - this.milestones.set(projectId, existing); - return updated; - } - listMilestones(projectId: string): MilestoneRecord[] { return this.milestones.get(projectId) || []; } private findMilestone(projectId: string, milestoneId: string): MilestoneRecord | undefined { const milestones = this.milestones.get(projectId); - if (!milestones) return undefined; - return milestones.find((milestone) => milestone.id === milestoneId); - } - - private getMilestoneDuration(milestone: MilestoneRecord): number { - const created = new Date(milestone.createdAt).getTime(); - const due = new Date(milestone.dueDate).getTime(); - return Math.max(1, Math.ceil((due - created) / (1000 * 60 * 60 * 24))); - } - - // ── Dependency Detection ────────────────────────────────────────────────── - - getDependencies(projectId: string): MilestoneDependency[] { - const milestones = this.milestones.get(projectId) || []; - const deps: MilestoneDependency[] = []; - for (const m of milestones) { - for (const depId of m.dependsOn) { - const dep = milestones.find((d) => d.id === depId); - if (dep) { - deps.push({ - milestoneId: m.id, - dependsOnMilestoneId: depId, - dependencyTitle: dep.title, - milestoneTitle: m.title, - }); - } - } - } - return deps; - } - - detectCircularDependency(projectId: string, newDependsOn: string[]): DependencyConflict | null { - const milestones = this.milestones.get(projectId) || []; - const adj = new Map(); - - for (const m of milestones) { - adj.set(m.id, [...m.dependsOn]); - } - - for (const depId of newDependsOn) { - adj.set('__new', [...(adj.get('__new') || []), depId]); - } - - const visited = new Set(); - const recStack = new Set(); - - function dfs(node: string): string[] | null { - visited.add(node); - recStack.add(node); - const neighbors = adj.get(node) || []; - for (const neighbor of neighbors) { - if (!visited.has(neighbor)) { - const result = dfs(neighbor); - if (result) return result; - } else if (recStack.has(neighbor)) { - return [neighbor, node]; - } - } - recStack.delete(node); - return null; - } - - for (const node of adj.keys()) { - if (!visited.has(node)) { - const result = dfs(node); - if (result) return { type: 'circular_dependency', cycle: result, description: `Circular dependency detected: ${result.join(' -> ')}` }; - } - } - return null; - } - - checkDependencyConflicts(projectId: string): DependencyConflict[] { - const conflicts: DependencyConflict[] = []; - const cyclic = this.detectAllCycles(projectId); - conflicts.push(...cyclic); - return conflicts; - } - - private detectAllCycles(projectId: string): DependencyConflict[] { - const milestones = this.milestones.get(projectId) || []; - const adj = new Map(); - for (const m of milestones) { - adj.set(m.id, [...m.dependsOn]); - } - - const conflicts: DependencyConflict[] = []; - const visited = new Set(); - const recStack = new Set(); - const path: string[] = []; - - function dfs(node: string): void { - visited.add(node); - recStack.add(node); - path.push(node); - const neighbors = adj.get(node) || []; - for (const neighbor of neighbors) { - if (!visited.has(neighbor)) { - dfs(neighbor); - } else if (recStack.has(neighbor)) { - const cycleStart = path.indexOf(neighbor); - const cycle = path.slice(cycleStart); - cycle.push(neighbor); - const titleStr = cycle.map((id) => { - const m = milestones.find((ms) => ms.id === id); - return m ? m.title : id; - }).join(' -> '); - conflicts.push({ - type: 'circular_dependency', - cycle: [...cycle], - description: `Circular dependency: ${titleStr}`, - }); - } - } - recStack.delete(node); - path.pop(); + if (!milestones) { + return undefined; } - - for (const node of adj.keys()) { - if (!visited.has(node)) { - dfs(node); - } - } - return conflicts; - } - - // ── Critical Path Analysis ──────────────────────────────────────────────── - - computeCriticalPath(projectId: string): CriticalPathResult | null { - const milestones = this.milestones.get(projectId); - if (!milestones || milestones.length === 0) return null; - - const adj = new Map(); - const revAdj = new Map(); - const milestoneMap = new Map(); - - for (const m of milestones) { - milestoneMap.set(m.id, m); - adj.set(m.id, []); - revAdj.set(m.id, []); - } - - for (const m of milestones) { - for (const depId of m.dependsOn) { - if (milestoneMap.has(depId)) { - adj.get(depId)!.push(m.id); - revAdj.get(m.id)!.push(depId); - } - } - } - - const duration = new Map(); - for (const m of milestones) { - duration.set(m.id, this.getMilestoneDuration(m)); - } - - const earliestStart = new Map(); - const earliestFinish = new Map(); - - const topoOrder: string[] = []; - const visited = new Set(); - const visiting = new Set(); - - function topologicalSort(node: string, ms: Map): boolean { - if (visiting.has(node)) return false; - if (visited.has(node)) return true; - visiting.add(node); - const neighbors = adj.get(node) || []; - for (const neighbor of neighbors) { - if (!topologicalSort(neighbor, ms)) return false; - } - visiting.delete(node); - visited.add(node); - topoOrder.push(node); - return true; - } - - for (const m of milestones) { - if (!visited.has(m.id)) { - if (!topologicalSort(m.id, milestoneMap)) return null; - } - } - topoOrder.reverse(); - - for (const nodeId of topoOrder) { - const predecessors = revAdj.get(nodeId) || []; - let maxES = 0; - for (const predId of predecessors) { - const ef = earliestFinish.get(predId) || 0; - if (ef > maxES) maxES = ef; - } - earliestStart.set(nodeId, maxES); - earliestFinish.set(nodeId, maxES + (duration.get(nodeId) || 0)); - } - - const latestStart = new Map(); - const latestFinish = new Map(); - const projectEnd = Math.max(...Array.from(earliestFinish.values())); - - for (const nodeId of topoOrder.reverse()) { - const successors = adj.get(nodeId) || []; - if (successors.length === 0) { - latestFinish.set(nodeId, projectEnd); - } else { - let minLS = Infinity; - for (const succId of successors) { - const ls = latestStart.get(succId) || 0; - if (ls < minLS) minLS = ls; - } - latestFinish.set(nodeId, minLS); - } - const dur = duration.get(nodeId) || 0; - latestStart.set(nodeId, (latestFinish.get(nodeId) || 0) - dur); - } - - const nodes: CriticalPathNode[] = milestones.map((m) => { - const es = earliestStart.get(m.id) || 0; - const ef = earliestFinish.get(m.id) || 0; - const ls = latestStart.get(m.id) || 0; - const lf = latestFinish.get(m.id) || 0; - const slack = ls - es; - return { - milestoneId: m.id, - title: m.title, - earliestStart: es, - earliestFinish: ef, - latestStart: ls, - latestFinish: lf, - slack, - isCritical: slack <= 0, - }; - }); - - const criticalPath = nodes - .filter((n) => n.isCritical) - .sort((a, b) => a.earliestStart - b.earliestStart) - .map((n) => n.milestoneId); - - return { - nodes, - criticalPath, - totalDuration: projectEnd, - }; - } - - // ── Gantt Data ──────────────────────────────────────────────────────────── - - getGanttData(projectId: string): GanttItem[] { - const milestones = this.milestones.get(projectId); - if (!milestones) return []; - - const project = this.projects.get(projectId); - const projectStart = project ? new Date(project.startDate).getTime() : Date.now(); - - return milestones.map((m) => { - const due = new Date(m.dueDate).getTime(); - const created = new Date(m.createdAt).getTime(); - const startDate = created < projectStart ? projectStart : created; - const statusWeights: Record = { - pending: 0, - submitted: 50, - approved: 75, - released: 100, - disputed: 25, - }; - - return { - milestoneId: m.id, - title: m.title, - startDate: new Date(startDate).toISOString(), - endDate: new Date(due).toISOString(), - status: m.status, - dependsOn: m.dependsOn, - progress: statusWeights[m.status] ?? 0, - }; - }); - } - - // ── Cascading Completion ────────────────────────────────────────────────── - - cascadeMilestoneCompletion(projectId: string, completedMilestoneId: string): MilestoneRecord[] { - const milestones = this.milestones.get(projectId); - if (!milestones) return []; - - const updated: MilestoneRecord[] = []; - const completed = milestones.find((m) => m.id === completedMilestoneId); - if (!completed) return []; - - for (const milestone of milestones) { - if (milestone.dependsOn.includes(completedMilestoneId) && milestone.status === 'pending') { - milestone.status = 'submitted'; - milestone.updatedAt = this.nowIso(); - updated.push(milestone); - } - } - - this.milestones.set(projectId, milestones); - return updated; - } - - // ── Deadline Alerts ─────────────────────────────────────────────────────── - - getDeadlineAlerts(projectId?: string, ownerId?: string, thresholdDays: number = 7): Array<{ - milestone: MilestoneRecord; - project: ProjectRecord; - daysRemaining: number; - alertType: 'approaching' | 'critical' | 'overdue'; - }> { - const now = Date.now(); - const allIds = projectId ? [projectId] : [...this.projects.keys()]; - const projectIds = ownerId - ? allIds.filter((pid) => { - const p = this.projects.get(pid); - return p && (p.ownerId === ownerId || p.clientId === ownerId); - }) - : allIds; - - const alerts: Array<{ - milestone: MilestoneRecord; - project: ProjectRecord; - daysRemaining: number; - alertType: 'approaching' | 'critical' | 'overdue'; - }> = []; - - for (const pid of projectIds) { - const project = this.projects.get(pid); - if (!project) continue; - const milestones = this.milestones.get(pid) ?? []; - for (const milestone of milestones) { - if (milestone.status === 'released') continue; - const due = new Date(milestone.dueDate).getTime(); - const diffDays = Math.ceil((due - now) / (1000 * 60 * 60 * 24)); - - if (diffDays < 0) { - alerts.push({ milestone, project, daysRemaining: diffDays, alertType: 'overdue' }); - } else if (diffDays <= 3) { - alerts.push({ milestone, project, daysRemaining: diffDays, alertType: 'critical' }); - } else if (diffDays <= thresholdDays) { - alerts.push({ milestone, project, daysRemaining: diffDays, alertType: 'approaching' }); - } - } - } - - return alerts.sort((a, b) => a.daysRemaining - b.daysRemaining); + return milestones.find((milestone) => milestone.id === milestoneId); } - // ── Existing Methods ────────────────────────────────────────────────────── - submitDeliverable(projectId: string, milestoneId: string, submissionUrl: string, notes?: string): MilestoneRecord | undefined { const milestone = this.findMilestone(projectId, milestoneId); - if (!milestone) return undefined; + if (!milestone) { + return undefined; + } milestone.status = 'submitted'; milestone.submittedAt = this.nowIso(); milestone.submissionUrl = submissionUrl; milestone.submissionNotes = notes ?? null; milestone.updatedAt = this.nowIso(); - - this.cascadeMilestoneCompletion(projectId, milestoneId); return milestone; } approveDeliverable(projectId: string, milestoneId: string, approvedBy: string): { milestone: MilestoneRecord; release: PaymentReleaseRecord } | undefined { const project = this.projects.get(projectId); - if (!project) return undefined; + if (!project) { + return undefined; + } const milestone = this.findMilestone(projectId, milestoneId); - if (!milestone) return undefined; + if (!milestone) { + return undefined; + } milestone.status = 'released'; milestone.approvedAt = this.nowIso(); @@ -677,8 +260,6 @@ export class ProjectsService { project.spentBudget = Number((project.spentBudget + milestone.amount).toFixed(2)); project.updatedAt = this.nowIso(); - this.cascadeMilestoneCompletion(projectId, milestoneId); - const allMilestones = this.listMilestones(projectId); if (allMilestones.length > 0 && allMilestones.every((entry) => entry.status === 'released')) { project.status = 'completed'; @@ -690,10 +271,14 @@ export class ProjectsService { disputeMilestone(projectId: string, milestoneId: string, reason: string): MilestoneRecord | undefined { const project = this.projects.get(projectId); - if (!project) return undefined; + if (!project) { + return undefined; + } const milestone = this.findMilestone(projectId, milestoneId); - if (!milestone) return undefined; + if (!milestone) { + return undefined; + } milestone.status = 'disputed'; milestone.disputeReason = reason; @@ -716,7 +301,9 @@ export class ProjectsService { } | undefined { const project = this.projects.get(projectId); - if (!project) return undefined; + if (!project) { + return undefined; + } const milestones = this.listMilestones(projectId); const completedCount = milestones.filter((milestone) => milestone.status === 'released').length; @@ -757,6 +344,7 @@ export class ProjectsService { overdueDays: number; }> { const now = new Date(); + // If ownerId is provided, scope to that owner's projects only const allIds = projectId ? [projectId] : [...this.projects.keys()]; const projectIds = ownerId ? allIds.filter((pid) => { @@ -791,4 +379,4 @@ export class ProjectsService { } } -export const projectsService = new ProjectsService(); +export const projectsService = new ProjectsService(); \ No newline at end of file diff --git a/backend/src/services/queue-producers.js b/backend/src/services/queue-producers.js index 60692140..fec75567 100644 --- a/backend/src/services/queue-producers.js +++ b/backend/src/services/queue-producers.js @@ -51,7 +51,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) { } }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.messageQueue = void 0; exports.queueEmail = queueEmail; exports.queueNotification = queueNotification; exports.queueWebhook = queueWebhook; @@ -60,7 +59,6 @@ exports.processNotificationJob = processNotificationJob; exports.processWebhookJob = processWebhookJob; exports.registerDefaultProcessors = registerDefaultProcessors; var queue_js_1 = require("./queue.js"); -Object.defineProperty(exports, "messageQueue", { enumerable: true, get: function () { return queue_js_1.messageQueue; } }); /** * Queue an email to be sent asynchronously */ diff --git a/backend/src/services/queue-producers.ts b/backend/src/services/queue-producers.ts index 45642b19..c454dcfc 100644 --- a/backend/src/services/queue-producers.ts +++ b/backend/src/services/queue-producers.ts @@ -3,10 +3,11 @@ * Provides convenient methods to enqueue specific types of jobs */ -import { messageQueue, QueueJob, JobPriority } from './queue.js'; - -export { messageQueue }; +import { messageQueue, QueueJob } from './queue.js'; +/** + * Email job data structure + */ export interface EmailJobData { to: string; subject: string; @@ -17,6 +18,9 @@ export interface EmailJobData { bcc?: string[]; } +/** + * Notification job data structure + */ export interface NotificationJobData { userId: string; type: 'info' | 'success' | 'warning' | 'error'; @@ -25,6 +29,9 @@ export interface NotificationJobData { metadata?: Record; } +/** + * Webhook job data structure + */ export interface WebhookJobData { url: string; method: 'GET' | 'POST' | 'PUT' | 'DELETE'; @@ -33,29 +40,31 @@ export interface WebhookJobData { timeout?: number; } -export interface EnqueueOptions { - priority?: JobPriority; - tags?: string[]; - enqueuedBy?: string; - maxAttempts?: number; -} - -export async function queueEmail(emailData: EmailJobData, options?: EnqueueOptions): Promise { - return messageQueue.enqueue('email', emailData, { maxAttempts: options?.maxAttempts ?? 3, priority: options?.priority, tags: options?.tags, enqueuedBy: options?.enqueuedBy }); +/** + * Queue an email to be sent asynchronously + */ +export async function queueEmail(emailData: EmailJobData, maxAttempts?: number): Promise { + return messageQueue.enqueue('email', emailData, maxAttempts || 3); } +/** + * Queue a notification to be delivered asynchronously + */ export async function queueNotification( notificationData: NotificationJobData, - options?: EnqueueOptions + maxAttempts?: number ): Promise { - return messageQueue.enqueue('notifications', notificationData, { maxAttempts: options?.maxAttempts ?? 5, priority: options?.priority, tags: options?.tags, enqueuedBy: options?.enqueuedBy }); + return messageQueue.enqueue('notifications', notificationData, maxAttempts || 5); } +/** + * Queue a webhook call to be delivered asynchronously + */ export async function queueWebhook( webhookData: WebhookJobData, - options?: EnqueueOptions + maxAttempts?: number ): Promise { - return messageQueue.enqueue('webhooks', webhookData, { maxAttempts: options?.maxAttempts ?? 5, priority: options?.priority, tags: options?.tags, enqueuedBy: options?.enqueuedBy }); + return messageQueue.enqueue('webhooks', webhookData, maxAttempts || 5); } /** diff --git a/backend/src/services/queue.js b/backend/src/services/queue.js index 1b940abc..d7b522cd 100644 --- a/backend/src/services/queue.js +++ b/backend/src/services/queue.js @@ -1,373 +1,321 @@ "use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -exports.MessageQueue = exports.messageQueue = void 0; - -const crypto = require("node:crypto"); - -const PRIORITY_ORDER = { - critical: 0, - high: 1, - normal: 2, - low: 3, +/** + * Message Queue Service + * Manages async task processing with retry logic and state management + */ +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); }; - -const DEFAULT_CONFIG = { - maxAttempts: 3, - retryDelayMs: 1000, - retryBackoffMultiplier: 2, - maxRetryDelayMs: 60 * 1000, - pollIntervalMs: 1000, - batchSize: 10, - rateLimits: { - email: { maxPerSecond: 10, maxBurst: 20 }, - notifications: { maxPerSecond: 50, maxBurst: 100 }, - webhooks: { maxPerSecond: 30, maxBurst: 60 }, - "external-api": { maxPerSecond: 5, maxBurst: 10 }, - }, - enableDlq: true, - dlqMaxRetentionMs: 7 * 24 * 60 * 60 * 1000, +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - -class TokenBucket { - constructor(maxTokens, refillRate) { - this.maxTokens = maxTokens; - this.refillRate = refillRate; - this.tokens = maxTokens; - this.lastRefill = Date.now(); - } - - tryConsume(count) { - this.refill(); - if (this.tokens >= count) { - this.tokens -= count; - return true; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); + return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } - return false; - } - - refill() { - const now = Date.now(); - const elapsed = (now - this.lastRefill) / 1000; - this.tokens = Math.min(this.maxTokens, this.tokens + elapsed * this.refillRate); - this.lastRefill = now; - } - - get usage() { - this.refill(); - return this.maxTokens - this.tokens; - } - - get remaining() { - this.refill(); - return this.tokens; - } -} - -class MessageQueue { - constructor(config = {}) { - this.jobs = new Map(); - this.processors = new Map(); - this.isRunning = false; - this.dlq = []; - this.rateLimiters = new Map(); - this.config = { ...DEFAULT_CONFIG, ...config }; - this.metrics = { - totalEnqueued: 0, - totalCompleted: 0, - totalFailed: 0, - totalDlq: 0, - totalRetried: 0, - avgProcessingTimeMs: 0, - processingTimeSamples: 0, - priorityDistribution: { critical: 0, high: 0, normal: 0, low: 0 }, - perQueueLatency: {}, - }; - this.configureRateLimiters(this.config.rateLimits); - } - - configureRateLimiters(rateLimits = {}) { - for (const [queue, rl] of Object.entries(rateLimits)) { - if (rl) this.rateLimiters.set(queue, new TokenBucket(rl.maxBurst, rl.maxPerSecond)); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.messageQueue = void 0; +var DEFAULT_CONFIG = { + maxAttempts: 3, + retryDelayMs: 1000, // 1 second + retryBackoffMultiplier: 2, // exponential backoff + maxRetryDelayMs: 60 * 1000, // 1 minute max + pollIntervalMs: 1000, // 1 second + batchSize: 10, +}; +/** + * In-memory message queue implementation + * Suitable for single-instance deployments; use Redis for distributed systems + */ +var MessageQueue = /** @class */ (function () { + function MessageQueue(config) { + if (config === void 0) { config = {}; } + this.jobs = new Map(); + this.processors = new Map(); + this.isRunning = false; + this.config = __assign(__assign({}, DEFAULT_CONFIG), config); } - } - - registerProcessor(queue, processor) { - this.processors.set(queue, processor); - } - - async enqueue(queue, data, options = {}) { - if (typeof options === "number") options = { maxAttempts: options }; - const scheduledAt = options.delayMs && options.delayMs > 0 ? new Date(Date.now() + options.delayMs) : undefined; - const job = { - id: options.jobId || this.generateJobId(), - queue, - data, - status: scheduledAt ? "retrying" : "pending", - priority: options.priority || "normal", - attempts: 0, - maxAttempts: options.maxAttempts || this.config.maxAttempts, - createdAt: new Date(), - scheduledAt, - nextRetryAt: scheduledAt, - enqueuedBy: options.enqueuedBy, - tags: options.tags, + /** + * Register a job processor for a queue + */ + MessageQueue.prototype.registerProcessor = function (queue, processor) { + this.processors.set(queue, processor); }; - this.jobs.set(job.id, job); - this.metrics.totalEnqueued++; - this.metrics.priorityDistribution[job.priority]++; - return job; - } - - getJob(jobId) { - return this.jobs.get(jobId); - } - - getAllJobs() { - return Array.from(this.jobs.values()); - } - - getJobsByQueue(queue) { - return Array.from(this.jobs.values()).filter((job) => job.queue === queue); - } - - getJobsByStatus(status) { - return Array.from(this.jobs.values()).filter((job) => job.status === status); - } - - getJobsByPriority(priority) { - return Array.from(this.jobs.values()).filter((job) => job.priority === priority); - } - - start() { - if (this.isRunning) { - console.warn("Queue processor already running"); - return; - } - this.isRunning = true; - this.processingInterval = setInterval(() => { - this.processJobs(); - }, this.config.pollIntervalMs); - } - - stop() { - this.isRunning = false; - if (this.processingInterval) clearInterval(this.processingInterval); - } - - async processJobs() { - if (!this.isRunning) return; - const now = new Date(); - const candidates = Array.from(this.jobs.values()).filter((job) => - (job.status === "pending" || (job.status === "retrying" && job.nextRetryAt && job.nextRetryAt <= now)) && - job.attempts < job.maxAttempts - ); - candidates.sort((a, b) => { - const priority = PRIORITY_ORDER[a.priority] - PRIORITY_ORDER[b.priority]; - return priority !== 0 ? priority : a.createdAt.getTime() - b.createdAt.getTime(); - }); - for (const job of candidates.slice(0, this.config.batchSize)) { - const limiter = this.rateLimiters.get(job.queue); - if (limiter && !limiter.tryConsume(1)) continue; - await this.processJob(job); - } - } - - async processNextBatch() { - const wasRunning = this.isRunning; - this.isRunning = true; - await this.processJobs(); - this.isRunning = wasRunning; - } - - async processJob(job) { - const processor = this.processors.get(job.queue); - if (!processor) { - job.status = "failed"; - job.lastError = `No processor found for queue: ${job.queue}`; - this.metrics.totalFailed++; - return; - } - const startTime = Date.now(); - try { - job.status = "processing"; - job.attempts += 1; - await processor(job); - job.status = "completed"; - job.completedAt = new Date(); - job.processedAt = new Date(); - this.metrics.totalCompleted++; - this.recordLatency(job.queue, Date.now() - startTime); - } catch (error) { - job.lastError = error instanceof Error ? error.message : String(error); - job.processedAt = new Date(); - this.recordLatency(job.queue, Date.now() - startTime); - if (job.attempts < job.maxAttempts) { - const delayMs = this.calculateRetryDelay(job.attempts); - job.status = "retrying"; - job.nextRetryAt = new Date(Date.now() + delayMs); - this.metrics.totalRetried++; - } else if (this.config.enableDlq) { - this.moveToDlq(job); - } else { - job.status = "failed"; - this.metrics.totalFailed++; - } - } - } - - calculateRetryDelay(attempt) { - const base = this.config.retryDelayMs * Math.pow(this.config.retryBackoffMultiplier, attempt - 1); - const capped = Math.min(base, this.config.maxRetryDelayMs); - const jitter = capped * 0.1 * (Math.random() * 2 - 1); - return Math.max(100, Math.round(capped + jitter)); - } - - moveToDlq(job) { - job.status = "dlq"; - this.dlq.push({ - job: { ...job }, - failedAt: new Date(), - failureReason: job.lastError || "Unknown error", - originalQueue: job.queue, - }); - this.metrics.totalDlq++; - this.pruneDlq(); - } - - pruneDlq() { - const cutoff = Date.now() - this.config.dlqMaxRetentionMs; - this.dlq = this.dlq.filter((entry) => entry.failedAt.getTime() > cutoff); - } - - recordLatency(queue, durationMs) { - if (!this.metrics.perQueueLatency[queue]) this.metrics.perQueueLatency[queue] = { count: 0, totalMs: 0 }; - const entry = this.metrics.perQueueLatency[queue]; - entry.count++; - entry.totalMs += durationMs; - this.metrics.processingTimeSamples++; - const total = this.metrics.avgProcessingTimeMs * (this.metrics.processingTimeSamples - 1) + durationMs; - this.metrics.avgProcessingTimeMs = total / this.metrics.processingTimeSamples; - } - - retryJob(jobId) { - const job = this.jobs.get(jobId); - if (!job || (job.status !== "failed" && job.status !== "dlq")) return false; - job.status = "pending"; - job.attempts = 0; - job.nextRetryAt = undefined; - job.scheduledAt = undefined; - job.lastError = undefined; - return true; - } - - replayFromDlq(jobId) { - const idx = this.dlq.findIndex((entry) => entry.job.id === jobId); - if (idx === -1) return false; - const entry = this.dlq[idx]; - this.dlq.splice(idx, 1); - this.jobs.set(jobId, { - ...entry.job, - status: "pending", - attempts: 0, - nextRetryAt: undefined, - scheduledAt: undefined, - lastError: undefined, - createdAt: new Date(), - }); - return true; - } - - replayAllFromDlq(queue) { - let count = 0; - for (const entry of [...this.dlq]) { - if (queue && entry.originalQueue !== queue) continue; - if (this.replayFromDlq(entry.job.id)) count++; - } - return count; - } - - deleteJob(jobId) { - return this.jobs.delete(jobId); - } - - deleteFromDlq(jobId) { - const idx = this.dlq.findIndex((entry) => entry.job.id === jobId); - if (idx === -1) return false; - this.dlq.splice(idx, 1); - return true; - } - - clearDlq() { - const count = this.dlq.length; - this.dlq = []; - return count; - } - - clearByStatus(status) { - let count = 0; - for (const [jobId, job] of this.jobs.entries()) { - if (job.status === status) { - this.jobs.delete(jobId); - count++; - } - } - return count; - } - - getDlq() { - this.pruneDlq(); - return [...this.dlq]; - } - - getRateLimitStatus() { - const status = {}; - for (const [queue, limiter] of this.rateLimiters.entries()) { - status[queue] = { - maxTokens: limiter.remaining + limiter.usage, - remaining: limiter.remaining, - usage: limiter.usage, - }; - } - return status; - } - - getStats() { - const jobs = Array.from(this.jobs.values()); - return { - total: jobs.length, - pending: jobs.filter((job) => job.status === "pending").length, - processing: jobs.filter((job) => job.status === "processing").length, - completed: jobs.filter((job) => job.status === "completed").length, - failed: jobs.filter((job) => job.status === "failed").length, - retrying: jobs.filter((job) => job.status === "retrying").length, - dlq: jobs.filter((job) => job.status === "dlq").length, - priorityBreakdown: { - critical: jobs.filter((job) => job.priority === "critical").length, - high: jobs.filter((job) => job.priority === "high").length, - normal: jobs.filter((job) => job.priority === "normal").length, - low: jobs.filter((job) => job.priority === "low").length, - }, + /** + * Queue a new job + */ + MessageQueue.prototype.enqueue = function (queue, data, maxAttempts) { + return __awaiter(this, void 0, void 0, function () { + var job; + return __generator(this, function (_a) { + job = { + id: this.generateJobId(), + queue: queue, + data: data, + status: 'pending', + attempts: 0, + maxAttempts: maxAttempts || this.config.maxAttempts, + createdAt: new Date(), + }; + this.jobs.set(job.id, job); + console.log("Job enqueued: ".concat(JSON.stringify(job))); + return [2 /*return*/, job]; + }); + }); + }; + /** + * Get a job by ID + */ + MessageQueue.prototype.getJob = function (jobId) { + return this.jobs.get(jobId); + }; + /** + * Get all jobs + */ + MessageQueue.prototype.getAllJobs = function () { + return Array.from(this.jobs.values()); + }; + /** + * Get jobs by queue + */ + MessageQueue.prototype.getJobsByQueue = function (queue) { + return Array.from(this.jobs.values()).filter(function (job) { return job.queue === queue; }); + }; + /** + * Get jobs by status + */ + MessageQueue.prototype.getJobsByStatus = function (status) { + return Array.from(this.jobs.values()).filter(function (job) { return job.status === status; }); + }; + /** + * Start processing jobs + */ + MessageQueue.prototype.start = function () { + var _this = this; + if (this.isRunning) { + console.warn('Queue processor already running'); + return; + } + this.isRunning = true; + console.log('Message queue processor started'); + this.processingInterval = setInterval(function () { + _this.processJobs(); + }, this.config.pollIntervalMs); + }; + /** + * Stop processing jobs + */ + MessageQueue.prototype.stop = function () { + if (!this.isRunning) { + return; + } + this.isRunning = false; + if (this.processingInterval) { + clearInterval(this.processingInterval); + } + console.log('Message queue processor stopped'); + }; + /** + * Process pending and retryable jobs + */ + MessageQueue.prototype.processJobs = function () { + return __awaiter(this, void 0, void 0, function () { + var now_1, jobsToProcess, _i, jobsToProcess_1, job, error_1; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!this.isRunning) { + return [2 /*return*/]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 6, , 7]); + now_1 = new Date(); + jobsToProcess = Array.from(this.jobs.values()) + .filter(function (job) { + return (job.status === 'pending' || + (job.status === 'retrying' && job.nextRetryAt && job.nextRetryAt <= now_1)) && + job.attempts < job.maxAttempts; + }) + .slice(0, this.config.batchSize); + _i = 0, jobsToProcess_1 = jobsToProcess; + _a.label = 2; + case 2: + if (!(_i < jobsToProcess_1.length)) return [3 /*break*/, 5]; + job = jobsToProcess_1[_i]; + return [4 /*yield*/, this.processJob(job)]; + case 3: + _a.sent(); + _a.label = 4; + case 4: + _i++; + return [3 /*break*/, 2]; + case 5: return [3 /*break*/, 7]; + case 6: + error_1 = _a.sent(); + console.error('Error in job processing loop:', error_1); + return [3 /*break*/, 7]; + case 7: return [2 /*return*/]; + } + }); + }); + }; + /** + * Process a single job + */ + MessageQueue.prototype.processJob = function (job) { + return __awaiter(this, void 0, void 0, function () { + var processor, error_2, delayMs; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + processor = this.processors.get(job.queue); + if (!processor) { + console.warn("No processor registered for queue: ".concat(job.queue)); + job.status = 'failed'; + job.lastError = "No processor found for queue: ".concat(job.queue); + return [2 /*return*/]; + } + _a.label = 1; + case 1: + _a.trys.push([1, 3, , 4]); + job.status = 'processing'; + job.attempts += 1; + return [4 /*yield*/, processor(job)]; + case 2: + _a.sent(); + job.status = 'completed'; + job.completedAt = new Date(); + job.processedAt = new Date(); + console.log("Job completed: ".concat(job.id)); + return [3 /*break*/, 4]; + case 3: + error_2 = _a.sent(); + job.lastError = error_2 instanceof Error ? error_2.message : String(error_2); + job.processedAt = new Date(); + if (job.attempts < job.maxAttempts) { + delayMs = Math.min(this.config.retryDelayMs * Math.pow(this.config.retryBackoffMultiplier, job.attempts - 1), this.config.maxRetryDelayMs); + job.status = 'retrying'; + job.nextRetryAt = new Date(Date.now() + delayMs); + console.log("Job scheduled for retry: ".concat(job.id, " in ").concat(delayMs, "ms")); + } + else { + // Max retries exceeded + job.status = 'failed'; + console.error("Job failed after ".concat(job.attempts, " attempts: ").concat(job.id), job.lastError); + } + return [3 /*break*/, 4]; + case 4: return [2 /*return*/]; + } + }); + }); + }; + /** + * Retry a failed job + */ + MessageQueue.prototype.retryJob = function (jobId) { + var job = this.jobs.get(jobId); + if (!job) { + return false; + } + if (job.status !== 'failed') { + return false; + } + job.status = 'pending'; + job.attempts = 0; + job.nextRetryAt = undefined; + return true; + }; + /** + * Delete a job + */ + MessageQueue.prototype.deleteJob = function (jobId) { + return this.jobs.delete(jobId); + }; + /** + * Clear jobs by status + */ + MessageQueue.prototype.clearByStatus = function (status) { + var count = 0; + for (var _i = 0, _a = this.jobs.entries(); _i < _a.length; _i++) { + var _b = _a[_i], jobId = _b[0], job = _b[1]; + if (job.status === status) { + this.jobs.delete(jobId); + count++; + } + } + return count; + }; + /** + * Get queue statistics + */ + MessageQueue.prototype.getStats = function () { + var jobs = Array.from(this.jobs.values()); + return { + total: jobs.length, + pending: jobs.filter(function (j) { return j.status === 'pending'; }).length, + processing: jobs.filter(function (j) { return j.status === 'processing'; }).length, + completed: jobs.filter(function (j) { return j.status === 'completed'; }).length, + failed: jobs.filter(function (j) { return j.status === 'failed'; }).length, + retrying: jobs.filter(function (j) { return j.status === 'retrying'; }).length, + }; + }; + /** + * Generate a unique job ID + */ + MessageQueue.prototype.generateJobId = function () { + return "job-".concat(Date.now(), "-").concat(Math.random().toString(36).substr(2, 9)); + }; + /** + * Get configuration + */ + MessageQueue.prototype.getConfig = function () { + return __assign({}, this.config); + }; + /** + * Update configuration + */ + MessageQueue.prototype.updateConfig = function (config) { + this.config = __assign(__assign({}, this.config), config); }; - } - - getMetrics() { - return { ...this.metrics }; - } - - getConfig() { - return { ...this.config }; - } - - updateConfig(config) { - this.config = { ...this.config, ...config }; - if (config.rateLimits) this.configureRateLimiters(config.rateLimits); - } - - generateJobId() { - return `job-${Date.now()}-${crypto.randomBytes(4).toString("hex")}`; - } -} - -exports.MessageQueue = MessageQueue; + return MessageQueue; +}()); +// Export singleton instance exports.messageQueue = new MessageQueue(); diff --git a/backend/src/services/queue.test.ts b/backend/src/services/queue.test.ts index bff9649f..af40fdd4 100644 --- a/backend/src/services/queue.test.ts +++ b/backend/src/services/queue.test.ts @@ -1,7 +1,6 @@ import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest'; -import { MessageQueue, QueueJob } from './queue.js'; +import { messageQueue, QueueJob } from '../services/queue.js'; import { - messageQueue, queueEmail, queueNotification, queueWebhook, @@ -9,20 +8,11 @@ import { processNotificationJob, processWebhookJob, registerDefaultProcessors, -} from './queue-producers.js'; +} from '../services/queue-producers.js'; describe('Message Queue', () => { beforeEach(() => { messageQueue.stop(); - messageQueue.updateConfig({ - maxAttempts: 3, - retryDelayMs: 1000, - retryBackoffMultiplier: 2, - maxRetryDelayMs: 60 * 1000, - pollIntervalMs: 1000, - batchSize: 10, - enableDlq: true, - }); // Clear all jobs const jobs = messageQueue.getAllJobs(); jobs.forEach((job) => { @@ -170,7 +160,7 @@ describe('Message Queue', () => { const failingProcessor = vi.fn().mockRejectedValue(new Error('Processing failed')); messageQueue.registerProcessor('test-queue', failingProcessor); - const job = await messageQueue.enqueue('test-queue', { test: true }, { maxAttempts: 3 }); + const job = await messageQueue.enqueue('test-queue', { test: true }, 3); messageQueue.start(); @@ -186,9 +176,9 @@ describe('Message Queue', () => { it('should fail after max attempts', async () => { const failingProcessor = vi.fn().mockRejectedValue(new Error('Processing failed')); messageQueue.registerProcessor('test-queue', failingProcessor); - messageQueue.updateConfig({ maxAttempts: 2, retryDelayMs: 100, enableDlq: false }); + messageQueue.updateConfig({ maxAttempts: 2, retryDelayMs: 100 }); - const job = await messageQueue.enqueue('test-queue', { test: true }, { maxAttempts: 2 }); + const job = await messageQueue.enqueue('test-queue', { test: true }, 2); messageQueue.start(); @@ -263,37 +253,6 @@ describe('Message Queue', () => { }); describe('Job Management', () => { - it('processes higher priority jobs first within a batch', async () => { - const queue = new MessageQueue({ batchSize: 2 }); - const processed: string[] = []; - queue.registerProcessor('priority-test', async (job) => { - processed.push(String((job.data as { label: string }).label)); - }); - - await queue.enqueue('priority-test', { label: 'low' }, { priority: 'low' }); - await queue.enqueue('priority-test', { label: 'critical' }, { priority: 'critical' }); - - await queue.processNextBatch(); - - expect(processed).toEqual(['critical', 'low']); - }); - - it('does not process delayed jobs before their scheduled time', async () => { - vi.useFakeTimers(); - const queue = new MessageQueue({ batchSize: 1 }); - const processor = vi.fn(); - queue.registerProcessor('delayed', processor); - - await queue.enqueue('delayed', { ok: true }, { delayMs: 1000 }); - await queue.processNextBatch(); - expect(processor).not.toHaveBeenCalled(); - - vi.advanceTimersByTime(1000); - await queue.processNextBatch(); - expect(processor).toHaveBeenCalledOnce(); - vi.useRealTimers(); - }); - it('should retry a failed job', async () => { const job = await messageQueue.enqueue('test-queue', { test: true }); const updatedJob = messageQueue.getJob(job.id)!; diff --git a/backend/src/services/queue.ts b/backend/src/services/queue.ts index af40e8a7..60720caa 100644 --- a/backend/src/services/queue.ts +++ b/backend/src/services/queue.ts @@ -1,46 +1,23 @@ -import crypto from 'node:crypto'; +/** + * Message Queue Service + * Manages async task processing with retry logic and state management + */ -export type QueueName = 'email' | 'notifications' | 'webhooks' | 'payments' | 'external-api' | string; - -export type JobStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'retrying' | 'dlq'; - -export type JobPriority = 'critical' | 'high' | 'normal' | 'low'; - -const PRIORITY_ORDER: Record = { - critical: 0, - high: 1, - normal: 2, - low: 3, -}; +export type QueueName = 'email' | 'notifications' | 'webhooks' | string; +export type JobStatus = 'pending' | 'processing' | 'completed' | 'failed' | 'retrying'; export interface QueueJob { id: string; queue: QueueName; data: unknown; status: JobStatus; - priority: JobPriority; attempts: number; maxAttempts: number; lastError?: string; createdAt: Date; processedAt?: Date; nextRetryAt?: Date; - scheduledAt?: Date; completedAt?: Date; - enqueuedBy?: string; - tags?: string[]; -} - -export interface DlqEntry { - job: QueueJob; - failedAt: Date; - failureReason: string; - originalQueue: QueueName; -} - -export interface RateLimitConfig { - maxPerSecond: number; - maxBurst: number; } export interface QueueConfig { @@ -50,9 +27,6 @@ export interface QueueConfig { maxRetryDelayMs: number; pollIntervalMs: number; batchSize: number; - rateLimits: Partial>; - enableDlq: boolean; - dlqMaxRetentionMs: number; } export interface JobProcessor { @@ -61,204 +35,139 @@ export interface JobProcessor { const DEFAULT_CONFIG: QueueConfig = { maxAttempts: 3, - retryDelayMs: 1000, - retryBackoffMultiplier: 2, - maxRetryDelayMs: 60 * 1000, - pollIntervalMs: 1000, + retryDelayMs: 1000, // 1 second + retryBackoffMultiplier: 2, // exponential backoff + maxRetryDelayMs: 60 * 1000, // 1 minute max + pollIntervalMs: 1000, // 1 second batchSize: 10, - rateLimits: { - 'email': { maxPerSecond: 10, maxBurst: 20 }, - 'notifications': { maxPerSecond: 50, maxBurst: 100 }, - 'webhooks': { maxPerSecond: 30, maxBurst: 60 }, - 'external-api': { maxPerSecond: 5, maxBurst: 10 }, - }, - enableDlq: true, - dlqMaxRetentionMs: 7 * 24 * 60 * 60 * 1000, }; -class TokenBucket { - private tokens: number; - private lastRefill: number; - - constructor(private maxTokens: number, private refillRate: number) { - this.tokens = maxTokens; - this.lastRefill = Date.now(); - } - - tryConsume(count: number): boolean { - this.refill(); - if (this.tokens >= count) { - this.tokens -= count; - return true; - } - return false; - } - - private refill(): void { - const now = Date.now(); - const elapsed = (now - this.lastRefill) / 1000; - this.tokens = Math.min(this.maxTokens, this.tokens + elapsed * this.refillRate); - this.lastRefill = now; - } - - get usage(): number { - this.refill(); - return this.maxTokens - this.tokens; - } - - get remaining(): number { - this.refill(); - return this.tokens; - } -} - +/** + * In-memory message queue implementation + * Suitable for single-instance deployments; use Redis for distributed systems + */ class MessageQueue { private jobs: Map = new Map(); private processors: Map = new Map(); private config: QueueConfig; private isRunning = false; private processingInterval?: NodeJS.Timeout; - private dlq: DlqEntry[] = []; - private rateLimiters: Map = new Map(); - private metrics: { - totalEnqueued: number; - totalCompleted: number; - totalFailed: number; - totalDlq: number; - totalRetried: number; - avgProcessingTimeMs: number; - processingTimeSamples: number; - priorityDistribution: Record; - perQueueLatency: Record; - }; constructor(config: Partial = {}) { this.config = { ...DEFAULT_CONFIG, ...config }; - this.metrics = { - totalEnqueued: 0, - totalCompleted: 0, - totalFailed: 0, - totalDlq: 0, - totalRetried: 0, - avgProcessingTimeMs: 0, - processingTimeSamples: 0, - priorityDistribution: { critical: 0, high: 0, normal: 0, low: 0 }, - perQueueLatency: {}, - }; - - for (const [queue, rl] of Object.entries(this.config.rateLimits)) { - if (rl) { - this.rateLimiters.set(queue, new TokenBucket(rl.maxBurst, rl.maxPerSecond)); - } - } } + /** + * Register a job processor for a queue + */ registerProcessor(queue: QueueName, processor: JobProcessor): void { this.processors.set(queue, processor); } + /** + * Queue a new job + */ async enqueue( queue: QueueName, data: unknown, - options?: { - maxAttempts?: number; - priority?: JobPriority; - enqueuedBy?: string; - tags?: string[]; - delayMs?: number; - jobId?: string; - } + maxAttempts?: number ): Promise { - const scheduledAt = options?.delayMs && options.delayMs > 0 - ? new Date(Date.now() + options.delayMs) - : undefined; - const job: QueueJob = { - id: options?.jobId ?? this.generateJobId(), + id: this.generateJobId(), queue, data, - status: scheduledAt ? 'retrying' : 'pending', - priority: options?.priority ?? 'normal', + status: 'pending', attempts: 0, - maxAttempts: options?.maxAttempts ?? this.config.maxAttempts, + maxAttempts: maxAttempts || this.config.maxAttempts, createdAt: new Date(), - scheduledAt, - nextRetryAt: scheduledAt, - enqueuedBy: options?.enqueuedBy, - tags: options?.tags, }; this.jobs.set(job.id, job); - this.metrics.totalEnqueued++; - this.metrics.priorityDistribution[job.priority]++; + console.log(`Job enqueued: ${JSON.stringify(job)}`); return job; } + /** + * Get a job by ID + */ getJob(jobId: string): QueueJob | undefined { return this.jobs.get(jobId); } + /** + * Get all jobs + */ getAllJobs(): QueueJob[] { return Array.from(this.jobs.values()); } + /** + * Get jobs by queue + */ getJobsByQueue(queue: QueueName): QueueJob[] { return Array.from(this.jobs.values()).filter((job) => job.queue === queue); } + /** + * Get jobs by status + */ getJobsByStatus(status: JobStatus): QueueJob[] { return Array.from(this.jobs.values()).filter((job) => job.status === status); } - getJobsByPriority(priority: JobPriority): QueueJob[] { - return Array.from(this.jobs.values()).filter((job) => job.priority === priority); - } - + /** + * Start processing jobs + */ start(): void { if (this.isRunning) { console.warn('Queue processor already running'); return; } + this.isRunning = true; + console.log('Message queue processor started'); + this.processingInterval = setInterval(() => { this.processJobs(); }, this.config.pollIntervalMs); } + /** + * Stop processing jobs + */ stop(): void { + if (!this.isRunning) { + return; + } + this.isRunning = false; if (this.processingInterval) { clearInterval(this.processingInterval); } + console.log('Message queue processor stopped'); } + /** + * Process pending and retryable jobs + */ private async processJobs(): Promise { - if (!this.isRunning) return; + if (!this.isRunning) { + return; + } try { const now = new Date(); - const candidates = Array.from(this.jobs.values()).filter( - (job) => - (job.status === 'pending' || - (job.status === 'retrying' && job.nextRetryAt && job.nextRetryAt <= now)) && - job.attempts < job.maxAttempts - ); - - candidates.sort((a, b) => { - const pa = PRIORITY_ORDER[a.priority]; - const pb = PRIORITY_ORDER[b.priority]; - if (pa !== pb) return pa - pb; - return a.createdAt.getTime() - b.createdAt.getTime(); - }); - - const batch = candidates.slice(0, this.config.batchSize); - - for (const job of batch) { - const limiter = this.rateLimiters.get(job.queue); - if (limiter && !limiter.tryConsume(1)) { - continue; - } + const jobsToProcess = Array.from(this.jobs.values()) + .filter( + (job) => + (job.status === 'pending' || + (job.status === 'retrying' && job.nextRetryAt && job.nextRetryAt <= now)) && + job.attempts < job.maxAttempts + ) + .slice(0, this.config.batchSize); + + for (const job of jobsToProcess) { await this.processJob(job); } } catch (error) { @@ -266,25 +175,19 @@ class MessageQueue { } } - async processNextBatch(): Promise { - const wasRunning = this.isRunning; - this.isRunning = true; - await this.processJobs(); - this.isRunning = wasRunning; - } - + /** + * Process a single job + */ private async processJob(job: QueueJob): Promise { const processor = this.processors.get(job.queue); if (!processor) { + console.warn(`No processor registered for queue: ${job.queue}`); job.status = 'failed'; job.lastError = `No processor found for queue: ${job.queue}`; - this.metrics.totalFailed++; return; } - const startTime = Date.now(); - try { job.status = 'processing'; job.attempts += 1; @@ -294,156 +197,75 @@ class MessageQueue { job.status = 'completed'; job.completedAt = new Date(); job.processedAt = new Date(); - this.metrics.totalCompleted++; - - const durationMs = Date.now() - startTime; - this.recordLatency(job.queue, durationMs); + console.log(`Job completed: ${job.id}`); } catch (error) { job.lastError = error instanceof Error ? error.message : String(error); job.processedAt = new Date(); - const durationMs = Date.now() - startTime; - this.recordLatency(job.queue, durationMs); if (job.attempts < job.maxAttempts) { - const delayMs = this.calculateRetryDelay(job.attempts); + // Schedule retry + const delayMs = Math.min( + this.config.retryDelayMs * Math.pow(this.config.retryBackoffMultiplier, job.attempts - 1), + this.config.maxRetryDelayMs + ); job.status = 'retrying'; job.nextRetryAt = new Date(Date.now() + delayMs); - this.metrics.totalRetried++; + console.log(`Job scheduled for retry: ${job.id} in ${delayMs}ms`); } else { - if (this.config.enableDlq) { - this.moveToDlq(job); - } else { - job.status = 'failed'; - this.metrics.totalFailed++; - } + // Max retries exceeded + job.status = 'failed'; + console.error(`Job failed after ${job.attempts} attempts: ${job.id}`, job.lastError); } } } - private calculateRetryDelay(attempt: number): number { - const base = this.config.retryDelayMs * Math.pow(this.config.retryBackoffMultiplier, attempt - 1); - const capped = Math.min(base, this.config.maxRetryDelayMs); - const jitter = capped * 0.1 * (Math.random() * 2 - 1); - return Math.max(100, Math.round(capped + jitter)); - } - - private moveToDlq(job: QueueJob): void { - job.status = 'dlq'; - this.dlq.push({ - job: { ...job }, - failedAt: new Date(), - failureReason: job.lastError ?? 'Unknown error', - originalQueue: job.queue, - }); - this.metrics.totalDlq++; - this.pruneDlq(); - } - - private pruneDlq(): void { - const cutoff = Date.now() - this.config.dlqMaxRetentionMs; - this.dlq = this.dlq.filter((e) => e.failedAt.getTime() > cutoff); - } + /** + * Retry a failed job + */ + retryJob(jobId: string): boolean { + const job = this.jobs.get(jobId); - private recordLatency(queue: string, durationMs: number): void { - if (!this.metrics.perQueueLatency[queue]) { - this.metrics.perQueueLatency[queue] = { count: 0, totalMs: 0 }; + if (!job) { + return false; } - const entry = this.metrics.perQueueLatency[queue]; - entry.count++; - entry.totalMs += durationMs; - - this.metrics.processingTimeSamples++; - const total = this.metrics.avgProcessingTimeMs * (this.metrics.processingTimeSamples - 1) + durationMs; - this.metrics.avgProcessingTimeMs = total / this.metrics.processingTimeSamples; - } - retryJob(jobId: string): boolean { - const job = this.jobs.get(jobId); - if (!job) return false; - if (job.status !== 'failed' && job.status !== 'dlq') return false; + if (job.status !== 'failed') { + return false; + } job.status = 'pending'; job.attempts = 0; job.nextRetryAt = undefined; - job.scheduledAt = undefined; - job.lastError = undefined; - return true; - } - - replayFromDlq(jobId: string): boolean { - const idx = this.dlq.findIndex((e) => e.job.id === jobId); - if (idx === -1) return false; - const entry = this.dlq[idx]; - this.dlq.splice(idx, 1); - - const job: QueueJob = { - ...entry.job, - status: 'pending', - attempts: 0, - nextRetryAt: undefined, - scheduledAt: undefined, - lastError: undefined, - createdAt: new Date(), - }; - this.jobs.set(job.id, job); return true; } - replayAllFromDlq(queue?: QueueName): number { - let count = 0; - for (const entry of [...this.dlq]) { - if (queue && entry.originalQueue !== queue) continue; - if (this.replayFromDlq(entry.job.id)) count++; - } - return count; - } - + /** + * Delete a job + */ deleteJob(jobId: string): boolean { return this.jobs.delete(jobId); } - deleteFromDlq(jobId: string): boolean { - const idx = this.dlq.findIndex((e) => e.job.id === jobId); - if (idx === -1) return false; - this.dlq.splice(idx, 1); - return true; - } - - clearDlq(): number { - const count = this.dlq.length; - this.dlq = []; - return count; - } - + /** + * Clear jobs by status + */ clearByStatus(status: JobStatus): number { let count = 0; + for (const [jobId, job] of this.jobs.entries()) { if (job.status === status) { this.jobs.delete(jobId); count++; } } - return count; - } - - getDlq(): DlqEntry[] { - this.pruneDlq(); - return [...this.dlq]; - } - getRateLimitStatus(): Record { - const status: Record = {}; - for (const [queue, limiter] of this.rateLimiters.entries()) { - status[queue] = { - maxTokens: limiter.remaining + limiter.usage, - remaining: limiter.remaining, - usage: limiter.usage, - }; - } - return status; + return count; } + /** + * Get queue statistics + */ getStats(): { total: number; pending: number; @@ -451,10 +273,9 @@ class MessageQueue { completed: number; failed: number; retrying: number; - dlq: number; - priorityBreakdown: Record; } { const jobs = Array.from(this.jobs.values()); + return { total: jobs.length, pending: jobs.filter((j) => j.status === 'pending').length, @@ -462,40 +283,30 @@ class MessageQueue { completed: jobs.filter((j) => j.status === 'completed').length, failed: jobs.filter((j) => j.status === 'failed').length, retrying: jobs.filter((j) => j.status === 'retrying').length, - dlq: jobs.filter((j) => j.status === 'dlq').length, - priorityBreakdown: { - critical: jobs.filter((j) => j.priority === 'critical').length, - high: jobs.filter((j) => j.priority === 'high').length, - normal: jobs.filter((j) => j.priority === 'normal').length, - low: jobs.filter((j) => j.priority === 'low').length, - }, }; } - getMetrics(): typeof this.metrics { - return { ...this.metrics }; + /** + * Generate a unique job ID + */ + private generateJobId(): string { + return `job-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`; } + /** + * Get configuration + */ getConfig(): QueueConfig { return { ...this.config }; } + /** + * Update configuration + */ updateConfig(config: Partial): void { this.config = { ...this.config, ...config }; - - if (config.rateLimits) { - for (const [queue, rl] of Object.entries(config.rateLimits)) { - if (rl) { - this.rateLimiters.set(queue, new TokenBucket(rl.maxBurst, rl.maxPerSecond)); - } - } - } - } - - private generateJobId(): string { - return `job-${Date.now()}-${crypto.randomBytes(4).toString('hex')}`; } } +// Export singleton instance export const messageQueue = new MessageQueue(); -export { MessageQueue }; diff --git a/backend/src/services/receipts.ts b/backend/src/services/receipts.ts index 985828e5..099a164f 100644 --- a/backend/src/services/receipts.ts +++ b/backend/src/services/receipts.ts @@ -1,6 +1,6 @@ import { createHash, randomUUID } from 'node:crypto'; import { appendEvent } from '../events/event-store.js'; -import { enqueueStoredOutboxEventOutsideTransaction } from '../outbox/writer.js'; +import { publish } from '../events/event-bus.js'; export interface ReceiptNFT { id: string; @@ -198,7 +198,7 @@ export function mintReceipt(input: MintReceiptInput): ReceiptNFT { asset: receipt.currency, merkleRoot: receipt.merkleRoot, }); - void enqueueStoredOutboxEventOutsideTransaction(event); + void publish(event); return receipt; } @@ -231,7 +231,7 @@ export function burnReceipt(tokenId: string): ReceiptNFT { receipts.set(tokenId, receipt); const event = appendEvent('receipt', tokenId, 'receipt.burned', { tokenId }); - void enqueueStoredOutboxEventOutsideTransaction(event); + void publish(event); return receipt; } @@ -313,13 +313,6 @@ export function archiveReceipts(retentionBefore: string): ReceiptNFT[] { } export function generateReceiptPdf(receipt: ReceiptNFT): Buffer { - const qrPayload = JSON.stringify({ - tokenId: receipt.tokenId, - paymentId: receipt.paymentId, - txHash: receipt.transactionHash, - merkleRoot: receipt.merkleRoot, - }); - const lines = [ 'AgenticPay Payment Receipt', `Receipt: ${receipt.tokenId}`, @@ -330,7 +323,6 @@ export function generateReceiptPdf(receipt: ReceiptNFT): Buffer { `Transaction: ${receipt.transactionHash}`, `Timestamp: ${receipt.timestamp}`, `Merkle Root: ${receipt.merkleRoot}`, - `QR Verification: ${Buffer.from(qrPayload).toString('base64')}`, ]; const escaped = lines.join('\\n').replace(/[()]/g, ''); const content = `BT /F1 12 Tf 72 760 Td (${escaped}) Tj ET`; @@ -350,29 +342,3 @@ trailer << /Root 1 0 R /Size 6 >> return Buffer.from(pdf); } - -export function verifyReceiptOnChain(receipt: ReceiptNFT): { valid: boolean; txHash: string; ledger?: number } { - const onChainHash = receipt.transactionHash; - const computedHash = createHash('sha256') - .update(`${receipt.paymentId}:${receipt.sender}:${receipt.recipient}:${receipt.amount}:${receipt.currency}`) - .digest('hex'); - - return { - valid: onChainHash === computedHash || verifyReceiptProof(receipt), - txHash: onChainHash, - ledger: receipt.timestamp ? Math.floor(Date.parse(receipt.timestamp) / 1000) : undefined, - }; -} - -export function exportReceipts(format: 'json' | 'csv' = 'json'): string | Buffer { - const all = getAllReceipts(false); - if (format === 'csv') { - const header = 'tokenId,paymentId,transactionHash,sender,recipient,amount,currency,timestamp\n'; - const rows = all - .map((r) => [r.tokenId, r.paymentId, r.transactionHash, r.sender, r.recipient, r.amount, r.currency, r.timestamp].join(',')) - .join('\n'); - return Buffer.from(header + rows); - } - - return JSON.stringify(all, null, 2); -} diff --git a/backend/src/services/sla.ts b/backend/src/services/sla.ts index 0580d781..f858cd41 100644 --- a/backend/src/services/sla.ts +++ b/backend/src/services/sla.ts @@ -81,7 +81,7 @@ class SLATracker { // Update counters metrics.totalRequests += 1; - if (statusCode >= 200 && statusCode < 400) { + if (statusCode >= 200 && statusCode < 300) { metrics.successfulRequests += 1; } else { metrics.failedRequests += 1; diff --git a/backend/src/services/stellar.js b/backend/src/services/stellar.js new file mode 100644 index 00000000..7ac2d8d1 --- /dev/null +++ b/backend/src/services/stellar.js @@ -0,0 +1,153 @@ +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); + return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (g && (g = 0, op[0] && (_ = 0)), _) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.InvalidStellarInputError = exports.ValidationError = exports.server = void 0; +exports.isValidStellarAddress = isValidStellarAddress; +exports.isValidTransactionHash = isValidTransactionHash; +exports.getAccountInfo = getAccountInfo; +exports.getTransactionStatus = getTransactionStatus; +var StellarSdk = require("@stellar/stellar-sdk"); +var env_js_1 = require("../config/env.js"); +var NETWORK = (0, env_js_1.config)().STELLAR_NETWORK; +var HORIZON_URL = NETWORK === 'public' + ? 'https://horizon.stellar.org' + : 'https://horizon-testnet.stellar.org'; +exports.server = new StellarSdk.Horizon.Server(HORIZON_URL); +var ValidationError = /** @class */ (function (_super) { + __extends(ValidationError, _super); + function ValidationError(message, statusCode) { + if (statusCode === void 0) { statusCode = 400; } + var _this = _super.call(this, message) || this; + _this.name = 'ValidationError'; + _this.statusCode = statusCode; + return _this; + } + return ValidationError; +}(Error)); +exports.ValidationError = ValidationError; +var InvalidStellarInputError = /** @class */ (function (_super) { + __extends(InvalidStellarInputError, _super); + function InvalidStellarInputError(message) { + var _this = _super.call(this, message) || this; + _this.name = 'InvalidStellarInputError'; + return _this; + } + return InvalidStellarInputError; +}(Error)); +exports.InvalidStellarInputError = InvalidStellarInputError; +function isValidStellarAddress(address) { + if (!(address === null || address === void 0 ? void 0 : address.trim())) { + return false; + } + return StellarSdk.StrKey.isValidEd25519PublicKey(address); +} +function isValidTransactionHash(hash) { + if (!(hash === null || hash === void 0 ? void 0 : hash.trim())) { + return false; + } + return /^[A-Fa-f0-9]{64}$/.test(hash); +} +function assertValidStellarAddress(address) { + if (!isValidStellarAddress(address)) { + throw new InvalidStellarInputError('Invalid Stellar address'); + } +} +function assertValidTransactionHash(hash) { + if (!isValidTransactionHash(hash)) { + throw new InvalidStellarInputError('Invalid transaction hash'); + } +} +function getAccountInfo(address) { + return __awaiter(this, void 0, void 0, function () { + var account; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + assertValidStellarAddress(address); + return [4 /*yield*/, exports.server.loadAccount(address)]; + case 1: + account = _a.sent(); + return [2 /*return*/, { + address: account.accountId(), + balances: account.balances.map(function (b) { return ({ + type: b.asset_type, + balance: b.balance, + }); }), + sequence: account.sequence, + }]; + } + }); + }); +} +function getTransactionStatus(hash) { + return __awaiter(this, void 0, void 0, function () { + var tx; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + assertValidTransactionHash(hash); + return [4 /*yield*/, exports.server.transactions().transaction(hash).call()]; + case 1: + tx = _a.sent(); + return [2 /*return*/, { + hash: tx.hash, + successful: tx.successful, + ledger: tx.ledger_attr, + createdAt: tx.created_at, + memo: tx.memo, + operationCount: tx.operation_count, + }]; + } + }); + }); +} diff --git a/backend/src/services/stripe.ts b/backend/src/services/stripe.ts index 117af228..e5018054 100644 --- a/backend/src/services/stripe.ts +++ b/backend/src/services/stripe.ts @@ -205,319 +205,3 @@ export function listFeeRecords(): FeeRecord[] { export function estimateStripeFee(amountCents: number): number { return Math.round(amountCents * 0.029 + 30); } - -// ── Subscriptions ──────────────────────────────────────────────────────────── - -export interface CreateSubscriptionInput { - customerId: string; - priceId: string; - trialPeriodDays?: number; - metadata?: Record; -} - -export async function createSubscription(input: CreateSubscriptionInput): Promise { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.subscriptions.create({ - customer: input.customerId, - items: [{ price: input.priceId }], - trial_period_days: input.trialPeriodDays, - metadata: input.metadata ?? {}, - payment_behavior: 'default_incomplete', - expand: ['latest_invoice.payment_intent'], - }); - }, - ); -} - -export async function getSubscription(subscriptionId: string): Promise { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.subscriptions.retrieve(subscriptionId); - }, - ); -} - -export async function updateSubscription( - subscriptionId: string, - params: Stripe.SubscriptionUpdateParams -): Promise { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.subscriptions.update(subscriptionId, params); - }, - ); -} - -export async function cancelSubscription( - subscriptionId: string, - cancelAtPeriodEnd = false -): Promise { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - if (cancelAtPeriodEnd) { - return stripe.subscriptions.update(subscriptionId, { - cancel_at_period_end: true, - }); - } - return stripe.subscriptions.cancel(subscriptionId); - }, - ); -} - -export async function listSubscriptions(customerId?: string): Promise> { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.subscriptions.list(customerId ? { customer: customerId } : {}); - }, - ); -} - -// ── Prices & Products ─────────────────────────────────────────────────────── - -export interface CreatePriceInput { - productId: string; - unitAmount: number; - currency: string; - recurring?: { - interval: 'day' | 'week' | 'month' | 'year'; - interval_count?: number; - }; - metadata?: Record; -} - -export async function createPrice(input: CreatePriceInput): Promise { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.prices.create({ - product: input.productId, - unit_amount: input.unitAmount, - currency: input.currency.toLowerCase(), - recurring: input.recurring, - metadata: input.metadata ?? {}, - }); - }, - ); -} - -export async function getPrice(priceId: string): Promise { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.prices.retrieve(priceId); - }, - ); -} - -export interface CreateProductInput { - name: string; - description?: string; - metadata?: Record; -} - -export async function createProduct(input: CreateProductInput): Promise { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.products.create({ - name: input.name, - description: input.description, - metadata: input.metadata ?? {}, - }); - }, - ); -} - -// ── Usage Records (Metered Billing) ────────────────────────────────────────── - -export interface RecordUsageInput { - subscriptionItemId: string; - quantity: number; - timestamp?: number; - action?: 'increment' | 'set'; -} - -export async function recordUsage(input: RecordUsageInput): Promise { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.subscriptionItems.createUsageRecord( - input.subscriptionItemId, - { - quantity: input.quantity, - timestamp: input.timestamp ?? Math.floor(Date.now() / 1000), - action: input.action ?? 'increment', - } - ); - }, - ); -} - -export async function listUsageRecords( - subscriptionItemId: string, - limit = 100 -): Promise> { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.subscriptionItems.listUsageRecordSummaries( - subscriptionItemId, - { limit } - ); - }, - ); -} - -// ── Invoices ───────────────────────────────────────────────────────────────── - -export async function getInvoice(invoiceId: string): Promise { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.invoices.retrieve(invoiceId); - }, - ); -} - -export async function listInvoices(customerId?: string): Promise> { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.invoices.list(customerId ? { customer: customerId } : {}); - }, - ); -} - -export async function payInvoice(invoiceId: string): Promise { - return withCircuitBreaker( - STRIPE_CIRCUIT_NAME, - async () => { - const stripe = getStripe(); - return stripe.invoices.pay(invoiceId); - }, - ); -} - -// ── Tiered Usage Billing ───────────────────────────────────────────────────── - -export type TierName = 'free' | 'starter' | 'growth' | 'enterprise'; - -export interface TierDefinition { - name: TierName; - /** Inclusive lower bound on monthly transaction count */ - minTransactions: number; - /** Exclusive upper bound (undefined = unlimited) */ - maxTransactions?: number; - /** Monthly flat price in cents */ - baseAmountCents: number; - /** Per-transaction overage charge in cents above the included volume */ - overageCentsPerUnit: number; - /** Stripe Price ID for this tier (configure per environment) */ - stripePriceId: string; -} - -export const TIER_DEFINITIONS: TierDefinition[] = [ - { - name: 'free', - minTransactions: 0, - maxTransactions: 100, - baseAmountCents: 0, - overageCentsPerUnit: 0, - stripePriceId: process.env['STRIPE_PRICE_FREE'] ?? '', - }, - { - name: 'starter', - minTransactions: 100, - maxTransactions: 1_000, - baseAmountCents: 2900, - overageCentsPerUnit: 3, - stripePriceId: process.env['STRIPE_PRICE_STARTER'] ?? '', - }, - { - name: 'growth', - minTransactions: 1_000, - maxTransactions: 10_000, - baseAmountCents: 9900, - overageCentsPerUnit: 1, - stripePriceId: process.env['STRIPE_PRICE_GROWTH'] ?? '', - }, - { - name: 'enterprise', - minTransactions: 10_000, - baseAmountCents: 29900, - overageCentsPerUnit: 0, - stripePriceId: process.env['STRIPE_PRICE_ENTERPRISE'] ?? '', - }, -]; - -/** Return the tier that should apply for the given monthly transaction count. */ -export function getTierForUsage(monthlyTransactions: number): TierDefinition { - // Walk tiers in descending order so the first match wins. - const sorted = [...TIER_DEFINITIONS].sort((a, b) => b.minTransactions - a.minTransactions); - for (const tier of sorted) { - if (monthlyTransactions >= tier.minTransactions) return tier; - } - return TIER_DEFINITIONS[0]!; -} - -/** - * Calculate the total amount owed for a billing period. - * Includes the flat base fee plus per-unit overage above the tier's included volume. - */ -export function calculateTieredCharge( - tier: TierDefinition, - actualTransactions: number -): { totalCents: number; baseCents: number; overageCents: number; overageUnits: number } { - const includedUnits = tier.maxTransactions ?? Infinity; - const overageUnits = Math.max(0, actualTransactions - includedUnits); - const overageCents = overageUnits * tier.overageCentsPerUnit; - const totalCents = tier.baseAmountCents + overageCents; - return { totalCents, baseCents: tier.baseAmountCents, overageCents, overageUnits }; -} - -/** - * Upgrade or downgrade a subscription to the correct tier based on observed usage. - * No-ops when the customer is already on the right price. - */ -export async function ensureCorrectTier( - subscriptionId: string, - monthlyTransactions: number -): Promise<{ changed: boolean; tier: TierName; subscription: Stripe.Subscription }> { - const subscription = await getSubscription(subscriptionId); - const targetTier = getTierForUsage(monthlyTransactions); - const currentPriceId = subscription.items.data[0]?.price.id; - - if (currentPriceId === targetTier.stripePriceId) { - return { changed: false, tier: targetTier.name, subscription }; - } - - const updated = await updateSubscription(subscriptionId, { - items: [ - { - id: subscription.items.data[0]?.id, - price: targetTier.stripePriceId, - }, - ], - proration_behavior: 'create_prorations', - }); - - return { changed: true, tier: targetTier.name, subscription: updated }; -} diff --git a/backend/src/services/verification.ts b/backend/src/services/verification.ts index 6864e47a..acb1f4d5 100644 --- a/backend/src/services/verification.ts +++ b/backend/src/services/verification.ts @@ -13,29 +13,6 @@ const getOpenAIClient = () => { return openaiClient; }; -export interface CodeQualityMetrics { - linesOfCode: number; - testCoverage: number; - cyclomaticComplexity: number; - documentationCoverage: number; - duplicateCodeRatio: number; - maintainabilityIndex: number; -} - -export interface PlagiarismResult { - overallSimilarity: number; - duplicateSegments: Array<{ - source: string; - similarity: number; - lines: string; - }>; - externalMatches: Array<{ - repository: string; - similarity: number; - description: string; - }>; -} - interface VerificationRequest { repositoryUrl: string; milestoneDescription: string; @@ -50,8 +27,6 @@ interface VerificationResult { summary: string; details: string[]; verifiedAt: string; - codeQuality?: CodeQualityMetrics; - plagiarism?: PlagiarismResult; } export type VerificationUpdate = { @@ -67,103 +42,23 @@ import { withQueryProfiling } from '../config/database.js'; // In-memory store (replace with DB in production) const verifications = new Map(); -async function fetchGitHubRepoContents(repoUrl: string): Promise { - const match = repoUrl.match(/github\.com\/([^/]+)\/([^/]+)/); - if (!match) return ''; - - const [, owner, repo] = match; - const token = config().GITHUB_TOKEN; - - try { - const headers: Record = { - Accept: 'application/vnd.github.v3+json', - }; - if (token) headers.Authorization = `token ${token}`; - - const res = await fetch( - `https://api.github.com/repos/${owner}/${repo}/git/trees/HEAD?recursive=1`, - { headers } - ); - if (!res.ok) return ''; - const data = await res.json() as { tree?: Array<{ path: string; size?: number; type: string }> }; - const files = (data.tree || []).filter( - (f: { type: string }) => f.type === 'blob' - ).slice(0, 50); - - const contents: string[] = []; - for (const file of files) { - if ( - /\.(ts|tsx|js|jsx|py|go|rs|java|rb|css|html|json|md|yaml|yml|toml)$/i.test(file.path) && - (file.size || 0) < 50_000 - ) { - try { - const fileRes = await fetch( - `https://api.github.com/repos/${owner}/${repo}/contents/${file.path}`, - { headers } - ); - if (fileRes.ok) { - const fileData = await fileRes.json() as { content?: string; encoding?: string }; - if (fileData.content && fileData.encoding === 'base64') { - contents.push(`--- ${file.path} ---\n${Buffer.from(fileData.content, 'base64').toString('utf-8')}`); - } - } - } catch { - // Skip files that can't be fetched - } - } - } - - return contents.join('\n\n'); - } catch { - return ''; - } -} - export async function verifyWork(request: VerificationRequest): Promise { const id = `ver_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`; - const repoContents = await fetchGitHubRepoContents(request.repositoryUrl); - - const codeQuality = analyzeCodeQuality(repoContents); - const plagiarism = await detectPlagiarism(repoContents, request.repositoryUrl); + // TODO: Fetch actual repo contents via GitHub API + // For now, use AI to generate a verification assessment const completion = await getOpenAIClient().chat.completions.create({ model: 'gpt-4o-mini', messages: [ { role: 'system', - content: `You are a senior code reviewer and quality assurance expert. Given repository contents and a milestone description, provide a thorough verification assessment. - -Analyze: -1. Whether the code fulfills the milestone requirements -2. Code quality (readability, structure, patterns) -3. Test coverage adequacy -4. Security considerations -5. Documentation completeness - -Respond with a JSON object containing: -- score (0-100, weighted: 40% requirement fulfillment, 25% code quality, 20% test coverage, 15% documentation) -- summary (one sentence overall assessment) -- details (array of specific observations, both positive and negative) -- recommendation (approve, request_changes, or needs_review)`, + content: + 'You are a code reviewer. Given a milestone description and repository URL, assess whether the work likely meets the requirements. Respond with a JSON object containing: score (0-100), summary (one sentence), details (array of specific observations).', }, { role: 'user', - content: `Repository: ${request.repositoryUrl} -Milestone: ${request.milestoneDescription} - -Code Quality Metrics: -- Lines of Code: ${codeQuality.linesOfCode} -- Cyclomatic Complexity: ${codeQuality.cyclomaticComplexity} -- Documentation Coverage: ${codeQuality.documentationCoverage}% -- Duplicate Code Ratio: ${codeQuality.duplicateCodeRatio}% -- Maintainability Index: ${codeQuality.maintainabilityIndex} - -Plagiarism Analysis: -- Overall Similarity: ${plagiarism.overallSimilarity}% -- External Matches: ${plagiarism.externalMatches.length} - -${repoContents ? `Repository Contents:\n${repoContents.slice(0, 8000)}` : 'Repository contents could not be fetched.'}`, + content: `Repository: ${request.repositoryUrl}\nMilestone: ${request.milestoneDescription}`, }, ], response_format: { type: 'json_object' }, @@ -179,104 +74,12 @@ ${repoContents ? `Repository Contents:\n${repoContents.slice(0, 8000)}` : 'Repos summary: assessment.summary || 'Verification completed', details: assessment.details || [], verifiedAt: new Date().toISOString(), - codeQuality, - plagiarism, }; storeVerification(result); return result; } -function analyzeCodeQuality(contents: string): CodeQualityMetrics { - if (!contents) { - return { - linesOfCode: 0, - testCoverage: 0, - cyclomaticComplexity: 0, - documentationCoverage: 0, - duplicateCodeRatio: 0, - maintainabilityIndex: 0, - }; - } - - const lines = contents.split('\n'); - const codeLines = lines.filter((l) => l.trim() && !l.trim().startsWith('//') && !l.trim().startsWith('#')); - const commentLines = lines.filter((l) => l.trim().startsWith('//') || l.trim().startsWith('#') || l.trim().startsWith('*')); - const testLines = lines.filter((l) => /test|spec|describe|it\(|expect\(/i.test(l)); - - const complexityIndicators = contents.match( - /\b(if|else|elif|else if|for|while|switch|case|catch|try|&&|\|\||\?)\b/g - ); - - const uniqueLines = new Set(codeLines.map((l) => l.trim())); - const duplicateRatio = codeLines.length > 0 ? 1 - uniqueLines.size / codeLines.length : 0; - - const linesOfCode = codeLines.length; - const documentationCoverage = linesOfCode > 0 ? Math.min(100, (commentLines.length / linesOfCode) * 100 * 3) : 0; - const testCoverage = linesOfCode > 0 ? Math.min(100, (testLines.length / linesOfCode) * 100 * 5) : 0; - const cyclomaticComplexity = Math.min(100, (complexityIndicators?.length || 0) / Math.max(1, linesOfCode / 50)); - const maintainabilityIndex = Math.max(0, Math.min(100, - 100 - cyclomaticComplexity * 2 - duplicateRatio * 30 + documentationCoverage * 0.3 - )); - - return { - linesOfCode, - testCoverage: Math.round(testCoverage), - cyclomaticComplexity: Math.round(cyclomaticComplexity * 10) / 10, - documentationCoverage: Math.round(documentationCoverage), - duplicateCodeRatio: Math.round(duplicateRatio * 100) / 100, - maintainabilityIndex: Math.round(maintainabilityIndex), - }; -} - -async function detectPlagiarism(contents: string, repoUrl: string): Promise { - if (!contents) { - return { - overallSimilarity: 0, - duplicateSegments: [], - externalMatches: [], - }; - } - - try { - const completion = await getOpenAIClient().chat.completions.create({ - model: 'gpt-4o-mini', - messages: [ - { - role: 'system', - content: `Analyze the following code for potential plagiarism indicators. Look for: -1. Common open-source code patterns that might indicate copying -2. Boilerplate code vs original implementation -3. Suspiciously similar implementations to well-known projects - -Respond with JSON containing: -- overallSimilarity (0-100 percentage estimate of non-original code) -- duplicateSegments (array of {source, similarity, lines} for code blocks that look copied) -- externalMatches (array of {repository, similarity, description} for potential matches to public repos)`, - }, - { - role: 'user', - content: `Repository: ${repoUrl}\n\nCode to analyze:\n${contents.slice(0, 6000)}`, - }, - ], - response_format: { type: 'json_object' }, - }); - - const analysis = JSON.parse(completion.choices[0].message.content || '{}'); - return { - overallSimilarity: analysis.overallSimilarity || 0, - duplicateSegments: analysis.duplicateSegments || [], - externalMatches: analysis.externalMatches || [], - }; - } catch { - return { - overallSimilarity: 0, - duplicateSegments: [], - externalMatches: [], - }; - } -} - export function storeVerification(result: VerificationResult): void { verifications.set(result.id, result); } @@ -289,12 +92,6 @@ export async function getVerification(id: string): Promise v.projectId === projectId); - return all; -} - export function updateVerification(update: VerificationUpdate): VerificationResult | undefined { const current = verifications.get(update.id); if (!current) { diff --git a/backend/src/services/webhooks.ts b/backend/src/services/webhooks.ts index a799681c..b283996f 100644 --- a/backend/src/services/webhooks.ts +++ b/backend/src/services/webhooks.ts @@ -1,10 +1,4 @@ -import { randomUUID } from 'node:crypto'; -import { encryptWebhookPayload } from './webhooks/encryption.js'; -import { - signWebhookPayload, - WEBHOOK_SIGNATURE_HEADER, - WEBHOOK_TIMESTAMP_HEADER, -} from './webhooks/signer.js'; +import { createHmac, randomUUID } from 'node:crypto'; export type WebhookDeliveryStatus = | 'pending' @@ -21,9 +15,6 @@ export interface MerchantWebhookConfig { enabled: boolean; currentSecret: string; previousSecrets: string[]; - signatureVersion: string; - secretExpiresAt: string; - encryptionPublicKey?: string; createdAt: string; updatedAt: string; } @@ -81,12 +72,15 @@ function computeBackoffDelay(attempt: number): number { return exponential + jitter; } +function buildSignature(secret: string, body: string): string { + return createHmac('sha256', secret).update(body).digest('hex'); +} + export function upsertWebhookConfig(input: { merchantId: string; url: string; secret: string; enabled?: boolean; - encryptionPublicKey?: string; }): MerchantWebhookConfig { const existing = Array.from(webhookConfigs.values()).find((x) => x.merchantId === input.merchantId); const ts = nowIso(); @@ -95,9 +89,6 @@ export function upsertWebhookConfig(input: { existing.url = input.url; existing.currentSecret = input.secret; existing.enabled = input.enabled ?? true; - existing.signatureVersion = 'v1'; - existing.secretExpiresAt = new Date(Date.now() + 90 * 24 * 60 * 60 * 1000).toISOString(); - existing.encryptionPublicKey = input.encryptionPublicKey; existing.updatedAt = ts; webhookConfigs.set(existing.id, existing); return existing; @@ -110,9 +101,6 @@ export function upsertWebhookConfig(input: { enabled: input.enabled ?? true, currentSecret: input.secret, previousSecrets: [], - signatureVersion: 'v1', - secretExpiresAt: new Date(Date.now() + 90 * 24 * 60 * 60 * 1000).toISOString(), - encryptionPublicKey: input.encryptionPublicKey, createdAt: ts, updatedAt: ts, }; @@ -126,8 +114,6 @@ export function rotateWebhookSecret(configId: string, nextSecret: string): Merch config.previousSecrets.unshift(config.currentSecret); config.previousSecrets = config.previousSecrets.slice(0, 5); config.currentSecret = nextSecret; - config.signatureVersion = 'v1'; - config.secretExpiresAt = new Date(Date.now() + 90 * 24 * 60 * 60 * 1000).toISOString(); config.updatedAt = nowIso(); webhookConfigs.set(config.id, config); return config; @@ -192,25 +178,8 @@ async function deliverOne(delivery: WebhookDeliveryLog): Promise { return; } - let originalEvent: PaymentWebhookEvent | undefined; - try { - originalEvent = delivery.responseBody ? JSON.parse(delivery.responseBody) as PaymentWebhookEvent : undefined; - } catch { - originalEvent = { - eventId: delivery.eventId, - merchantId: delivery.merchantId, - type: 'webhook.retry', - payload: {}, - createdAt: delivery.createdAt, - }; - } - const signed = signWebhookPayload({ - payload: originalEvent ? { ...originalEvent, payload: originalEvent.payload } : {}, - secret: config.currentSecret, - version: config.signatureVersion, - eventId: delivery.eventId, - }); - const body = encryptWebhookPayload(signed.body, config.encryptionPublicKey); + const body = delivery.responseBody ?? '{}'; + const signature = buildSignature(config.currentSecret, body); const controller = new AbortController(); const timeout = setTimeout(() => controller.abort(), ATTEMPT_TIMEOUT_MS); @@ -223,10 +192,7 @@ async function deliverOne(delivery: WebhookDeliveryLog): Promise { method: 'POST', headers: { 'Content-Type': 'application/json', - [WEBHOOK_SIGNATURE_HEADER]: signed.signature, - [WEBHOOK_TIMESTAMP_HEADER]: signed.timestamp, - 'X-AgenticPay-Signature-Version': signed.version, - 'X-AgenticPay-Event-Id': delivery.eventId, + 'X-Webhook-Signature': signature, 'X-Webhook-Idempotency-Key': delivery.idempotencyKey, 'X-Webhook-Event-Id': delivery.eventId, }, diff --git a/backend/src/services/webhooks/providers.ts b/backend/src/services/webhooks/providers.ts index 0211e384..7653f581 100644 --- a/backend/src/services/webhooks/providers.ts +++ b/backend/src/services/webhooks/providers.ts @@ -194,120 +194,6 @@ export function verifyCustomProviderWebhook(req: Request, rawBody: string): Prov }; } -export function verifyZapierProviderWebhook(req: Request, rawBody: string): ProviderVerificationResult { - const sig = (req.headers['x-zapier-signature'] || req.headers['x-signature']) as string | undefined; - const ts = (req.headers['x-zapier-timestamp'] || req.headers['x-timestamp']) as string | undefined; - const eventId = - (req.headers['x-zapier-event-id'] as string) || - (req.headers['x-webhook-id'] as string) || - `zapier_${Date.now()}`; - - if (!sig || !ts) { - return { - isValid: false, - provider: 'zapier', - eventId, - timestamp: new Date(), - body: rawBody, - error: 'Missing x-zapier-signature or x-zapier-timestamp header', - }; - } - - const keyId = (req.headers['x-zapier-key-id'] || req.headers['x-webhook-key-id']) as string | undefined; - const result = verifyWebhookSignature({ - signature: sig.replace(/^sha256=/, ''), - timestamp: ts, - body: rawBody, - provider: 'zapier', - keyId, - }); - - let payload: unknown; - try { - payload = JSON.parse(rawBody); - } catch { - payload = rawBody; - } - - return { - isValid: result.isValid, - provider: 'zapier', - eventId, - timestamp: result.timestamp, - body: rawBody, - error: result.error, - payload, - }; -} - -export function verifyIntercomProviderWebhook(req: Request, rawBody: string): ProviderVerificationResult { - const signature = (req.headers['x-hub-signature'] || req.headers['x-signature']) as string | undefined; - const eventId = - (req.headers['x-intercom-event-id'] as string) || - (req.headers['x-webhook-id'] as string) || - `intercom_${Date.now()}`; - - if (!signature) { - return { - isValid: false, - provider: 'intercom', - eventId, - timestamp: new Date(), - body: rawBody, - error: 'Missing x-hub-signature header', - }; - } - - const secrets = getActiveSecretsForProvider('intercom'); - const secretValues = secrets.map((s) => s.secret); - if (process.env.INTERCOM_CLIENT_SECRET && !secretValues.includes(process.env.INTERCOM_CLIENT_SECRET)) { - secretValues.push(process.env.INTERCOM_CLIENT_SECRET); - } - - if (secretValues.length === 0) { - return { - isValid: false, - provider: 'intercom', - eventId, - timestamp: new Date(), - body: rawBody, - error: 'No active webhook secrets found for Intercom', - }; - } - - const provided = signature.startsWith('sha1=') ? signature.slice('sha1='.length) : signature; - - for (const secret of secretValues) { - const expected = createHmac('sha1', secret).update(rawBody).digest('hex'); - if (safeEqualHex(expected, provided)) { - let payload: unknown; - try { - payload = JSON.parse(rawBody); - } catch { - payload = rawBody; - } - - return { - isValid: true, - provider: 'intercom', - eventId, - timestamp: new Date(), - body: rawBody, - payload, - }; - } - } - - return { - isValid: false, - provider: 'intercom', - eventId, - timestamp: new Date(), - body: rawBody, - error: 'Intercom signature verification failed', - }; -} - /** Dev/test helper: sign outbound webhooks with AgenticPay format */ export function signTestWebhook(payload: string, secret: string, timestamp: string): string { return generateWebhookSignature(payload, secret, timestamp); diff --git a/backend/src/services/webhooks/verification.ts b/backend/src/services/webhooks/verification.ts index 7e0f9588..96f26446 100644 --- a/backend/src/services/webhooks/verification.ts +++ b/backend/src/services/webhooks/verification.ts @@ -2,7 +2,7 @@ import { createHmac } from 'node:crypto'; import { z } from 'zod'; import { AppError } from '../../middleware/errorHandler.js'; -export const webhookProviderSchema = z.enum(['stripe', 'paypal', 'github', 'custom', 'zapier', 'intercom']); +export const webhookProviderSchema = z.enum(['stripe', 'paypal', 'github', 'custom']); export const webhookSecretSchema = z.object({ id: z.string(), diff --git a/backend/src/tests/benchmarks/benchmark-app.ts b/backend/src/tests/benchmarks/benchmark-app.ts index e10d0053..a3d4372f 100644 --- a/backend/src/tests/benchmarks/benchmark-app.ts +++ b/backend/src/tests/benchmarks/benchmark-app.ts @@ -2,11 +2,6 @@ * Self-contained Express app for benchmarks (no Prisma, Stellar, or job scheduler). */ import express from 'express'; -import { etag } from '../../middleware/etag.js'; -import { cacheControl } from '../../middleware/cache.js'; -import { createCorsMiddleware } from '../../middleware/cors.js'; -import { WebhookKeyRegistry } from '../../services/webhookKeys.js'; -import { CircuitBreaker as BenchmarkCircuitBreaker } from '../../services/circuitBreaker.js'; const escrows: Array> = []; const payments = new Map>(); @@ -43,34 +38,8 @@ export function createBenchmarkApp(): express.Application { res.status(201).json(escrow); }); - // ── Circuit breaker benchmarks ──────────────────────────────────────────── - // Guard a realistic logical "upstream" call with the breaker. The closed - // route exercises the per-request overhead (permit check + outcome record); - // the rejected route exercises the fast-fail 503 path while the circuit is - // open. A dedicated local breaker keeps the benchmark independent of the - // shared registry used by other suites. - const benchCircuit = new BenchmarkCircuitBreaker('benchmark', { - failureThreshold: 100, - waitDurationInOpenState: 30_000, - requestTimeoutMs: 0, - }); - const benchOpenCircuit = new BenchmarkCircuitBreaker('benchmark-open', { - failureThreshold: 1, - waitDurationInOpenState: 30_000, - requestTimeoutMs: 0, - }); - benchOpenCircuit.recordFailure(new Error('bench-open')); - api.get('/circuit-breaker', async (_req, res) => { - await benchCircuit.protect(async () => {}); - res.json({ state: 'closed', status: 'ok' }); - }); - api.get('/circuit-breaker/rejected', async (_req, res) => { - const allowed = benchOpenCircuit.isCallPermitted(); - if (!allowed) { - res.status(503).json({ error: { code: 'CIRCUIT_OPEN', status: 503 } }); - return; - } - res.json({ state: 'closed', status: 'ok' }); + api.get('/circuit-breaker', (_req, res) => { + res.json({ circuits: [], status: 'closed' }); }); api.get('/compression/metrics', (_req, res) => { @@ -97,112 +66,6 @@ export function createBenchmarkApp(): express.Application { res.json({ success: true, payment }); }); - // ── Response caching benchmarks ────────────────────────────────────────── - // Same logical body for every cache strategy so timings are comparable. - api.get('/cache/plain', (_req, res) => { - res.json({ cache: 'none', timestamp: Date.now() }); - }); - - api.get( - '/cache/header', - cacheControl({ maxAge: 300 }), - (_req, res) => { - res.json({ cache: 'header', timestamp: Date.now() }); - }, - ); - - api.get( - '/cache/memory', - cacheControl({ maxAge: 300, inMemory: true }), - (_req, res) => { - res.json({ cache: 'memory', timestamp: Date.now() }); - }, - ); - - // Always-conditional route: wildcard If-None-Match forces a 304 fast path. - api.get( - '/cache/etag-304', - etag(), - (_req, res) => { - res.json({ cache: 'etag' }); - }, - ); - - // ── CORS benchmarks ────────────────────────────────────────────────────── - // Dynamic-whitelist middleware resolving an exact origin and a wildcard - // tenant pattern per request. Mounted router-level so preflights are - // answered by the middleware (as in the real app) before route matching. - const corsMiddleware = createCorsMiddleware({ - allowedOrigins: ['https://app.example.com', 'https://*.tenant.example.com'], - credentials: true, - allowedHeaders: ['Content-Type', 'Authorization'], - }); - - api.use('/cors', corsMiddleware); - - api.get( - '/cors/allowed', - (_req, res) => { - res.json({ cors: 'allowed', timestamp: Date.now() }); - }, - ); - - // ── Webhook signature verification benchmarks ────────────────────────── - // Rotation-aware HMAC verification against a registered key. A valid - // signature/timestamp pair is precomputed at boot and replayed for the - // "valid" route; the invalid route signs over a different body so every - // request exercises the constant-time rejection path. - const BENCH_WEBHOOK_BODY = JSON.stringify({ event: 'bench.webhook', data: { id: 'bench_w_1' } }); - const BENCH_WEBHOOK_BODY_INVALID = JSON.stringify({ event: 'bench.webhook', data: { id: 'bench_w_2' } }); - const BENCH_WEBHOOK_TS = String(Math.floor(Date.now() / 1000)); - const benchKeyRegistry = new WebhookKeyRegistry({ - keys: [{ provider: 'custom', secret: 'bench_webhook_secret_0123456789abcdef0123456789abcdef' }], - }); - const benchWebhookSignature = benchKeyRegistry - .sign({ provider: 'custom', body: BENCH_WEBHOOK_BODY, timestamp: Number(BENCH_WEBHOOK_TS) }) - .signature; - const benchWebhookSignatureInvalid = benchKeyRegistry - .sign({ provider: 'custom', body: BENCH_WEBHOOK_BODY_INVALID, timestamp: Number(BENCH_WEBHOOK_TS) }) - .signature; - - const resolveWebhookBody = (body: unknown): string => { - if (typeof body === 'string') return body; - if (body && typeof body === 'object' && Object.keys(body as Record).length > 0) { - return JSON.stringify(body); - } - return BENCH_WEBHOOK_BODY; - }; - - api.post('/webhook/verify', (req, res) => { - const signature = (req.headers['x-signature'] as string) || benchWebhookSignature; - const timestamp = (req.headers['x-timestamp'] as string) || BENCH_WEBHOOK_TS; - const ok = benchKeyRegistry.verify({ - signature, - timestamp, - body: resolveWebhookBody(req.body), - provider: 'custom', - }); - if (ok.isValid) { - res.json({ verified: true }); - } else { - res.status(401).json({ verified: false }); - } - }); - - api.post('/webhook/verify-invalid', (_req, res) => { - const ok = benchKeyRegistry.verify({ - signature: benchWebhookSignatureInvalid, - timestamp: BENCH_WEBHOOK_TS, - body: BENCH_WEBHOOK_BODY, - provider: 'custom', - }); - if (ok.isValid) { - res.json({ verified: true }); - } else { - res.status(401).json({ verified: false }); - } - }); - app.use('/api/v1', api); return app; } diff --git a/backend/src/tests/benchmarks/endpoints.ts b/backend/src/tests/benchmarks/endpoints.ts index e13171a0..49da1f10 100644 --- a/backend/src/tests/benchmarks/endpoints.ts +++ b/backend/src/tests/benchmarks/endpoints.ts @@ -5,7 +5,7 @@ export interface BenchmarkEndpoint { name: string; - method: 'GET' | 'POST' | 'OPTIONS'; + method: 'GET' | 'POST'; path: string; body?: string; headers?: Record; @@ -53,63 +53,6 @@ export const BENCHMARK_ENDPOINTS: BenchmarkEndpoint[] = [ }), }, { name: 'circuit_breaker', method: 'GET', path: '/api/v1/circuit-breaker' }, - { name: 'circuit_breaker_rejected', method: 'GET', path: '/api/v1/circuit-breaker/rejected' }, - { - name: 'cache_plain', - method: 'GET', - path: '/api/v1/cache/plain', - }, - { - name: 'cache_header_only', - method: 'GET', - path: '/api/v1/cache/header', - }, - { - name: 'cache_memory_hit', - method: 'GET', - path: '/api/v1/cache/memory', - }, - { - name: 'cache_etag_304', - method: 'GET', - path: '/api/v1/cache/etag-304', - headers: { 'if-none-match': '*' }, - }, - { - name: 'cors_allowed', - method: 'GET', - path: '/api/v1/cors/allowed', - headers: { origin: 'https://app.example.com' }, - }, - { - name: 'cors_wildcard', - method: 'GET', - path: '/api/v1/cors/allowed', - headers: { origin: 'https://app.tenant.example.com' }, - }, - { - name: 'cors_preflight', - method: 'OPTIONS', - path: '/api/v1/cors/allowed', - headers: { - origin: 'https://app.example.com', - 'access-control-request-method': 'GET', - }, - }, - { - name: 'webhook_verify_valid', - method: 'POST', - path: '/api/v1/webhook/verify', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ event: 'bench.webhook', data: { id: 'bench_w_1' } }), - }, - { - name: 'webhook_verify_invalid', - method: 'POST', - path: '/api/v1/webhook/verify-invalid', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ event: 'bench.webhook', data: { id: 'bench_w_2' } }), - }, ]; export const DEFAULT_BENCHMARK_OPTIONS = { diff --git a/backend/src/websocket/server.ts b/backend/src/websocket/server.ts index e6039e20..72b68712 100644 --- a/backend/src/websocket/server.ts +++ b/backend/src/websocket/server.ts @@ -1,6 +1,7 @@ import type http from 'node:http'; import { WebSocketServer } from 'ws'; import type WebSocket from 'ws'; +import { ManagedConnection } from './managedConnection.js'; import type { WebSocketChannel, WebSocketClientMessage, @@ -9,7 +10,6 @@ import type { WebSocketServerOptions, } from './types.js'; import type { WebSocketScalingAdapter } from './scaling.js'; -import { WebSocketConnectionPool } from './pool.js'; export type AgenticPayWebSocketServer = { wss: WebSocketServer; @@ -72,7 +72,7 @@ export function attachWebSocketServer(params: { const metrics = createMetrics(); const wss = new WebSocketServer({ noServer: true }); - const pool = new WebSocketConnectionPool(metrics, options); + const connections = new Map(); const lastPongAt = new Map(); let unsubscribeScaling: (() => void) | undefined; @@ -81,7 +81,7 @@ export function attachWebSocketServer(params: { const url = new URL(req.url || '', `http://${req.headers.host || 'localhost'}`); if (url.pathname !== options.path) return; - if (!pool.canAccept()) { + if (metrics.activeConnections >= options.maxConnections) { metrics.rejectedConnections += 1; metrics.lastOverloadAtMs = Date.now(); socket.write('HTTP/1.1 503 Service Unavailable\r\nConnection: close\r\n\r\n'); @@ -98,14 +98,22 @@ export function attachWebSocketServer(params: { }); wss.on('connection', (ws: WebSocket, req) => { + metrics.activeConnections += 1; + metrics.acceptedConnections += 1; const url = new URL(req.url || '', `http://${req.headers.host || 'localhost'}`); - const managed = pool.addConnection({ + const managed = new ManagedConnection({ ws, + metrics, + maxQueueSize: options.maxQueueSizePerConnection, + maxBufferedAmountBytes: options.maxBufferedAmountBytes, + maxBatchSize: options.maxBatchSize, + defaultChannels: options.defaultChannels, authExpiresAtMs: parseAuthExpiry(url.searchParams.get('expiresAt'), options.maxAuthAgeMs), useBinary: options.enableBinaryProtocol && url.searchParams.get('proto') === '1', }); + connections.set(ws, managed); lastPongAt.set(ws, Date.now()); ws.on('pong', () => lastPongAt.set(ws, Date.now())); @@ -129,25 +137,30 @@ export function attachWebSocketServer(params: { }); ws.on('close', () => { - pool.removeConnection(ws); + managed.close(); + connections.delete(ws); lastPongAt.delete(ws); + metrics.activeConnections = Math.max(0, metrics.activeConnections - 1); + metrics.closedConnections += 1; }); }); const flushTimer = setInterval(() => { - pool.flushAll(); + for (const managed of connections.values()) { + managed.flush(); + } }, options.flushIntervalMs); const pingTimer = setInterval(() => { const now = Date.now(); - for (const ws of pool.sockets()) { + for (const ws of connections.keys()) { if (ws.readyState !== ws.OPEN) continue; const lastPong = lastPongAt.get(ws) ?? 0; if (now - lastPong > options.pingIntervalMs + options.pongTimeoutMs) { ws.terminate(); continue; } - const managed = pool.getConnection(ws); + const managed = connections.get(ws); if (managed?.isAuthExpired(now)) { managed.enqueue({ type: 'auth.expired', priority: 'high' }); ws.close(4001, 'Auth token expired'); @@ -158,7 +171,9 @@ export function attachWebSocketServer(params: { }, options.pingIntervalMs); const broadcastLocal = (message: WebSocketOutboundMessage) => { - pool.broadcast(message); + for (const managed of connections.values()) { + managed.enqueue(message); + } }; const broadcast = (message: WebSocketOutboundMessage) => { @@ -185,43 +200,8 @@ export function attachWebSocketServer(params: { clearInterval(flushTimer); clearInterval(pingTimer); unsubscribeScaling?.(); - pool.closeAll(); await new Promise((resolve) => wss.close(() => resolve())); }; return { wss, metrics, broadcast, broadcastToChannel, close }; } - - -/** - * #722: Event-Driven WebSocket Architecture Enhancement - * Adds event emitter patterns for decoupled message handling - */ -import { EventEmitter } from 'events'; - -export class WebSocketEventBus extends EventEmitter { - private static instance: WebSocketEventBus; - - static getInstance(): WebSocketEventBus { - if (!this.instance) { - this.instance = new WebSocketEventBus(); - } - return this.instance; - } - - emitConnection(connectionId: string, metadata: any): void { - this.emit('connection:opened', { connectionId, metadata, timestamp: Date.now() }); - } - - emitDisconnection(connectionId: string): void { - this.emit('connection:closed', { connectionId, timestamp: Date.now() }); - } - - emitMessage(connectionId: string, message: any): void { - this.emit('message:received', { connectionId, message, timestamp: Date.now() }); - } - - emitBroadcast(message: WebSocketOutboundMessage): void { - this.emit('broadcast', { message, timestamp: Date.now() }); - } -} diff --git a/backend/tsconfig.json b/backend/tsconfig.json index cafec9e5..44df354d 100644 --- a/backend/tsconfig.json +++ b/backend/tsconfig.json @@ -10,9 +10,7 @@ "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "resolveJsonModule": true, - "declaration": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true + "declaration": true }, "include": ["src/**/*"], "exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.spec.ts"] diff --git a/backend/vitest.config.ts b/backend/vitest.config.ts index f4deb0e6..31a3ae8a 100644 --- a/backend/vitest.config.ts +++ b/backend/vitest.config.ts @@ -1,42 +1,12 @@ import { defineConfig } from 'vitest/config' -import path from 'path' -import { fileURLToPath } from 'url' - -const __dirname = path.dirname(fileURLToPath(import.meta.url)) export default defineConfig({ - resolve: { - alias: { - '@': path.resolve(__dirname, 'src'), - '@tests': path.resolve(__dirname, 'src/tests'), - }, - }, test: { environment: 'node', include: ['src/**/*.test.ts'], - setupFiles: ['./src/tests/setup.ts'], - testTimeout: 30000, - hookTimeout: 30000, coverage: { provider: 'v8', - reporter: ['text', 'json', 'html', 'lcov'], - reportsDirectory: './coverage', - exclude: [ - 'node_modules/**', - 'dist/**', - 'src/**/*.test.ts', - 'src/tests/**', - '**/*.config.*', - '**/*.d.ts', - ], - thresholds: { - statements: 80, - branches: 80, - functions: 80, - lines: 80, - }, + reporter: ['text', 'json', 'html'], }, - pool: 'forks', - singleFork: true, }, }) \ No newline at end of file diff --git a/contracts/Cargo.toml b/contracts/Cargo.toml index 29622c00..a849c1fa 100644 --- a/contracts/Cargo.toml +++ b/contracts/Cargo.toml @@ -8,13 +8,8 @@ description = "AI Agent Payment Infrastructure on Stellar/Soroban" [lib] crate-type = ["cdylib"] -[features] -gas_benchmarks = [] - [dependencies] soroban-sdk = "21.0.0" -rand = "0.8" -rand_core = { version = "0.6", features = ["std"] } [dev-dependencies] soroban-sdk = { version = "21.0.0", features = ["testutils"] } diff --git a/contracts/evm/contracts/BridgeHTLC.sol b/contracts/evm/contracts/BridgeHTLC.sol index 0686c4e6..db9b7b28 100644 --- a/contracts/evm/contracts/BridgeHTLC.sol +++ b/contracts/evm/contracts/BridgeHTLC.sol @@ -4,16 +4,10 @@ pragma solidity ^0.8.24; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {Pausable} from "@openzeppelin/contracts/utils/Pausable.sol"; import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; /// @title BridgeHTLC -/// @notice HTLC + optimistic dispute bridge for native ETH and ERC-20 cross-chain transfers. -/// @dev Supports Stellar→EVM (via oracle relay attestation) and EVM→Stellar directions. -/// Set `token` to address(0) in TokenLock for native ETH; any IERC20 otherwise. +/// @notice Minimal HTLC + optimistic dispute bridge primitive for cross-chain transfers. contract BridgeHTLC is Ownable, Pausable, ReentrancyGuard { - using SafeERC20 for IERC20; - struct Lock { address sender; address recipient; @@ -25,38 +19,15 @@ contract BridgeHTLC is Ownable, Pausable, ReentrancyGuard { uint256 disputeDeadline; } - /// @notice Extended lock that also tracks an ERC-20 token address and Stellar origin tx. - struct TokenLock { - address sender; - address recipient; - address token; // address(0) = native ETH - uint256 amount; - bytes32 hashlock; - uint256 timelock; - bool claimed; - bool refunded; - uint256 disputeDeadline; - bytes32 stellarOriginHash; // keccak256 of the originating Stellar tx ID (zero if EVM-origin) - } - mapping(bytes32 => Lock) public locks; - mapping(bytes32 => TokenLock) public tokenLocks; - uint16 public feeBps = 30; address public feeCollector; - /// @notice Trusted oracle relayers permitted to attest Stellar origin transactions. - mapping(address => bool) public trustedRelayers; - event Locked(bytes32 indexed lockId, address indexed sender, address indexed recipient, uint256 amount); - event TokenLocked(bytes32 indexed lockId, address indexed sender, address indexed recipient, address token, uint256 amount, bytes32 stellarOriginHash); event Claimed(bytes32 indexed lockId, bytes32 secretHash); event Refunded(bytes32 indexed lockId); event FeeConfigUpdated(uint16 feeBps, address feeCollector); event Disputed(bytes32 indexed lockId, address indexed disputer); - /// @notice Emitted when a trusted relayer attests the Stellar source transaction. - event StellarRelayAttested(bytes32 indexed lockId, address indexed relayer, bytes32 stellarOriginHash); - event RelayerUpdated(address indexed relayer, bool trusted); error InvalidFee(); error InvalidLock(); @@ -64,24 +35,11 @@ contract BridgeHTLC is Ownable, Pausable, ReentrancyGuard { error InvalidSecret(); error TimelockNotExpired(); error DisputeWindowOpen(); - error NotTrustedRelayer(); - error StellarOriginAlreadyAttested(); constructor(address owner_, address feeCollector_) Ownable(owner_) { feeCollector = feeCollector_; } - error TransferToRecipientFailed(); - error TransferFeeFailed(); - error TransferRefundFailed(); - - // ── Admin ──────────────────────────────────────────────────────────────── - - function setTrustedRelayer(address relayer, bool trusted) external onlyOwner { - trustedRelayers[relayer] = trusted; - emit RelayerUpdated(relayer, trusted); - } - function setFeeConfig(uint16 nextFeeBps, address nextCollector) external onlyOwner { if (nextFeeBps > 1000) revert InvalidFee(); feeBps = nextFeeBps; @@ -101,15 +59,16 @@ contract BridgeHTLC is Ownable, Pausable, ReentrancyGuard { } if (locks[lockId].sender != address(0)) revert InvalidLock(); - Lock storage l = locks[lockId]; - l.sender = msg.sender; - l.recipient = recipient; - l.amount = msg.value; - l.hashlock = hashlock; - l.timelock = timelock; - unchecked { - l.disputeDeadline = block.timestamp + disputeWindowSeconds; - } + locks[lockId] = Lock({ + sender: msg.sender, + recipient: recipient, + amount: msg.value, + hashlock: hashlock, + timelock: timelock, + claimed: false, + refunded: false, + disputeDeadline: block.timestamp + disputeWindowSeconds + }); emit Locked(lockId, msg.sender, recipient, msg.value); } @@ -121,20 +80,14 @@ contract BridgeHTLC is Ownable, Pausable, ReentrancyGuard { if (keccak256(abi.encodePacked(secret)) != userLock.hashlock) revert InvalidSecret(); userLock.claimed = true; - uint256 fee; - unchecked { - fee = (userLock.amount * feeBps) / 10_000; - } - uint256 payout; - unchecked { - payout = userLock.amount - fee; - } + uint256 fee = (userLock.amount * feeBps) / 10_000; + uint256 payout = userLock.amount - fee; (bool okRecipient, ) = userLock.recipient.call{value: payout}(""); - if (!okRecipient) revert TransferToRecipientFailed(); + require(okRecipient, "recipient transfer failed"); if (fee > 0 && feeCollector != address(0)) { (bool okFee, ) = feeCollector.call{value: fee}(""); - if (!okFee) revert TransferFeeFailed(); + require(okFee, "fee transfer failed"); } emit Claimed(lockId, keccak256(abi.encodePacked(secret))); @@ -149,7 +102,7 @@ contract BridgeHTLC is Ownable, Pausable, ReentrancyGuard { userLock.refunded = true; (bool ok, ) = userLock.sender.call{value: userLock.amount}(""); - if (!ok) revert TransferRefundFailed(); + require(ok, "refund transfer failed"); emit Refunded(lockId); } @@ -157,119 +110,10 @@ contract BridgeHTLC is Ownable, Pausable, ReentrancyGuard { Lock storage userLock = locks[lockId]; if (userLock.sender == address(0)) revert InvalidLock(); if (userLock.claimed || userLock.refunded) revert AlreadySettled(); - unchecked { - userLock.disputeDeadline = block.timestamp + 1 days; - } + userLock.disputeDeadline = block.timestamp + 1 days; emit Disputed(lockId, msg.sender); } - // ── ERC-20 / Native hybrid HTLC (Stellar↔EVM bridge) ──────────────────── - - /// @notice Lock ERC-20 tokens (or native ETH when `token == address(0)`) for cross-chain swap. - /// @param lockId Unique identifier for this lock. - /// @param recipient Intended beneficiary on this chain. - /// @param token ERC-20 contract address; use address(0) for native ETH. - /// @param amount Amount of `token` to lock (ignored for native ETH; use msg.value). - /// @param hashlock SHA-256 hash of the secret pre-image (keccak256 on EVM side). - /// @param timelock Absolute timestamp after which the sender may reclaim funds. - /// @param disputeWindowSeconds Seconds after `timelock` during which disputes may be raised. - /// @param stellarOriginHash keccak256 of the Stellar tx ID (zero for EVM-initiated swaps). - function lockToken( - bytes32 lockId, - address recipient, - address token, - uint256 amount, - bytes32 hashlock, - uint256 timelock, - uint256 disputeWindowSeconds, - bytes32 stellarOriginHash - ) external payable whenNotPaused nonReentrant { - if (recipient == address(0) || hashlock == bytes32(0) || timelock <= block.timestamp) { - revert InvalidLock(); - } - if (tokenLocks[lockId].sender != address(0)) revert InvalidLock(); - - uint256 lockedAmount; - if (token == address(0)) { - if (msg.value == 0) revert InvalidLock(); - lockedAmount = msg.value; - } else { - if (amount == 0) revert InvalidLock(); - lockedAmount = amount; - IERC20(token).safeTransferFrom(msg.sender, address(this), amount); - } - - TokenLock storage tl = tokenLocks[lockId]; - tl.sender = msg.sender; - tl.recipient = recipient; - tl.token = token; - tl.amount = lockedAmount; - tl.hashlock = hashlock; - tl.timelock = timelock; - tl.stellarOriginHash = stellarOriginHash; - unchecked { - tl.disputeDeadline = block.timestamp + disputeWindowSeconds; - } - - emit TokenLocked(lockId, msg.sender, recipient, token, lockedAmount, stellarOriginHash); - } - - /// @notice Claim locked tokens by revealing the pre-image `secret`. - function claimToken(bytes32 lockId, bytes32 secret) external whenNotPaused nonReentrant { - TokenLock storage tl = tokenLocks[lockId]; - if (tl.sender == address(0)) revert InvalidLock(); - if (tl.claimed || tl.refunded) revert AlreadySettled(); - if (keccak256(abi.encodePacked(secret)) != tl.hashlock) revert InvalidSecret(); - - tl.claimed = true; - uint256 fee; - unchecked { fee = (tl.amount * feeBps) / 10_000; } - uint256 payout; - unchecked { payout = tl.amount - fee; } - - _transferOut(tl.token, tl.recipient, payout); - if (fee > 0 && feeCollector != address(0)) { - _transferOut(tl.token, feeCollector, fee); - } - - emit Claimed(lockId, keccak256(abi.encodePacked(secret))); - } - - /// @notice Refund the sender after timelock expiry and dispute window. - function refundToken(bytes32 lockId) external whenNotPaused nonReentrant { - TokenLock storage tl = tokenLocks[lockId]; - if (tl.sender == address(0)) revert InvalidLock(); - if (tl.claimed || tl.refunded) revert AlreadySettled(); - if (block.timestamp < tl.timelock) revert TimelockNotExpired(); - if (block.timestamp < tl.disputeDeadline) revert DisputeWindowOpen(); - - tl.refunded = true; - _transferOut(tl.token, tl.sender, tl.amount); - emit Refunded(lockId); - } - - /// @notice Called by a trusted oracle relayer to record the Stellar origin tx on-chain. - /// @dev Useful for audit trails and dispute resolution off-chain indexers. - function attestStellarOrigin(bytes32 lockId, bytes32 stellarOriginHash) external { - if (!trustedRelayers[msg.sender]) revert NotTrustedRelayer(); - TokenLock storage tl = tokenLocks[lockId]; - if (tl.sender == address(0)) revert InvalidLock(); - if (tl.stellarOriginHash != bytes32(0)) revert StellarOriginAlreadyAttested(); - - tl.stellarOriginHash = stellarOriginHash; - emit StellarRelayAttested(lockId, msg.sender, stellarOriginHash); - } - - /// @dev Unified ETH / ERC-20 payout helper. - function _transferOut(address token, address to, uint256 amount) private { - if (token == address(0)) { - (bool ok, ) = to.call{value: amount}(''); - if (!ok) revert TransferToRecipientFailed(); - } else { - IERC20(token).safeTransfer(to, amount); - } - } - function pause() external onlyOwner { _pause(); } diff --git a/contracts/evm/contracts/EmergencyPause.sol b/contracts/evm/contracts/EmergencyPause.sol index e07b7cab..8a1f96ac 100644 --- a/contracts/evm/contracts/EmergencyPause.sol +++ b/contracts/evm/contracts/EmergencyPause.sol @@ -74,52 +74,61 @@ contract EmergencyPause { constructor(uint256 _threshold, address[] memory _guardians) { threshold = _threshold; admin = msg.sender; - uint256 len = _guardians.length; - for (uint256 i; i < len; ) { - address g = _guardians[i]; - assembly { - sstore(add(guardians.slot, keccak256(0, 0x20)), g) - } + for (uint256 i; i < _guardians.length; ) { + guardians[_guardians[i]] = true; unchecked { ++i; } } } // ── Pause Lifecycle ────────────────────────────────────────────────────── + /// @notice Request an emergency pause for a proxy. + /// @param proxy The proxy contract to pause. + /// @param pauseImplementation Address of the "paused" stub implementation. + /// @return pauseId The ID of the pause request. function requestPause( address proxy, address pauseImplementation ) external onlyGuardian returns (uint256 pauseId) { if (proxy == address(0) || pauseImplementation == address(0)) revert ZeroAddress(); - unchecked { - pauseId = pauseCount++; - } - - PauseRecord storage pr = pauseRecords[pauseId]; - pr.proxy = proxy; - pr.pauseImplementation = pauseImplementation; - pr.approvalCount = 1; - + pauseId = pauseCount++; + + // Read current implementation from proxy EIP-1967 slot + bytes32 implSlot = bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1); + address currentImpl; + // Note: We can't read proxy storage directly, so caller must track the previous impl. + // For safety, store address(0) and let activatePause set the real previous impl. + currentImpl = address(0); + + pauseRecords[pauseId] = PauseRecord({ + proxy: proxy, + previousImplementation: currentImpl, + pauseImplementation: pauseImplementation, + activatedAt: 0, + expiresAt: 0, + active: false, + approvalCount: 1 // requester auto-approves + }); hasGuardianApproved[pauseId][msg.sender] = true; emit PauseRequested(pauseId, proxy, msg.sender); - if (pr.approvalCount >= threshold) { - _activatePause(pauseId, address(0)); + if (pauseRecords[pauseId].approvalCount >= threshold) { + _activatePause(pauseId, currentImpl); } } + /// @notice A guardian approves a pending pause request. function approvePause(uint256 pauseId, address previousImplementation) external onlyGuardian { PauseRecord storage pr = pauseRecords[pauseId]; if (pr.proxy == address(0)) revert PauseNotFound(); if (hasGuardianApproved[pauseId][msg.sender]) revert AlreadyApproved(); hasGuardianApproved[pauseId][msg.sender] = true; - unchecked { - pr.approvalCount++; - } + pr.approvalCount++; + // Store the real previous implementation if not yet set if (pr.previousImplementation == address(0) && previousImplementation != address(0)) { pr.previousImplementation = previousImplementation; } @@ -131,22 +140,23 @@ contract EmergencyPause { } } - error ResumeFailed(); - + /// @notice Resume (unpause) a proxy after emergency is resolved. function resume(uint256 pauseId) external onlyAdmin { PauseRecord storage pr = pauseRecords[pauseId]; if (pr.proxy == address(0)) revert PauseNotFound(); if (!pr.active) revert PauseNotActive(); + // Check if expired if (block.timestamp >= pr.expiresAt) { pr.active = false; emit PauseExpired(pauseId, pr.proxy); } + // Swap back to the previous implementation (bool ok, ) = pr.proxy.call( abi.encodeWithSignature("upgradeTo(address)", pr.previousImplementation) ); - if (!ok) revert ResumeFailed(); + require(ok, "Resume upgrade failed"); pr.active = false; emit PauseResumed(pauseId, pr.proxy); @@ -184,23 +194,20 @@ contract EmergencyPause { // ── Internal ───────────────────────────────────────────────────────────── - error PauseUpgradeFailed(); - function _activatePause(uint256 pauseId, address previousImpl) internal { PauseRecord storage pr = pauseRecords[pauseId]; pr.active = true; - unchecked { - pr.activatedAt = block.timestamp; - pr.expiresAt = block.timestamp + MAX_PAUSE_DURATION; - } + pr.activatedAt = block.timestamp; + pr.expiresAt = block.timestamp + MAX_PAUSE_DURATION; if (pr.previousImplementation == address(0)) { pr.previousImplementation = previousImpl; } + // Upgrade proxy to the pause stub (bool ok, ) = pr.proxy.call( abi.encodeWithSignature("upgradeTo(address)", pr.pauseImplementation) ); - if (!ok) revert PauseUpgradeFailed(); + require(ok, "Pause upgrade failed"); emit PauseActivated(pauseId, pr.proxy, pr.expiresAt); } diff --git a/contracts/evm/contracts/GasPriceOracle.sol b/contracts/evm/contracts/GasPriceOracle.sol index b932afce..0141f9f3 100644 --- a/contracts/evm/contracts/GasPriceOracle.sol +++ b/contracts/evm/contracts/GasPriceOracle.sol @@ -19,33 +19,16 @@ contract GasPriceOracle { uint256 validUntil; // Quote expiry timestamp } - struct GasPriceRecord { - uint256 blockNumber; - uint256 timestamp; - uint256 baseFee; - uint256 priorityFee; - uint256 gasUsedRatio; - } - // Token address => price ratio (token per ETH, scaled by 1e18) mapping(address => uint256) public tokenPriceRatios; mapping(address => bool) public authorizedUpdaters; - GasPriceRecord[] public priceHistory; // Max 1000 entries - uint256 public constant MAX_HISTORY = 1000; - - uint256 public emaAlpha = 20; // EMA smoothing factor (20 = 20% weight), scaled by 100 - uint256 public lastEmaBaseFee; // Latest EMA-smoothed base fee - uint256 public lastEmaPriorityFee; // Latest EMA-smoothed priority fee - // ── Events ─────────────────────────────────────────────────────────────── event PriceRatioUpdated(address indexed token, uint256 ratio); event BaseFeePremiumUpdated(uint256 oldPremium, uint256 newPremium); event PriorityFeeUpdated(uint256 oldFee, uint256 newFee); event UpdaterUpdated(address indexed updater, bool active); - event GasPriceRecordAdded(uint256 blockNumber, uint256 baseFee, uint256 priorityFee); - event EmaAlphaUpdated(uint256 oldAlpha, uint256 newAlpha); // ── Errors ─────────────────────────────────────────────────────────────── @@ -53,7 +36,6 @@ contract GasPriceOracle { error NotAuthorized(); error ZeroAddress(); error InvalidRatio(); - error InvalidAlpha(); // ── Modifiers ──────────────────────────────────────────────────────────── @@ -67,11 +49,6 @@ contract GasPriceOracle { _; } - modifier onlyAuthorized() { - if (!authorizedUpdaters[msg.sender] && msg.sender != owner) revert NotAuthorized(); - _; - } - // ── Constructor ────────────────────────────────────────────────────────── constructor(uint256 _baseFeePremium, uint256 _priorityFee) { @@ -82,36 +59,19 @@ contract GasPriceOracle { // ── Fee Quote ──────────────────────────────────────────────────────────── + /// @notice Generate a fee quote valid for `ttlSeconds`. + /// @param token Address of the ERC-20 token for fee payment (address(0) for ETH). + /// @param ttlSeconds How long the quote is valid. + /// @return quote The fee quote struct. function getQuote(address token, uint256 ttlSeconds) external view returns (FeeQuote memory quote) { uint256 baseFee = block.basefee; uint256 pFee = priorityFee; - uint256 premium; - assembly { - premium := sload(baseFeePremium.slot) - } - uint256 maxFee; - unchecked { - maxFee = baseFee + premium + pFee; - } - - uint256 tokenFee; - if (token != address(0)) { - uint256 ratio; - assembly { - mstore(0, token) - mstore(0x20, tokenPriceRatios.slot) - ratio := sload(keccak256(0, 0x40)) - } - if (ratio > 0) { - unchecked { - tokenFee = (maxFee * ratio) / 1e18; - } - } - } + uint256 maxFee = baseFee + baseFeePremium + pFee; - uint256 validUntil; - unchecked { - validUntil = block.timestamp + ttlSeconds; + uint256 tokenFee = 0; + if (token != address(0) && tokenPriceRatios[token] > 0) { + // Convert ETH fee to token fee: tokenFee = maxFee * ratio / 1e18 + tokenFee = (maxFee * tokenPriceRatios[token]) / 1e18; } quote = FeeQuote({ @@ -119,33 +79,20 @@ contract GasPriceOracle { priorityFee: pFee, maxFeePerGas: maxFee, tokenFee: tokenFee, - validUntil: validUntil + validUntil: block.timestamp + ttlSeconds }); } + /// @notice Estimate the total gas cost in ETH for a given gas limit. function estimateGasCost(uint256 gasLimit) external view returns (uint256 costWei) { - unchecked { - return (block.basefee + baseFeePremium + priorityFee) * gasLimit; - } + return (block.basefee + baseFeePremium + priorityFee) * gasLimit; } + /// @notice Estimate gas cost in ERC-20 tokens. function estimateGasCostInToken(uint256 gasLimit, address token) external view returns (uint256 costTokens) { - uint256 costWei; - unchecked { - costWei = (block.basefee + baseFeePremium + priorityFee) * gasLimit; - } - if (token != address(0)) { - uint256 ratio; - assembly { - mstore(0, token) - mstore(0x20, tokenPriceRatios.slot) - ratio := sload(keccak256(0, 0x40)) - } - if (ratio > 0) { - unchecked { - costTokens = (costWei * ratio) / 1e18; - } - } + uint256 costWei = (block.basefee + baseFeePremium + priorityFee) * gasLimit; + if (tokenPriceRatios[token] > 0) { + costTokens = (costWei * tokenPriceRatios[token]) / 1e18; } } @@ -198,124 +145,4 @@ contract GasPriceOracle { if (newOwner == address(0)) revert ZeroAddress(); owner = newOwner; } - - // ── Gas Price Update ───────────────────────────────────────────────────── - - /// @notice Post new base fee and priority fee, updating EMA values. - /// @param newBaseFee Current network base fee (in wei). - /// @param newPriorityFee Priority fee for inclusion (in wei). - function update(uint256 newBaseFee, uint256 newPriorityFee) external onlyAuthorized { - _updateEma(newBaseFee, newPriorityFee); - } - - // ── Historical Gas Price Storage ───────────────────────────────────────── - - /// @notice Store a new gas price record and update EMA values. Prunes oldest entry when history exceeds 1000. - /// @param baseFee Network base fee at this block (in wei). - /// @param priorityFee Priority fee observed at this block (in wei). - /// @param gasUsedRatio Ratio of gas used to gas limit at this block (scaled by 1e18). - function recordGasPrice( - uint256 baseFee, - uint256 priorityFee, - uint256 gasUsedRatio - ) external onlyAuthorized { - if (priceHistory.length >= MAX_HISTORY) { - // Prune oldest entry by shifting the array - for (uint256 i = 0; i < MAX_HISTORY - 1; ) { - priceHistory[i] = priceHistory[i + 1]; - unchecked { ++i; } - } - priceHistory.pop(); - } - - priceHistory.push(GasPriceRecord({ - blockNumber: block.number, - timestamp: block.timestamp, - baseFee: baseFee, - priorityFee: priorityFee, - gasUsedRatio: gasUsedRatio - })); - - _updateEma(baseFee, priorityFee); - - emit GasPriceRecordAdded(block.number, baseFee, priorityFee); - } - - /// @notice Return the EMA-smoothed base fee. - /// @return EMA base fee in wei. - function getEmaBaseFee() public view returns (uint256) { - return lastEmaBaseFee; - } - - /// @notice Return the EMA-smoothed priority fee. - /// @return EMA priority fee in wei. - function getEmaPriorityFee() public view returns (uint256) { - return lastEmaPriorityFee; - } - - /// @notice Return historical gas price records in the block range [fromBlock, toBlock]. - /// @param fromBlock Start block number (inclusive). - /// @param toBlock End block number (inclusive). - /// @return records Array of GasPriceRecord within the specified range. - function getPriceHistory(uint256 fromBlock, uint256 toBlock) - external - view - returns (GasPriceRecord[] memory records) - { - require(fromBlock <= toBlock, "Invalid block range"); - - uint256 count = 0; - uint256 len = priceHistory.length; - - // Count matching records - for (uint256 i = 0; i < len; ) { - if (priceHistory[i].blockNumber >= fromBlock && priceHistory[i].blockNumber <= toBlock) { - count++; - } - unchecked { ++i; } - } - - records = new GasPriceRecord[](count); - uint256 idx = 0; - for (uint256 i = 0; i < len; ) { - if (priceHistory[i].blockNumber >= fromBlock && priceHistory[i].blockNumber <= toBlock) { - records[idx] = priceHistory[i]; - idx++; - } - unchecked { ++i; } - } - } - - /// @notice Update the EMA smoothing factor. Alpha is scaled by 100 (e.g., 20 = 20%). - /// @param alpha New smoothing factor (must be 1–100). - function setEmaAlpha(uint256 alpha) external onlyOwner { - if (alpha == 0 || alpha > 100) revert InvalidAlpha(); - uint256 old = emaAlpha; - emaAlpha = alpha; - emit EmaAlphaUpdated(old, alpha); - } - - // ── Internal ───────────────────────────────────────────────────────────── - - /// @dev Update EMA values using the formula: EMA = alpha * newValue + (1 - alpha) * previousEMA. - function _updateEma(uint256 newBaseFee, uint256 newPriorityFee) internal { - uint256 alpha = emaAlpha; - uint256 baseAlpha; - uint256 oneMinusAlpha; - unchecked { - baseAlpha = alpha; - oneMinusAlpha = 100 - alpha; - } - - if (lastEmaBaseFee == 0) { - // First record — initialize EMA to the new value - lastEmaBaseFee = newBaseFee; - lastEmaPriorityFee = newPriorityFee; - } else { - unchecked { - lastEmaBaseFee = (baseAlpha * newBaseFee + oneMinusAlpha * lastEmaBaseFee) / 100; - lastEmaPriorityFee = (baseAlpha * newPriorityFee + oneMinusAlpha * lastEmaPriorityFee) / 100; - } - } - } } diff --git a/contracts/evm/contracts/RelayPaymaster.sol b/contracts/evm/contracts/RelayPaymaster.sol index ddd22dcd..79bc1140 100644 --- a/contracts/evm/contracts/RelayPaymaster.sol +++ b/contracts/evm/contracts/RelayPaymaster.sol @@ -66,33 +66,30 @@ contract RelayPaymaster { // ── User Deposits ──────────────────────────────────────────────────────── - error TokenTransferFailed(); - + /// @notice Deposit ERC-20 tokens for gas payment. function deposit(address token, uint256 amount) external { if (!acceptedTokens[token]) revert TokenNotAccepted(); + // Pull tokens from user (bool ok, bytes memory data) = token.call( abi.encodeWithSelector(0x23b872dd, msg.sender, address(this), amount) ); - if (!ok || (data.length != 0 && !abi.decode(data, (bool)))) revert TokenTransferFailed(); + require(ok && (data.length == 0 || abi.decode(data, (bool))), "TransferFrom failed"); - unchecked { - deposits[msg.sender].balance += amount; - } + deposits[msg.sender].balance += amount; emit Deposited(msg.sender, token, amount); } + /// @notice Withdraw unused deposit. function withdraw(address token, uint256 amount) external { UserDeposit storage dep = deposits[msg.sender]; if (dep.balance < amount) revert InsufficientDeposit(); - unchecked { - dep.balance -= amount; - } + dep.balance -= amount; (bool ok, ) = token.call( abi.encodeWithSelector(0xa9059cbb, msg.sender, amount) ); - if (!ok) revert TokenTransferFailed(); + require(ok, "Transfer failed"); emit Withdrawn(msg.sender, token, amount); } @@ -107,24 +104,23 @@ contract RelayPaymaster { return dep.balance >= estimatedGasWei; // rough approximation } + /// @notice Called by relayer after successful meta-tx to collect fee in tokens. + /// @param user The user whose deposit to charge. + /// @param token The ERC-20 token for fee payment. + /// @param gasCostWei The actual gas cost in ETH. function collectFee(address user, address token, uint256 gasCostWei) external onlyRelayer { if (!acceptedTokens[token]) revert TokenNotAccepted(); uint256 ratio = tokenPriceRatios[token]; - if (ratio == 0) ratio = 1e18; + if (ratio == 0) ratio = 1e18; // default 1:1 if no ratio set - uint256 tokenFee; - unchecked { - tokenFee = (gasCostWei * ratio) / 1e18; - } + uint256 tokenFee = (gasCostWei * ratio) / 1e18; UserDeposit storage dep = deposits[user]; if (dep.balance < tokenFee) revert InsufficientDeposit(); - unchecked { - dep.balance -= tokenFee; - totalSponsored += gasCostWei; - totalFeesCollected += tokenFee; - } + dep.balance -= tokenFee; + totalSponsored += gasCostWei; + totalFeesCollected += tokenFee; emit GasSponsored(user, msg.sender, gasCostWei); emit FeeCollected(user, token, tokenFee); diff --git a/contracts/evm/contracts/SplitterV1.sol b/contracts/evm/contracts/SplitterV1.sol index e848f8fe..b33b37c9 100644 --- a/contracts/evm/contracts/SplitterV1.sol +++ b/contracts/evm/contracts/SplitterV1.sol @@ -84,13 +84,9 @@ contract SplitterV1 is if (bps > 10_000) revert InvalidFee(bps); Recipient memory next = Recipient(wallet, bps, minThreshold, active); - uint256 len; - assembly { - len := sload(recipients.slot) - } - if (index < len) { + if (index < recipients.length) { recipients[index] = next; - } else if (index == len) { + } else if (index == recipients.length) { recipients.push(next); } else { revert InvalidIndex(index); @@ -99,67 +95,62 @@ contract SplitterV1 is emit RecipientConfigured(index, wallet, bps, minThreshold, active); } - function recipientsCount() external view returns (uint256 count) { - assembly { - count := sload(recipients.slot) - } + function recipientsCount() external view returns (uint256) { + return recipients.length; } function splitPayment() external payable virtual nonReentrant { _splitPayment(); } + /// @dev Core distribution logic, factored out so V2+ can layer + /// additional checks (pause, allowlist, etc.) in front of the + /// same accounting code. function _splitPayment() internal { if (msg.value == 0) revert NoPayment(); - uint16 _platformFeeBps; - assembly { - _platformFeeBps := sload(platformFeeBps.slot) - } - uint256 platformFee = (msg.value * _platformFeeBps) / 10_000; + uint256 platformFee = (msg.value * platformFeeBps) / 10_000; uint256 distributable = msg.value - platformFee; uint256 distributed; - uint256 len; - assembly { - len := sload(recipients.slot) - } - for (uint256 i; i < len; ) { - Recipient storage r = recipients[i]; - if (r.active && r.bps != 0) { - uint256 amount = (distributable * r.bps) / 10_000; - if (amount >= r.minThreshold) { - distributed += amount; - (bool ok, ) = r.wallet.call{value: amount}(""); - if (!ok) revert TransferFailed(r.wallet, amount); - } - } - unchecked { - ++i; - } + uint256 len = recipients.length; + for (uint256 i = 0; i < len; i++) { + Recipient memory recipient = recipients[i]; + if (!recipient.active || recipient.bps == 0) continue; + + uint256 amount = (distributable * recipient.bps) / 10_000; + if (amount < recipient.minThreshold) continue; + distributed += amount; + + (bool ok, ) = recipient.wallet.call{value: amount}(""); + if (!ok) revert TransferFailed(recipient.wallet, amount); } + // Platform fee and any undistributed dust remain in the contract + // and are withdrawable by the owner. emit PaymentSplit(msg.value, platformFee, distributed); } function withdraw(address payable to, uint256 amount) external onlyOwner nonReentrant { if (to == address(0)) revert InvalidRecipient(); - uint256 available; - assembly { - available := selfbalance() - } + uint256 available = address(this).balance; if (amount > available) revert InsufficientBalance(amount, available); (bool ok, ) = to.call{value: amount}(""); if (!ok) revert TransferFailed(to, amount); } + /// @notice Human-readable version string, also used by upgrade tests to + /// detect which implementation the proxy currently points at. function version() external pure virtual returns (string memory) { return "1.0.0"; } + /// @dev UUPS requires the implementation to decide who may upgrade. function _authorizeUpgrade(address newImplementation) internal override onlyOwner {} + /// @dev Reserved storage slots for future versions to consume without + /// shifting the layout of V1-era fields. uint256[48] private __gap; receive() external payable {} diff --git a/contracts/evm/contracts/TimelockController.sol b/contracts/evm/contracts/TimelockController.sol index 9859559f..ce1e0ea2 100644 --- a/contracts/evm/contracts/TimelockController.sol +++ b/contracts/evm/contracts/TimelockController.sol @@ -99,26 +99,19 @@ contract TimelockController { approvalThreshold = _approvalThreshold; admin = msg.sender; - uint256 pLen = _proposers.length; - for (uint256 i; i < pLen; ) { - address p = _proposers[i]; - assembly { - sstore(add(proposers.slot, keccak256(0, 0x20)), p) - } + for (uint256 i; i < _proposers.length; ) { + proposers[_proposers[i]] = true; unchecked { ++i; } } - uint256 aLen = _approvers.length; - for (uint256 i; i < aLen; ) { - address a = _approvers[i]; - assembly { - sstore(add(approvers.slot, keccak256(0, 0x20)), a) - } + for (uint256 i; i < _approvers.length; ) { + approvers[_approvers[i]] = true; unchecked { ++i; } } } // ── Proposal Lifecycle ─────────────────────────────────────────────────── + /// @notice Schedule a new upgrade proposal. function schedule( address target, address newImplementation, @@ -126,25 +119,24 @@ contract TimelockController { ) external onlyProposer returns (uint256 proposalId) { if (target == address(0) || newImplementation == address(0)) revert ZeroAddress(); - unchecked { - proposalId = proposalCount++; - } - uint256 eta; - unchecked { - eta = block.timestamp + delay; - } + proposalId = proposalCount++; + uint256 eta = block.timestamp + delay; - Proposal storage p = proposals[proposalId]; - p.target = target; - p.newImplementation = newImplementation; - p.data = data; - p.eta = eta; - p.scheduledAt = block.timestamp; - p.status = ProposalStatus.Pending; + proposals[proposalId] = Proposal({ + target: target, + newImplementation: newImplementation, + data: data, + eta: eta, + scheduledAt: block.timestamp, + executedAt: 0, + approvalCount: 0, + status: ProposalStatus.Pending + }); emit ProposalScheduled(proposalId, target, newImplementation, eta); } + /// @notice Approve a pending proposal. function approve(uint256 proposalId) external onlyApprover { Proposal storage p = proposals[proposalId]; if (p.status != ProposalStatus.Pending) revert InvalidStatus(); @@ -153,9 +145,7 @@ contract TimelockController { if (hasApproved[approvalKey]) revert AlreadyApproved(); hasApproved[approvalKey] = true; - unchecked { - p.approvalCount++; - } + p.approvalCount++; if (p.approvalCount >= approvalThreshold) { p.status = ProposalStatus.Approved; @@ -164,8 +154,7 @@ contract TimelockController { emit ProposalApproved(proposalId, msg.sender); } - error UpgradeFailed(); - + /// @notice Execute an approved proposal after the timelock delay. function execute(uint256 proposalId) external { Proposal storage p = proposals[proposalId]; if (p.status != ProposalStatus.Approved) revert InsufficientApprovals(); @@ -175,19 +164,23 @@ contract TimelockController { p.status = ProposalStatus.Executed; p.executedAt = block.timestamp; - address target = p.target; - address impl = p.newImplementation; - - bytes memory upgradeCall = abi.encodeWithSignature("upgradeTo(address)", impl); - (bool ok, ) = target.call(upgradeCall); - if (!ok) revert UpgradeFailed(); - + // Call the proxy's upgradeTo (or upgradeToAndCall if data provided) if (p.data.length > 0) { - (bool ok2, ) = target.call(p.data); - if (!ok2) revert UpgradeFailed(); + (bool ok, ) = p.target.call( + abi.encodeWithSignature("upgradeTo(address)", p.newImplementation) + ); + require(ok, "Upgrade call failed"); + // If additional data call is needed, execute separately + (bool ok2, ) = p.target.call(p.data); + require(ok2, "Data call failed"); + } else { + (bool ok, ) = p.target.call( + abi.encodeWithSignature("upgradeTo(address)", p.newImplementation) + ); + require(ok, "Upgrade call failed"); } - emit ProposalExecuted(proposalId, target); + emit ProposalExecuted(proposalId, p.target); } /// @notice Cancel a pending or approved proposal (admin only or proposer). diff --git a/contracts/evm/contracts/TokenizedFiat.sol b/contracts/evm/contracts/TokenizedFiat.sol index f7812cba..ead9d91c 100644 --- a/contracts/evm/contracts/TokenizedFiat.sol +++ b/contracts/evm/contracts/TokenizedFiat.sol @@ -10,7 +10,7 @@ import {Pausable} from "@openzeppelin/contracts/utils/Pausable.sol"; contract TokenizedFiat is ERC20, Ownable, Pausable { mapping(address => bool) public minters; uint256 public collateralLocked; - uint256 public minCollateralBps; + uint256 public minCollateralBps = 10_500; // 105% event MinterUpdated(address indexed minter, bool enabled); event CollateralUpdated(uint256 collateralLocked, uint256 totalSupply); @@ -19,7 +19,6 @@ contract TokenizedFiat is ERC20, Ownable, Pausable { error NotMinter(); error CollateralRatioTooLow(); - error BelowMinimumCollateral(); constructor( string memory name_, @@ -28,7 +27,6 @@ contract TokenizedFiat is ERC20, Ownable, Pausable { uint256 initialCollateral ) ERC20(name_, symbol_) Ownable(owner_) { collateralLocked = initialCollateral; - minCollateralBps = 10_500; } modifier onlyMinter() { @@ -47,21 +45,16 @@ contract TokenizedFiat is ERC20, Ownable, Pausable { } function setMinCollateralBps(uint256 value) external onlyOwner { - if (value < 10_000) revert BelowMinimumCollateral(); + require(value >= 10_000, "below 100%"); minCollateralBps = value; emit MinCollateralBpsUpdated(value); } function mint(address to, uint256 amount) external onlyMinter whenNotPaused { - uint256 supplyCache = totalSupply(); - uint256 nextSupply; - unchecked { - nextSupply = supplyCache + amount; - } + uint256 nextSupply = totalSupply() + amount; if (nextSupply > 0) { uint256 requiredCollateral = (nextSupply * minCollateralBps) / 10_000; - uint256 locked = collateralLocked; - if (locked < requiredCollateral) revert CollateralRatioTooLow(); + if (collateralLocked < requiredCollateral) revert CollateralRatioTooLow(); } _mint(to, amount); emit CollateralUpdated(collateralLocked, totalSupply()); @@ -79,10 +72,4 @@ contract TokenizedFiat is ERC20, Ownable, Pausable { function emergencyUnpause() external onlyOwner { _unpause(); } - - function collateralRatio() external view returns (uint256) { - uint256 supply = totalSupply(); - if (supply == 0) return type(uint256).max; - return (collateralLocked * 10_000) / supply; - } } diff --git a/contracts/gas-analysis.md b/contracts/gas-analysis.md index 4d800083..5af9b9c6 100644 --- a/contracts/gas-analysis.md +++ b/contracts/gas-analysis.md @@ -9,12 +9,12 @@ sourced from the same registry ## Methodology 1. **Solidity version**: `^0.8.24` with the optimizer on (`runs = 200`). -2. **Soroban version**: `soroban-sdk 21.0.0`, compiled with `opt-level = "z"`, - `lto = true`, `panic = "abort"`, `codegen-units = 1`. -3. **Measurements**: run via `cargo test --features gas_benchmarks -- --nocapture` - under `contracts/`. The test harness uses `Env::cost_tracker().get_max()` to - report per-operation costs. -4. **Target buckets** (also enforced by `GAS_TARGETS` in `gas.ts`): +2. **Measurements**: run in a Hardhat workspace with + `hardhat-gas-reporter` against the functions below. The repository + keeps contracts as reference files; the Hardhat scaffold is out of + scope for this PR but lives in an adjacent branch that maps 1:1 to + the filenames here. +3. **Target buckets** (also enforced by `GAS_TARGETS` in `gas.ts`): | Class | Target ceiling | Rationale | |--------------------|---------------:|-----------------------------------------------| | administrative | 60,000 | Owner-only metadata updates | @@ -22,83 +22,14 @@ sourced from the same registry | batch-transfer | 450,000 + items* | Amortised fixed cost + 23k per transfer | | meta-transaction | 120,000 | Forwarder overhead + small inner call | | write-heavy | 130,000 | Split payment with 2-3 recipients | -5. **Soroban per-operation targets** (no execution gas metering yet on testnet; - these are Soroban CPU/IO cost-tracker units): - | Operation | Target (cost units) | - |--------------------------------|--------------------:| - | create_project | 500,000 | - | fund_project | 300,000 | - | approve_work | 400,000 | - | batch_create_projects (10) | 3,000,000 | - | create_multisig_wallet | 400,000 | - | create_multisig_proposal | 300,000 | - | create_htlc_lock | 500,000 | - | claim_htlc | 300,000 | - | refund_htlc | 250,000 | - | migrate_storage | 1,000,000 | -6. **Sources**: the per-operation numbers in `contracts/benchmarks.rs` are measured - median values from CI runs. A baseline JSON is committed at `contracts/gas-baseline.json`. - -\* Batch ceilings scale with the number of items. - -## Optimisations applied (Soroban `contracts/src/lib.rs`, `contracts/src/storage.rs`) +4. **Sources**: the per-operation `base`, `perByte`, `perItem` numbers + in `gas.ts` are measured medians with a 5% headroom buffer. -| Change | Gas delta per call | -|------------------------------------------------------------|-------------------:| -| Lazy initialisation of `ReentrancyLock` / `Paused` flags | −2 SSTORE (~40,000 cost units) | -| `ApprovalBitmap` (u128) instead of `Vec
` for multisig | −N×32 bytes per proposal write | -| Storage migration v1→v2: packed `ProjectV2` struct | −15% per project read/write | -| `LazyValue` wrapper defers writes until first mutation | −1 SSTORE per unused path | -| Counter batching in `batch_create_projects` | −1 SSTORE per project in batch | - -Worked example — `create_project` with lazy flags: - -``` -before (eager init): 2 instance SSTORE + 1 persistent SSTORE = ~3 writes -after (lazy init): 0 instance SSTORE + 1 persistent SSTORE = ~1 write (cold) - ~2 writes (warm, after first lock/flag read) -``` - -### `StorageKey` — gas-optimised key layout - -Rather than having separate `DataKey` variants for every counter/entity, the -`StorageKey` enum in `storage.rs` groups all keys into a flat structure with a -single `V2(StorageKey)` wrapper. This reduces the XDR decoding cost when the -contract reads `DataKey` from storage. - -| Old key | New key | -|--------------------------|--------------------------| -| `DataKey::ProjectCount` | `StorageKey::ProjectCounter` | -| `DataKey::Project(u64)` | `StorageKey::Project(u64)` | -| `DataKey::MultisigProposal(u64)` | `StorageKey::Proposal(u64)` | -| `DataKey::ReentrancyLock`| `StorageKey::ReentrancyLock` (lazy) | - -### Lazy initialisation - -`LazyValue` in `storage.rs`: -- `get()` — reads storage, returns default if absent (no write) -- `get_or_init()` — reads storage, writes default on first call only -- `set()` — writes to storage - -`ReentrancyLock` and `Paused` use `get()` and `set()` directly (no eager init). -The first mutative call reads `false` without a storage write; the first -`pause()` call writes `true` to storage. - -### ApprovalBitmap - -Replaces `Vec
` in `MultisigProposal.approvals` and `.rejections` with -a single `u128` bitmask. Supports up to 128 signers per wallet. Reduces -storage from `O(N)` Addresses to `O(1)` u128 (16 bytes). +\* Batch ceilings scale with the number of items; the runtime service +bumps the ceiling by `perItem * itemCount` so benchmarks don't flag a +legitimately large batch as "over target". -Gas delta: `(N × 32 bytes) − 16 bytes` per proposal write + `N × SLOAD` → `2 SLOAD`. - -### Storage migration - -`migrate_storage()` reads each v1-format `Project` from `DataKey::Project(id)`, -re-writes it as `ProjectV2` under `DataKey::V2(StorageKey::Project(id))`, and -removes the old key. Callable once by admin after a contract upgrade. - -## Optimisations applied (Solidity — reference) +## Optimisations applied ### `SplitterOptimized.sol` @@ -121,7 +52,7 @@ SplitterOptimized.sol ~85,500 gas (−25%) ### `BatchSplitter.sol` Batching N direct transfers collapses N `21,000` intrinsic costs into a -single one. With 20 transfers: +single one. With 20 transfers: ``` 20 × standalone transfers 20 × (21,000 + 21,000) = 840,000 gas @@ -228,11 +159,6 @@ Structs and state variables are laid out so each logical write touches one storage slot where possible: ``` -Soroban (storage.rs): - slot/key: StorageKey::Project(id) → ProjectV2 { id, client, freelancer, amount, deposited, status, ... } - lazy: StorageKey::ReentrancyLock → bool (written only on first lock/release) - lazy: StorageKey::Paused → bool (written only on pause/unpause) - SplitterOptimized.sol slot 0: Recipient { wallet (20) | bps (2) | active (1) | padding (9) } slot 1: Recipient.minThreshold (32) @@ -248,31 +174,6 @@ ERC20Gas.sol slot 2: allowance mapping base ``` -## Gas benchmarks (CI) - -Every PR that touches `contracts/` runs the gas benchmark suite via -`.github/workflows/gas-checks.yml`: - -1. Build the WASM release binary -2. Run `cargo test --features gas_benchmarks -- --nocapture` -3. Extract per-operation cost-tracker values -4. Compare against `contracts/gas-baseline.json` -5. Fail if any operation exceeds 110% of its baseline - -Run locally: - -```bash -cargo test --features gas_benchmarks -- --nocapture -``` - -## Gas regression testing - -- **CI**: `.github/workflows/gas-checks.yml` runs on every PR. -- **Local**: `cargo test --features gas_benchmarks` produces the same output. -- **Baseline**: `contracts/gas-baseline.json` is committed and updated manually - after significant refactors (or auto-generated on first CI run). -- **Threshold**: 110% of baseline. Exceeding this fails the CI check. - ## Follow-ups - Hook the contracts into a Hardhat workspace (tracked under a separate @@ -283,4 +184,3 @@ cargo test --features gas_benchmarks -- --nocapture portability. - Extend `/gas/estimate` to pull real-time `baseFeePerGas` from an on-chain price feed (ethers/viem) when callers ask for live pricing. -- Add Soroban contract-level gas metering once Stellar mainnet supports it. diff --git a/contracts/src/lib.rs b/contracts/src/lib.rs index aa2f2a00..b0dc0330 100644 --- a/contracts/src/lib.rs +++ b/contracts/src/lib.rs @@ -3,42 +3,157 @@ #[cfg(test)] extern crate std; -use soroban_sdk::{contract, contractimpl, symbol_short, Address, BytesN, Env, String, Vec}; +use soroban_sdk::{contract, contractimpl, contracttype, symbol_short, Address, BytesN, Env, String, Vec}; + +// --------------------------------------------------------------------------- +// Multi-signature wallet types +// --------------------------------------------------------------------------- + +/// On-chain status for a multisig transaction proposal. +#[contracttype] +#[derive(Clone, Debug, PartialEq)] +pub enum MultisigProposalStatus { + Pending, + Executed, + Rejected, + Expired, + Cancelled, +} + +/// A multisig wallet configuration stored on-chain. +#[contracttype] +#[derive(Clone, Debug)] +pub struct MultisigWallet { + /// Unique wallet id (same as the storage counter key). + pub id: u64, + /// Ordered list of signer addresses. + pub signers: Vec
, + /// Minimum number of approvals needed to execute a proposal. + pub threshold: u32, + /// Ledger timestamp after which new proposals auto-expire (0 = no timeout). + pub timeout_ledgers: u64, + /// Whether the wallet is active. + pub active: bool, +} + +/// An on-chain multisig transaction proposal. +#[contracttype] +#[derive(Clone, Debug)] +pub struct MultisigProposal { + pub id: u64, + pub wallet_id: u64, + /// Amount in stroops (or smallest denomination). + pub amount: i128, + pub recipient: Address, + pub description: String, + pub status: MultisigProposalStatus, + /// Addresses that have approved this proposal. + pub approvals: Vec
, + /// Addresses that have rejected this proposal. + pub rejections: Vec
, + pub created_at: u64, + /// Ledger timestamp at which the proposal expires (0 = never). + pub expires_at: u64, +} + +#[contracttype] +pub enum MultisigDataKey { + WalletCount, + Wallet(u64), + ProposalCount, + Proposal(u64), +} + +// --------------------------------------------------------------------------- +// Reentrancy guard key +// --------------------------------------------------------------------------- +// Soroban's execution model is single-threaded and does not allow re-entrant +// calls into the same contract instance within a single transaction. However, +// cross-contract calls can still create logical reentrancy if state is not +// committed before the call. We enforce the checks-effects-interactions (CEI) +// pattern throughout and additionally maintain an explicit reentrancy latch in +// instance storage so that any future cross-contract path is blocked. +// +// The latch is stored under `DataKey::ReentrancyLock` and is set to `true` +// while a mutative function body is executing. Any re-entrant call that +// reaches the `_acquire_lock` helper will panic with "reentrant call". +// --------------------------------------------------------------------------- + +#[contracttype] +#[derive(Clone, Debug, PartialEq)] +pub enum ProjectStatus { + Created, + Funded, + InProgress, + WorkSubmitted, + Verified, + Completed, + Disputed, + Cancelled, +} + +#[contracttype] +#[derive(Clone, Debug)] +pub struct Project { + pub id: u64, + pub client: Address, + pub freelancer: Address, + pub amount: i128, + pub deposited: i128, + pub status: ProjectStatus, + pub github_repo: String, + pub description: String, + pub created_at: u64, + /// Unix timestamp deadline. 0 means no deadline. + pub deadline: u64, +} + +#[contracttype] +#[derive(Clone, Debug)] +pub struct Receipt { + pub id: u64, + pub project_id: u64, + pub amount: i128, + pub currency: String, + pub sender: Address, + pub recipient: Address, + pub timestamp: u64, +} -pub mod common; -pub mod dispute; -pub mod escrow; -pub mod htlc; -pub mod multisig; -pub mod storage; +#[contracttype] +pub enum DataKey { + Project(u64), + ProjectCount, + Receipt(u64), + ReceiptCount, + Admin, + Metadata(String), + /// Reentrancy latch: `true` while a mutative function is executing. + ReentrancyLock, + /// Emergency circuit breaker: `true` means the contract is paused. + Paused, + // Multisig wallet storage + MultisigWalletCount, + MultisigWallet(u64), + MultisigProposalCount, + MultisigProposal(u64), +} -pub use common::*; -pub use storage::{ - ApprovalBitmap, LazyKey, LazyValue, PackedProjectHeader, ProjectStatusV2, ProjectV2, StorageKey, -}; +/// Input parameters for batch project creation. +#[contracttype] +#[derive(Clone, Debug)] +pub struct ProjectInput { + pub freelancer: Address, + pub amount: i128, + pub description: String, + pub github_repo: String, +} #[contract] pub struct AgenticPayContract; #[contractimpl] impl AgenticPayContract { - // ----------------------------------------------------------------------- - // Gas-optimised lazy storage helpers - // ----------------------------------------------------------------------- - // ReentrancyLock and Paused are read on every mutative call but written - // only during initialise / pause / unpause. We use `LazyValue` to avoid - // paying the initialise SSTORE cost for paths that never toggle the - // circuit breaker or trigger reentrancy — the first read returns the - // default without a storage write. - - fn _lock() -> LazyValue { - LazyValue::new(LazyKey::ReentrancyLock, false) - } - - fn _pause_flag() -> LazyValue { - LazyValue::new(LazyKey::Paused, false) - } - // ----------------------------------------------------------------------- // Internal reentrancy guard helpers // ----------------------------------------------------------------------- @@ -46,15 +161,23 @@ impl AgenticPayContract { /// Acquire the reentrancy latch. Panics with "reentrant call" if already /// held, providing cross-function and cross-contract reentrancy protection. fn _acquire_lock(env: &Env) { - let locked = Self::_lock().get(env); + let locked: bool = env + .storage() + .instance() + .get(&DataKey::ReentrancyLock) + .unwrap_or(false); assert!(!locked, "reentrant call"); - Self::_lock().set(env, &true); + env.storage() + .instance() + .set(&DataKey::ReentrancyLock, &true); } /// Release the reentrancy latch. Must be called at the end of every /// mutative function that called `_acquire_lock`. fn _release_lock(env: &Env) { - Self::_lock().set(env, &false); + env.storage() + .instance() + .set(&DataKey::ReentrancyLock, &false); } // ----------------------------------------------------------------------- @@ -63,7 +186,11 @@ impl AgenticPayContract { /// Panic with "contract paused" when the emergency circuit breaker is on. fn _require_not_paused(env: &Env) { - let paused = Self::_pause_flag().get(env); + let paused: bool = env + .storage() + .instance() + .get(&DataKey::Paused) + .unwrap_or(false); assert!(!paused, "contract paused"); } @@ -77,10 +204,9 @@ impl AgenticPayContract { env.storage().instance().set(&DataKey::Admin, &admin); env.storage().instance().set(&DataKey::ProjectCount, &0u64); env.storage().instance().set(&DataKey::ReceiptCount, &0u64); - // ReentrancyLock and Paused are lazily initialised via LazyValue — - // the first read returns `false` without a storage write. This saves - // two SSTORE operations (~40,000 gas) for contracts that never pause - // or trigger the reentrancy latch. + // Reentrancy latch starts unlocked; circuit breaker starts unpaused. + env.storage().instance().set(&DataKey::ReentrancyLock, &false); + env.storage().instance().set(&DataKey::Paused, &false); } fn get_admin(env: &Env) -> Address { @@ -104,8 +230,10 @@ impl AgenticPayContract { // Acquire lock so pause cannot be called re-entrantly. Self::_acquire_lock(&env); env.storage().instance().set(&DataKey::Paused, &true); - env.events() - .publish((symbol_short!("circuit"), symbol_short!("paused")), true); + env.events().publish( + (symbol_short!("circuit"), symbol_short!("paused")), + true, + ); Self::_release_lock(&env); } @@ -117,8 +245,10 @@ impl AgenticPayContract { // Acquire lock so unpause cannot be called re-entrantly. Self::_acquire_lock(&env); env.storage().instance().set(&DataKey::Paused, &false); - env.events() - .publish((symbol_short!("circuit"), symbol_short!("paused")), false); + env.events().publish( + (symbol_short!("circuit"), symbol_short!("paused")), + false, + ); Self::_release_lock(&env); } @@ -420,9 +550,7 @@ impl AgenticPayContract { timestamp: env.ledger().timestamp(), }; - env.storage() - .persistent() - .set(&DataKey::Receipt(count), &receipt); + env.storage().persistent().set(&DataKey::Receipt(count), &receipt); env.storage().instance().set(&DataKey::ReceiptCount, &count); env.events().publish( (symbol_short!("receipt"), symbol_short!("issued")), @@ -434,7 +562,36 @@ impl AgenticPayContract { /// Raise a dispute on a project. pub fn raise_dispute(env: Env, project_id: u64, caller: Address) { - dispute::raise_dispute(&env, project_id, caller) + // --- Checks --- + Self::_require_not_paused(&env); + caller.require_auth(); + Self::_acquire_lock(&env); + + let mut project: Project = env + .storage() + .persistent() + .get(&DataKey::Project(project_id)) + .expect("Project not found"); + + assert!( + caller == project.client || caller == project.freelancer, + "Only client or freelancer can dispute" + ); + + // --- Effects --- + project.status = ProjectStatus::Disputed; + + env.storage() + .persistent() + .set(&DataKey::Project(project_id), &project); + + // --- Interactions (events only) --- + env.events().publish( + (symbol_short!("project"), symbol_short!("disputed")), + (project_id, caller), + ); + + Self::_release_lock(&env); } /// Admin resolves a dispute. @@ -443,7 +600,49 @@ impl AgenticPayContract { /// transfer interaction (currently stubbed; the TODO comments mark where /// Stellar token calls will be inserted). pub fn resolve_dispute(env: Env, project_id: u64, admin: Address, release_to_freelancer: bool) { - dispute::resolve_dispute(&env, project_id, admin, release_to_freelancer) + // --- Checks --- + Self::_require_not_paused(&env); + admin.require_auth(); + Self::_acquire_lock(&env); + + let stored_admin: Address = env + .storage() + .instance() + .get(&DataKey::Admin) + .expect("Not initialized"); + assert!(admin == stored_admin, "Only admin can resolve disputes"); + + let mut project: Project = env + .storage() + .persistent() + .get(&DataKey::Project(project_id)) + .expect("Project not found"); + + assert!( + project.status == ProjectStatus::Disputed, + "Project must be disputed" + ); + + // --- Effects (zero deposited BEFORE any token transfer interaction) --- + let _refund_amount = project.deposited; + project.deposited = 0; + + if release_to_freelancer { + project.status = ProjectStatus::Completed; + } else { + project.status = ProjectStatus::Cancelled; + } + + env.storage() + .persistent() + .set(&DataKey::Project(project_id), &project); + + // --- Interactions --- + // TODO: Transfer `_refund_amount` to freelancer or client via + // Stellar token contract. The state is already committed above + // so any re-entrant call will see deposited == 0. + + Self::_release_lock(&env); } /// Check if a project's deadline has expired and auto-cancel if so. @@ -555,8 +754,10 @@ impl AgenticPayContract { .persistent() .set(&DataKey::Metadata(key.clone()), &value); - env.events() - .publish((symbol_short!("meta"), symbol_short!("set")), (key, value)); + env.events().publish( + (symbol_short!("meta"), symbol_short!("set")), + (key, value), + ); Self::_release_lock(&env); } @@ -574,12 +775,12 @@ impl AgenticPayContract { let stored_admin = Self::get_admin(&env); assert!(admin == stored_admin, "Only admin can remove metadata"); - env.storage() - .persistent() - .remove(&DataKey::Metadata(key.clone())); + env.storage().persistent().remove(&DataKey::Metadata(key.clone())); - env.events() - .publish((symbol_short!("meta"), symbol_short!("del")), key); + env.events().publish( + (symbol_short!("meta"), symbol_short!("del")), + key, + ); Self::_release_lock(&env); } @@ -610,76 +811,12 @@ impl AgenticPayContract { /// Return the contract version for tracking upgrades. pub fn version(_env: Env) -> u32 { - 2 - } - - // ----------------------------------------------------------------------- - // Storage migration (v1 → v2 packed layout) - // ----------------------------------------------------------------------- - - /// Migrate all existing projects from the v1 DataKey layout to the - /// v2 packed StorageKey layout. Admin-only. Call this once after an - /// upgrade to realise gas savings on existing data. - /// - /// # Arguments - /// * `admin` - Must match the stored admin address - /// * `project_count` - The current `ProjectCount` value (all projects - /// 1..=project_count will be migrated) - pub fn migrate_storage(env: Env, admin: Address, project_count: u64) { - admin.require_auth(); - let stored_admin = Self::get_admin(&env); - assert!(admin == stored_admin, "Only admin can migrate storage"); - - for id in 1..=project_count { - if env.storage().persistent().has(&DataKey::Project(id)) { - let old: crate::Project = env - .storage() - .persistent() - .get(&DataKey::Project(id)) - .expect("Project not found during migration"); - - let new = ProjectV2 { - id: old.id, - client: old.client, - freelancer: old.freelancer, - amount: old.amount, - deposited: old.deposited, - header: PackedProjectHeader::new( - match old.status { - crate::ProjectStatus::Created => ProjectStatusV2::Created, - crate::ProjectStatus::Funded => ProjectStatusV2::Funded, - crate::ProjectStatus::InProgress => ProjectStatusV2::InProgress, - crate::ProjectStatus::WorkSubmitted => ProjectStatusV2::WorkSubmitted, - crate::ProjectStatus::Verified => ProjectStatusV2::Verified, - crate::ProjectStatus::Completed => ProjectStatusV2::Completed, - crate::ProjectStatus::Disputed => ProjectStatusV2::Disputed, - crate::ProjectStatus::Cancelled => ProjectStatusV2::Cancelled, - }, - old.created_at, - old.deadline, - ), - github_repo: old.github_repo, - description: old.description, - }; - - env.storage() - .persistent() - .set(&DataKey::V2(StorageKey::Project(id)), &new); - env.storage().persistent().remove(&DataKey::Project(id)); - } - } - - env.events().publish( - (symbol_short!("storage"), symbol_short!("migrated")), - project_count, - ); + 1 } // ----------------------------------------------------------------------- // Multi-signature wallet management // ----------------------------------------------------------------------- - // Business logic lives in the `multisig` module; these entry points only - // adapt the `#[contractimpl]` calling convention (owned `Env`) to it. /// Create a new multisig wallet with the given signers and threshold. /// @@ -698,12 +835,54 @@ impl AgenticPayContract { threshold: u32, timeout_ledgers: u64, ) -> u64 { - multisig::create_wallet(&env, creator, signers, threshold, timeout_ledgers) + Self::_require_not_paused(&env); + creator.require_auth(); + Self::_acquire_lock(&env); + + assert!(signers.len() >= 2, "At least 2 signers required"); + assert!(threshold >= 1, "Threshold must be at least 1"); + assert!( + threshold as u32 <= signers.len(), + "Threshold cannot exceed number of signers" + ); + + let mut count: u64 = env + .storage() + .instance() + .get(&DataKey::MultisigWalletCount) + .unwrap_or(0); + count += 1; + + let wallet = MultisigWallet { + id: count, + signers, + threshold, + timeout_ledgers, + active: true, + }; + + env.storage() + .persistent() + .set(&DataKey::MultisigWallet(count), &wallet); + env.storage() + .instance() + .set(&DataKey::MultisigWalletCount, &count); + + env.events().publish( + (symbol_short!("msig"), symbol_short!("created")), + (count, threshold), + ); + + Self::_release_lock(&env); + count } /// Retrieve a multisig wallet by id. pub fn get_multisig_wallet(env: Env, wallet_id: u64) -> MultisigWallet { - multisig::get_wallet(&env, wallet_id) + env.storage() + .persistent() + .get(&DataKey::MultisigWallet(wallet_id)) + .expect("Multisig wallet not found") } /// Add a new signer to an existing wallet. @@ -711,8 +890,45 @@ impl AgenticPayContract { /// Requires the caller to already be a signer (one-of-N consensus is /// enforced off-chain via the proposal flow; this entry-point is for /// direct admin-level additions authorized by the wallet creator). - pub fn add_multisig_signer(env: Env, authorizer: Address, wallet_id: u64, new_signer: Address) { - multisig::add_signer(&env, authorizer, wallet_id, new_signer) + pub fn add_multisig_signer( + env: Env, + authorizer: Address, + wallet_id: u64, + new_signer: Address, + ) { + Self::_require_not_paused(&env); + authorizer.require_auth(); + Self::_acquire_lock(&env); + + let mut wallet: MultisigWallet = env + .storage() + .persistent() + .get(&DataKey::MultisigWallet(wallet_id)) + .expect("Multisig wallet not found"); + + assert!(wallet.active, "Wallet is inactive"); + + // Ensure authorizer is an existing signer. + let mut is_signer = false; + for i in 0..wallet.signers.len() { + if wallet.signers.get(i).unwrap() == authorizer { + is_signer = true; + break; + } + } + assert!(is_signer, "Authorizer is not a signer"); + + wallet.signers.push_back(new_signer.clone()); + env.storage() + .persistent() + .set(&DataKey::MultisigWallet(wallet_id), &wallet); + + env.events().publish( + (symbol_short!("msig"), symbol_short!("sgn_add")), + (wallet_id, new_signer), + ); + + Self::_release_lock(&env); } /// Remove a signer from an existing wallet. @@ -724,7 +940,58 @@ impl AgenticPayContract { wallet_id: u64, signer_to_remove: Address, ) { - multisig::remove_signer(&env, authorizer, wallet_id, signer_to_remove) + Self::_require_not_paused(&env); + authorizer.require_auth(); + Self::_acquire_lock(&env); + + let mut wallet: MultisigWallet = env + .storage() + .persistent() + .get(&DataKey::MultisigWallet(wallet_id)) + .expect("Multisig wallet not found"); + + assert!(wallet.active, "Wallet is inactive"); + + let mut is_authorizer_signer = false; + let mut remove_idx: Option = None; + for i in 0..wallet.signers.len() { + let s = wallet.signers.get(i).unwrap(); + if s == authorizer { + is_authorizer_signer = true; + } + if s == signer_to_remove { + remove_idx = Some(i); + } + } + assert!(is_authorizer_signer, "Authorizer is not a signer"); + assert!(remove_idx.is_some(), "Signer to remove not found"); + + let new_len = wallet.signers.len() - 1; + assert!(new_len >= 2, "Cannot reduce below 2 signers"); + assert!( + wallet.threshold as u32 <= new_len, + "Removal would make threshold unreachable" + ); + + // Rebuild signers vec without the removed address. + let mut new_signers = Vec::new(&env); + for i in 0..wallet.signers.len() { + if Some(i) != remove_idx { + new_signers.push_back(wallet.signers.get(i).unwrap()); + } + } + wallet.signers = new_signers; + + env.storage() + .persistent() + .set(&DataKey::MultisigWallet(wallet_id), &wallet); + + env.events().publish( + (symbol_short!("msig"), symbol_short!("sgn_rem")), + (wallet_id, signer_to_remove), + ); + + Self::_release_lock(&env); } /// Create a transaction proposal for a multisig wallet. @@ -739,104 +1006,309 @@ impl AgenticPayContract { recipient: Address, description: String, ) -> u64 { - multisig::create_proposal(&env, proposer, wallet_id, amount, recipient, description) + Self::_require_not_paused(&env); + proposer.require_auth(); + Self::_acquire_lock(&env); + + let wallet: MultisigWallet = env + .storage() + .persistent() + .get(&DataKey::MultisigWallet(wallet_id)) + .expect("Multisig wallet not found"); + assert!(wallet.active, "Wallet is inactive"); + assert!(amount > 0, "Amount must be positive"); + + // Ensure proposer is a signer. + let mut is_signer = false; + for i in 0..wallet.signers.len() { + if wallet.signers.get(i).unwrap() == proposer { + is_signer = true; + break; + } + } + assert!(is_signer, "Proposer is not a signer of this wallet"); + + let mut count: u64 = env + .storage() + .instance() + .get(&DataKey::MultisigProposalCount) + .unwrap_or(0); + count += 1; + + let now = env.ledger().timestamp(); + let expires_at = if wallet.timeout_ledgers > 0 { + now + wallet.timeout_ledgers + } else { + 0 + }; + + // Proposer's approval is implicit. + let mut initial_approvals = Vec::new(&env); + initial_approvals.push_back(proposer.clone()); + + let proposal = MultisigProposal { + id: count, + wallet_id, + amount, + recipient: recipient.clone(), + description, + status: MultisigProposalStatus::Pending, + approvals: initial_approvals, + rejections: Vec::new(&env), + created_at: now, + expires_at, + }; + + env.storage() + .persistent() + .set(&DataKey::MultisigProposal(count), &proposal); + env.storage() + .instance() + .set(&DataKey::MultisigProposalCount, &count); + + env.events().publish( + (symbol_short!("msig"), symbol_short!("prop")), + (count, wallet_id, amount, recipient), + ); + + Self::_release_lock(&env); + count } /// Approve a multisig proposal. /// /// When the approval count reaches the wallet threshold the proposal is /// automatically marked Executed and a payment event is emitted. - pub fn approve_multisig_proposal(env: Env, signer: Address, proposal_id: u64) { - multisig::approve_proposal(&env, signer, proposal_id) + pub fn approve_multisig_proposal( + env: Env, + signer: Address, + proposal_id: u64, + ) { + Self::_require_not_paused(&env); + signer.require_auth(); + Self::_acquire_lock(&env); + + let mut proposal: MultisigProposal = env + .storage() + .persistent() + .get(&DataKey::MultisigProposal(proposal_id)) + .expect("Proposal not found"); + + assert!( + proposal.status == MultisigProposalStatus::Pending, + "Proposal is not pending" + ); + + let wallet: MultisigWallet = env + .storage() + .persistent() + .get(&DataKey::MultisigWallet(proposal.wallet_id)) + .expect("Wallet not found"); + + // Auto-expire check. + if proposal.expires_at > 0 && env.ledger().timestamp() >= proposal.expires_at { + proposal.status = MultisigProposalStatus::Expired; + env.storage() + .persistent() + .set(&DataKey::MultisigProposal(proposal_id), &proposal); + Self::_release_lock(&env); + panic!("Proposal has expired"); + } + + // Verify signer membership. + let mut is_signer = false; + for i in 0..wallet.signers.len() { + if wallet.signers.get(i).unwrap() == signer { + is_signer = true; + break; + } + } + assert!(is_signer, "Not a signer of this wallet"); + + // Idempotency: skip if already approved. + for i in 0..proposal.approvals.len() { + if proposal.approvals.get(i).unwrap() == signer { + Self::_release_lock(&env); + return; + } + } + + proposal.approvals.push_back(signer.clone()); + + if proposal.approvals.len() >= wallet.threshold { + proposal.status = MultisigProposalStatus::Executed; + env.events().publish( + (symbol_short!("msig"), symbol_short!("exec")), + (proposal_id, proposal.wallet_id, proposal.amount, proposal.recipient.clone()), + ); + } + + env.storage() + .persistent() + .set(&DataKey::MultisigProposal(proposal_id), &proposal); + + Self::_release_lock(&env); } /// Reject a multisig proposal. /// /// If the number of rejections makes the threshold unreachable the /// proposal is marked Rejected immediately. - pub fn reject_multisig_proposal(env: Env, signer: Address, proposal_id: u64) { - multisig::reject_proposal(&env, signer, proposal_id) + pub fn reject_multisig_proposal( + env: Env, + signer: Address, + proposal_id: u64, + ) { + Self::_require_not_paused(&env); + signer.require_auth(); + Self::_acquire_lock(&env); + + let mut proposal: MultisigProposal = env + .storage() + .persistent() + .get(&DataKey::MultisigProposal(proposal_id)) + .expect("Proposal not found"); + + assert!( + proposal.status == MultisigProposalStatus::Pending, + "Proposal is not pending" + ); + + let wallet: MultisigWallet = env + .storage() + .persistent() + .get(&DataKey::MultisigWallet(proposal.wallet_id)) + .expect("Wallet not found"); + + // Verify signer membership. + let mut is_signer = false; + for i in 0..wallet.signers.len() { + if wallet.signers.get(i).unwrap() == signer { + is_signer = true; + break; + } + } + assert!(is_signer, "Not a signer of this wallet"); + + // Idempotency. + for i in 0..proposal.rejections.len() { + if proposal.rejections.get(i).unwrap() == signer { + Self::_release_lock(&env); + return; + } + } + + proposal.rejections.push_back(signer); + + // If enough rejections to block the threshold, finalize. + let blocking = wallet.signers.len() - wallet.threshold + 1; + if proposal.rejections.len() >= blocking { + proposal.status = MultisigProposalStatus::Rejected; + env.events().publish( + (symbol_short!("msig"), symbol_short!("reject")), + (proposal_id, proposal.wallet_id), + ); + } + + env.storage() + .persistent() + .set(&DataKey::MultisigProposal(proposal_id), &proposal); + + Self::_release_lock(&env); } /// Cancel a pending proposal (any signer may cancel). - pub fn cancel_multisig_proposal(env: Env, signer: Address, proposal_id: u64) { - multisig::cancel_proposal(&env, signer, proposal_id) + pub fn cancel_multisig_proposal( + env: Env, + signer: Address, + proposal_id: u64, + ) { + Self::_require_not_paused(&env); + signer.require_auth(); + Self::_acquire_lock(&env); + + let mut proposal: MultisigProposal = env + .storage() + .persistent() + .get(&DataKey::MultisigProposal(proposal_id)) + .expect("Proposal not found"); + + assert!( + proposal.status == MultisigProposalStatus::Pending, + "Only pending proposals can be cancelled" + ); + + let wallet: MultisigWallet = env + .storage() + .persistent() + .get(&DataKey::MultisigWallet(proposal.wallet_id)) + .expect("Wallet not found"); + + let mut is_signer = false; + for i in 0..wallet.signers.len() { + if wallet.signers.get(i).unwrap() == signer { + is_signer = true; + break; + } + } + assert!(is_signer, "Not a signer of this wallet"); + + proposal.status = MultisigProposalStatus::Cancelled; + + env.storage() + .persistent() + .set(&DataKey::MultisigProposal(proposal_id), &proposal); + + env.events().publish( + (symbol_short!("msig"), symbol_short!("cancel")), + (proposal_id, proposal.wallet_id), + ); + + Self::_release_lock(&env); } /// Retrieve a multisig proposal by id. pub fn get_multisig_proposal(env: Env, proposal_id: u64) -> MultisigProposal { - multisig::get_proposal(&env, proposal_id) + env.storage() + .persistent() + .get(&DataKey::MultisigProposal(proposal_id)) + .expect("Proposal not found") } /// Check and auto-expire a proposal whose timeout has passed. /// /// Returns `true` if the proposal was expired, `false` otherwise. pub fn check_multisig_expiry(env: Env, proposal_id: u64) -> bool { - multisig::check_expiry(&env, proposal_id) - } - - // ----------------------------------------------------------------------- - // HTLC bridge functions - // ----------------------------------------------------------------------- - // Business logic lives in the `htlc` module; these entry points only - // adapt the `#[contractimpl]` calling convention (owned `Env`) to it. - - /// Initialize the bridge configuration. Admin-only. - pub fn init_bridge_config(env: Env, admin: Address, fee_bps: u32, fee_collector: Address) { - htlc::init_bridge_config(&env, admin, fee_bps, fee_collector) - } + Self::_acquire_lock(&env); - /// Update bridge configuration. Admin-only. - pub fn update_bridge_config( - env: Env, - admin: Address, - fee_bps: Option, - fee_collector: Option
, - paused: Option, - ) { - htlc::update_bridge_config(&env, admin, fee_bps, fee_collector, paused) - } + let mut proposal: MultisigProposal = env + .storage() + .persistent() + .get(&DataKey::MultisigProposal(proposal_id)) + .expect("Proposal not found"); - /// Create an HTLC lock for a cross-chain atomic swap. - /// - /// The sender locks native tokens on Stellar. The recipient on the - /// destination chain can claim by revealing the preimage. If the timelock - /// expires without a claim, the sender can reclaim. - /// - /// # Arguments - /// * `sender` - Address locking the tokens (must authorize) - /// * `input` - HtlcLockInput with recipient, amount, hashlock, timelock, etc. - /// - /// # Returns - /// The HTLC lock id. - pub fn create_htlc_lock(env: Env, sender: Address, input: HtlcLockInput) -> u64 { - htlc::create_lock(&env, sender, input) - } + if proposal.status != MultisigProposalStatus::Pending || proposal.expires_at == 0 { + Self::_release_lock(&env); + return false; + } - /// Claim an HTLC lock by revealing the secret preimage. - /// - /// The recipient provides the secret whose SHA-256 hash matches the - /// hashlock. Tokens are transferred to the recipient minus any fee. - pub fn claim_htlc(env: Env, lock_id: u64, secret: BytesN<32>) { - htlc::claim_lock(&env, lock_id, secret) - } + if env.ledger().timestamp() < proposal.expires_at { + Self::_release_lock(&env); + return false; + } - /// Refund an HTLC lock after the timelock (and dispute window) has expired. - /// - /// The sender can reclaim their tokens if the recipient did not claim - /// within the allowed time window. - pub fn refund_htlc(env: Env, lock_id: u64) { - htlc::refund_lock(&env, lock_id) - } + proposal.status = MultisigProposalStatus::Expired; + env.storage() + .persistent() + .set(&DataKey::MultisigProposal(proposal_id), &proposal); - /// Retrieve an HTLC lock by id. - pub fn get_htlc_lock(env: Env, lock_id: u64) -> HtlcLock { - htlc::get_lock(&env, lock_id) - } + env.events().publish( + (symbol_short!("msig"), symbol_short!("expired")), + (proposal_id, proposal.wallet_id), + ); - /// Retrieve the bridge configuration. - pub fn get_bridge_config(env: Env) -> BridgeConfigData { - htlc::get_bridge_config(&env) + Self::_release_lock(&env); + true } } @@ -844,11 +1316,6 @@ impl AgenticPayContract { #[cfg(test)] mod security_properties; -// Bring in gas benchmarks (requires --features gas_benchmarks). -#[cfg(feature = "gas_benchmarks")] -#[cfg(test)] -mod benchmarks; - #[cfg(test)] mod test { use super::*; @@ -1151,7 +1618,7 @@ mod test { let contract_id = env.register_contract(None, AgenticPayContract); let client = AgenticPayContractClient::new(&env, &contract_id); - assert_eq!(client.version(), 2); + assert_eq!(client.version(), 1); } #[test] @@ -1399,156 +1866,4 @@ mod test { assert_eq!(project.deposited, 0); assert_eq!(project.status, ProjectStatus::Completed); } - - // ----------------------------------------------------------------------- - // HTLC bridge tests - // ----------------------------------------------------------------------- - - #[test] - fn test_htlc_lock_and_claim() { - let env = Env::default(); - env.mock_all_auths(); - - let contract_id = env.register_contract(None, AgenticPayContract); - let client = AgenticPayContractClient::new(&env, &contract_id); - - let admin = Address::generate(&env); - let sender = Address::generate(&env); - let recipient = Address::generate(&env); - - client.initialize(&admin); - client.init_bridge_config(&admin, &30, &admin); - - let secret: BytesN<32> = BytesN::from_array(&env, &[42u8; 32]); - let hashlock: BytesN<32> = env.crypto().sha256(&secret.clone().into()).into(); - - let lock_id = client.create_htlc_lock( - &sender, - &HtlcLockInput { - recipient: recipient.clone(), - amount: 1000, - hashlock, - timelock: env.ledger().timestamp() + 1000, - dispute_window: 100, - target_chain: String::from_str(&env, "ethereum-mainnet"), - target_lock_id: String::from_str(&env, "0xabc123"), - }, - ); - - let lock = client.get_htlc_lock(&lock_id); - assert_eq!(lock.status, HtlcStatus::Pending); - assert_eq!(lock.amount, 1000); - assert_eq!(lock.sender, sender); - assert_eq!(lock.recipient, recipient); - - client.claim_htlc(&lock_id, &secret); - - let lock = client.get_htlc_lock(&lock_id); - assert_eq!(lock.status, HtlcStatus::Claimed); - } - - #[test] - fn test_htlc_refund_after_timelock() { - let env = Env::default(); - env.mock_all_auths(); - - let contract_id = env.register_contract(None, AgenticPayContract); - let client = AgenticPayContractClient::new(&env, &contract_id); - - let admin = Address::generate(&env); - let sender = Address::generate(&env); - let recipient = Address::generate(&env); - - client.initialize(&admin); - client.init_bridge_config(&admin, &30, &admin); - - let secret: BytesN<32> = BytesN::from_array(&env, &[42u8; 32]); - let hashlock: BytesN<32> = env.crypto().sha256(&secret.clone().into()).into(); - - let timelock = env.ledger().timestamp() + 10; - let lock_id = client.create_htlc_lock( - &sender, - &HtlcLockInput { - recipient, - amount: 500, - hashlock, - timelock, - dispute_window: 5, - target_chain: String::from_str(&env, "ethereum-mainnet"), - target_lock_id: String::from_str(&env, "0xdef456"), - }, - ); - - // Advance ledger past timelock. - env.ledger().with_mut(|li| { - li.timestamp = timelock + 1; - }); - - client.refund_htlc(&lock_id); - - let lock = client.get_htlc_lock(&lock_id); - assert_eq!(lock.status, HtlcStatus::Refunded); - } - - #[test] - #[should_panic(expected = "Invalid secret")] - fn test_htlc_claim_wrong_secret() { - let env = Env::default(); - env.mock_all_auths(); - - let contract_id = env.register_contract(None, AgenticPayContract); - let client = AgenticPayContractClient::new(&env, &contract_id); - - let admin = Address::generate(&env); - let sender = Address::generate(&env); - let recipient = Address::generate(&env); - - client.initialize(&admin); - client.init_bridge_config(&admin, &30, &admin); - - let secret: BytesN<32> = BytesN::from_array(&env, &[42u8; 32]); - let hashlock: BytesN<32> = env.crypto().sha256(&secret.clone().into()).into(); - - let lock_id = client.create_htlc_lock( - &sender, - &HtlcLockInput { - recipient, - amount: 100, - hashlock, - timelock: env.ledger().timestamp() + 1000, - dispute_window: 100, - target_chain: String::from_str(&env, "ethereum-mainnet"), - target_lock_id: String::from_str(&env, "0x000"), - }, - ); - - let wrong_secret: BytesN<32> = BytesN::from_array(&env, &[99u8; 32]); - client.claim_htlc(&lock_id, &wrong_secret); - } - - #[test] - fn test_bridge_config_init_and_update() { - let env = Env::default(); - env.mock_all_auths(); - - let contract_id = env.register_contract(None, AgenticPayContract); - let client = AgenticPayContractClient::new(&env, &contract_id); - - let admin = Address::generate(&env); - let collector = Address::generate(&env); - - client.initialize(&admin); - client.init_bridge_config(&admin, &50, &collector); - - let config = client.get_bridge_config(); - assert_eq!(config.fee_bps, 50); - assert_eq!(config.fee_collector, collector); - assert_eq!(config.paused, false); - - client.update_bridge_config(&admin, &Some(100), &None, &Some(true)); - - let config = client.get_bridge_config(); - assert_eq!(config.fee_bps, 100); - assert_eq!(config.paused, true); - } } diff --git a/contracts/target_local/.rustc_info.json b/contracts/target_local/.rustc_info.json new file mode 100644 index 00000000..cb3c0c47 --- /dev/null +++ b/contracts/target_local/.rustc_info.json @@ -0,0 +1 @@ +{"rustc_fingerprint":6476962813992989971,"outputs":{"6432102384495711296":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n/Users/macbook/.rustup/toolchains/stable-aarch64-apple-darwin\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"aarch64\"\ntarget_endian=\"little\"\ntarget_env=\"\"\ntarget_family=\"unix\"\ntarget_feature=\"aes\"\ntarget_feature=\"crc\"\ntarget_feature=\"dit\"\ntarget_feature=\"dotprod\"\ntarget_feature=\"dpb\"\ntarget_feature=\"dpb2\"\ntarget_feature=\"fcma\"\ntarget_feature=\"fhm\"\ntarget_feature=\"flagm\"\ntarget_feature=\"fp16\"\ntarget_feature=\"frintts\"\ntarget_feature=\"jsconv\"\ntarget_feature=\"lor\"\ntarget_feature=\"lse\"\ntarget_feature=\"neon\"\ntarget_feature=\"paca\"\ntarget_feature=\"pacg\"\ntarget_feature=\"pan\"\ntarget_feature=\"pmuv3\"\ntarget_feature=\"ras\"\ntarget_feature=\"rcpc\"\ntarget_feature=\"rcpc2\"\ntarget_feature=\"rdm\"\ntarget_feature=\"sb\"\ntarget_feature=\"sha2\"\ntarget_feature=\"sha3\"\ntarget_feature=\"ssbs\"\ntarget_feature=\"vh\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"macos\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"apple\"\nunix\n","stderr":""},"7971740275564407648":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.dylib\nlib___.dylib\nlib___.a\nlib___.dylib\n/Users/macbook/.rustup/toolchains/stable-aarch64-apple-darwin\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"aarch64\"\ntarget_endian=\"little\"\ntarget_env=\"\"\ntarget_family=\"unix\"\ntarget_feature=\"aes\"\ntarget_feature=\"crc\"\ntarget_feature=\"dit\"\ntarget_feature=\"dotprod\"\ntarget_feature=\"dpb\"\ntarget_feature=\"dpb2\"\ntarget_feature=\"fcma\"\ntarget_feature=\"fhm\"\ntarget_feature=\"flagm\"\ntarget_feature=\"fp16\"\ntarget_feature=\"frintts\"\ntarget_feature=\"jsconv\"\ntarget_feature=\"lor\"\ntarget_feature=\"lse\"\ntarget_feature=\"neon\"\ntarget_feature=\"paca\"\ntarget_feature=\"pacg\"\ntarget_feature=\"pan\"\ntarget_feature=\"pmuv3\"\ntarget_feature=\"ras\"\ntarget_feature=\"rcpc\"\ntarget_feature=\"rcpc2\"\ntarget_feature=\"rdm\"\ntarget_feature=\"sb\"\ntarget_feature=\"sha2\"\ntarget_feature=\"sha3\"\ntarget_feature=\"ssbs\"\ntarget_feature=\"vh\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"macos\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"apple\"\nunix\n","stderr":""},"17747080675513052775":{"success":true,"status":"","code":0,"stdout":"rustc 1.93.0 (254b59607 2026-01-19)\nbinary: rustc\ncommit-hash: 254b59607d4417e9dffbc307138ae5c86280fe4c\ncommit-date: 2026-01-19\nhost: aarch64-apple-darwin\nrelease: 1.93.0\nLLVM version: 21.1.8\n","stderr":""}},"successes":{}} \ No newline at end of file diff --git a/contracts/target_local/CACHEDIR.TAG b/contracts/target_local/CACHEDIR.TAG new file mode 100644 index 00000000..20d7c319 --- /dev/null +++ b/contracts/target_local/CACHEDIR.TAG @@ -0,0 +1,3 @@ +Signature: 8a477f597d28d172789f06886806bc55 +# This file is a cache directory tag created by cargo. +# For information about cache directory tags see https://bford.info/cachedir/ diff --git a/contracts/target_local/debug/.cargo-lock b/contracts/target_local/debug/.cargo-lock new file mode 100644 index 00000000..e69de29b diff --git a/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/dep-lib-addr2line b/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/dep-lib-addr2line new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/dep-lib-addr2line differ diff --git a/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/invoked.timestamp b/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/lib-addr2line b/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/lib-addr2line new file mode 100644 index 00000000..12f9c9d6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/lib-addr2line @@ -0,0 +1 @@ +73b0054e15976eec \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/lib-addr2line.json b/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/lib-addr2line.json new file mode 100644 index 00000000..36d98986 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/lib-addr2line.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"all\", \"alloc\", \"bin\", \"cargo-all\", \"core\", \"cpp_demangle\", \"default\", \"fallible-iterator\", \"loader\", \"rustc-demangle\", \"rustc-dep-of-std\", \"smallvec\", \"std\", \"wasm\"]","target":7709716332375371761,"profile":8276155916380437441,"path":5670027099319045742,"deps":[[18122473562710263097,"gimli",false,5455003497602309085]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/addr2line-d9e19a1d0454a0df/dep-lib-addr2line","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/dep-lib-adler2 b/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/dep-lib-adler2 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/dep-lib-adler2 differ diff --git a/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/invoked.timestamp b/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/lib-adler2 b/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/lib-adler2 new file mode 100644 index 00000000..7fadd6f9 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/lib-adler2 @@ -0,0 +1 @@ +19939c1d2c568259 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/lib-adler2.json b/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/lib-adler2.json new file mode 100644 index 00000000..f9bb8597 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/adler2-5ffaa4e3032ec6a1/lib-adler2.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"core\", \"default\", \"rustc-dep-of-std\", \"std\"]","target":6569825234462323107,"profile":8276155916380437441,"path":6491946045162769083,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/adler2-5ffaa4e3032ec6a1/dep-lib-adler2","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/agenticpay-9659475f2e2815c6/invoked.timestamp b/contracts/target_local/debug/.fingerprint/agenticpay-9659475f2e2815c6/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/agenticpay-9659475f2e2815c6/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/agenticpay-9659475f2e2815c6/output-test-lib-agenticpay b/contracts/target_local/debug/.fingerprint/agenticpay-9659475f2e2815c6/output-test-lib-agenticpay new file mode 100644 index 00000000..cf91590e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/agenticpay-9659475f2e2815c6/output-test-lib-agenticpay @@ -0,0 +1,6 @@ +{"$message_type":"diagnostic","message":"no method named `with_mut` found for struct `soroban_sdk::ledger::Ledger` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":17722,"byte_end":17735,"line_start":585,"line_end":585,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":" env.ledger().with_mut(|li| {","highlight_start":9,"highlight_end":22}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":17735,"byte_end":17743,"line_start":585,"line_end":585,"column_start":22,"column_end":30,"is_primary":true,"text":[{"text":" env.ledger().with_mut(|li| {","highlight_start":22,"highlight_end":30}],"label":"method not found in `soroban_sdk::ledger::Ledger`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs","byte_start":7634,"byte_end":7642,"line_start":252,"line_end":252,"column_start":8,"column_end":16,"is_primary":false,"text":[{"text":" fn with_mut(&self, f: F)","highlight_start":8,"highlight_end":16}],"label":"the method is available for `soroban_sdk::ledger::Ledger` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"trait `Ledger` which provides `with_mut` is implemented but not in scope; perhaps you want to import it","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":14120,"byte_end":14120,"line_start":471,"line_end":471,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":" use super::*;","highlight_start":5,"highlight_end":5}],"label":null,"suggested_replacement":"use soroban_sdk::testutils::Ledger;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `with_mut` found for struct `soroban_sdk::ledger::Ledger` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/lib.rs:585:22\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m585\u001b[0m \u001b[1m\u001b[94m|\u001b[0m env.ledger().with_mut(|li| {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-------------\u001b[0m\u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mmethod not found in `soroban_sdk::ledger::Ledger`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m::: \u001b[0m/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs:252:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m252\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn with_mut(&self, f: F)\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------\u001b[0m \u001b[1m\u001b[94mthe method is available for `soroban_sdk::ledger::Ledger` here\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: trait `Ledger` which provides `with_mut` is implemented but not in scope; perhaps you want to import it\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m471\u001b[0m \u001b[92m+ \u001b[0m \u001b[92muse soroban_sdk::testutils::Ledger;\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"no method named `with_mut` found for struct `soroban_sdk::ledger::Ledger` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":19053,"byte_end":19066,"line_start":629,"line_end":629,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":" env.ledger().with_mut(|li| {","highlight_start":9,"highlight_end":22}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":19066,"byte_end":19074,"line_start":629,"line_end":629,"column_start":22,"column_end":30,"is_primary":true,"text":[{"text":" env.ledger().with_mut(|li| {","highlight_start":22,"highlight_end":30}],"label":"method not found in `soroban_sdk::ledger::Ledger`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs","byte_start":7634,"byte_end":7642,"line_start":252,"line_end":252,"column_start":8,"column_end":16,"is_primary":false,"text":[{"text":" fn with_mut(&self, f: F)","highlight_start":8,"highlight_end":16}],"label":"the method is available for `soroban_sdk::ledger::Ledger` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"trait `Ledger` which provides `with_mut` is implemented but not in scope; perhaps you want to import it","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":14120,"byte_end":14120,"line_start":471,"line_end":471,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":" use super::*;","highlight_start":5,"highlight_end":5}],"label":null,"suggested_replacement":"use soroban_sdk::testutils::Ledger;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `with_mut` found for struct `soroban_sdk::ledger::Ledger` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/lib.rs:629:22\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m629\u001b[0m \u001b[1m\u001b[94m|\u001b[0m env.ledger().with_mut(|li| {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-------------\u001b[0m\u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mmethod not found in `soroban_sdk::ledger::Ledger`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m::: \u001b[0m/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs:252:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m252\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn with_mut(&self, f: F)\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------\u001b[0m \u001b[1m\u001b[94mthe method is available for `soroban_sdk::ledger::Ledger` here\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: trait `Ledger` which provides `with_mut` is implemented but not in scope; perhaps you want to import it\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m471\u001b[0m \u001b[92m+ \u001b[0m \u001b[92muse soroban_sdk::testutils::Ledger;\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"this method takes 6 arguments but 5 arguments were supplied","code":{"code":"E0061","explanation":"An invalid number of arguments was passed when calling a function.\n\nErroneous code example:\n\n```compile_fail,E0061\nfn f(u: i32) {}\n\nf(); // error!\n```\n\nThe number of arguments passed to a function must match the number of arguments\nspecified in the function signature.\n\nFor example, a function like:\n\n```\nfn f(a: u16, b: &str) {}\n```\n\nMust always be called with exactly two arguments, e.g., `f(2, \"test\")`.\n\nNote that Rust does not have a notion of optional function arguments or\nvariadic functions (except for its C-FFI).\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":23243,"byte_end":23425,"line_start":751,"line_end":757,"column_start":39,"column_end":10,"is_primary":false,"text":[{"text":" let id = client.create_project(","highlight_start":39,"highlight_end":40},{"text":" &user,","highlight_start":1,"highlight_end":19},{"text":" &freelancer,","highlight_start":1,"highlight_end":25},{"text":" &700,","highlight_start":1,"highlight_end":18},{"text":" &String::from_str(&env, \"Single\"),","highlight_start":1,"highlight_end":47},{"text":" &String::from_str(&env, \"https://github.com/s1\"),","highlight_start":1,"highlight_end":62},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"argument #6 of type `&u64` is missing","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":23229,"byte_end":23243,"line_start":751,"line_end":751,"column_start":25,"column_end":39,"is_primary":true,"text":[{"text":" let id = client.create_project(","highlight_start":25,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"method defined here","code":null,"level":"note","spans":[{"file_name":"src/lib.rs","byte_start":1893,"byte_end":1906,"line_start":82,"line_end":82,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":" deadline: u64,","highlight_start":9,"highlight_end":22}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":1717,"byte_end":1731,"line_start":75,"line_end":75,"column_start":12,"column_end":26,"is_primary":true,"text":[{"text":" pub fn create_project(","highlight_start":12,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"provide the argument","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":23243,"byte_end":23425,"line_start":751,"line_end":757,"column_start":39,"column_end":10,"is_primary":true,"text":[{"text":" let id = client.create_project(","highlight_start":39,"highlight_end":40},{"text":" &user,","highlight_start":1,"highlight_end":19},{"text":" &freelancer,","highlight_start":1,"highlight_end":25},{"text":" &700,","highlight_start":1,"highlight_end":18},{"text":" &String::from_str(&env, \"Single\"),","highlight_start":1,"highlight_end":47},{"text":" &String::from_str(&env, \"https://github.com/s1\"),","highlight_start":1,"highlight_end":62},{"text":" );","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":"(\n &user,\n &freelancer,\n &700,\n &String::from_str(&env, \"Single\"),\n &String::from_str(&env, \"https://github.com/s1\"),\n /* &u64 */,\n )","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0061]\u001b[0m\u001b[1m: this method takes 6 arguments but 5 arguments were supplied\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/lib.rs:751:25\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m751\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let id = client.create_project(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m _________________________\u001b[0m\u001b[1m\u001b[91m^^^^^^^^^^^^^^\u001b[0m\u001b[1m\u001b[94m-\u001b[0m\n\u001b[1m\u001b[94m752\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &user,\n\u001b[1m\u001b[94m753\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &freelancer,\n\u001b[1m\u001b[94m754\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &700,\n\u001b[1m\u001b[94m755\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &String::from_str(&env, \"Single\"),\n\u001b[1m\u001b[94m756\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &String::from_str(&env, \"https://github.com/s1\"),\n\u001b[1m\u001b[94m757\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m );\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________-\u001b[0m \u001b[1m\u001b[94margument #6 of type `&u64` is missing\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[92mnote\u001b[0m: method defined here\n \u001b[1m\u001b[94m--> \u001b[0msrc/lib.rs:75:12\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m75\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn create_project(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n \u001b[1m\u001b[94m82\u001b[0m \u001b[1m\u001b[94m|\u001b[0m deadline: u64,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-------------\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: provide the argument\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m751\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let id = client.create_project(\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m756\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &String::from_str(&env, \"https://github.com/s1\"),\n\u001b[1m\u001b[94m757\u001b[0m \u001b[92m~ \u001b[0m \u001b[92m /* &u64 */,\u001b[0m\n\u001b[1m\u001b[94m758\u001b[0m \u001b[92m~ \u001b[0m);\n \u001b[1m\u001b[94m|\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"aborting due to 3 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: aborting due to 3 previous errors\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"Some errors have detailed explanations: E0061, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mSome errors have detailed explanations: E0061, E0599.\u001b[0m\n"} +{"$message_type":"diagnostic","message":"For more information about an error, try `rustc --explain E0061`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mFor more information about an error, try `rustc --explain E0061`.\u001b[0m\n"} diff --git a/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/dep-lib-agenticpay b/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/dep-lib-agenticpay new file mode 100644 index 00000000..024be490 Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/dep-lib-agenticpay differ diff --git a/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/invoked.timestamp b/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/lib-agenticpay b/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/lib-agenticpay new file mode 100644 index 00000000..d7c66dca --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/lib-agenticpay @@ -0,0 +1 @@ +4edbd1ae07d470d1 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/lib-agenticpay.json b/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/lib-agenticpay.json new file mode 100644 index 00000000..0d1b4780 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/agenticpay-aabad211886c659f/lib-agenticpay.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":12258335412739528069,"profile":2330448797067240312,"path":10763286916239946207,"deps":[[15234002195613461296,"soroban_sdk",false,900783807574797504]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/agenticpay-aabad211886c659f/dep-lib-agenticpay","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/dep-lib-arbitrary b/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/dep-lib-arbitrary new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/dep-lib-arbitrary differ diff --git a/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/invoked.timestamp b/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/lib-arbitrary b/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/lib-arbitrary new file mode 100644 index 00000000..21b06056 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/lib-arbitrary @@ -0,0 +1 @@ +a51d1802751123c0 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/lib-arbitrary.json b/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/lib-arbitrary.json new file mode 100644 index 00000000..c86d9343 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/arbitrary-a1cf9976be3563ce/lib-arbitrary.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"derive\", \"derive_arbitrary\"]","declared_features":"[\"derive\", \"derive_arbitrary\"]","target":17665432273791891122,"profile":8276155916380437441,"path":15393666387563384890,"deps":[[10187655140533542017,"derive_arbitrary",false,1331347217721470095]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/arbitrary-a1cf9976be3563ce/dep-lib-arbitrary","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/dep-lib-autocfg b/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/dep-lib-autocfg new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/dep-lib-autocfg differ diff --git a/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/invoked.timestamp b/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/lib-autocfg b/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/lib-autocfg new file mode 100644 index 00000000..b7ea6519 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/lib-autocfg @@ -0,0 +1 @@ +990507516f9c1338 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/lib-autocfg.json b/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/lib-autocfg.json new file mode 100644 index 00000000..4a06bd6a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/autocfg-eb1adbf7d7f824ab/lib-autocfg.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":6962977057026645649,"profile":3033921117576893,"path":5892496439368405740,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/autocfg-eb1adbf7d7f824ab/dep-lib-autocfg","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/dep-lib-backtrace b/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/dep-lib-backtrace new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/dep-lib-backtrace differ diff --git a/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/invoked.timestamp b/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/lib-backtrace b/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/lib-backtrace new file mode 100644 index 00000000..e32c8c06 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/lib-backtrace @@ -0,0 +1 @@ +afcf67745fb13a40 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/lib-backtrace.json b/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/lib-backtrace.json new file mode 100644 index 00000000..64e2092d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/lib-backtrace.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"coresymbolication\", \"cpp_demangle\", \"dbghelp\", \"default\", \"dl_iterate_phdr\", \"dladdr\", \"kernel32\", \"libunwind\", \"ruzstd\", \"serde\", \"serialize-serde\", \"std\", \"unix-backtrace\"]","target":7315828065547155866,"profile":1575358873334866492,"path":17120285554640986275,"deps":[[7636735136738807108,"miniz_oxide",false,185984865039914442],[7667230146095136825,"cfg_if",false,15392250989076009176],[10469064172512718590,"rustc_demangle",false,2233901548187548701],[16932210417220992785,"object",false,5473264091030218473],[17159683253194042242,"libc",false,9433847777383712361],[17346321382549314365,"addr2line",false,17036720558148268147]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/dep-lib-backtrace","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/dep-lib-base16ct b/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/dep-lib-base16ct new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/dep-lib-base16ct differ diff --git a/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/invoked.timestamp b/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/lib-base16ct b/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/lib-base16ct new file mode 100644 index 00000000..8b0817ee --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/lib-base16ct @@ -0,0 +1 @@ +e4e0cdb0936292de \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/lib-base16ct.json b/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/lib-base16ct.json new file mode 100644 index 00000000..eb847996 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base16ct-62dc7e0808bc2ab7/lib-base16ct.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"alloc\", \"std\"]","target":5671527864245789203,"profile":8276155916380437441,"path":9738440238744439003,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base16ct-62dc7e0808bc2ab7/dep-lib-base16ct","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/dep-lib-base32 b/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/dep-lib-base32 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/dep-lib-base32 differ diff --git a/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/invoked.timestamp b/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/lib-base32 b/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/lib-base32 new file mode 100644 index 00000000..9796ea24 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/lib-base32 @@ -0,0 +1 @@ +d194bdac31890da6 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/lib-base32.json b/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/lib-base32.json new file mode 100644 index 00000000..0a14bc04 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base32-3eaeccff18bfa061/lib-base32.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":7178343304126842817,"profile":3033921117576893,"path":11799783412716110151,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base32-3eaeccff18bfa061/dep-lib-base32","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/dep-lib-base32 b/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/dep-lib-base32 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/dep-lib-base32 differ diff --git a/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/invoked.timestamp b/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/lib-base32 b/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/lib-base32 new file mode 100644 index 00000000..03b03626 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/lib-base32 @@ -0,0 +1 @@ +c99f6dbf7e2a8264 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/lib-base32.json b/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/lib-base32.json new file mode 100644 index 00000000..5892b633 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base32-a058bee789873153/lib-base32.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":7178343304126842817,"profile":8276155916380437441,"path":11799783412716110151,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base32-a058bee789873153/dep-lib-base32","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/dep-lib-base64 b/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/dep-lib-base64 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/dep-lib-base64 differ diff --git a/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/invoked.timestamp b/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/lib-base64 b/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/lib-base64 new file mode 100644 index 00000000..f98214a7 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/lib-base64 @@ -0,0 +1 @@ +71350cdaeb74e186 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/lib-base64.json b/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/lib-base64.json new file mode 100644 index 00000000..f8665c85 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base64-4067a4a55fdd1db4/lib-base64.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":13060062996227388079,"profile":3033921117576893,"path":13955405228722018343,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base64-4067a4a55fdd1db4/dep-lib-base64","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/dep-lib-base64 b/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/dep-lib-base64 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/dep-lib-base64 differ diff --git a/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/invoked.timestamp b/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/lib-base64 b/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/lib-base64 new file mode 100644 index 00000000..1ded7e0a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/lib-base64 @@ -0,0 +1 @@ +90b1f3a6c251ef67 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/lib-base64.json b/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/lib-base64.json new file mode 100644 index 00000000..b05cd281 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/base64-b48e843e244d9a20/lib-base64.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":13060062996227388079,"profile":8276155916380437441,"path":13955405228722018343,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base64-b48e843e244d9a20/dep-lib-base64","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/dep-lib-block_buffer b/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/dep-lib-block_buffer new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/dep-lib-block_buffer differ diff --git a/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/invoked.timestamp b/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/lib-block_buffer b/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/lib-block_buffer new file mode 100644 index 00000000..204fd68d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/lib-block_buffer @@ -0,0 +1 @@ +527bde88388edb6b \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/lib-block_buffer.json b/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/lib-block_buffer.json new file mode 100644 index 00000000..6b6f3cab --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/block-buffer-259a510d23946e16/lib-block_buffer.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":4098124618827574291,"profile":3033921117576893,"path":14492074747824772446,"deps":[[17738927884925025478,"generic_array",false,11442063085337139510]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/block-buffer-259a510d23946e16/dep-lib-block_buffer","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/dep-lib-block_buffer b/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/dep-lib-block_buffer new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/dep-lib-block_buffer differ diff --git a/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/invoked.timestamp b/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/lib-block_buffer b/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/lib-block_buffer new file mode 100644 index 00000000..69d733d2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/lib-block_buffer @@ -0,0 +1 @@ +7b766769c97bdc3b \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/lib-block_buffer.json b/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/lib-block_buffer.json new file mode 100644 index 00000000..2ae03553 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/block-buffer-aad41c5acfbb4f49/lib-block_buffer.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":4098124618827574291,"profile":8276155916380437441,"path":14492074747824772446,"deps":[[17738927884925025478,"generic_array",false,11611745390364329169]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/block-buffer-aad41c5acfbb4f49/dep-lib-block_buffer","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/dep-lib-bytes_lit b/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/dep-lib-bytes_lit new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/dep-lib-bytes_lit differ diff --git a/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/invoked.timestamp b/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/lib-bytes_lit b/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/lib-bytes_lit new file mode 100644 index 00000000..0b07a20a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/lib-bytes_lit @@ -0,0 +1 @@ +4be99bc687ae1d38 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/lib-bytes_lit.json b/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/lib-bytes_lit.json new file mode 100644 index 00000000..b7e6bc8f --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/bytes-lit-328d966ba80a16f9/lib-bytes_lit.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":5466164197665840737,"profile":3033921117576893,"path":6159304385796666126,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[10420560437213941093,"syn",false,10223735549585103727],[12528732512569713347,"num_bigint",false,944356796295999652],[13111758008314797071,"quote",false,14441542378845600703]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/bytes-lit-328d966ba80a16f9/dep-lib-bytes_lit","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/dep-lib-cfg_if b/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/dep-lib-cfg_if new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/dep-lib-cfg_if differ diff --git a/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/invoked.timestamp b/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/lib-cfg_if b/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/lib-cfg_if new file mode 100644 index 00000000..40ee9375 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/lib-cfg_if @@ -0,0 +1 @@ +d8d08711b9429cd5 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/lib-cfg_if.json b/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/lib-cfg_if.json new file mode 100644 index 00000000..2e8ee1cb --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cfg-if-7228978f4fcb9234/lib-cfg_if.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"core\", \"rustc-dep-of-std\"]","target":13840298032947503755,"profile":8276155916380437441,"path":4305968215313552521,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/cfg-if-7228978f4fcb9234/dep-lib-cfg_if","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/dep-lib-cfg_if b/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/dep-lib-cfg_if new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/dep-lib-cfg_if differ diff --git a/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/invoked.timestamp b/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/lib-cfg_if b/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/lib-cfg_if new file mode 100644 index 00000000..c3bec9ed --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/lib-cfg_if @@ -0,0 +1 @@ +ee608cc26d81bdc5 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/lib-cfg_if.json b/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/lib-cfg_if.json new file mode 100644 index 00000000..3146d105 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cfg-if-76de021c492f10bf/lib-cfg_if.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"core\", \"rustc-dep-of-std\"]","target":13840298032947503755,"profile":3033921117576893,"path":4305968215313552521,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/cfg-if-76de021c492f10bf/dep-lib-cfg_if","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/dep-lib-const_oid b/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/dep-lib-const_oid new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/dep-lib-const_oid differ diff --git a/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/invoked.timestamp b/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/lib-const_oid b/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/lib-const_oid new file mode 100644 index 00000000..900c5f9d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/lib-const_oid @@ -0,0 +1 @@ +903c7c5bdf4056eb \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/lib-const_oid.json b/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/lib-const_oid.json new file mode 100644 index 00000000..8bffa408 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/const-oid-c4ade6a49cae461d/lib-const_oid.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"arbitrary\", \"db\", \"std\"]","target":17089197581752919419,"profile":8276155916380437441,"path":18055309986449180559,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/const-oid-c4ade6a49cae461d/dep-lib-const_oid","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/dep-lib-cpufeatures b/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/dep-lib-cpufeatures new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/dep-lib-cpufeatures differ diff --git a/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/invoked.timestamp b/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/lib-cpufeatures b/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/lib-cpufeatures new file mode 100644 index 00000000..5ac34d04 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/lib-cpufeatures @@ -0,0 +1 @@ +8d59266771d3aab9 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/lib-cpufeatures.json b/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/lib-cpufeatures.json new file mode 100644 index 00000000..276615aa --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cpufeatures-299cb41afad91810/lib-cpufeatures.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":2330704043955282025,"profile":3033921117576893,"path":17411459890014578049,"deps":[[17159683253194042242,"libc",false,6529397685384079516]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/cpufeatures-299cb41afad91810/dep-lib-cpufeatures","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/dep-lib-cpufeatures b/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/dep-lib-cpufeatures new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/dep-lib-cpufeatures differ diff --git a/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/invoked.timestamp b/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/lib-cpufeatures b/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/lib-cpufeatures new file mode 100644 index 00000000..97a3aa94 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/lib-cpufeatures @@ -0,0 +1 @@ +abf6d4d38f4a078d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/lib-cpufeatures.json b/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/lib-cpufeatures.json new file mode 100644 index 00000000..926c26c5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/lib-cpufeatures.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":2330704043955282025,"profile":8276155916380437441,"path":17411459890014578049,"deps":[[17159683253194042242,"libc",false,9433847777383712361]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/cpufeatures-c5fe4d960a8962e2/dep-lib-cpufeatures","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/dep-lib-crate_git_revision b/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/dep-lib-crate_git_revision new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/dep-lib-crate_git_revision differ diff --git a/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/invoked.timestamp b/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/lib-crate_git_revision b/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/lib-crate_git_revision new file mode 100644 index 00000000..9c7f07e6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/lib-crate_git_revision @@ -0,0 +1 @@ +47115954f5c52087 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/lib-crate_git_revision.json b/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/lib-crate_git_revision.json new file mode 100644 index 00000000..05c244c8 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crate-git-revision-4c5040678cbf6401/lib-crate_git_revision.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":120368748516897421,"profile":3033921117576893,"path":262643346839334675,"deps":[[3051629642231505422,"serde_derive",false,3255380917699730359],[13548984313718623784,"serde",false,10919998459002261774],[13795362694956882968,"serde_json",false,14427868798663026619]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/crate-git-revision-4c5040678cbf6401/dep-lib-crate_git_revision","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/dep-lib-crypto_bigint b/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/dep-lib-crypto_bigint new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/dep-lib-crypto_bigint differ diff --git a/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/invoked.timestamp b/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/lib-crypto_bigint b/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/lib-crypto_bigint new file mode 100644 index 00000000..dc07380c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/lib-crypto_bigint @@ -0,0 +1 @@ +f0cdb4b3dd1edf2a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/lib-crypto_bigint.json b/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/lib-crypto_bigint.json new file mode 100644 index 00000000..48e3ba72 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/lib-crypto_bigint.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"generic-array\", \"rand_core\", \"zeroize\"]","declared_features":"[\"alloc\", \"default\", \"der\", \"extra-sizes\", \"generic-array\", \"rand\", \"rand_core\", \"rlp\", \"serde\", \"zeroize\"]","target":9797332428615656400,"profile":8276155916380437441,"path":15409656470766508950,"deps":[[12865141776541797048,"zeroize",false,11213441002442849774],[17003143334332120809,"subtle",false,210798614867005631],[17738927884925025478,"generic_array",false,11611745390364329169],[18130209639506977569,"rand_core",false,15569110364959416902]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/crypto-bigint-6f66ca8126086526/dep-lib-crypto_bigint","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/dep-lib-crypto_common b/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/dep-lib-crypto_common new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/dep-lib-crypto_common differ diff --git a/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/invoked.timestamp b/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/lib-crypto_common b/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/lib-crypto_common new file mode 100644 index 00000000..e1e3f9b7 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/lib-crypto_common @@ -0,0 +1 @@ +a6b40eefec018d54 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/lib-crypto_common.json b/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/lib-crypto_common.json new file mode 100644 index 00000000..89f0d944 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crypto-common-4ede5578405cc99c/lib-crypto_common.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"std\"]","declared_features":"[\"getrandom\", \"rand_core\", \"std\"]","target":16242158919585437602,"profile":3033921117576893,"path":12528539727964017054,"deps":[[857979250431893282,"typenum",false,16691380470586446647],[17738927884925025478,"generic_array",false,11442063085337139510]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/crypto-common-4ede5578405cc99c/dep-lib-crypto_common","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/dep-lib-crypto_common b/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/dep-lib-crypto_common new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/dep-lib-crypto_common differ diff --git a/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/invoked.timestamp b/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/lib-crypto_common b/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/lib-crypto_common new file mode 100644 index 00000000..01be3dfd --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/lib-crypto_common @@ -0,0 +1 @@ +d762d5e88ebb98c5 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/lib-crypto_common.json b/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/lib-crypto_common.json new file mode 100644 index 00000000..ed896174 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/crypto-common-c239b31c4139ccfa/lib-crypto_common.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"std\"]","declared_features":"[\"getrandom\", \"rand_core\", \"std\"]","target":16242158919585437602,"profile":8276155916380437441,"path":12528539727964017054,"deps":[[857979250431893282,"typenum",false,706492094234560198],[17738927884925025478,"generic_array",false,11611745390364329169]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/crypto-common-c239b31c4139ccfa/dep-lib-crypto_common","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/dep-lib-ctor b/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/dep-lib-ctor new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/dep-lib-ctor differ diff --git a/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/invoked.timestamp b/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/lib-ctor b/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/lib-ctor new file mode 100644 index 00000000..dba760a4 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/lib-ctor @@ -0,0 +1 @@ +0279adaec5381ce0 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/lib-ctor.json b/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/lib-ctor.json new file mode 100644 index 00000000..29fbfda5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ctor-e0e83f7eeeee73d2/lib-ctor.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"used_linker\"]","target":16767752466166802488,"profile":3033921117576893,"path":16467702174694423964,"deps":[[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/ctor-e0e83f7eeeee73d2/dep-lib-ctor","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/curve25519-dalek-857af112b671454c/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/curve25519-dalek-857af112b671454c/run-build-script-build-script-build new file mode 100644 index 00000000..a3d5d15e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/curve25519-dalek-857af112b671454c/run-build-script-build-script-build @@ -0,0 +1 @@ +15d9591991cf641f \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/curve25519-dalek-857af112b671454c/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/curve25519-dalek-857af112b671454c/run-build-script-build-script-build.json new file mode 100644 index 00000000..3066dad2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/curve25519-dalek-857af112b671454c/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[13595581133353633439,"build_script_build",false,10962608560089401443]],"local":[{"Precalculated":"4.1.3"}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/dep-lib-curve25519_dalek b/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/dep-lib-curve25519_dalek new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/dep-lib-curve25519_dalek differ diff --git a/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/invoked.timestamp b/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/lib-curve25519_dalek b/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/lib-curve25519_dalek new file mode 100644 index 00000000..9746fae9 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/lib-curve25519_dalek @@ -0,0 +1 @@ +5f4b3ff90d1e0afd \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/lib-curve25519_dalek.json b/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/lib-curve25519_dalek.json new file mode 100644 index 00000000..3d9b182d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/lib-curve25519_dalek.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"digest\", \"precomputed-tables\", \"zeroize\"]","declared_features":"[\"alloc\", \"default\", \"digest\", \"ff\", \"group\", \"group-bits\", \"legacy_compatibility\", \"precomputed-tables\", \"rand_core\", \"serde\", \"zeroize\"]","target":115635582535548150,"profile":8276155916380437441,"path":16833131138724209785,"deps":[[7667230146095136825,"cfg_if",false,15392250989076009176],[12865141776541797048,"zeroize",false,11213441002442849774],[13595581133353633439,"build_script_build",false,2262161134949357845],[17003143334332120809,"subtle",false,210798614867005631],[17475753849556516473,"digest",false,3007548742343774835]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/curve25519-dalek-b574ea570285d412/dep-lib-curve25519_dalek","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/build-script-build-script-build new file mode 100644 index 00000000..846d6788 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/build-script-build-script-build @@ -0,0 +1 @@ +6308c92b67022398 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/build-script-build-script-build.json new file mode 100644 index 00000000..ee6ae941 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"digest\", \"precomputed-tables\", \"zeroize\"]","declared_features":"[\"alloc\", \"default\", \"digest\", \"ff\", \"group\", \"group-bits\", \"legacy_compatibility\", \"precomputed-tables\", \"rand_core\", \"serde\", \"zeroize\"]","target":5408242616063297496,"profile":3033921117576893,"path":4005053698879869280,"deps":[[8576480473721236041,"rustc_version",false,228858055762007137]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/invoked.timestamp b/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/curve25519-dalek-d9b687483d534fd3/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/dep-lib-darling b/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/dep-lib-darling new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/dep-lib-darling differ diff --git a/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/invoked.timestamp b/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/lib-darling b/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/lib-darling new file mode 100644 index 00000000..1a758b0e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/lib-darling @@ -0,0 +1 @@ +e312f141291a78a5 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/lib-darling.json b/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/lib-darling.json new file mode 100644 index 00000000..d2c52e22 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling-7637f519bd3cd2cc/lib-darling.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"suggestions\"]","declared_features":"[\"default\", \"diagnostics\", \"serde\", \"suggestions\"]","target":10425393644641512883,"profile":16538302391636616682,"path":2979286762834352089,"deps":[[9150523150928397644,"darling_core",false,11749312421475286849],[15905032373655718972,"darling_macro",false,2336821112930392412]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/darling-7637f519bd3cd2cc/dep-lib-darling","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/dep-lib-darling b/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/dep-lib-darling new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/dep-lib-darling differ diff --git a/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/invoked.timestamp b/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/lib-darling b/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/lib-darling new file mode 100644 index 00000000..c17be2d2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/lib-darling @@ -0,0 +1 @@ +ef56216d5f1360f2 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/lib-darling.json b/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/lib-darling.json new file mode 100644 index 00000000..7767af5c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling-aaef6fa402ba8bf9/lib-darling.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"suggestions\"]","declared_features":"[\"default\", \"diagnostics\", \"suggestions\"]","target":10425393644641512883,"profile":16538302391636616682,"path":8508749543969082739,"deps":[[391311489375721310,"darling_macro",false,4775940889665113191],[7492649247881633246,"darling_core",false,502692766329835197]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/darling-aaef6fa402ba8bf9/dep-lib-darling","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/dep-lib-darling_core b/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/dep-lib-darling_core new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/dep-lib-darling_core differ diff --git a/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/invoked.timestamp b/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/lib-darling_core b/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/lib-darling_core new file mode 100644 index 00000000..fd1fab01 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/lib-darling_core @@ -0,0 +1 @@ +417f1e9565f10da3 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/lib-darling_core.json b/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/lib-darling_core.json new file mode 100644 index 00000000..72639552 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_core-3de512ef2efedddc/lib-darling_core.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"strsim\", \"suggestions\"]","declared_features":"[\"diagnostics\", \"serde\", \"strsim\", \"suggestions\"]","target":13428977600034985537,"profile":3033921117576893,"path":7696112021801793414,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[10420560437213941093,"syn",false,10223735549585103727],[11166530783118767604,"strsim",false,9887957319972863002],[13111758008314797071,"quote",false,14441542378845600703],[15383437925411509181,"ident_case",false,11219838570465354806]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/darling_core-3de512ef2efedddc/dep-lib-darling_core","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/dep-lib-darling_core b/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/dep-lib-darling_core new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/dep-lib-darling_core differ diff --git a/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/invoked.timestamp b/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/lib-darling_core b/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/lib-darling_core new file mode 100644 index 00000000..8cb5bb65 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/lib-darling_core @@ -0,0 +1 @@ +bd8e3f5868ecf906 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/lib-darling_core.json b/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/lib-darling_core.json new file mode 100644 index 00000000..f98b5978 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_core-e1e05ecf024ad090/lib-darling_core.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"strsim\", \"suggestions\"]","declared_features":"[\"diagnostics\", \"strsim\", \"suggestions\"]","target":13428977600034985537,"profile":3033921117576893,"path":7023479050961776031,"deps":[[1345404220202658316,"fnv",false,6427230589815069321],[4289358735036141001,"proc_macro2",false,14223200998779118544],[10420560437213941093,"syn",false,10223735549585103727],[11166530783118767604,"strsim",false,9887957319972863002],[13111758008314797071,"quote",false,14441542378845600703],[15383437925411509181,"ident_case",false,11219838570465354806]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/darling_core-e1e05ecf024ad090/dep-lib-darling_core","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/dep-lib-darling_macro b/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/dep-lib-darling_macro new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/dep-lib-darling_macro differ diff --git a/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/invoked.timestamp b/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/lib-darling_macro b/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/lib-darling_macro new file mode 100644 index 00000000..455bc3e6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/lib-darling_macro @@ -0,0 +1 @@ +5c59d9d36b0e6e20 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/lib-darling_macro.json b/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/lib-darling_macro.json new file mode 100644 index 00000000..e9c02799 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_macro-c4d8555b8112f5f6/lib-darling_macro.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":15692157989113707310,"profile":3033921117576893,"path":7304542003504597323,"deps":[[9150523150928397644,"darling_core",false,11749312421475286849],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/darling_macro-c4d8555b8112f5f6/dep-lib-darling_macro","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/dep-lib-darling_macro b/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/dep-lib-darling_macro new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/dep-lib-darling_macro differ diff --git a/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/invoked.timestamp b/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/lib-darling_macro b/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/lib-darling_macro new file mode 100644 index 00000000..51b5b0d7 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/lib-darling_macro @@ -0,0 +1 @@ +678cc064ef8c4742 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/lib-darling_macro.json b/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/lib-darling_macro.json new file mode 100644 index 00000000..201c0a4d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/darling_macro-cab5b6d187b7641b/lib-darling_macro.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":15692157989113707310,"profile":3033921117576893,"path":9321068281364692028,"deps":[[7492649247881633246,"darling_core",false,502692766329835197],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/darling_macro-cab5b6d187b7641b/dep-lib-darling_macro","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/dep-lib-der b/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/dep-lib-der new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/dep-lib-der differ diff --git a/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/invoked.timestamp b/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/lib-der b/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/lib-der new file mode 100644 index 00000000..246240cc --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/lib-der @@ -0,0 +1 @@ +eed58140c418fc09 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/lib-der.json b/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/lib-der.json new file mode 100644 index 00000000..a8ab54ad --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/der-2472317c788ab83f/lib-der.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"oid\", \"zeroize\"]","declared_features":"[\"alloc\", \"arbitrary\", \"bytes\", \"derive\", \"flagset\", \"oid\", \"pem\", \"real\", \"std\", \"time\", \"zeroize\"]","target":2789908270074842938,"profile":8276155916380437441,"path":9809483377155403312,"deps":[[8066688306558157009,"const_oid",false,16957812774966934672],[12865141776541797048,"zeroize",false,11213441002442849774]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/der-2472317c788ab83f/dep-lib-der","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/dep-lib-derive_arbitrary b/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/dep-lib-derive_arbitrary new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/dep-lib-derive_arbitrary differ diff --git a/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/invoked.timestamp b/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/lib-derive_arbitrary b/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/lib-derive_arbitrary new file mode 100644 index 00000000..0da1ffba --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/lib-derive_arbitrary @@ -0,0 +1 @@ +8f2cfea03de57912 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/lib-derive_arbitrary.json b/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/lib-derive_arbitrary.json new file mode 100644 index 00000000..d4c042e2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/lib-derive_arbitrary.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":564395818272660771,"profile":3033921117576893,"path":17454363250962081384,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/derive_arbitrary-78af8cb1d2f41ed3/dep-lib-derive_arbitrary","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/dep-lib-digest b/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/dep-lib-digest new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/dep-lib-digest differ diff --git a/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/invoked.timestamp b/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/lib-digest b/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/lib-digest new file mode 100644 index 00000000..0b76638d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/lib-digest @@ -0,0 +1 @@ +5d1b2e3f1adb2012 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/lib-digest.json b/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/lib-digest.json new file mode 100644 index 00000000..c228ff98 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/digest-18b6b6989020caaf/lib-digest.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"block-buffer\", \"core-api\", \"default\", \"std\"]","declared_features":"[\"alloc\", \"blobby\", \"block-buffer\", \"const-oid\", \"core-api\", \"default\", \"dev\", \"mac\", \"oid\", \"rand_core\", \"std\", \"subtle\"]","target":7510122432137863311,"profile":3033921117576893,"path":13770837173961301434,"deps":[[2352660017780662552,"crypto_common",false,6092527988036777126],[10626340395483396037,"block_buffer",false,7771961955423517522]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/digest-18b6b6989020caaf/dep-lib-digest","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/dep-lib-digest b/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/dep-lib-digest new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/dep-lib-digest differ diff --git a/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/invoked.timestamp b/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/lib-digest b/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/lib-digest new file mode 100644 index 00000000..786cc743 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/lib-digest @@ -0,0 +1 @@ +73d21280a5f5bc29 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/lib-digest.json b/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/lib-digest.json new file mode 100644 index 00000000..c90d926f --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/digest-58881e2ec229850c/lib-digest.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"block-buffer\", \"const-oid\", \"core-api\", \"default\", \"mac\", \"oid\", \"std\", \"subtle\"]","declared_features":"[\"alloc\", \"blobby\", \"block-buffer\", \"const-oid\", \"core-api\", \"default\", \"dev\", \"mac\", \"oid\", \"rand_core\", \"std\", \"subtle\"]","target":7510122432137863311,"profile":8276155916380437441,"path":13770837173961301434,"deps":[[2352660017780662552,"crypto_common",false,14238336444397871831],[8066688306558157009,"const_oid",false,16957812774966934672],[10626340395483396037,"block_buffer",false,4313458648101123707],[17003143334332120809,"subtle",false,210798614867005631]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/digest-58881e2ec229850c/dep-lib-digest","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/dep-lib-downcast_rs b/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/dep-lib-downcast_rs new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/dep-lib-downcast_rs differ diff --git a/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/invoked.timestamp b/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/lib-downcast_rs b/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/lib-downcast_rs new file mode 100644 index 00000000..f864dc24 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/lib-downcast_rs @@ -0,0 +1 @@ +0f999711977d14ef \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/lib-downcast_rs.json b/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/lib-downcast_rs.json new file mode 100644 index 00000000..d265ffee --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/lib-downcast_rs.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"std\"]","declared_features":"[\"default\", \"std\"]","target":17508202051892475153,"profile":8276155916380437441,"path":16492402106105468817,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/downcast-rs-8c508cdab3c16fdb/dep-lib-downcast_rs","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/dep-lib-ecdsa b/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/dep-lib-ecdsa new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/dep-lib-ecdsa differ diff --git a/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/invoked.timestamp b/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/lib-ecdsa b/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/lib-ecdsa new file mode 100644 index 00000000..85b82bd3 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/lib-ecdsa @@ -0,0 +1 @@ +57001c6e4f3d4bc2 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/lib-ecdsa.json b/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/lib-ecdsa.json new file mode 100644 index 00000000..55a20a71 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/lib-ecdsa.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"arithmetic\", \"der\", \"digest\", \"hazmat\", \"rfc6979\", \"signing\", \"verifying\"]","declared_features":"[\"alloc\", \"arithmetic\", \"default\", \"der\", \"dev\", \"digest\", \"hazmat\", \"pem\", \"pkcs8\", \"rfc6979\", \"serde\", \"serdect\", \"sha2\", \"signing\", \"spki\", \"std\", \"verifying\"]","target":5012119522651993362,"profile":8276155916380437441,"path":10106862812396391771,"deps":[[4234225094004207019,"rfc6979",false,11788470204205890437],[10149501514950982522,"elliptic_curve",false,8704759523787881051],[10800937535932116261,"der",false,719477271647344110],[13895928991373641935,"signature",false,8713696025010522804],[17475753849556516473,"digest",false,3007548742343774835]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/dep-lib-ecdsa","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/dep-lib-ed25519 b/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/dep-lib-ed25519 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/dep-lib-ed25519 differ diff --git a/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/invoked.timestamp b/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/lib-ed25519 b/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/lib-ed25519 new file mode 100644 index 00000000..7098a5bd --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/lib-ed25519 @@ -0,0 +1 @@ +c4981133c1d91ae3 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/lib-ed25519.json b/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/lib-ed25519.json new file mode 100644 index 00000000..0d83826e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ed25519-1ead8f42bcf6434b/lib-ed25519.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"pem\", \"pkcs8\", \"serde\", \"serde_bytes\", \"std\", \"zeroize\"]","target":108444017173925020,"profile":8276155916380437441,"path":13713815924005427827,"deps":[[13895928991373641935,"signature",false,8713696025010522804]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/ed25519-1ead8f42bcf6434b/dep-lib-ed25519","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/dep-lib-ed25519_dalek b/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/dep-lib-ed25519_dalek new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/dep-lib-ed25519_dalek differ diff --git a/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/invoked.timestamp b/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/lib-ed25519_dalek b/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/lib-ed25519_dalek new file mode 100644 index 00000000..0c4ed847 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/lib-ed25519_dalek @@ -0,0 +1 @@ +53cb3e5c1c88da84 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/lib-ed25519_dalek.json b/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/lib-ed25519_dalek.json new file mode 100644 index 00000000..846b6e7f --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/lib-ed25519_dalek.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"default\", \"fast\", \"rand_core\", \"std\", \"zeroize\"]","declared_features":"[\"alloc\", \"asm\", \"batch\", \"default\", \"digest\", \"fast\", \"hazmat\", \"legacy_compatibility\", \"merlin\", \"pem\", \"pkcs8\", \"rand_core\", \"serde\", \"signature\", \"std\", \"zeroize\"]","target":14975934594160758548,"profile":8276155916380437441,"path":14285597066234949405,"deps":[[9857275760291862238,"sha2",false,1965038948273142758],[12865141776541797048,"zeroize",false,11213441002442849774],[13595581133353633439,"curve25519_dalek",false,18233419086727957343],[14313198213031843936,"ed25519",false,16364631619812825284],[17003143334332120809,"subtle",false,210798614867005631],[18130209639506977569,"rand_core",false,15569110364959416902]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/dep-lib-ed25519_dalek","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/dep-lib-either b/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/dep-lib-either new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/dep-lib-either differ diff --git a/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/invoked.timestamp b/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/lib-either b/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/lib-either new file mode 100644 index 00000000..06c46943 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/lib-either @@ -0,0 +1 @@ +ae17dea7d449247f \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/lib-either.json b/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/lib-either.json new file mode 100644 index 00000000..a279938d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/either-a5ea3a98650b02d9/lib-either.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"std\", \"use_std\"]","declared_features":"[\"default\", \"serde\", \"std\", \"use_std\"]","target":17124342308084364240,"profile":3033921117576893,"path":11907143623264940721,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/either-a5ea3a98650b02d9/dep-lib-either","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/dep-lib-elliptic_curve b/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/dep-lib-elliptic_curve new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/dep-lib-elliptic_curve differ diff --git a/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/invoked.timestamp b/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/lib-elliptic_curve b/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/lib-elliptic_curve new file mode 100644 index 00000000..1e3dbaf9 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/lib-elliptic_curve @@ -0,0 +1 @@ +5b3a93c6aa84cd78 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/lib-elliptic_curve.json b/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/lib-elliptic_curve.json new file mode 100644 index 00000000..0dde26c1 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/lib-elliptic_curve.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"arithmetic\", \"digest\", \"ff\", \"group\", \"hazmat\", \"sec1\"]","declared_features":"[\"alloc\", \"arithmetic\", \"bits\", \"default\", \"dev\", \"digest\", \"ecdh\", \"ff\", \"group\", \"hash2curve\", \"hazmat\", \"jwk\", \"pem\", \"pkcs8\", \"sec1\", \"serde\", \"std\", \"voprf\"]","target":3243834021826523897,"profile":8276155916380437441,"path":2289879042437262306,"deps":[[5218994449591892524,"sec1",false,12223479887188927811],[11558297082666387394,"crypto_bigint",false,3089221806951026160],[12865141776541797048,"zeroize",false,11213441002442849774],[13163366046229301192,"group",false,11660010612660059348],[16464744132169923781,"ff",false,9800029187273650586],[16530257588157702925,"base16ct",false,16037989609485754596],[17003143334332120809,"subtle",false,210798614867005631],[17475753849556516473,"digest",false,3007548742343774835],[17738927884925025478,"generic_array",false,11611745390364329169],[18130209639506977569,"rand_core",false,15569110364959416902]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/elliptic-curve-3d9f75a971655151/dep-lib-elliptic_curve","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/dep-lib-equivalent b/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/dep-lib-equivalent new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/dep-lib-equivalent differ diff --git a/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/invoked.timestamp b/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/lib-equivalent b/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/lib-equivalent new file mode 100644 index 00000000..f0f4f865 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/lib-equivalent @@ -0,0 +1 @@ +d6eb1644187a455f \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/lib-equivalent.json b/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/lib-equivalent.json new file mode 100644 index 00000000..0379fa2c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/equivalent-0716044aa765588b/lib-equivalent.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":1524667692659508025,"profile":8276155916380437441,"path":8979896850145927304,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/equivalent-0716044aa765588b/dep-lib-equivalent","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/dep-lib-equivalent b/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/dep-lib-equivalent new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/dep-lib-equivalent differ diff --git a/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/invoked.timestamp b/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/lib-equivalent b/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/lib-equivalent new file mode 100644 index 00000000..76dee6f6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/lib-equivalent @@ -0,0 +1 @@ +f8d18ab21f2df3f8 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/lib-equivalent.json b/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/lib-equivalent.json new file mode 100644 index 00000000..1b1fecba --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/equivalent-87f726e4f2cd0f95/lib-equivalent.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":1524667692659508025,"profile":3033921117576893,"path":8979896850145927304,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/equivalent-87f726e4f2cd0f95/dep-lib-equivalent","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/dep-lib-escape_bytes b/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/dep-lib-escape_bytes new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/dep-lib-escape_bytes differ diff --git a/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/invoked.timestamp b/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/lib-escape_bytes b/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/lib-escape_bytes new file mode 100644 index 00000000..1b68d015 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/lib-escape_bytes @@ -0,0 +1 @@ +83cc6d768da2a517 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/lib-escape_bytes.json b/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/lib-escape_bytes.json new file mode 100644 index 00000000..064d7ca2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/escape-bytes-0793e7d5e248663a/lib-escape_bytes.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\"]","declared_features":"[\"alloc\", \"default\", \"docs\"]","target":3065496384306250813,"profile":8276155916380437441,"path":3252319247736638377,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/escape-bytes-0793e7d5e248663a/dep-lib-escape_bytes","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/dep-lib-escape_bytes b/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/dep-lib-escape_bytes new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/dep-lib-escape_bytes differ diff --git a/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/invoked.timestamp b/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/lib-escape_bytes b/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/lib-escape_bytes new file mode 100644 index 00000000..90d5a73b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/lib-escape_bytes @@ -0,0 +1 @@ +42f750a0a6cc6bd0 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/lib-escape_bytes.json b/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/lib-escape_bytes.json new file mode 100644 index 00000000..c7902b89 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/lib-escape_bytes.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\"]","declared_features":"[\"alloc\", \"default\", \"docs\"]","target":3065496384306250813,"profile":3033921117576893,"path":3252319247736638377,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/escape-bytes-1a79ffb0a6f5486a/dep-lib-escape_bytes","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/dep-lib-ethnum b/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/dep-lib-ethnum new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/dep-lib-ethnum differ diff --git a/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/invoked.timestamp b/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/lib-ethnum b/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/lib-ethnum new file mode 100644 index 00000000..46b91d9a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/lib-ethnum @@ -0,0 +1 @@ +0f5444945d843bb1 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/lib-ethnum.json b/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/lib-ethnum.json new file mode 100644 index 00000000..e4d66408 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/lib-ethnum.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"ethnum-intrinsics\", \"llvm-intrinsics\", \"macros\", \"serde\"]","target":11101709943660853555,"profile":8276155916380437441,"path":16518085712543349957,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/ethnum-5decaa31cdba7012/dep-lib-ethnum","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/dep-lib-ethnum b/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/dep-lib-ethnum new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/dep-lib-ethnum differ diff --git a/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/invoked.timestamp b/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/lib-ethnum b/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/lib-ethnum new file mode 100644 index 00000000..983bba49 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/lib-ethnum @@ -0,0 +1 @@ +f2c4d62ac72dc616 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/lib-ethnum.json b/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/lib-ethnum.json new file mode 100644 index 00000000..9ec35ad0 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ethnum-a0cb26c82052fdd3/lib-ethnum.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"ethnum-intrinsics\", \"llvm-intrinsics\", \"macros\", \"serde\"]","target":11101709943660853555,"profile":3033921117576893,"path":16518085712543349957,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/ethnum-a0cb26c82052fdd3/dep-lib-ethnum","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/dep-lib-ff b/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/dep-lib-ff new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/dep-lib-ff differ diff --git a/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/invoked.timestamp b/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/lib-ff b/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/lib-ff new file mode 100644 index 00000000..f69213a0 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/lib-ff @@ -0,0 +1 @@ +9af1e77f9fb20088 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/lib-ff.json b/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/lib-ff.json new file mode 100644 index 00000000..b7578cda --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ff-8c9e1278f4942f53/lib-ff.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"alloc\", \"bits\", \"bitvec\", \"byteorder\", \"default\", \"derive\", \"derive_bits\", \"ff_derive\", \"std\"]","target":8731611455144862167,"profile":8276155916380437441,"path":6172418507351386780,"deps":[[17003143334332120809,"subtle",false,210798614867005631],[18130209639506977569,"rand_core",false,15569110364959416902]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/ff-8c9e1278f4942f53/dep-lib-ff","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/dep-lib-fnv b/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/dep-lib-fnv new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/dep-lib-fnv differ diff --git a/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/invoked.timestamp b/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/lib-fnv b/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/lib-fnv new file mode 100644 index 00000000..03a8f188 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/lib-fnv @@ -0,0 +1 @@ +899a73232b1c3259 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/lib-fnv.json b/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/lib-fnv.json new file mode 100644 index 00000000..db196c56 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/fnv-834f935a7e7f2447/lib-fnv.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"std\"]","target":10248144769085601448,"profile":3033921117576893,"path":15567640662168396501,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/fnv-834f935a7e7f2447/dep-lib-fnv","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-118442df03775164/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/generic-array-118442df03775164/run-build-script-build-script-build new file mode 100644 index 00000000..172c6eff --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-118442df03775164/run-build-script-build-script-build @@ -0,0 +1 @@ +3903bf8b329de433 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-118442df03775164/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/generic-array-118442df03775164/run-build-script-build-script-build.json new file mode 100644 index 00000000..72937b15 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-118442df03775164/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[17738927884925025478,"build_script_build",false,10395397186896648567]],"local":[{"Precalculated":"0.14.9"}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-3a33324ad3364c1b/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/generic-array-3a33324ad3364c1b/run-build-script-build-script-build new file mode 100644 index 00000000..fd2a025d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-3a33324ad3364c1b/run-build-script-build-script-build @@ -0,0 +1 @@ +3835ac27d471d51d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-3a33324ad3364c1b/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/generic-array-3a33324ad3364c1b/run-build-script-build-script-build.json new file mode 100644 index 00000000..a3abda96 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-3a33324ad3364c1b/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[17738927884925025478,"build_script_build",false,1636221053468484139]],"local":[{"Precalculated":"0.14.9"}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/dep-lib-generic_array b/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/dep-lib-generic_array new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/dep-lib-generic_array differ diff --git a/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/invoked.timestamp b/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/lib-generic_array b/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/lib-generic_array new file mode 100644 index 00000000..e6a812c3 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/lib-generic_array @@ -0,0 +1 @@ +d104f22ee93425a1 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/lib-generic_array.json b/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/lib-generic_array.json new file mode 100644 index 00000000..793e038c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-500f1fc443e80ab3/lib-generic_array.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"more_lengths\", \"zeroize\"]","declared_features":"[\"more_lengths\", \"serde\", \"zeroize\"]","target":13084005262763373425,"profile":8276155916380437441,"path":585391343979590286,"deps":[[857979250431893282,"typenum",false,706492094234560198],[12865141776541797048,"zeroize",false,11213441002442849774],[17738927884925025478,"build_script_build",false,3739286431042831161]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/generic-array-500f1fc443e80ab3/dep-lib-generic_array","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/build-script-build-script-build new file mode 100644 index 00000000..566ee2f4 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/build-script-build-script-build @@ -0,0 +1 @@ +2b22010a6106b516 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/build-script-build-script-build.json new file mode 100644 index 00000000..6dabb9a8 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"more_lengths\"]","declared_features":"[\"more_lengths\", \"serde\", \"zeroize\"]","target":12318548087768197662,"profile":3033921117576893,"path":14016750247158975116,"deps":[[5398981501050481332,"version_check",false,3919582833395090196]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/generic-array-b68612ecb6de0d34/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/invoked.timestamp b/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-b68612ecb6de0d34/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/dep-lib-generic_array b/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/dep-lib-generic_array new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/dep-lib-generic_array differ diff --git a/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/invoked.timestamp b/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/lib-generic_array b/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/lib-generic_array new file mode 100644 index 00000000..f30faa85 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/lib-generic_array @@ -0,0 +1 @@ +365921e3c05fca9e \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/lib-generic_array.json b/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/lib-generic_array.json new file mode 100644 index 00000000..84eafeab --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-c07778c573dc7e38/lib-generic_array.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"more_lengths\"]","declared_features":"[\"more_lengths\", \"serde\", \"zeroize\"]","target":13084005262763373425,"profile":3033921117576893,"path":585391343979590286,"deps":[[857979250431893282,"typenum",false,16691380470586446647],[17738927884925025478,"build_script_build",false,2149749553151882552]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/generic-array-c07778c573dc7e38/dep-lib-generic_array","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/build-script-build-script-build new file mode 100644 index 00000000..1a62cf89 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/build-script-build-script-build @@ -0,0 +1 @@ +77d91110aade4390 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/build-script-build-script-build.json new file mode 100644 index 00000000..a445ef39 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"more_lengths\", \"zeroize\"]","declared_features":"[\"more_lengths\", \"serde\", \"zeroize\"]","target":12318548087768197662,"profile":3033921117576893,"path":14016750247158975116,"deps":[[5398981501050481332,"version_check",false,3919582833395090196]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/generic-array-f840049712324e34/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/invoked.timestamp b/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/generic-array-f840049712324e34/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/dep-lib-getrandom b/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/dep-lib-getrandom new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/dep-lib-getrandom differ diff --git a/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/invoked.timestamp b/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/lib-getrandom b/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/lib-getrandom new file mode 100644 index 00000000..9a1ef124 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/lib-getrandom @@ -0,0 +1 @@ +d1c7f6050ab99cde \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/lib-getrandom.json b/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/lib-getrandom.json new file mode 100644 index 00000000..7023a1b7 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/getrandom-c2554f4558a39879/lib-getrandom.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"js\", \"js-sys\", \"std\", \"wasm-bindgen\"]","declared_features":"[\"compiler_builtins\", \"core\", \"custom\", \"js\", \"js-sys\", \"linux_disable_fallback\", \"rdrand\", \"rustc-dep-of-std\", \"std\", \"test-in-browser\", \"wasm-bindgen\"]","target":16244099637825074703,"profile":8276155916380437441,"path":8638048125879326059,"deps":[[7667230146095136825,"cfg_if",false,15392250989076009176],[17159683253194042242,"libc",false,9433847777383712361]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/getrandom-c2554f4558a39879/dep-lib-getrandom","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/dep-lib-gimli b/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/dep-lib-gimli new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/dep-lib-gimli differ diff --git a/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/invoked.timestamp b/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/lib-gimli b/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/lib-gimli new file mode 100644 index 00000000..9a989a54 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/lib-gimli @@ -0,0 +1 @@ +dd5b197bc710b44b \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/lib-gimli.json b/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/lib-gimli.json new file mode 100644 index 00000000..a5aac6fc --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/gimli-e3b0974d21ede477/lib-gimli.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"read\", \"read-core\"]","declared_features":"[\"default\", \"endian-reader\", \"fallible-iterator\", \"read\", \"read-all\", \"read-core\", \"rustc-dep-of-std\", \"std\", \"write\"]","target":11303284564750886169,"profile":8276155916380437441,"path":17036219892351682924,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/gimli-e3b0974d21ede477/dep-lib-gimli","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/dep-lib-group b/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/dep-lib-group new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/dep-lib-group differ diff --git a/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/invoked.timestamp b/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/lib-group b/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/lib-group new file mode 100644 index 00000000..aa9d039e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/lib-group @@ -0,0 +1 @@ +d43ce3f4dfadd0a1 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/lib-group.json b/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/lib-group.json new file mode 100644 index 00000000..0fbfe858 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/group-62bf58ba7549dd80/lib-group.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"alloc\", \"default\", \"memuse\", \"rand\", \"rand_xorshift\", \"tests\", \"wnaf-memuse\"]","target":11466301788111606965,"profile":8276155916380437441,"path":11999722706543172705,"deps":[[16464744132169923781,"ff",false,9800029187273650586],[17003143334332120809,"subtle",false,210798614867005631],[18130209639506977569,"rand_core",false,15569110364959416902]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/group-62bf58ba7549dd80/dep-lib-group","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/dep-lib-hashbrown b/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/dep-lib-hashbrown new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/dep-lib-hashbrown differ diff --git a/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/invoked.timestamp b/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/lib-hashbrown b/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/lib-hashbrown new file mode 100644 index 00000000..d2c703db --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/lib-hashbrown @@ -0,0 +1 @@ +9e8edfcdb380142a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/lib-hashbrown.json b/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/lib-hashbrown.json new file mode 100644 index 00000000..b933bc2e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hashbrown-85e33829135e7350/lib-hashbrown.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"alloc\", \"allocator-api2\", \"core\", \"default\", \"default-hasher\", \"equivalent\", \"inline-more\", \"nightly\", \"raw-entry\", \"rayon\", \"rustc-dep-of-std\", \"rustc-internal-api\", \"serde\"]","target":13796197676120832388,"profile":8276155916380437441,"path":7386405423497129616,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/hashbrown-85e33829135e7350/dep-lib-hashbrown","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/dep-lib-hashbrown b/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/dep-lib-hashbrown new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/dep-lib-hashbrown differ diff --git a/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/invoked.timestamp b/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/lib-hashbrown b/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/lib-hashbrown new file mode 100644 index 00000000..10900454 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/lib-hashbrown @@ -0,0 +1 @@ +4b440ef11e7070cc \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/lib-hashbrown.json b/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/lib-hashbrown.json new file mode 100644 index 00000000..6b1accfc --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hashbrown-dace2c97b957e08e/lib-hashbrown.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"alloc\", \"allocator-api2\", \"core\", \"default\", \"default-hasher\", \"equivalent\", \"inline-more\", \"nightly\", \"raw-entry\", \"rayon\", \"rustc-dep-of-std\", \"rustc-internal-api\", \"serde\"]","target":13796197676120832388,"profile":3033921117576893,"path":7386405423497129616,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/hashbrown-dace2c97b957e08e/dep-lib-hashbrown","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/dep-lib-hex b/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/dep-lib-hex new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/dep-lib-hex differ diff --git a/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/invoked.timestamp b/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/lib-hex b/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/lib-hex new file mode 100644 index 00000000..81bfaec2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/lib-hex @@ -0,0 +1 @@ +fbd3082c38b1a980 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/lib-hex.json b/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/lib-hex.json new file mode 100644 index 00000000..34f4140b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hex-870a7f489585db33/lib-hex.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"default\", \"serde\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"serde\", \"std\"]","target":4242469766639956503,"profile":8276155916380437441,"path":13363603425714823927,"deps":[[13548984313718623784,"serde",false,2177074147783592976]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/hex-870a7f489585db33/dep-lib-hex","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/dep-lib-hex b/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/dep-lib-hex new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/dep-lib-hex differ diff --git a/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/invoked.timestamp b/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/lib-hex b/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/lib-hex new file mode 100644 index 00000000..9e2fcd4c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/lib-hex @@ -0,0 +1 @@ +d376be0e6bef4a53 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/lib-hex.json b/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/lib-hex.json new file mode 100644 index 00000000..f5979a13 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hex-98750fb57969ed0e/lib-hex.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"default\", \"serde\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"serde\", \"std\"]","target":4242469766639956503,"profile":3033921117576893,"path":13363603425714823927,"deps":[[13548984313718623784,"serde",false,10919998459002261774]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/hex-98750fb57969ed0e/dep-lib-hex","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/dep-lib-hex_literal b/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/dep-lib-hex_literal new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/dep-lib-hex_literal differ diff --git a/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/invoked.timestamp b/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/lib-hex_literal b/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/lib-hex_literal new file mode 100644 index 00000000..6c3fc6e3 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/lib-hex_literal @@ -0,0 +1 @@ +523637df9482d9c9 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/lib-hex_literal.json b/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/lib-hex_literal.json new file mode 100644 index 00000000..fee9c581 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/lib-hex_literal.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":15754120575075727831,"profile":8276155916380437441,"path":6738797257277986019,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/hex-literal-b9d9f7818c060e04/dep-lib-hex_literal","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/dep-lib-hmac b/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/dep-lib-hmac new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/dep-lib-hmac differ diff --git a/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/invoked.timestamp b/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/lib-hmac b/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/lib-hmac new file mode 100644 index 00000000..7be0bd45 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/lib-hmac @@ -0,0 +1 @@ +7676a47171b7897a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/lib-hmac.json b/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/lib-hmac.json new file mode 100644 index 00000000..eed9d611 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/hmac-7ed430e488894c0a/lib-hmac.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"reset\"]","declared_features":"[\"reset\", \"std\"]","target":12991177224612424488,"profile":8276155916380437441,"path":4127670298629321647,"deps":[[17475753849556516473,"digest",false,3007548742343774835]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/hmac-7ed430e488894c0a/dep-lib-hmac","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/dep-lib-ident_case b/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/dep-lib-ident_case new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/dep-lib-ident_case differ diff --git a/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/invoked.timestamp b/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/lib-ident_case b/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/lib-ident_case new file mode 100644 index 00000000..1014a3a5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/lib-ident_case @@ -0,0 +1 @@ +3664d00dbcdfb49b \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/lib-ident_case.json b/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/lib-ident_case.json new file mode 100644 index 00000000..75652dbb --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/lib-ident_case.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":5776078485490251590,"profile":3033921117576893,"path":3351155297979334796,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/ident_case-eafcfcca6a1f8c9f/dep-lib-ident_case","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/dep-lib-indexmap b/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/dep-lib-indexmap new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/dep-lib-indexmap differ diff --git a/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/invoked.timestamp b/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/lib-indexmap b/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/lib-indexmap new file mode 100644 index 00000000..6a0e9505 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/lib-indexmap @@ -0,0 +1 @@ +e64c8bef09237d23 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/lib-indexmap.json b/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/lib-indexmap.json new file mode 100644 index 00000000..101a584e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/indexmap-0d197c4d56175586/lib-indexmap.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"arbitrary\", \"borsh\", \"default\", \"quickcheck\", \"rayon\", \"serde\", \"std\", \"sval\", \"test_debug\"]","target":10391229881554802429,"profile":6277968131783520633,"path":432637522930069317,"deps":[[5230392855116717286,"equivalent",false,17938731354909495800],[17037126617600641945,"hashbrown",false,14731397659324466251]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/indexmap-0d197c4d56175586/dep-lib-indexmap","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/dep-lib-indexmap b/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/dep-lib-indexmap new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/dep-lib-indexmap differ diff --git a/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/invoked.timestamp b/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/lib-indexmap b/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/lib-indexmap new file mode 100644 index 00000000..2c74c2e5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/lib-indexmap @@ -0,0 +1 @@ +1aedc8be13714b9c \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/lib-indexmap.json b/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/lib-indexmap.json new file mode 100644 index 00000000..090222d1 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/indexmap-731e5fd289465b9e/lib-indexmap.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"arbitrary\", \"borsh\", \"default\", \"quickcheck\", \"rayon\", \"serde\", \"std\", \"sval\", \"test_debug\"]","target":10391229881554802429,"profile":10735569672703643688,"path":432637522930069317,"deps":[[5230392855116717286,"equivalent",false,6865027451636345814],[17037126617600641945,"hashbrown",false,3032189958868668062]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/indexmap-731e5fd289465b9e/dep-lib-indexmap","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/dep-lib-indexmap_nostd b/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/dep-lib-indexmap_nostd new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/dep-lib-indexmap_nostd differ diff --git a/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/invoked.timestamp b/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/lib-indexmap_nostd b/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/lib-indexmap_nostd new file mode 100644 index 00000000..be982181 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/lib-indexmap_nostd @@ -0,0 +1 @@ +181f10e7eb923bac \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/lib-indexmap_nostd.json b/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/lib-indexmap_nostd.json new file mode 100644 index 00000000..c2cb363c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/lib-indexmap_nostd.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"std\"]","declared_features":"[\"default\", \"serde\", \"std\"]","target":2510687274398202539,"profile":8276155916380437441,"path":418703401120376061,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/indexmap-nostd-5aea63fbf2120b45/dep-lib-indexmap_nostd","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/dep-lib-itertools b/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/dep-lib-itertools new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/dep-lib-itertools differ diff --git a/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/invoked.timestamp b/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/lib-itertools b/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/lib-itertools new file mode 100644 index 00000000..78a74a2b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/lib-itertools @@ -0,0 +1 @@ +c2869f8ae2c2cc05 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/lib-itertools.json b/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/lib-itertools.json new file mode 100644 index 00000000..a2795830 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/itertools-6bd0744ad8ad48ae/lib-itertools.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"use_alloc\", \"use_std\"]","declared_features":"[\"default\", \"use_alloc\", \"use_std\"]","target":9541170365560449339,"profile":3033921117576893,"path":10756261489692548242,"deps":[[12170264697963848012,"either",false,9161528719676676014]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/itertools-6bd0744ad8ad48ae/dep-lib-itertools","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/dep-lib-itoa b/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/dep-lib-itoa new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/dep-lib-itoa differ diff --git a/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/invoked.timestamp b/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/lib-itoa b/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/lib-itoa new file mode 100644 index 00000000..5e1341c0 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/lib-itoa @@ -0,0 +1 @@ +f47bfdb5cdd074aa \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/lib-itoa.json b/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/lib-itoa.json new file mode 100644 index 00000000..e122c4a6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/itoa-0f70b8670e573295/lib-itoa.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"no-panic\"]","target":18426369533666673425,"profile":8276155916380437441,"path":6477318570111239098,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/itoa-0f70b8670e573295/dep-lib-itoa","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/dep-lib-itoa b/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/dep-lib-itoa new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/dep-lib-itoa differ diff --git a/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/invoked.timestamp b/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/lib-itoa b/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/lib-itoa new file mode 100644 index 00000000..c2cde252 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/lib-itoa @@ -0,0 +1 @@ +2ce97dd75be0e07d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/lib-itoa.json b/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/lib-itoa.json new file mode 100644 index 00000000..816212f8 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/itoa-7dc258a918c8a510/lib-itoa.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"no-panic\"]","target":18426369533666673425,"profile":3033921117576893,"path":6477318570111239098,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/itoa-7dc258a918c8a510/dep-lib-itoa","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/dep-lib-k256 b/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/dep-lib-k256 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/dep-lib-k256 differ diff --git a/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/invoked.timestamp b/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/lib-k256 b/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/lib-k256 new file mode 100644 index 00000000..5f5eab24 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/lib-k256 @@ -0,0 +1 @@ +958c09f8dcd4be9d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/lib-k256.json b/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/lib-k256.json new file mode 100644 index 00000000..105f5fba --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/k256-6b9ce0255332429e/lib-k256.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"arithmetic\", \"digest\", \"ecdsa\", \"ecdsa-core\", \"sha2\", \"sha256\"]","declared_features":"[\"alloc\", \"arithmetic\", \"bits\", \"critical-section\", \"default\", \"digest\", \"ecdh\", \"ecdsa\", \"ecdsa-core\", \"expose-field\", \"hash2curve\", \"hex-literal\", \"jwk\", \"once_cell\", \"pem\", \"pkcs8\", \"precomputed-tables\", \"schnorr\", \"serde\", \"serdect\", \"sha2\", \"sha256\", \"signature\", \"std\", \"test-vectors\"]","target":2074457694779954094,"profile":8276155916380437441,"path":1281119162589798096,"deps":[[2348975382319678783,"ecdsa_core",false,14000351277970358359],[7667230146095136825,"cfg_if",false,15392250989076009176],[9857275760291862238,"sha2",false,1965038948273142758],[10149501514950982522,"elliptic_curve",false,8704759523787881051]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/k256-6b9ce0255332429e/dep-lib-k256","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/dep-lib-keccak b/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/dep-lib-keccak new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/dep-lib-keccak differ diff --git a/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/invoked.timestamp b/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/lib-keccak b/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/lib-keccak new file mode 100644 index 00000000..6523c372 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/lib-keccak @@ -0,0 +1 @@ +c462a6aa49f75cf8 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/lib-keccak.json b/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/lib-keccak.json new file mode 100644 index 00000000..a78e6fe6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/keccak-713ac346f7130dd5/lib-keccak.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"asm\", \"no_unroll\", \"simd\"]","target":7231245453166778729,"profile":8276155916380437441,"path":187192228596635737,"deps":[[17620084158052398167,"cpufeatures",false,10162173065779541675]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/keccak-713ac346f7130dd5/dep-lib-keccak","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/dep-lib-libc b/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/dep-lib-libc new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/dep-lib-libc differ diff --git a/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/invoked.timestamp b/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/lib-libc b/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/lib-libc new file mode 100644 index 00000000..298ef2c5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/lib-libc @@ -0,0 +1 @@ +9c6893c299149d5a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/lib-libc.json b/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/lib-libc.json new file mode 100644 index 00000000..1bf63998 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-20c98c45b8f6b445/lib-libc.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"align\", \"const-extern-fn\", \"default\", \"extra_traits\", \"rustc-dep-of-std\", \"rustc-std-workspace-core\", \"std\", \"use_std\"]","target":17682796336736096309,"profile":3039969951022573740,"path":12931705598895533872,"deps":[[17159683253194042242,"build_script_build",false,15615112417380945139]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/libc-20c98c45b8f6b445/dep-lib-libc","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-270d6a6c526ae0ff/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/libc-270d6a6c526ae0ff/run-build-script-build-script-build new file mode 100644 index 00000000..b43e3af4 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-270d6a6c526ae0ff/run-build-script-build-script-build @@ -0,0 +1 @@ +f34cc8dd0206b4d8 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-270d6a6c526ae0ff/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/libc-270d6a6c526ae0ff/run-build-script-build-script-build.json new file mode 100644 index 00000000..3051094e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-270d6a6c526ae0ff/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[17159683253194042242,"build_script_build",false,5124534842666642014]],"local":[{"RerunIfChanged":{"output":"debug/build/libc-270d6a6c526ae0ff/output","paths":["build.rs"]}},{"RerunIfEnvChanged":{"var":"RUST_LIBC_UNSTABLE_FREEBSD_VERSION","val":null}},{"RerunIfEnvChanged":{"var":"RUST_LIBC_UNSTABLE_MUSL_V1_2_3","val":null}},{"RerunIfEnvChanged":{"var":"RUST_LIBC_UNSTABLE_LINUX_TIME_BITS64","val":null}},{"RerunIfEnvChanged":{"var":"RUST_LIBC_UNSTABLE_GNU_FILE_OFFSET_BITS","val":null}},{"RerunIfEnvChanged":{"var":"RUST_LIBC_UNSTABLE_GNU_TIME_BITS","val":null}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/build-script-build-script-build new file mode 100644 index 00000000..35bf9087 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/build-script-build-script-build @@ -0,0 +1 @@ +5eea41d849011e47 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/build-script-build-script-build.json new file mode 100644 index 00000000..b6459e28 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"align\", \"const-extern-fn\", \"default\", \"extra_traits\", \"rustc-dep-of-std\", \"rustc-std-workspace-core\", \"std\", \"use_std\"]","target":5408242616063297496,"profile":3039969951022573740,"path":6258307782495571534,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/libc-371d824000c86158/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/invoked.timestamp b/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-371d824000c86158/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/dep-lib-libc b/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/dep-lib-libc new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/dep-lib-libc differ diff --git a/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/invoked.timestamp b/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/lib-libc b/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/lib-libc new file mode 100644 index 00000000..c6ae1e20 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/lib-libc @@ -0,0 +1 @@ +6986102492c2eb82 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/lib-libc.json b/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/lib-libc.json new file mode 100644 index 00000000..26b8ef82 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libc-7dcb08174068873c/lib-libc.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"align\", \"const-extern-fn\", \"default\", \"extra_traits\", \"rustc-dep-of-std\", \"rustc-std-workspace-core\", \"std\", \"use_std\"]","target":17682796336736096309,"profile":9845369694348380695,"path":12931705598895533872,"deps":[[17159683253194042242,"build_script_build",false,15615112417380945139]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/libc-7dcb08174068873c/dep-lib-libc","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/dep-lib-libm b/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/dep-lib-libm new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/dep-lib-libm differ diff --git a/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/invoked.timestamp b/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/lib-libm b/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/lib-libm new file mode 100644 index 00000000..bedb5c17 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/lib-libm @@ -0,0 +1 @@ +5a8041cb060bf09a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/lib-libm.json b/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/lib-libm.json new file mode 100644 index 00000000..7ed5b4c1 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libm-5a46d4a916686723/lib-libm.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"arch\", \"default\"]","declared_features":"[\"arch\", \"default\", \"force-soft-floats\", \"unstable\", \"unstable-float\", \"unstable-intrinsics\", \"unstable-public-internals\"]","target":9164340821866854471,"profile":17530148356643733971,"path":8329117803031955426,"deps":[[8471564120405487369,"build_script_build",false,7609925292226676425]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/libm-5a46d4a916686723/dep-lib-libm","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/build-script-build-script-build new file mode 100644 index 00000000..665823d3 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/build-script-build-script-build @@ -0,0 +1 @@ +a353cc812968e457 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/build-script-build-script-build.json new file mode 100644 index 00000000..dc2ad39d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"arch\", \"default\"]","declared_features":"[\"arch\", \"default\", \"force-soft-floats\", \"unstable\", \"unstable-float\", \"unstable-intrinsics\", \"unstable-public-internals\"]","target":5408242616063297496,"profile":17593434979923290166,"path":17268965591913561222,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/libm-af15f2bfc2fe2a64/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/invoked.timestamp b/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libm-af15f2bfc2fe2a64/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libm-f48c10a39953130c/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/libm-f48c10a39953130c/run-build-script-build-script-build new file mode 100644 index 00000000..ad1807c0 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libm-f48c10a39953130c/run-build-script-build-script-build @@ -0,0 +1 @@ +c9866ef2bbe29b69 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/libm-f48c10a39953130c/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/libm-f48c10a39953130c/run-build-script-build-script-build.json new file mode 100644 index 00000000..665463e1 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/libm-f48c10a39953130c/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[8471564120405487369,"build_script_build",false,6333301503470359459]],"local":[{"RerunIfChanged":{"output":"debug/build/libm-f48c10a39953130c/output","paths":["build.rs","configure.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/dep-lib-memchr b/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/dep-lib-memchr new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/dep-lib-memchr differ diff --git a/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/invoked.timestamp b/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/lib-memchr b/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/lib-memchr new file mode 100644 index 00000000..9085ba54 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/lib-memchr @@ -0,0 +1 @@ +dc7cfc5b29012ff7 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/lib-memchr.json b/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/lib-memchr.json new file mode 100644 index 00000000..d104dfb3 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/memchr-27aa143b1a2d0528/lib-memchr.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"std\"]","declared_features":"[\"alloc\", \"core\", \"default\", \"libc\", \"logging\", \"rustc-dep-of-std\", \"std\", \"use_std\"]","target":11745930252914242013,"profile":8276155916380437441,"path":858157952801393299,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/memchr-27aa143b1a2d0528/dep-lib-memchr","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/dep-lib-memchr b/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/dep-lib-memchr new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/dep-lib-memchr differ diff --git a/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/invoked.timestamp b/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/lib-memchr b/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/lib-memchr new file mode 100644 index 00000000..d483f01b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/lib-memchr @@ -0,0 +1 @@ +7277a163443ffd6c \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/lib-memchr.json b/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/lib-memchr.json new file mode 100644 index 00000000..7d003598 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/memchr-d5cf84f67fc9f1ba/lib-memchr.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"std\"]","declared_features":"[\"alloc\", \"core\", \"default\", \"libc\", \"logging\", \"rustc-dep-of-std\", \"std\", \"use_std\"]","target":11745930252914242013,"profile":3033921117576893,"path":858157952801393299,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/memchr-d5cf84f67fc9f1ba/dep-lib-memchr","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/dep-lib-miniz_oxide b/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/dep-lib-miniz_oxide new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/dep-lib-miniz_oxide differ diff --git a/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/invoked.timestamp b/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/lib-miniz_oxide b/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/lib-miniz_oxide new file mode 100644 index 00000000..3634ae6e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/lib-miniz_oxide @@ -0,0 +1 @@ +ca954dd63fc09402 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/lib-miniz_oxide.json b/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/lib-miniz_oxide.json new file mode 100644 index 00000000..7d111320 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/miniz_oxide-e781165208315a60/lib-miniz_oxide.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"alloc\", \"block-boundary\", \"core\", \"default\", \"rustc-dep-of-std\", \"serde\", \"simd\", \"simd-adler32\", \"std\", \"with-alloc\"]","target":8661567070972402511,"profile":7103650835353764149,"path":1936944691504513385,"deps":[[7911289239703230891,"adler2",false,6449812363823321881]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/miniz_oxide-e781165208315a60/dep-lib-miniz_oxide","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/dep-lib-num_bigint b/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/dep-lib-num_bigint new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/dep-lib-num_bigint differ diff --git a/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/invoked.timestamp b/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/lib-num_bigint b/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/lib-num_bigint new file mode 100644 index 00000000..44a7834c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/lib-num_bigint @@ -0,0 +1 @@ +a4f072b880071b0d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/lib-num_bigint.json b/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/lib-num_bigint.json new file mode 100644 index 00000000..f151a796 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/lib-num_bigint.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"arbitrary\", \"default\", \"quickcheck\", \"rand\", \"serde\", \"std\"]","target":4386859821456661766,"profile":3033921117576893,"path":4711528862196835188,"deps":[[5157631553186200874,"num_traits",false,5497914550751514236],[16795989132585092538,"num_integer",false,11534889840000647313]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/num-bigint-6f674b7d1b88a9c9/dep-lib-num_bigint","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/dep-lib-num_derive b/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/dep-lib-num_derive new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/dep-lib-num_derive differ diff --git a/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/invoked.timestamp b/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/lib-num_derive b/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/lib-num_derive new file mode 100644 index 00000000..89eaae29 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/lib-num_derive @@ -0,0 +1 @@ +e51f31c9a39ec951 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/lib-num_derive.json b/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/lib-num_derive.json new file mode 100644 index 00000000..88d96b10 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-derive-9992360f7b98a7cd/lib-num_derive.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":4998366701969184951,"profile":3033921117576893,"path":12029732283560673001,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/num-derive-9992360f7b98a7cd/dep-lib-num_derive","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/dep-lib-num_integer b/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/dep-lib-num_integer new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/dep-lib-num_integer differ diff --git a/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/invoked.timestamp b/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/lib-num_integer b/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/lib-num_integer new file mode 100644 index 00000000..594067da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/lib-num_integer @@ -0,0 +1 @@ +156dd72f3ec3783b \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/lib-num_integer.json b/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/lib-num_integer.json new file mode 100644 index 00000000..bb4ea75c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/lib-num_integer.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"i128\", \"std\"]","target":7628309033881264685,"profile":8276155916380437441,"path":17912958115066603338,"deps":[[5157631553186200874,"num_traits",false,13000283769285587416]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/num-integer-1c7e7f50a371ca3f/dep-lib-num_integer","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/dep-lib-num_integer b/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/dep-lib-num_integer new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/dep-lib-num_integer differ diff --git a/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/invoked.timestamp b/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/lib-num_integer b/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/lib-num_integer new file mode 100644 index 00000000..3ef49975 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/lib-num_integer @@ -0,0 +1 @@ +914080ec312914a0 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/lib-num_integer.json b/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/lib-num_integer.json new file mode 100644 index 00000000..4e979f73 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-integer-90b698aaab26fe85/lib-num_integer.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"i128\", \"std\"]","declared_features":"[\"default\", \"i128\", \"std\"]","target":7628309033881264685,"profile":3033921117576893,"path":17912958115066603338,"deps":[[5157631553186200874,"num_traits",false,5497914550751514236]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/num-integer-90b698aaab26fe85/dep-lib-num_integer","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/build-script-build-script-build new file mode 100644 index 00000000..31b55131 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/build-script-build-script-build @@ -0,0 +1 @@ +f57caae99665ac56 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/build-script-build-script-build.json new file mode 100644 index 00000000..90cbc523 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"i128\", \"std\"]","declared_features":"[\"default\", \"i128\", \"libm\", \"std\"]","target":5408242616063297496,"profile":3033921117576893,"path":13332802627536149003,"deps":[[13927012481677012980,"autocfg",false,4040745292596184473]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/num-traits-1db0d39e08e4d6e9/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/invoked.timestamp b/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-1db0d39e08e4d6e9/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-1e3dd4effda6684a/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/num-traits-1e3dd4effda6684a/run-build-script-build-script-build new file mode 100644 index 00000000..907cc5fe --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-1e3dd4effda6684a/run-build-script-build-script-build @@ -0,0 +1 @@ +d444f642043374c6 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-1e3dd4effda6684a/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/num-traits-1e3dd4effda6684a/run-build-script-build-script-build.json new file mode 100644 index 00000000..86aca5bf --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-1e3dd4effda6684a/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[5157631553186200874,"build_script_build",false,15587355745798229425]],"local":[{"RerunIfChanged":{"output":"debug/build/num-traits-1e3dd4effda6684a/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/dep-lib-num_traits b/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/dep-lib-num_traits new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/dep-lib-num_traits differ diff --git a/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/invoked.timestamp b/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/lib-num_traits b/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/lib-num_traits new file mode 100644 index 00000000..4130079c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/lib-num_traits @@ -0,0 +1 @@ +d8318baf35496ab4 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/lib-num_traits.json b/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/lib-num_traits.json new file mode 100644 index 00000000..a8834961 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-285e0e962b720dfe/lib-num_traits.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"i128\", \"std\"]","declared_features":"[\"default\", \"i128\", \"libm\", \"std\"]","target":4278088450330190724,"profile":8276155916380437441,"path":1630149181753704517,"deps":[[5157631553186200874,"build_script_build",false,14300110810204488916]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/num-traits-285e0e962b720dfe/dep-lib-num_traits","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-9eae048d9c3af2cd/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/num-traits-9eae048d9c3af2cd/run-build-script-build-script-build new file mode 100644 index 00000000..550b3d39 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-9eae048d9c3af2cd/run-build-script-build-script-build @@ -0,0 +1 @@ +09e60a76a8fb956e \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-9eae048d9c3af2cd/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/num-traits-9eae048d9c3af2cd/run-build-script-build-script-build.json new file mode 100644 index 00000000..2b936c5a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-9eae048d9c3af2cd/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[5157631553186200874,"build_script_build",false,6245478482095799541]],"local":[{"RerunIfChanged":{"output":"debug/build/num-traits-9eae048d9c3af2cd/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/dep-lib-num_traits b/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/dep-lib-num_traits new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/dep-lib-num_traits differ diff --git a/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/invoked.timestamp b/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/lib-num_traits b/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/lib-num_traits new file mode 100644 index 00000000..68ea48ab --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/lib-num_traits @@ -0,0 +1 @@ +7ccefe9a27844c4c \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/lib-num_traits.json b/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/lib-num_traits.json new file mode 100644 index 00000000..221760ad --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-d3a4981131fe3181/lib-num_traits.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"i128\", \"std\"]","declared_features":"[\"default\", \"i128\", \"libm\", \"std\"]","target":4278088450330190724,"profile":3033921117576893,"path":1630149181753704517,"deps":[[5157631553186200874,"build_script_build",false,7968551816655463945]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/num-traits-d3a4981131fe3181/dep-lib-num_traits","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/build-script-build-script-build new file mode 100644 index 00000000..b22ce97a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/build-script-build-script-build @@ -0,0 +1 @@ +b18df227776951d8 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/build-script-build-script-build.json new file mode 100644 index 00000000..1b9c10db --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"i128\", \"std\"]","declared_features":"[\"default\", \"i128\", \"libm\", \"std\"]","target":5408242616063297496,"profile":3033921117576893,"path":13332802627536149003,"deps":[[13927012481677012980,"autocfg",false,4040745292596184473]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/num-traits-f6953812d8889487/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/invoked.timestamp b/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/num-traits-f6953812d8889487/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/object-1eb0e5f6668d5727/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/object-1eb0e5f6668d5727/run-build-script-build-script-build new file mode 100644 index 00000000..2eee10a5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/object-1eb0e5f6668d5727/run-build-script-build-script-build @@ -0,0 +1 @@ +0143552a0fbb8005 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/object-1eb0e5f6668d5727/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/object-1eb0e5f6668d5727/run-build-script-build-script-build.json new file mode 100644 index 00000000..5f12baa0 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/object-1eb0e5f6668d5727/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[16932210417220992785,"build_script_build",false,6559772857583204042]],"local":[{"Precalculated":"0.37.3"}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/dep-lib-object b/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/dep-lib-object new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/dep-lib-object differ diff --git a/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/invoked.timestamp b/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/lib-object b/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/lib-object new file mode 100644 index 00000000..44c8d3e2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/lib-object @@ -0,0 +1 @@ +e9e6c133b1f0f44b \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/lib-object.json b/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/lib-object.json new file mode 100644 index 00000000..18a62fb7 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/object-ac254c351c416f75/lib-object.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"archive\", \"coff\", \"elf\", \"macho\", \"pe\", \"read_core\", \"unaligned\", \"xcoff\"]","declared_features":"[\"all\", \"alloc\", \"archive\", \"build\", \"build_core\", \"cargo-all\", \"coff\", \"compression\", \"core\", \"default\", \"doc\", \"elf\", \"macho\", \"pe\", \"read\", \"read_core\", \"rustc-dep-of-std\", \"std\", \"unaligned\", \"unstable\", \"unstable-all\", \"wasm\", \"write\", \"write_core\", \"write_std\", \"xcoff\"]","target":5743048264439000431,"profile":15709898514853322765,"path":16875948126563558514,"deps":[[1363051979936526615,"memchr",false,17811456328422161628],[16932210417220992785,"build_script_build",false,396522441017737985]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/object-ac254c351c416f75/dep-lib-object","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/build-script-build-script-build new file mode 100644 index 00000000..ff924024 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/build-script-build-script-build @@ -0,0 +1 @@ +caf67ea7a8fe085b \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/build-script-build-script-build.json new file mode 100644 index 00000000..1366f5f8 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"archive\", \"coff\", \"elf\", \"macho\", \"pe\", \"read_core\", \"unaligned\", \"xcoff\"]","declared_features":"[\"all\", \"alloc\", \"archive\", \"build\", \"build_core\", \"cargo-all\", \"coff\", \"compression\", \"core\", \"default\", \"doc\", \"elf\", \"macho\", \"pe\", \"read\", \"read_core\", \"rustc-dep-of-std\", \"std\", \"unaligned\", \"unstable\", \"unstable-all\", \"wasm\", \"write\", \"write_core\", \"write_std\", \"xcoff\"]","target":17883862002600103897,"profile":11614287662930817310,"path":1049402868365375801,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/object-c15c6cd53b244d69/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/invoked.timestamp b/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/object-c15c6cd53b244d69/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/dep-lib-p256 b/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/dep-lib-p256 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/dep-lib-p256 differ diff --git a/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/invoked.timestamp b/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/lib-p256 b/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/lib-p256 new file mode 100644 index 00000000..e67f0c54 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/lib-p256 @@ -0,0 +1 @@ +69487e7b0019e9d6 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/lib-p256.json b/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/lib-p256.json new file mode 100644 index 00000000..bd3f1783 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/lib-p256.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"arithmetic\", \"digest\", \"ecdsa\", \"ecdsa-core\", \"sha2\", \"sha256\"]","declared_features":"[\"alloc\", \"arithmetic\", \"bits\", \"default\", \"digest\", \"ecdh\", \"ecdsa\", \"ecdsa-core\", \"expose-field\", \"hash2curve\", \"jwk\", \"pem\", \"pkcs8\", \"serde\", \"serdect\", \"sha2\", \"sha256\", \"std\", \"test-vectors\", \"voprf\"]","target":7637966021166195936,"profile":8276155916380437441,"path":8378582114457009917,"deps":[[2348975382319678783,"ecdsa_core",false,14000351277970358359],[9160154035470875510,"primeorder",false,744897776123676326],[9857275760291862238,"sha2",false,1965038948273142758],[10149501514950982522,"elliptic_curve",false,8704759523787881051]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/p256-5dc17bd41fa7c3be/dep-lib-p256","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/dep-lib-paste b/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/dep-lib-paste new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/dep-lib-paste differ diff --git a/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/invoked.timestamp b/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/lib-paste b/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/lib-paste new file mode 100644 index 00000000..bf8be13d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/lib-paste @@ -0,0 +1 @@ +345568cf663e2d27 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/lib-paste.json b/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/lib-paste.json new file mode 100644 index 00000000..0cfb48fb --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/paste-411cf0279df5c704/lib-paste.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":13051495773103412369,"profile":3033921117576893,"path":6070870072792745895,"deps":[[17605717126308396068,"build_script_build",false,4453022860217291309]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/paste-411cf0279df5c704/dep-lib-paste","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/build-script-build-script-build new file mode 100644 index 00000000..fcebff07 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/build-script-build-script-build @@ -0,0 +1 @@ +cbb2909e1a1e7b66 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/build-script-build-script-build.json new file mode 100644 index 00000000..1cb0d401 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":17883862002600103897,"profile":3033921117576893,"path":298704722553830109,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/paste-636b02fd24b70fce/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/invoked.timestamp b/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/paste-636b02fd24b70fce/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/paste-70dbc3592a2698dc/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/paste-70dbc3592a2698dc/run-build-script-build-script-build new file mode 100644 index 00000000..11a7a744 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/paste-70dbc3592a2698dc/run-build-script-build-script-build @@ -0,0 +1 @@ +2d12f2bfb250cc3d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/paste-70dbc3592a2698dc/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/paste-70dbc3592a2698dc/run-build-script-build-script-build.json new file mode 100644 index 00000000..017d2330 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/paste-70dbc3592a2698dc/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[17605717126308396068,"build_script_build",false,7384529113682326219]],"local":[{"RerunIfChanged":{"output":"debug/build/paste-70dbc3592a2698dc/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/dep-lib-ppv_lite86 b/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/dep-lib-ppv_lite86 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/dep-lib-ppv_lite86 differ diff --git a/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/invoked.timestamp b/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/lib-ppv_lite86 b/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/lib-ppv_lite86 new file mode 100644 index 00000000..3164500d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/lib-ppv_lite86 @@ -0,0 +1 @@ +9eb78e07e47f2b17 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/lib-ppv_lite86.json b/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/lib-ppv_lite86.json new file mode 100644 index 00000000..527a64b1 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/lib-ppv_lite86.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"simd\", \"std\"]","declared_features":"[\"default\", \"no_simd\", \"simd\", \"std\"]","target":2607852365283500179,"profile":8276155916380437441,"path":17651436411522153271,"deps":[[12041806806590726837,"zerocopy",false,13054820904108454490]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/ppv-lite86-e60e9171d2480a44/dep-lib-ppv_lite86","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/dep-lib-prettyplease b/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/dep-lib-prettyplease new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/dep-lib-prettyplease differ diff --git a/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/invoked.timestamp b/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/lib-prettyplease b/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/lib-prettyplease new file mode 100644 index 00000000..fb64dbf2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/lib-prettyplease @@ -0,0 +1 @@ +4e0576da6a040528 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/lib-prettyplease.json b/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/lib-prettyplease.json new file mode 100644 index 00000000..6144d30b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/prettyplease-0f1320ce10c1c440/lib-prettyplease.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"verbatim\"]","target":18426667244755495939,"profile":3033921117576893,"path":3117977363983776158,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[9423015880379144908,"build_script_build",false,7722470805595146936],[10420560437213941093,"syn",false,10223735549585103727]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/prettyplease-0f1320ce10c1c440/dep-lib-prettyplease","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/prettyplease-136884775dcad4f9/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/prettyplease-136884775dcad4f9/run-build-script-build-script-build new file mode 100644 index 00000000..6c4bd651 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/prettyplease-136884775dcad4f9/run-build-script-build-script-build @@ -0,0 +1 @@ +b8cad24348ba2b6b \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/prettyplease-136884775dcad4f9/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/prettyplease-136884775dcad4f9/run-build-script-build-script-build.json new file mode 100644 index 00000000..97810069 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/prettyplease-136884775dcad4f9/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[9423015880379144908,"build_script_build",false,10620512394535475370]],"local":[{"RerunIfChanged":{"output":"debug/build/prettyplease-136884775dcad4f9/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/build-script-build-script-build new file mode 100644 index 00000000..d867bf0b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/build-script-build-script-build @@ -0,0 +1 @@ +aa98ebc0c0a36393 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/build-script-build-script-build.json new file mode 100644 index 00000000..28a1499f --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"verbatim\"]","target":5408242616063297496,"profile":3033921117576893,"path":17981911690461239436,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/prettyplease-6775241ee91b6607/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/invoked.timestamp b/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/prettyplease-6775241ee91b6607/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/dep-lib-primeorder b/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/dep-lib-primeorder new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/dep-lib-primeorder differ diff --git a/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/invoked.timestamp b/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/lib-primeorder b/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/lib-primeorder new file mode 100644 index 00000000..21f67297 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/lib-primeorder @@ -0,0 +1 @@ +a686d4ab9468560a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/lib-primeorder.json b/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/lib-primeorder.json new file mode 100644 index 00000000..acb664fc --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/lib-primeorder.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"alloc\", \"dev\", \"serde\", \"serdect\", \"std\"]","target":16688446484513033514,"profile":8276155916380437441,"path":5363037916407185348,"deps":[[10149501514950982522,"elliptic_curve",false,8704759523787881051]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/primeorder-ec4223ec9bf298eb/dep-lib-primeorder","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/build-script-build-script-build new file mode 100644 index 00000000..d562c83d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/build-script-build-script-build @@ -0,0 +1 @@ +016ce243df1fd2d5 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/build-script-build-script-build.json new file mode 100644 index 00000000..7a8c46b2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"proc-macro\"]","declared_features":"[\"default\", \"nightly\", \"proc-macro\", \"span-locations\"]","target":5408242616063297496,"profile":3033921117576893,"path":4320055138807850522,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/proc-macro2-3750783767f65383/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/invoked.timestamp b/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/proc-macro2-3750783767f65383/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/proc-macro2-70ee98e01332a24c/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/proc-macro2-70ee98e01332a24c/run-build-script-build-script-build new file mode 100644 index 00000000..a7cf942a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/proc-macro2-70ee98e01332a24c/run-build-script-build-script-build @@ -0,0 +1 @@ +e1ce4b5a12c6821a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/proc-macro2-70ee98e01332a24c/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/proc-macro2-70ee98e01332a24c/run-build-script-build-script-build.json new file mode 100644 index 00000000..e9de380e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/proc-macro2-70ee98e01332a24c/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[4289358735036141001,"build_script_build",false,15407412318964968449]],"local":[{"RerunIfChanged":{"output":"debug/build/proc-macro2-70ee98e01332a24c/output","paths":["src/probe/proc_macro_span.rs","src/probe/proc_macro_span_location.rs","src/probe/proc_macro_span_file.rs"]}},{"RerunIfEnvChanged":{"var":"RUSTC_BOOTSTRAP","val":null}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/dep-lib-proc_macro2 b/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/dep-lib-proc_macro2 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/dep-lib-proc_macro2 differ diff --git a/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/invoked.timestamp b/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/lib-proc_macro2 b/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/lib-proc_macro2 new file mode 100644 index 00000000..40226de2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/lib-proc_macro2 @@ -0,0 +1 @@ +d0e3355df3f562c5 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/lib-proc_macro2.json b/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/lib-proc_macro2.json new file mode 100644 index 00000000..9d7e1758 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/proc-macro2-ebae5084726c18f9/lib-proc_macro2.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"proc-macro\"]","declared_features":"[\"default\", \"nightly\", \"proc-macro\", \"span-locations\"]","target":369203346396300798,"profile":3033921117576893,"path":13985249293723800452,"deps":[[4289358735036141001,"build_script_build",false,1910306974085140193],[8901712065508858692,"unicode_ident",false,1498566612979844110]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/proc-macro2-ebae5084726c18f9/dep-lib-proc_macro2","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/build-script-build-script-build new file mode 100644 index 00000000..ee303473 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/build-script-build-script-build @@ -0,0 +1 @@ +c9ae921353257aca \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/build-script-build-script-build.json new file mode 100644 index 00000000..c1516634 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"proc-macro\"]","declared_features":"[\"default\", \"proc-macro\"]","target":5408242616063297496,"profile":3033921117576893,"path":13736677560284200726,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/quote-1c38ce90abdf5756/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/invoked.timestamp b/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/quote-1c38ce90abdf5756/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/quote-669c9c9fd1e1ccfb/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/quote-669c9c9fd1e1ccfb/run-build-script-build-script-build new file mode 100644 index 00000000..d10895ed --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/quote-669c9c9fd1e1ccfb/run-build-script-build-script-build @@ -0,0 +1 @@ +519a63d337fa1892 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/quote-669c9c9fd1e1ccfb/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/quote-669c9c9fd1e1ccfb/run-build-script-build-script-build.json new file mode 100644 index 00000000..f3661f48 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/quote-669c9c9fd1e1ccfb/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[13111758008314797071,"build_script_build",false,14590014981561036489]],"local":[{"RerunIfChanged":{"output":"debug/build/quote-669c9c9fd1e1ccfb/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/dep-lib-quote b/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/dep-lib-quote new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/dep-lib-quote differ diff --git a/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/invoked.timestamp b/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/lib-quote b/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/lib-quote new file mode 100644 index 00000000..1541dfbe --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/lib-quote @@ -0,0 +1 @@ +bf7bd76b47aa6ac8 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/lib-quote.json b/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/lib-quote.json new file mode 100644 index 00000000..1b37eef6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/quote-9425c3b27d2cbe95/lib-quote.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"proc-macro\"]","declared_features":"[\"default\", \"proc-macro\"]","target":8313845041260779044,"profile":3033921117576893,"path":822658466154307211,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[13111758008314797071,"build_script_build",false,10527439246655199825]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/quote-9425c3b27d2cbe95/dep-lib-quote","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/dep-lib-rand b/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/dep-lib-rand new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/dep-lib-rand differ diff --git a/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/invoked.timestamp b/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/lib-rand b/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/lib-rand new file mode 100644 index 00000000..d4db1ab5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/lib-rand @@ -0,0 +1 @@ +d031bb79ede48c86 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/lib-rand.json b/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/lib-rand.json new file mode 100644 index 00000000..e20a4a38 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rand-799f752db9b6b20c/lib-rand.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"default\", \"getrandom\", \"libc\", \"rand_chacha\", \"std\", \"std_rng\"]","declared_features":"[\"alloc\", \"default\", \"getrandom\", \"libc\", \"log\", \"min_const_gen\", \"nightly\", \"packed_simd\", \"rand_chacha\", \"serde\", \"serde1\", \"simd_support\", \"small_rng\", \"std\", \"std_rng\"]","target":8827111241893198906,"profile":8276155916380437441,"path":292611315815028611,"deps":[[1573238666360410412,"rand_chacha",false,12305815889322862182],[17159683253194042242,"libc",false,9433847777383712361],[18130209639506977569,"rand_core",false,15569110364959416902]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/rand-799f752db9b6b20c/dep-lib-rand","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/dep-lib-rand_chacha b/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/dep-lib-rand_chacha new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/dep-lib-rand_chacha differ diff --git a/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/invoked.timestamp b/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/lib-rand_chacha b/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/lib-rand_chacha new file mode 100644 index 00000000..3154981d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/lib-rand_chacha @@ -0,0 +1 @@ +666672325a0ac7aa \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/lib-rand_chacha.json b/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/lib-rand_chacha.json new file mode 100644 index 00000000..f1858373 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/lib-rand_chacha.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"serde\", \"serde1\", \"simd\", \"std\"]","target":15766068575093147603,"profile":8276155916380437441,"path":5656763493855126636,"deps":[[12919011715531272606,"ppv_lite86",false,1669568704226965406],[18130209639506977569,"rand_core",false,15569110364959416902]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/rand_chacha-80569c14ad348dd5/dep-lib-rand_chacha","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/dep-lib-rand_core b/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/dep-lib-rand_core new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/dep-lib-rand_core differ diff --git a/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/invoked.timestamp b/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/lib-rand_core b/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/lib-rand_core new file mode 100644 index 00000000..b7fd571e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/lib-rand_core @@ -0,0 +1 @@ +46224264639710d8 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/lib-rand_core.json b/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/lib-rand_core.json new file mode 100644 index 00000000..e29138dd --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rand_core-4ddabfeeaeac1347/lib-rand_core.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"getrandom\", \"std\"]","declared_features":"[\"alloc\", \"getrandom\", \"serde\", \"serde1\", \"std\"]","target":13770603672348587087,"profile":8276155916380437441,"path":1089639218974941337,"deps":[[11023519408959114924,"getrandom",false,16040899425487734737]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/rand_core-4ddabfeeaeac1347/dep-lib-rand_core","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/dep-lib-rfc6979 b/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/dep-lib-rfc6979 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/dep-lib-rfc6979 differ diff --git a/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/invoked.timestamp b/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/lib-rfc6979 b/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/lib-rfc6979 new file mode 100644 index 00000000..e737cf46 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/lib-rfc6979 @@ -0,0 +1 @@ +85fbf756310f99a3 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/lib-rfc6979.json b/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/lib-rfc6979.json new file mode 100644 index 00000000..71acc6ce --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rfc6979-2362ebfa1d2f2996/lib-rfc6979.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":2953596272031247107,"profile":8276155916380437441,"path":3647552777438786652,"deps":[[9209347893430674936,"hmac",false,8829790242302359158],[17003143334332120809,"subtle",false,210798614867005631]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/rfc6979-2362ebfa1d2f2996/dep-lib-rfc6979","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/dep-lib-rustc_demangle b/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/dep-lib-rustc_demangle new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/dep-lib-rustc_demangle differ diff --git a/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/invoked.timestamp b/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/lib-rustc_demangle b/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/lib-rustc_demangle new file mode 100644 index 00000000..665ca990 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/lib-rustc_demangle @@ -0,0 +1 @@ +1dfce9529f69001f \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/lib-rustc_demangle.json b/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/lib-rustc_demangle.json new file mode 100644 index 00000000..db35fffd --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/lib-rustc_demangle.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"compiler_builtins\", \"core\", \"rustc-dep-of-std\", \"std\"]","target":5864663298259408320,"profile":8276155916380437441,"path":11427129006706609924,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/rustc-demangle-74437d6241e72544/dep-lib-rustc_demangle","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/dep-lib-rustc_version b/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/dep-lib-rustc_version new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/dep-lib-rustc_version differ diff --git a/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/invoked.timestamp b/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/lib-rustc_version b/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/lib-rustc_version new file mode 100644 index 00000000..124cd3fc --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/lib-rustc_version @@ -0,0 +1 @@ +6154ae6d30112d03 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/lib-rustc_version.json b/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/lib-rustc_version.json new file mode 100644 index 00000000..0873aa92 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/rustc_version-912d30671a9d904c/lib-rustc_version.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":18294139061885094686,"profile":3033921117576893,"path":10934151450946484126,"deps":[[18361894353739432590,"semver",false,4876857970845146860]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/rustc_version-912d30671a9d904c/dep-lib-rustc_version","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/dep-lib-sec1 b/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/dep-lib-sec1 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/dep-lib-sec1 differ diff --git a/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/invoked.timestamp b/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/lib-sec1 b/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/lib-sec1 new file mode 100644 index 00000000..a5768b39 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/lib-sec1 @@ -0,0 +1 @@ +432507d33186a2a9 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/lib-sec1.json b/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/lib-sec1.json new file mode 100644 index 00000000..1df2fd0b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sec1-829f6f60ac6184e2/lib-sec1.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"der\", \"point\", \"subtle\", \"zeroize\"]","declared_features":"[\"alloc\", \"default\", \"der\", \"pem\", \"pkcs8\", \"point\", \"serde\", \"std\", \"subtle\", \"zeroize\"]","target":17790801555670275947,"profile":8276155916380437441,"path":18282549128591135387,"deps":[[10800937535932116261,"der",false,719477271647344110],[12865141776541797048,"zeroize",false,11213441002442849774],[16530257588157702925,"base16ct",false,16037989609485754596],[17003143334332120809,"subtle",false,210798614867005631],[17738927884925025478,"generic_array",false,11611745390364329169]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/sec1-829f6f60ac6184e2/dep-lib-sec1","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/dep-lib-semver b/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/dep-lib-semver new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/dep-lib-semver differ diff --git a/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/invoked.timestamp b/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/lib-semver b/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/lib-semver new file mode 100644 index 00000000..22a803bb --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/lib-semver @@ -0,0 +1 @@ +ecde415c7c14ae43 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/lib-semver.json b/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/lib-semver.json new file mode 100644 index 00000000..bf9017e4 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/semver-bc3746c58159d42e/lib-semver.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"serde\", \"std\"]","target":10123455430689237779,"profile":3033921117576893,"path":15839214913252472639,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/semver-bc3746c58159d42e/dep-lib-semver","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/dep-lib-semver b/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/dep-lib-semver new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/dep-lib-semver differ diff --git a/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/invoked.timestamp b/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/lib-semver b/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/lib-semver new file mode 100644 index 00000000..a7aeb7ef --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/lib-semver @@ -0,0 +1 @@ +4edd8b122394a054 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/lib-semver.json b/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/lib-semver.json new file mode 100644 index 00000000..fa662ebc --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/semver-dfdd90840fd00baa/lib-semver.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"serde\", \"std\"]","target":10123455430689237779,"profile":8276155916380437441,"path":15839214913252472639,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/semver-dfdd90840fd00baa/dep-lib-semver","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/dep-lib-serde b/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/dep-lib-serde new file mode 100644 index 00000000..7b187f56 Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/dep-lib-serde differ diff --git a/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/lib-serde b/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/lib-serde new file mode 100644 index 00000000..f9c89e2f --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/lib-serde @@ -0,0 +1 @@ +0e91a4e8bda08b97 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/lib-serde.json b/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/lib-serde.json new file mode 100644 index 00000000..30a42995 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-1b9ed3cb69b59885/lib-serde.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"derive\", \"serde_derive\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"derive\", \"rc\", \"serde_derive\", \"std\", \"unstable\"]","target":11327258112168116673,"profile":3033921117576893,"path":13811600466029900010,"deps":[[3051629642231505422,"serde_derive",false,3255380917699730359],[11899261697793765154,"serde_core",false,13246256502923707362],[13548984313718623784,"build_script_build",false,3634844040291182841]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde-1b9ed3cb69b59885/dep-lib-serde","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-38f8b19ce6b3bd83/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/serde-38f8b19ce6b3bd83/run-build-script-build-script-build new file mode 100644 index 00000000..2e08685f --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-38f8b19ce6b3bd83/run-build-script-build-script-build @@ -0,0 +1 @@ +f968807b658f7132 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-38f8b19ce6b3bd83/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/serde-38f8b19ce6b3bd83/run-build-script-build-script-build.json new file mode 100644 index 00000000..38a2b180 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-38f8b19ce6b3bd83/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[13548984313718623784,"build_script_build",false,14457382243125030508]],"local":[{"RerunIfChanged":{"output":"debug/build/serde-38f8b19ce6b3bd83/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/build-script-build-script-build new file mode 100644 index 00000000..22b4d4d1 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/build-script-build-script-build @@ -0,0 +1 @@ +6cee81378df0a2c8 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/build-script-build-script-build.json new file mode 100644 index 00000000..aa8012d8 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"derive\", \"serde_derive\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"derive\", \"rc\", \"serde_derive\", \"std\", \"unstable\"]","target":5408242616063297496,"profile":3033921117576893,"path":16518255621008011266,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde-daf26e5a57eca020/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-daf26e5a57eca020/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/dep-lib-serde b/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/dep-lib-serde new file mode 100644 index 00000000..7b187f56 Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/dep-lib-serde differ diff --git a/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/lib-serde b/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/lib-serde new file mode 100644 index 00000000..4c90b804 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/lib-serde @@ -0,0 +1 @@ +10cc531c6785361e \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/lib-serde.json b/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/lib-serde.json new file mode 100644 index 00000000..03ef8556 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde-df48f708bf2d4445/lib-serde.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"derive\", \"serde_derive\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"derive\", \"rc\", \"serde_derive\", \"std\", \"unstable\"]","target":11327258112168116673,"profile":8276155916380437441,"path":13811600466029900010,"deps":[[3051629642231505422,"serde_derive",false,3255380917699730359],[11899261697793765154,"serde_core",false,11163041131575997231],[13548984313718623784,"build_script_build",false,3634844040291182841]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde-df48f708bf2d4445/dep-lib-serde","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/dep-lib-serde_core b/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/dep-lib-serde_core new file mode 100644 index 00000000..e7cdf4b0 Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/dep-lib-serde_core differ diff --git a/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/lib-serde_core b/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/lib-serde_core new file mode 100644 index 00000000..ce9fcf8c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/lib-serde_core @@ -0,0 +1 @@ +e2c379941b28d4b7 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/lib-serde_core.json b/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/lib-serde_core.json new file mode 100644 index 00000000..14584a8e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-2e45a9b08e60e38f/lib-serde_core.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"result\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"rc\", \"result\", \"std\", \"unstable\"]","target":6810695588070812737,"profile":3033921117576893,"path":11132092148830969427,"deps":[[11899261697793765154,"build_script_build",false,6427737327976509555]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde_core-2e45a9b08e60e38f/dep-lib-serde_core","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/dep-lib-serde_core b/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/dep-lib-serde_core new file mode 100644 index 00000000..e7cdf4b0 Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/dep-lib-serde_core differ diff --git a/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/lib-serde_core b/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/lib-serde_core new file mode 100644 index 00000000..c06ab12d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/lib-serde_core @@ -0,0 +1 @@ +2f73a9ccc316eb9a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/lib-serde_core.json b/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/lib-serde_core.json new file mode 100644 index 00000000..93e331f5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/lib-serde_core.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"result\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"rc\", \"result\", \"std\", \"unstable\"]","target":6810695588070812737,"profile":8276155916380437441,"path":11132092148830969427,"deps":[[11899261697793765154,"build_script_build",false,6427737327976509555]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde_core-604a09e3b94bb82d/dep-lib-serde_core","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-7aa5a159cd5176d0/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/serde_core-7aa5a159cd5176d0/run-build-script-build-script-build new file mode 100644 index 00000000..f401cac6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-7aa5a159cd5176d0/run-build-script-build-script-build @@ -0,0 +1 @@ +73f08e4f0be93359 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-7aa5a159cd5176d0/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/serde_core-7aa5a159cd5176d0/run-build-script-build-script-build.json new file mode 100644 index 00000000..6bf63193 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-7aa5a159cd5176d0/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[11899261697793765154,"build_script_build",false,11271351894496788393]],"local":[{"RerunIfChanged":{"output":"debug/build/serde_core-7aa5a159cd5176d0/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/build-script-build-script-build new file mode 100644 index 00000000..7a16519d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/build-script-build-script-build @@ -0,0 +1 @@ +a93fe871d4e26b9c \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/build-script-build-script-build.json new file mode 100644 index 00000000..199be41c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"result\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"rc\", \"result\", \"std\", \"unstable\"]","target":5408242616063297496,"profile":3033921117576893,"path":4282484277988250564,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde_core-d29abc3671d1bcc0/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_core-d29abc3671d1bcc0/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/dep-lib-serde_derive b/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/dep-lib-serde_derive new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/dep-lib-serde_derive differ diff --git a/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/lib-serde_derive b/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/lib-serde_derive new file mode 100644 index 00000000..13d6e24a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/lib-serde_derive @@ -0,0 +1 @@ +b7db1368b26f2d2d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/lib-serde_derive.json b/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/lib-serde_derive.json new file mode 100644 index 00000000..2d57fe33 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_derive-6c1236bbfe652602/lib-serde_derive.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\"]","declared_features":"[\"default\", \"deserialize_in_place\"]","target":13076129734743110817,"profile":3033921117576893,"path":2547368023880315176,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde_derive-6c1236bbfe652602/dep-lib-serde_derive","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/dep-lib-serde_json b/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/dep-lib-serde_json new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/dep-lib-serde_json differ diff --git a/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/lib-serde_json b/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/lib-serde_json new file mode 100644 index 00000000..98bd1fba --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/lib-serde_json @@ -0,0 +1 @@ +2bcd593a0e03590c \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/lib-serde_json.json b/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/lib-serde_json.json new file mode 100644 index 00000000..be039903 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/lib-serde_json.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"alloc\", \"arbitrary_precision\", \"default\", \"float_roundtrip\", \"indexmap\", \"preserve_order\", \"raw_value\", \"std\", \"unbounded_depth\"]","target":9592559880233824070,"profile":8276155916380437441,"path":10599268421892251462,"deps":[[1363051979936526615,"memchr",false,17811456328422161628],[5532778797167691009,"itoa",false,12282671665686346740],[11899261697793765154,"serde_core",false,11163041131575997231],[12347024475581975995,"zmij",false,9645114331175273447],[13795362694956882968,"build_script_build",false,4468310357311718107]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde_json-2634f6b705b54d06/dep-lib-serde_json","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-b36ada1d315e1193/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/serde_json-b36ada1d315e1193/run-build-script-build-script-build new file mode 100644 index 00000000..a0658aa4 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-b36ada1d315e1193/run-build-script-build-script-build @@ -0,0 +1 @@ +db82c38998a0023e \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-b36ada1d315e1193/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/serde_json-b36ada1d315e1193/run-build-script-build-script-build.json new file mode 100644 index 00000000..753336f4 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-b36ada1d315e1193/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[13795362694956882968,"build_script_build",false,4787908197259959282]],"local":[{"RerunIfChanged":{"output":"debug/build/serde_json-b36ada1d315e1193/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/build-script-build-script-build new file mode 100644 index 00000000..0adfda07 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/build-script-build-script-build @@ -0,0 +1 @@ +f25bdc5223117242 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/build-script-build-script-build.json new file mode 100644 index 00000000..d86fabdd --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"alloc\", \"arbitrary_precision\", \"default\", \"float_roundtrip\", \"indexmap\", \"preserve_order\", \"raw_value\", \"std\", \"unbounded_depth\"]","target":5408242616063297496,"profile":3033921117576893,"path":13248188371598445417,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-e7df8fc1b1d2a11a/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/dep-lib-serde_json b/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/dep-lib-serde_json new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/dep-lib-serde_json differ diff --git a/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/lib-serde_json b/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/lib-serde_json new file mode 100644 index 00000000..81204028 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/lib-serde_json @@ -0,0 +1 @@ +bb6740f23a163ac8 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/lib-serde_json.json b/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/lib-serde_json.json new file mode 100644 index 00000000..9b5fff7d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_json-fdc3596901442fd9/lib-serde_json.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"alloc\", \"arbitrary_precision\", \"default\", \"float_roundtrip\", \"indexmap\", \"preserve_order\", \"raw_value\", \"std\", \"unbounded_depth\"]","target":9592559880233824070,"profile":3033921117576893,"path":10599268421892251462,"deps":[[1363051979936526615,"memchr",false,7853502888165865330],[5532778797167691009,"itoa",false,9070496334586177836],[11899261697793765154,"serde_core",false,13246256502923707362],[12347024475581975995,"zmij",false,3785377905620887736],[13795362694956882968,"build_script_build",false,4468310357311718107]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde_json-fdc3596901442fd9/dep-lib-serde_json","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/dep-lib-serde_with b/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/dep-lib-serde_with new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/dep-lib-serde_with differ diff --git a/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/lib-serde_with b/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/lib-serde_with new file mode 100644 index 00000000..d43cb43a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/lib-serde_with @@ -0,0 +1 @@ +2f7f7ab85cfc9f2d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/lib-serde_with.json b/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/lib-serde_with.json new file mode 100644 index 00000000..2233929a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/lib-serde_with.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"default\", \"hex\", \"macros\", \"std\"]","declared_features":"[\"alloc\", \"base64\", \"chrono\", \"chrono_0_4\", \"default\", \"guide\", \"hashbrown_0_14\", \"hashbrown_0_15\", \"hashbrown_0_16\", \"hex\", \"indexmap\", \"indexmap_1\", \"indexmap_2\", \"json\", \"macros\", \"schemars_0_8\", \"schemars_0_9\", \"schemars_1\", \"smallvec_1\", \"std\", \"time_0_3\"]","target":10448421281463538527,"profile":16875642890854782409,"path":14008073957340963031,"deps":[[530211389790465181,"hex",false,9271136162733937659],[6369760045084962894,"serde_with_macros",false,11845078272231322358],[11899261697793765154,"serde_core",false,11163041131575997231]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde_with-3c7f664fc5ea3df0/dep-lib-serde_with","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/dep-lib-serde_with b/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/dep-lib-serde_with new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/dep-lib-serde_with differ diff --git a/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/lib-serde_with b/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/lib-serde_with new file mode 100644 index 00000000..3d0f26ca --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/lib-serde_with @@ -0,0 +1 @@ +3e823a23cc4cfd17 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/lib-serde_with.json b/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/lib-serde_with.json new file mode 100644 index 00000000..5d4d1aa4 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_with-d549d4b36d1c19bf/lib-serde_with.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"default\", \"macros\", \"std\"]","declared_features":"[\"alloc\", \"base64\", \"chrono\", \"chrono_0_4\", \"default\", \"guide\", \"hashbrown_0_14\", \"hashbrown_0_15\", \"hashbrown_0_16\", \"hex\", \"indexmap\", \"indexmap_1\", \"indexmap_2\", \"json\", \"macros\", \"schemars_0_8\", \"schemars_0_9\", \"schemars_1\", \"smallvec_1\", \"std\", \"time_0_3\"]","target":10448421281463538527,"profile":15411273790003444471,"path":14008073957340963031,"deps":[[6369760045084962894,"serde_with_macros",false,11845078272231322358],[11899261697793765154,"serde_core",false,13246256502923707362]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde_with-d549d4b36d1c19bf/dep-lib-serde_with","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/dep-lib-serde_with_macros b/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/dep-lib-serde_with_macros new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/dep-lib-serde_with_macros differ diff --git a/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/invoked.timestamp b/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/lib-serde_with_macros b/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/lib-serde_with_macros new file mode 100644 index 00000000..3fd14927 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/lib-serde_with_macros @@ -0,0 +1 @@ +f6b20b41ee2b62a4 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/lib-serde_with_macros.json b/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/lib-serde_with_macros.json new file mode 100644 index 00000000..7aff70b5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/lib-serde_with_macros.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"schemars_0_8\", \"schemars_0_9\", \"schemars_1\"]","target":14768362389397495844,"profile":15411273790003444471,"path":8552835061148150892,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[8844146488415526527,"darling",false,11923308777965687523],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/serde_with_macros-3833d27d78e86ad3/dep-lib-serde_with_macros","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/dep-lib-sha2 b/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/dep-lib-sha2 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/dep-lib-sha2 differ diff --git a/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/invoked.timestamp b/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/lib-sha2 b/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/lib-sha2 new file mode 100644 index 00000000..88df2ef2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/lib-sha2 @@ -0,0 +1 @@ +87f05c3d1af15d23 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/lib-sha2.json b/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/lib-sha2.json new file mode 100644 index 00000000..d5e99b67 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sha2-7a6e9bfc88867a04/lib-sha2.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"asm\", \"asm-aarch64\", \"compress\", \"default\", \"force-soft\", \"force-soft-compact\", \"loongarch64_asm\", \"oid\", \"sha2-asm\", \"std\"]","target":9593554856174113207,"profile":3033921117576893,"path":6006263137124478446,"deps":[[7667230146095136825,"cfg_if",false,14248687104485515502],[17475753849556516473,"digest",false,1306284797713062749],[17620084158052398167,"cpufeatures",false,13378738127072811405]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/sha2-7a6e9bfc88867a04/dep-lib-sha2","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/dep-lib-sha2 b/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/dep-lib-sha2 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/dep-lib-sha2 differ diff --git a/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/invoked.timestamp b/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/lib-sha2 b/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/lib-sha2 new file mode 100644 index 00000000..b28d52a1 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/lib-sha2 @@ -0,0 +1 @@ +e6bba0218338451b \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/lib-sha2.json b/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/lib-sha2.json new file mode 100644 index 00000000..18cab84b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sha2-ec6d857aa7d15db1/lib-sha2.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"asm\", \"asm-aarch64\", \"compress\", \"default\", \"force-soft\", \"force-soft-compact\", \"loongarch64_asm\", \"oid\", \"sha2-asm\", \"std\"]","target":9593554856174113207,"profile":8276155916380437441,"path":6006263137124478446,"deps":[[7667230146095136825,"cfg_if",false,15392250989076009176],[17475753849556516473,"digest",false,3007548742343774835],[17620084158052398167,"cpufeatures",false,10162173065779541675]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/sha2-ec6d857aa7d15db1/dep-lib-sha2","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/dep-lib-sha3 b/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/dep-lib-sha3 new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/dep-lib-sha3 differ diff --git a/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/invoked.timestamp b/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/lib-sha3 b/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/lib-sha3 new file mode 100644 index 00000000..58e5d712 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/lib-sha3 @@ -0,0 +1 @@ +50d0c6005d9e411d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/lib-sha3.json b/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/lib-sha3.json new file mode 100644 index 00000000..3f8a6756 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/sha3-b2347a444a266971/lib-sha3.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"asm\", \"default\", \"oid\", \"reset\", \"std\"]","target":12406678234532442241,"profile":8276155916380437441,"path":6508064089279639120,"deps":[[11306548876293198846,"keccak",false,17896450915031212740],[17475753849556516473,"digest",false,3007548742343774835]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/sha3-b2347a444a266971/dep-lib-sha3","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/dep-lib-signature b/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/dep-lib-signature new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/dep-lib-signature differ diff --git a/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/invoked.timestamp b/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/lib-signature b/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/lib-signature new file mode 100644 index 00000000..91c3f569 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/lib-signature @@ -0,0 +1 @@ +b44a7c1b5e44ed78 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/lib-signature.json b/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/lib-signature.json new file mode 100644 index 00000000..d913df01 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/signature-4d9598ecaa6be9c8/lib-signature.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"digest\", \"rand_core\", \"std\"]","declared_features":"[\"alloc\", \"derive\", \"digest\", \"rand_core\", \"std\"]","target":14677263450862682510,"profile":8276155916380437441,"path":5984014028349261742,"deps":[[17475753849556516473,"digest",false,3007548742343774835],[18130209639506977569,"rand_core",false,15569110364959416902]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/signature-4d9598ecaa6be9c8/dep-lib-signature","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/dep-lib-smallvec b/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/dep-lib-smallvec new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/dep-lib-smallvec differ diff --git a/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/invoked.timestamp b/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/lib-smallvec b/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/lib-smallvec new file mode 100644 index 00000000..3d081c69 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/lib-smallvec @@ -0,0 +1 @@ +4584924aa27cfe65 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/lib-smallvec.json b/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/lib-smallvec.json new file mode 100644 index 00000000..01780821 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/smallvec-c7b797d1117a9f8f/lib-smallvec.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"union\"]","declared_features":"[\"arbitrary\", \"bincode\", \"const_generics\", \"const_new\", \"debugger_visualizer\", \"drain_filter\", \"drain_keep_rest\", \"impl_bincode\", \"malloc_size_of\", \"may_dangle\", \"serde\", \"specialization\", \"union\", \"unty\", \"write\"]","target":9091769176333489034,"profile":8276155916380437441,"path":11088983698130430128,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/smallvec-c7b797d1117a9f8f/dep-lib-smallvec","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/dep-lib-soroban_builtin_sdk_macros b/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/dep-lib-soroban_builtin_sdk_macros new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/dep-lib-soroban_builtin_sdk_macros differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/lib-soroban_builtin_sdk_macros b/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/lib-soroban_builtin_sdk_macros new file mode 100644 index 00000000..fd149584 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/lib-soroban_builtin_sdk_macros @@ -0,0 +1 @@ +38aea105c0a89ffe \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/lib-soroban_builtin_sdk_macros.json b/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/lib-soroban_builtin_sdk_macros.json new file mode 100644 index 00000000..e43af942 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/lib-soroban_builtin_sdk_macros.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":10086734255730557642,"profile":3033921117576893,"path":14181027986244875978,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703],[15190275674338974840,"itertools",false,417923143682721474]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-builtin-sdk-macros-2f27ae39f1386cc2/dep-lib-soroban_builtin_sdk_macros","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/dep-lib-soroban_env_common b/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/dep-lib-soroban_env_common new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/dep-lib-soroban_env_common differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/lib-soroban_env_common b/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/lib-soroban_env_common new file mode 100644 index 00000000..e7dae510 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/lib-soroban_env_common @@ -0,0 +1 @@ +6e692b615343493f \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/lib-soroban_env_common.json b/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/lib-soroban_env_common.json new file mode 100644 index 00000000..e0ce9040 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/lib-soroban_env_common.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"serde\", \"shallow-val-hash\", \"std\", \"testutils\", \"wasmi\"]","declared_features":"[\"next\", \"serde\", \"shallow-val-hash\", \"std\", \"testutils\", \"tracy\", \"wasmi\"]","target":8236493655205561077,"profile":8276155916380437441,"path":3321093068949610103,"deps":[[2492769554574893010,"stellar_xdr",false,14425959567791905626],[4877901010865624961,"arbitrary",false,13844928873711017381],[5157631553186200874,"num_traits",false,13000283769285587416],[7898571650830454567,"ethnum",false,12770946705793504271],[8652975363845047066,"wasmparser",false,9517400736211384341],[11129165820126411631,"soroban_env_macros",false,17436869234966578628],[11263754829263059703,"num_derive",false,5893416013683302373],[12119939514882612004,"wasmi",false,6294342594306300642],[13548984313718623784,"serde",false,2177074147783592976],[13785866025199020095,"static_assertions",false,6189396329754878017],[14833005319145329331,"build_script_build",false,12704234491717056800]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-env-common-1b730141051fc1fa/dep-lib-soroban_env_common","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-4f4449d6d683c770/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-env-common-4f4449d6d683c770/run-build-script-build-script-build new file mode 100644 index 00000000..69ab3d88 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-4f4449d6d683c770/run-build-script-build-script-build @@ -0,0 +1 @@ +a9a9b804ce22a50f \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-4f4449d6d683c770/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/soroban-env-common-4f4449d6d683c770/run-build-script-build-script-build.json new file mode 100644 index 00000000..405e7f83 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-4f4449d6d683c770/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[14833005319145329331,"build_script_build",false,12393373184020969766]],"local":[{"RerunIfChanged":{"output":"debug/build/soroban-env-common-4f4449d6d683c770/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/build-script-build-script-build new file mode 100644 index 00000000..1ca86e4b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/build-script-build-script-build @@ -0,0 +1 @@ +a622905dc1c1a66a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/build-script-build-script-build.json new file mode 100644 index 00000000..d6630581 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"serde\", \"shallow-val-hash\", \"std\", \"testutils\", \"wasmi\"]","declared_features":"[\"next\", \"serde\", \"shallow-val-hash\", \"std\", \"testutils\", \"tracy\", \"wasmi\"]","target":5408242616063297496,"profile":3033921117576893,"path":2786992377626479422,"deps":[[14436471438139416390,"crate_git_revision",false,9737000051847795015]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-env-common-85d635c53d3ff252/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-85d635c53d3ff252/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-95197403be13cb4f/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-env-common-95197403be13cb4f/run-build-script-build-script-build new file mode 100644 index 00000000..513111ac --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-95197403be13cb4f/run-build-script-build-script-build @@ -0,0 +1 @@ +20790fd6f5814eb0 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-95197403be13cb4f/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/soroban-env-common-95197403be13cb4f/run-build-script-build-script-build.json new file mode 100644 index 00000000..cab5ef58 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-95197403be13cb4f/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[14833005319145329331,"build_script_build",false,7685042850396906150]],"local":[{"RerunIfChanged":{"output":"debug/build/soroban-env-common-95197403be13cb4f/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/dep-lib-soroban_env_common b/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/dep-lib-soroban_env_common new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/dep-lib-soroban_env_common differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/lib-soroban_env_common b/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/lib-soroban_env_common new file mode 100644 index 00000000..a1fdcda3 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/lib-soroban_env_common @@ -0,0 +1 @@ +bbffb3b8ba5076d4 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/lib-soroban_env_common.json b/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/lib-soroban_env_common.json new file mode 100644 index 00000000..7c834073 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-a93313b380fc3b58/lib-soroban_env_common.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"next\", \"serde\", \"shallow-val-hash\", \"std\", \"testutils\", \"tracy\", \"wasmi\"]","target":8236493655205561077,"profile":3033921117576893,"path":3321093068949610103,"deps":[[2492769554574893010,"stellar_xdr",false,15313303561591070447],[5157631553186200874,"num_traits",false,5497914550751514236],[7898571650830454567,"ethnum",false,1641049447663584498],[11129165820126411631,"soroban_env_macros",false,17436869234966578628],[11263754829263059703,"num_derive",false,5893416013683302373],[13785866025199020095,"static_assertions",false,3357894304686684881],[14833005319145329331,"build_script_build",false,1127345549963995561]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-env-common-a93313b380fc3b58/dep-lib-soroban_env_common","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/build-script-build-script-build new file mode 100644 index 00000000..bf9df1da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/build-script-build-script-build @@ -0,0 +1 @@ +26f96b7a3f1bfeab \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/build-script-build-script-build.json new file mode 100644 index 00000000..a726eb15 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"next\", \"serde\", \"shallow-val-hash\", \"std\", \"testutils\", \"tracy\", \"wasmi\"]","target":5408242616063297496,"profile":3033921117576893,"path":2786992377626479422,"deps":[[14436471438139416390,"crate_git_revision",false,9737000051847795015]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-common-e6a18fef9a74ffbc/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/dep-lib-soroban_env_host b/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/dep-lib-soroban_env_host new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/dep-lib-soroban_env_host differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/lib-soroban_env_host b/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/lib-soroban_env_host new file mode 100644 index 00000000..4381b048 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/lib-soroban_env_host @@ -0,0 +1 @@ +e8907a01a195b3d9 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/lib-soroban_env_host.json b/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/lib-soroban_env_host.json new file mode 100644 index 00000000..cb2bca97 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/lib-soroban_env_host.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"recording_mode\", \"testutils\"]","declared_features":"[\"bench\", \"next\", \"recording_mode\", \"testutils\", \"tracy\", \"unstable-next-api\"]","target":10412408653380267986,"profile":8276155916380437441,"path":15352462741767730990,"deps":[[1573238666360410412,"rand_chacha",false,12305815889322862182],[2348975382319678783,"ecdsa",false,14000351277970358359],[3434989764622224963,"k256",false,11366756555048979605],[5157631553186200874,"num_traits",false,13000283769285587416],[5218994449591892524,"sec1",false,12223479887188927811],[5306016253860807931,"ed25519_dalek",false,9573113613317491539],[5516030773850820447,"backtrace",false,4628206590609575855],[5755054914051820199,"stellar_strkey",false,15285076938723345312],[6758090251490120365,"soroban_builtin_sdk_macros",false,18347568949612359224],[8632578124021956924,"hex_literal",false,14544800047481435730],[8652975363845047066,"wasmparser",false,9517400736211384341],[9209347893430674936,"hmac",false,8829790242302359158],[9857275760291862238,"sha2",false,1965038948273142758],[10149501514950982522,"elliptic_curve",false,8704759523787881051],[11017232866922121725,"sha3",false,2108140222868279376],[11023519408959114924,"getrandom",false,16040899425487734737],[11263754829263059703,"num_derive",false,5893416013683302373],[12119939514882612004,"wasmi",false,6294342594306300642],[13208667028893622512,"rand",false,9695375806422528464],[13595581133353633439,"curve25519_dalek",false,18233419086727957343],[13785866025199020095,"static_assertions",false,6189396329754878017],[14833005319145329331,"soroban_env_common",false,4560250123080919406],[15377193432756420161,"p256",false,15485936283552729193],[16795989132585092538,"num_integer",false,4285389717301062933],[17520918598694085761,"build_script_build",false,14814752795766588640],[17738927884925025478,"generic_array",false,11611745390364329169]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-env-host-559f5d673862100e/dep-lib-soroban_env_host","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-host-6a43c71857942b09/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-env-host-6a43c71857942b09/run-build-script-build-script-build new file mode 100644 index 00000000..796b9821 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-host-6a43c71857942b09/run-build-script-build-script-build @@ -0,0 +1 @@ +e084e4022d9398cd \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-host-6a43c71857942b09/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/soroban-env-host-6a43c71857942b09/run-build-script-build-script-build.json new file mode 100644 index 00000000..a736acbb --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-host-6a43c71857942b09/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[17520918598694085761,"build_script_build",false,4893826367656638386]],"local":[{"RerunIfChanged":{"output":"debug/build/soroban-env-host-6a43c71857942b09/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/build-script-build-script-build new file mode 100644 index 00000000..6da9dcc5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/build-script-build-script-build @@ -0,0 +1 @@ +b2379d1c275dea43 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/build-script-build-script-build.json new file mode 100644 index 00000000..a0563c3c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"recording_mode\", \"testutils\"]","declared_features":"[\"bench\", \"next\", \"recording_mode\", \"testutils\", \"tracy\", \"unstable-next-api\"]","target":5408242616063297496,"profile":3033921117576893,"path":12168663972257540060,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-env-host-ca97f57b34f393be/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-host-ca97f57b34f393be/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/dep-lib-soroban_env_macros b/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/dep-lib-soroban_env_macros new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/dep-lib-soroban_env_macros differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/lib-soroban_env_macros b/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/lib-soroban_env_macros new file mode 100644 index 00000000..12d49b02 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/lib-soroban_env_macros @@ -0,0 +1 @@ +c4c51e492f34fcf1 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/lib-soroban_env_macros.json b/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/lib-soroban_env_macros.json new file mode 100644 index 00000000..1b26a986 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/lib-soroban_env_macros.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"next\"]","target":6080406339952264636,"profile":3033921117576893,"path":18418103099496159190,"deps":[[2492769554574893010,"stellar_xdr",false,15313303561591070447],[4289358735036141001,"proc_macro2",false,14223200998779118544],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703],[13548984313718623784,"serde",false,10919998459002261774],[13795362694956882968,"serde_json",false,14427868798663026619],[15190275674338974840,"itertools",false,417923143682721474]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-env-macros-293d4a71ad598ed0/dep-lib-soroban_env_macros","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/dep-lib-soroban_ledger_snapshot b/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/dep-lib-soroban_ledger_snapshot new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/dep-lib-soroban_ledger_snapshot differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/lib-soroban_ledger_snapshot b/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/lib-soroban_ledger_snapshot new file mode 100644 index 00000000..fe878ebb --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/lib-soroban_ledger_snapshot @@ -0,0 +1 @@ +58793f32687bd3ae \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/lib-soroban_ledger_snapshot.json b/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/lib-soroban_ledger_snapshot.json new file mode 100644 index 00000000..6dcb810b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/lib-soroban_ledger_snapshot.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":13303678440376820304,"profile":8276155916380437441,"path":6190786910724655361,"deps":[[6192426815643438542,"serde_with",false,3287623728165977903],[8008191657135824715,"thiserror",false,13415244151166461970],[13548984313718623784,"serde",false,2177074147783592976],[13795362694956882968,"serde_json",false,889745761025772843],[14833005319145329331,"soroban_env_common",false,4560250123080919406],[17520918598694085761,"soroban_env_host",false,15687046445808652520]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/dep-lib-soroban_ledger_snapshot","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/dep-lib-soroban_sdk b/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/dep-lib-soroban_sdk new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/dep-lib-soroban_sdk differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/lib-soroban_sdk b/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/lib-soroban_sdk new file mode 100644 index 00000000..c8488796 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/lib-soroban_sdk @@ -0,0 +1 @@ +c06cebb5193a800c \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/lib-soroban_sdk.json b/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/lib-soroban_sdk.json new file mode 100644 index 00000000..0ee6d96a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/lib-soroban_sdk.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"testutils\"]","declared_features":"[\"alloc\", \"curve25519-dalek\", \"docs\", \"hazmat\", \"testutils\"]","target":1625221161988619007,"profile":8276155916380437441,"path":10996753867481938040,"deps":[[4877901010865624961,"arbitrary",false,13844928873711017381],[5306016253860807931,"ed25519_dalek",false,9573113613317491539],[5755054914051820199,"stellar_strkey",false,15285076938723345312],[6606131838865521726,"ctor",false,16148844785534073090],[8546213000612520374,"soroban_sdk_macros",false,3387996309722697175],[8738624036173727683,"soroban_ledger_snapshot",false,12597548270135245144],[9749591605358360692,"bytes_lit",false,4043579938624497995],[10187655140533542017,"derive_arbitrary",false,1331347217721470095],[13208667028893622512,"rand",false,9695375806422528464],[13548984313718623784,"serde",false,2177074147783592976],[13795362694956882968,"serde_json",false,889745761025772843],[15234002195613461296,"build_script_build",false,1743393185925110224],[17520918598694085761,"soroban_env_host",false,15687046445808652520]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/dep-lib-soroban_sdk","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-7714f874571e684a/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-sdk-7714f874571e684a/run-build-script-build-script-build new file mode 100644 index 00000000..7aa6a74a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-7714f874571e684a/run-build-script-build-script-build @@ -0,0 +1 @@ +d019e79eddc63118 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-7714f874571e684a/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/soroban-sdk-7714f874571e684a/run-build-script-build-script-build.json new file mode 100644 index 00000000..eab948a6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-7714f874571e684a/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[15234002195613461296,"build_script_build",false,15583543662165156306]],"local":[{"Precalculated":"21.7.7"}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/build-script-build-script-build new file mode 100644 index 00000000..8ce0c728 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/build-script-build-script-build @@ -0,0 +1 @@ +d2e1244565de43d8 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/build-script-build-script-build.json new file mode 100644 index 00000000..0acac4d6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"testutils\"]","declared_features":"[\"alloc\", \"curve25519-dalek\", \"docs\", \"hazmat\", \"testutils\"]","target":5408242616063297496,"profile":3033921117576893,"path":16873479528571311687,"deps":[[8576480473721236041,"rustc_version",false,228858055762007137]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-sdk-88df91078e7fb76a/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-88df91078e7fb76a/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/dep-lib-soroban_sdk_macros b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/dep-lib-soroban_sdk_macros new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/dep-lib-soroban_sdk_macros differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/lib-soroban_sdk_macros b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/lib-soroban_sdk_macros new file mode 100644 index 00000000..b38b98ec --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/lib-soroban_sdk_macros @@ -0,0 +1 @@ +d70d5b7db194042f \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/lib-soroban_sdk_macros.json b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/lib-soroban_sdk_macros.json new file mode 100644 index 00000000..d38c6796 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/lib-soroban_sdk_macros.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"testutils\"]","declared_features":"[\"testutils\"]","target":11889818073967546717,"profile":3033921117576893,"path":10095457324798697910,"deps":[[496455418292392305,"darling",false,17464980655516505839],[2492769554574893010,"stellar_xdr",false,15313303561591070447],[3694781370847946053,"soroban_spec_rust",false,11300282488184881048],[4289358735036141001,"proc_macro2",false,14223200998779118544],[8546213000612520374,"build_script_build",false,11614737827974074595],[9857275760291862238,"sha2",false,2548458059162513543],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703],[14833005319145329331,"soroban_env_common",false,15309512746185523131],[15190275674338974840,"itertools",false,417923143682721474],[18026793580512282766,"soroban_spec",false,7485084356671804124]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-sdk-macros-5f63f2cdf28bbbff/dep-lib-soroban_sdk_macros","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/build-script-build-script-build new file mode 100644 index 00000000..7ef4f0c7 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/build-script-build-script-build @@ -0,0 +1 @@ +1ad8c11ff7afcc7a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/build-script-build-script-build.json new file mode 100644 index 00000000..7f5af19a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"testutils\"]","declared_features":"[\"testutils\"]","target":5408242616063297496,"profile":3033921117576893,"path":4975994200004142535,"deps":[[8576480473721236041,"rustc_version",false,228858055762007137],[14436471438139416390,"crate_git_revision",false,9737000051847795015]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-959ceb0af00cb859/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-9b414c03a86956cd/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-9b414c03a86956cd/run-build-script-build-script-build new file mode 100644 index 00000000..4d79510a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-9b414c03a86956cd/run-build-script-build-script-build @@ -0,0 +1 @@ +e3d0af5b84d62fa1 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-9b414c03a86956cd/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-9b414c03a86956cd/run-build-script-build-script-build.json new file mode 100644 index 00000000..398822b8 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-sdk-macros-9b414c03a86956cd/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[8546213000612520374,"build_script_build",false,8848640843800762394]],"local":[{"Precalculated":"21.7.7"}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/dep-lib-soroban_spec b/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/dep-lib-soroban_spec new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/dep-lib-soroban_spec differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/lib-soroban_spec b/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/lib-soroban_spec new file mode 100644 index 00000000..e3748116 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/lib-soroban_spec @@ -0,0 +1 @@ +dc924191905ce067 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/lib-soroban_spec.json b/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/lib-soroban_spec.json new file mode 100644 index 00000000..bc2a7d8a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-spec-1607cd956b7b3264/lib-soroban_spec.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":11410942543542648629,"profile":3033921117576893,"path":4446572132569309697,"deps":[[2492769554574893010,"stellar_xdr",false,15313303561591070447],[8008191657135824715,"thiserror",false,12335294660188712648],[8652975363845047066,"wasmparser",false,1939415766665696742],[17282734725213053079,"base64",false,9719178027166610801]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-spec-1607cd956b7b3264/dep-lib-soroban_spec","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/dep-lib-soroban_spec_rust b/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/dep-lib-soroban_spec_rust new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/dep-lib-soroban_spec_rust differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/lib-soroban_spec_rust b/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/lib-soroban_spec_rust new file mode 100644 index 00000000..77a6f4e6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/lib-soroban_spec_rust @@ -0,0 +1 @@ +98bfd3310dabd29c \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/lib-soroban_spec_rust.json b/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/lib-soroban_spec_rust.json new file mode 100644 index 00000000..fae0108e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/lib-soroban_spec_rust.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":1727302067230961885,"profile":3033921117576893,"path":10319677896887213895,"deps":[[2492769554574893010,"stellar_xdr",false,15313303561591070447],[4289358735036141001,"proc_macro2",false,14223200998779118544],[8008191657135824715,"thiserror",false,12335294660188712648],[9423015880379144908,"prettyplease",false,2883715993378882894],[9857275760291862238,"sha2",false,2548458059162513543],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703],[18026793580512282766,"soroban_spec",false,7485084356671804124]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-spec-rust-8aea80f31be63691/dep-lib-soroban_spec_rust","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/dep-lib-soroban_wasmi b/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/dep-lib-soroban_wasmi new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/dep-lib-soroban_wasmi differ diff --git a/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/invoked.timestamp b/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/lib-soroban_wasmi b/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/lib-soroban_wasmi new file mode 100644 index 00000000..fe2976c9 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/lib-soroban_wasmi @@ -0,0 +1 @@ +e2da3c9c3dff5957 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/lib-soroban_wasmi.json b/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/lib-soroban_wasmi.json new file mode 100644 index 00000000..723c3eba --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/lib-soroban_wasmi.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"std\"]","target":6232090871946752573,"profile":8276155916380437441,"path":14309951249907369566,"deps":[[2313368913568865230,"spin",false,12071136352104704681],[3666196340704888985,"smallvec",false,7349448678392890437],[4334252912100547117,"wasmi_arena",false,11008059957664820843],[9506782510583796564,"wasmi_core",false,6373625112357995158],[18442676441735787729,"wasmparser",false,4228580214860383572]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/dep-lib-soroban_wasmi","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/dep-lib-spin b/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/dep-lib-spin new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/dep-lib-spin differ diff --git a/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/invoked.timestamp b/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/lib-spin b/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/lib-spin new file mode 100644 index 00000000..9d3900bc --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/lib-spin @@ -0,0 +1 @@ +a96a817e8e4a85a7 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/lib-spin.json b/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/lib-spin.json new file mode 100644 index 00000000..50772fdb --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/spin-f100a4a3c646ba7f/lib-spin.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"mutex\", \"rwlock\", \"spin_mutex\", \"std\"]","declared_features":"[\"barrier\", \"default\", \"fair_mutex\", \"lazy\", \"lock_api\", \"lock_api_crate\", \"mutex\", \"once\", \"portable-atomic\", \"portable_atomic\", \"rwlock\", \"spin_mutex\", \"std\", \"ticket_mutex\", \"use_ticket_mutex\"]","target":4260413527236709406,"profile":8276155916380437441,"path":14557165364705407650,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/spin-f100a4a3c646ba7f/dep-lib-spin","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/dep-lib-static_assertions b/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/dep-lib-static_assertions new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/dep-lib-static_assertions differ diff --git a/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/invoked.timestamp b/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/lib-static_assertions b/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/lib-static_assertions new file mode 100644 index 00000000..215d5dc8 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/lib-static_assertions @@ -0,0 +1 @@ +416025492b27e555 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/lib-static_assertions.json b/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/lib-static_assertions.json new file mode 100644 index 00000000..5653cf82 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/lib-static_assertions.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"nightly\"]","target":4712552111018528150,"profile":8276155916380437441,"path":11972739529297921071,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/dep-lib-static_assertions","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/dep-lib-static_assertions b/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/dep-lib-static_assertions new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/dep-lib-static_assertions differ diff --git a/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/invoked.timestamp b/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/lib-static_assertions b/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/lib-static_assertions new file mode 100644 index 00000000..be4465af --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/lib-static_assertions @@ -0,0 +1 @@ +d13a284814a3992e \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/lib-static_assertions.json b/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/lib-static_assertions.json new file mode 100644 index 00000000..52b6badd --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/lib-static_assertions.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"nightly\"]","target":4712552111018528150,"profile":3033921117576893,"path":11972739529297921071,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/static_assertions-a5d64fdf0a1b1727/dep-lib-static_assertions","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/dep-lib-stellar_strkey b/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/dep-lib-stellar_strkey new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/dep-lib-stellar_strkey differ diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/invoked.timestamp b/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/lib-stellar_strkey b/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/lib-stellar_strkey new file mode 100644 index 00000000..21279fb4 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/lib-stellar_strkey @@ -0,0 +1 @@ +221464be02179922 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/lib-stellar_strkey.json b/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/lib-stellar_strkey.json new file mode 100644 index 00000000..b6681349 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-50b5901553cb1f50/lib-stellar_strkey.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\"]","declared_features":"[\"cli\", \"default\"]","target":14837859609608462169,"profile":3033921117576893,"path":8481544321945676550,"deps":[[5755054914051820199,"build_script_build",false,13886801991150407104],[8008191657135824715,"thiserror",false,12335294660188712648],[15524900657618044199,"base32",false,11965370631437784273]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/stellar-strkey-50b5901553cb1f50/dep-lib-stellar_strkey","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-a66ea59b439ef15c/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/stellar-strkey-a66ea59b439ef15c/run-build-script-build-script-build new file mode 100644 index 00000000..e33b03b8 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-a66ea59b439ef15c/run-build-script-build-script-build @@ -0,0 +1 @@ +c00db5e4d5d4b7c0 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-a66ea59b439ef15c/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/stellar-strkey-a66ea59b439ef15c/run-build-script-build-script-build.json new file mode 100644 index 00000000..4caac6fb --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-a66ea59b439ef15c/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[5755054914051820199,"build_script_build",false,9037280180346523329]],"local":[{"Precalculated":"0.0.8"}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/build-script-build-script-build new file mode 100644 index 00000000..165ddf4c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/build-script-build-script-build @@ -0,0 +1 @@ +c18e3b4571de6a7d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/build-script-build-script-build.json new file mode 100644 index 00000000..8b08f1a3 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\"]","declared_features":"[\"cli\", \"default\"]","target":5408242616063297496,"profile":3033921117576893,"path":1877655454475472659,"deps":[[14436471438139416390,"crate_git_revision",false,9737000051847795015]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/invoked.timestamp b/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-b0b6e9ceeb726026/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/dep-lib-stellar_strkey b/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/dep-lib-stellar_strkey new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/dep-lib-stellar_strkey differ diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/invoked.timestamp b/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/lib-stellar_strkey b/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/lib-stellar_strkey new file mode 100644 index 00000000..ec697fe7 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/lib-stellar_strkey @@ -0,0 +1 @@ +a0c31ef17d801fd4 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/lib-stellar_strkey.json b/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/lib-stellar_strkey.json new file mode 100644 index 00000000..ccef1df7 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/lib-stellar_strkey.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"default\"]","declared_features":"[\"cli\", \"default\"]","target":14837859609608462169,"profile":8276155916380437441,"path":8481544321945676550,"deps":[[5755054914051820199,"build_script_build",false,13886801991150407104],[8008191657135824715,"thiserror",false,13415244151166461970],[15524900657618044199,"base32",false,7242397874631057353]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/stellar-strkey-ecda2154df9d3dd4/dep-lib-stellar_strkey","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/dep-lib-stellar_xdr b/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/dep-lib-stellar_xdr new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/dep-lib-stellar_xdr differ diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/invoked.timestamp b/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/lib-stellar_xdr b/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/lib-stellar_xdr new file mode 100644 index 00000000..d21b6aab --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/lib-stellar_xdr @@ -0,0 +1 @@ +ef1e5cb674c883d4 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/lib-stellar_xdr.json b/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/lib-stellar_xdr.json new file mode 100644 index 00000000..773855e6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/lib-stellar_xdr.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"curr\", \"hex\", \"serde\", \"std\"]","declared_features":"[\"alloc\", \"arbitrary\", \"base64\", \"cli\", \"curr\", \"default\", \"hex\", \"next\", \"schemars\", \"serde\", \"serde_json\", \"std\"]","target":10652241868897841835,"profile":3033921117576893,"path":5260707579190408398,"deps":[[530211389790465181,"hex",false,6001872696512509651],[2492769554574893010,"build_script_build",false,16119222439198134559],[5755054914051820199,"stellar_strkey",false,2493049169277883426],[6192426815643438542,"serde_with",false,1728622271628214846],[8512051552764648367,"escape_bytes",false,15018322398423349058],[13548984313718623784,"serde",false,10919998459002261774]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/stellar-xdr-1cc2d8c60cec0143/dep-lib-stellar_xdr","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-825763c993b36f69/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/stellar-xdr-825763c993b36f69/run-build-script-build-script-build new file mode 100644 index 00000000..7d6d3dbc --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-825763c993b36f69/run-build-script-build-script-build @@ -0,0 +1 @@ +1f11e9b767fbb2df \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-825763c993b36f69/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/stellar-xdr-825763c993b36f69/run-build-script-build-script-build.json new file mode 100644 index 00000000..85e9402f --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-825763c993b36f69/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[2492769554574893010,"build_script_build",false,14573380691101266048]],"local":[{"Precalculated":"21.2.0"}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/dep-lib-stellar_xdr b/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/dep-lib-stellar_xdr new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/dep-lib-stellar_xdr differ diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/invoked.timestamp b/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/lib-stellar_xdr b/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/lib-stellar_xdr new file mode 100644 index 00000000..f1db0ff8 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/lib-stellar_xdr @@ -0,0 +1 @@ +5a5b627ecb4d33c8 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/lib-stellar_xdr.json b/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/lib-stellar_xdr.json new file mode 100644 index 00000000..12045da3 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/lib-stellar_xdr.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"arbitrary\", \"base64\", \"curr\", \"hex\", \"serde\", \"std\"]","declared_features":"[\"alloc\", \"arbitrary\", \"base64\", \"cli\", \"curr\", \"default\", \"hex\", \"next\", \"schemars\", \"serde\", \"serde_json\", \"std\"]","target":10652241868897841835,"profile":8276155916380437441,"path":5260707579190408398,"deps":[[530211389790465181,"hex",false,9271136162733937659],[2492769554574893010,"build_script_build",false,4011423374349306118],[4877901010865624961,"arbitrary",false,13844928873711017381],[5755054914051820199,"stellar_strkey",false,15285076938723345312],[6192426815643438542,"serde_with",false,3287623728165977903],[8512051552764648367,"escape_bytes",false,1703946762490596483],[13548984313718623784,"serde",false,2177074147783592976],[17282734725213053079,"base64",false,7489294601806918032]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/stellar-xdr-879f4c61cff22bef/dep-lib-stellar_xdr","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/build-script-build-script-build new file mode 100644 index 00000000..831eab9c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/build-script-build-script-build @@ -0,0 +1 @@ +bf0aeb2cb5bfab13 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/build-script-build-script-build.json new file mode 100644 index 00000000..658200d6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"arbitrary\", \"base64\", \"curr\", \"hex\", \"serde\", \"std\"]","declared_features":"[\"alloc\", \"arbitrary\", \"base64\", \"cli\", \"curr\", \"default\", \"hex\", \"next\", \"schemars\", \"serde\", \"serde_json\", \"std\"]","target":5408242616063297496,"profile":3033921117576893,"path":14940651701753170470,"deps":[[14436471438139416390,"crate_git_revision",false,9737000051847795015]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/invoked.timestamp b/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-91f0f971c4f5cca6/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-a2c7654fef565a45/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/stellar-xdr-a2c7654fef565a45/run-build-script-build-script-build new file mode 100644 index 00000000..25ee13c2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-a2c7654fef565a45/run-build-script-build-script-build @@ -0,0 +1 @@ +0609ca374e70ab37 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-a2c7654fef565a45/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/stellar-xdr-a2c7654fef565a45/run-build-script-build-script-build.json new file mode 100644 index 00000000..123e4f84 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-a2c7654fef565a45/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[2492769554574893010,"build_script_build",false,1417437292601739967]],"local":[{"Precalculated":"21.2.0"}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/build-script-build-script-build new file mode 100644 index 00000000..1dac1446 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/build-script-build-script-build @@ -0,0 +1 @@ +80b0a085860c3fca \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/build-script-build-script-build.json new file mode 100644 index 00000000..1025cc09 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\", \"curr\", \"hex\", \"serde\", \"std\"]","declared_features":"[\"alloc\", \"arbitrary\", \"base64\", \"cli\", \"curr\", \"default\", \"hex\", \"next\", \"schemars\", \"serde\", \"serde_json\", \"std\"]","target":5408242616063297496,"profile":3033921117576893,"path":14940651701753170470,"deps":[[14436471438139416390,"crate_git_revision",false,9737000051847795015]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/invoked.timestamp b/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/stellar-xdr-d98a6530619ca6a2/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/dep-lib-strsim b/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/dep-lib-strsim new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/dep-lib-strsim differ diff --git a/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/invoked.timestamp b/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/lib-strsim b/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/lib-strsim new file mode 100644 index 00000000..a733f8b5 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/lib-strsim @@ -0,0 +1 @@ +1abc343bcb143989 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/lib-strsim.json b/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/lib-strsim.json new file mode 100644 index 00000000..48facdcd --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/strsim-fe81d1d5e2f1a155/lib-strsim.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":14520901741915772287,"profile":3033921117576893,"path":5219697224365442656,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/strsim-fe81d1d5e2f1a155/dep-lib-strsim","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/dep-lib-subtle b/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/dep-lib-subtle new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/dep-lib-subtle differ diff --git a/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/invoked.timestamp b/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/lib-subtle b/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/lib-subtle new file mode 100644 index 00000000..9394b7b8 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/lib-subtle @@ -0,0 +1 @@ +bfd04a2e39e8ec02 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/lib-subtle.json b/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/lib-subtle.json new file mode 100644 index 00000000..009a9f32 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/subtle-db0f2c0122691469/lib-subtle.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"i128\"]","declared_features":"[\"const-generics\", \"core_hint_black_box\", \"default\", \"i128\", \"nightly\", \"std\"]","target":13005322332938347306,"profile":8276155916380437441,"path":2465514792101808744,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/subtle-db0f2c0122691469/dep-lib-subtle","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/dep-lib-syn b/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/dep-lib-syn new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/dep-lib-syn differ diff --git a/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/invoked.timestamp b/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/lib-syn b/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/lib-syn new file mode 100644 index 00000000..d9dfe24f --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/lib-syn @@ -0,0 +1 @@ +6f9b8d8e5001e28d \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/lib-syn.json b/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/lib-syn.json new file mode 100644 index 00000000..22ff9f2a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/syn-7eae15a90d73590d/lib-syn.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"clone-impls\", \"default\", \"derive\", \"extra-traits\", \"full\", \"parsing\", \"printing\", \"proc-macro\"]","declared_features":"[\"clone-impls\", \"default\", \"derive\", \"extra-traits\", \"fold\", \"full\", \"parsing\", \"printing\", \"proc-macro\", \"test\", \"visit\", \"visit-mut\"]","target":9442126953582868550,"profile":3033921117576893,"path":12339796746992165182,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[8901712065508858692,"unicode_ident",false,1498566612979844110],[13111758008314797071,"quote",false,14441542378845600703]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/syn-7eae15a90d73590d/dep-lib-syn","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-0b7e1c9c0b193db9/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/thiserror-0b7e1c9c0b193db9/run-build-script-build-script-build new file mode 100644 index 00000000..75d775d1 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-0b7e1c9c0b193db9/run-build-script-build-script-build @@ -0,0 +1 @@ +9ae0a0048c39b743 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-0b7e1c9c0b193db9/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/thiserror-0b7e1c9c0b193db9/run-build-script-build-script-build.json new file mode 100644 index 00000000..f92db32a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-0b7e1c9c0b193db9/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[8008191657135824715,"build_script_build",false,15374691436571819779]],"local":[{"RerunIfChanged":{"output":"debug/build/thiserror-0b7e1c9c0b193db9/output","paths":["build/probe.rs"]}},{"RerunIfEnvChanged":{"var":"RUSTC_BOOTSTRAP","val":null}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/build-script-build-script-build new file mode 100644 index 00000000..aed984e7 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/build-script-build-script-build @@ -0,0 +1 @@ +037f1a2867e05dd5 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/build-script-build-script-build.json new file mode 100644 index 00000000..208f447e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":5408242616063297496,"profile":3033921117576893,"path":8894428157757639088,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/thiserror-26bea6508ba2e308/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/invoked.timestamp b/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-26bea6508ba2e308/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/dep-lib-thiserror b/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/dep-lib-thiserror new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/dep-lib-thiserror differ diff --git a/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/invoked.timestamp b/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/lib-thiserror b/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/lib-thiserror new file mode 100644 index 00000000..7568c13f --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/lib-thiserror @@ -0,0 +1 @@ +c82e526423c52fab \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/lib-thiserror.json b/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/lib-thiserror.json new file mode 100644 index 00000000..3d7536e3 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-d8be4eb1c411e081/lib-thiserror.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":13586076721141200315,"profile":3033921117576893,"path":17675673043371325735,"deps":[[8008191657135824715,"build_script_build",false,4879431994815078554],[15291996789830541733,"thiserror_impl",false,10690835435983223252]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/thiserror-d8be4eb1c411e081/dep-lib-thiserror","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/dep-lib-thiserror b/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/dep-lib-thiserror new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/dep-lib-thiserror differ diff --git a/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/invoked.timestamp b/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/lib-thiserror b/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/lib-thiserror new file mode 100644 index 00000000..4182cbf6 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/lib-thiserror @@ -0,0 +1 @@ +12e8697d7a852cba \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/lib-thiserror.json b/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/lib-thiserror.json new file mode 100644 index 00000000..2cd1e935 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-d8d528275431acef/lib-thiserror.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":13586076721141200315,"profile":8276155916380437441,"path":17675673043371325735,"deps":[[8008191657135824715,"build_script_build",false,4879431994815078554],[15291996789830541733,"thiserror_impl",false,10690835435983223252]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/thiserror-d8d528275431acef/dep-lib-thiserror","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/dep-lib-thiserror_impl b/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/dep-lib-thiserror_impl new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/dep-lib-thiserror_impl differ diff --git a/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/invoked.timestamp b/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/lib-thiserror_impl b/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/lib-thiserror_impl new file mode 100644 index 00000000..d57f982b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/lib-thiserror_impl @@ -0,0 +1 @@ +d439f0c12f7a5d94 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/lib-thiserror_impl.json b/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/lib-thiserror_impl.json new file mode 100644 index 00000000..f3460d29 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/lib-thiserror_impl.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":6216210811039475267,"profile":3033921117576893,"path":7109939572464161400,"deps":[[4289358735036141001,"proc_macro2",false,14223200998779118544],[10420560437213941093,"syn",false,10223735549585103727],[13111758008314797071,"quote",false,14441542378845600703]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/thiserror-impl-a9ac313fd64f9e3f/dep-lib-thiserror_impl","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/dep-lib-typenum b/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/dep-lib-typenum new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/dep-lib-typenum differ diff --git a/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/invoked.timestamp b/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/lib-typenum b/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/lib-typenum new file mode 100644 index 00000000..a5f3c4db --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/lib-typenum @@ -0,0 +1 @@ +c6067909d1f6cd09 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/lib-typenum.json b/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/lib-typenum.json new file mode 100644 index 00000000..43222a1f --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-1e66d7cf02bc5a08/lib-typenum.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"const-generics\", \"force_unix_path_separator\", \"i128\", \"no_std\", \"scale-info\", \"scale_info\", \"strict\"]","target":2349969882102649915,"profile":8276155916380437441,"path":8491229019493401933,"deps":[[857979250431893282,"build_script_build",false,1542392520761131884]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/typenum-1e66d7cf02bc5a08/dep-lib-typenum","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/build-script-build-script-build new file mode 100644 index 00000000..eee95a85 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/build-script-build-script-build @@ -0,0 +1 @@ +801693dbb111e556 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/build-script-build-script-build.json new file mode 100644 index 00000000..d82de8b2 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"const-generics\", \"force_unix_path_separator\", \"i128\", \"no_std\", \"scale-info\", \"scale_info\", \"strict\"]","target":17883862002600103897,"profile":3033921117576893,"path":18012928719420555760,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/typenum-32f0a859c85d86e0/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/invoked.timestamp b/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-32f0a859c85d86e0/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/dep-lib-typenum b/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/dep-lib-typenum new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/dep-lib-typenum differ diff --git a/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/invoked.timestamp b/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/lib-typenum b/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/lib-typenum new file mode 100644 index 00000000..dd31b03d --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/lib-typenum @@ -0,0 +1 @@ +379332701ab2a3e7 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/lib-typenum.json b/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/lib-typenum.json new file mode 100644 index 00000000..3968a053 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-71eedd4a322d1f0a/lib-typenum.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"const-generics\", \"force_unix_path_separator\", \"i128\", \"no_std\", \"scale-info\", \"scale_info\", \"strict\"]","target":2349969882102649915,"profile":3033921117576893,"path":8491229019493401933,"deps":[[857979250431893282,"build_script_build",false,1542392520761131884]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/typenum-71eedd4a322d1f0a/dep-lib-typenum","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-75ecf81369af7a8e/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/typenum-75ecf81369af7a8e/run-build-script-build-script-build new file mode 100644 index 00000000..d46e37da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-75ecf81369af7a8e/run-build-script-build-script-build @@ -0,0 +1 @@ +6cc32f60d3ad6715 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/typenum-75ecf81369af7a8e/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/typenum-75ecf81369af7a8e/run-build-script-build-script-build.json new file mode 100644 index 00000000..5a21cc8b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/typenum-75ecf81369af7a8e/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[857979250431893282,"build_script_build",false,6261430312519276160]],"local":[{"RerunIfChanged":{"output":"debug/build/typenum-75ecf81369af7a8e/output","paths":["tests"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/dep-lib-unicode_ident b/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/dep-lib-unicode_ident new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/dep-lib-unicode_ident differ diff --git a/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/invoked.timestamp b/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/lib-unicode_ident b/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/lib-unicode_ident new file mode 100644 index 00000000..823b5bfb --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/lib-unicode_ident @@ -0,0 +1 @@ +0e84ec0e65facb14 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/lib-unicode_ident.json b/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/lib-unicode_ident.json new file mode 100644 index 00000000..a6484925 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/lib-unicode_ident.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":14045917370260632744,"profile":3033921117576893,"path":6219866027121496452,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/unicode-ident-d40ac0487c7d67b5/dep-lib-unicode_ident","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/dep-lib-version_check b/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/dep-lib-version_check new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/dep-lib-version_check differ diff --git a/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/invoked.timestamp b/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/lib-version_check b/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/lib-version_check new file mode 100644 index 00000000..c3de7fb4 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/lib-version_check @@ -0,0 +1 @@ +14c33bf4d1276536 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/lib-version_check.json b/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/lib-version_check.json new file mode 100644 index 00000000..a5789f37 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/version_check-a38ac275d10c0882/lib-version_check.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":18099224280402537651,"profile":3033921117576893,"path":14456096938354974884,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/version_check-a38ac275d10c0882/dep-lib-version_check","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/dep-lib-wasmi_arena b/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/dep-lib-wasmi_arena new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/dep-lib-wasmi_arena differ diff --git a/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/invoked.timestamp b/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/lib-wasmi_arena b/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/lib-wasmi_arena new file mode 100644 index 00000000..18485b86 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/lib-wasmi_arena @@ -0,0 +1 @@ +6b2ed052357cc498 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/lib-wasmi_arena.json b/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/lib-wasmi_arena.json new file mode 100644 index 00000000..50101028 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/lib-wasmi_arena.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"std\"]","declared_features":"[\"default\", \"std\"]","target":996231028007045470,"profile":8276155916380437441,"path":12292584179137027441,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/wasmi_arena-df54b0c7f2160baa/dep-lib-wasmi_arena","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/dep-lib-wasmi_core b/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/dep-lib-wasmi_core new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/dep-lib-wasmi_core differ diff --git a/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/invoked.timestamp b/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/lib-wasmi_core b/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/lib-wasmi_core new file mode 100644 index 00000000..b308ec82 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/lib-wasmi_core @@ -0,0 +1 @@ +96829b5145aa7358 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/lib-wasmi_core.json b/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/lib-wasmi_core.json new file mode 100644 index 00000000..04e1a58b --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmi_core-4a133da5611539ae/lib-wasmi_core.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"std\"]","declared_features":"[\"default\", \"std\"]","target":9219402628151531726,"profile":8276155916380437441,"path":6519153300342004464,"deps":[[5157631553186200874,"num_traits",false,13000283769285587416],[8471564120405487369,"libm",false,11164435600059236442],[11434239582363224126,"downcast_rs",false,17227532562387671311],[17605717126308396068,"paste",false,2822981152718476596]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/wasmi_core-4a133da5611539ae/dep-lib-wasmi_core","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/dep-lib-wasmparser b/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/dep-lib-wasmparser new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/dep-lib-wasmparser differ diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/invoked.timestamp b/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/lib-wasmparser b/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/lib-wasmparser new file mode 100644 index 00000000..29ac06df --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/lib-wasmparser @@ -0,0 +1 @@ +e695e6435d30ea1a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/lib-wasmparser.json b/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/lib-wasmparser.json new file mode 100644 index 00000000..349db945 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmparser-76a07b49b3d25912/lib-wasmparser.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":13342302619902027920,"profile":3033921117576893,"path":17396539985138279298,"deps":[[12821780872552529316,"indexmap",false,2557238688996871398],[18361894353739432590,"semver",false,4876857970845146860]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/wasmparser-76a07b49b3d25912/dep-lib-wasmparser","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/dep-lib-wasmparser b/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/dep-lib-wasmparser new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/dep-lib-wasmparser differ diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/invoked.timestamp b/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/lib-wasmparser b/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/lib-wasmparser new file mode 100644 index 00000000..ec7046a3 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/lib-wasmparser @@ -0,0 +1 @@ +15b8eb528b991484 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/lib-wasmparser.json b/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/lib-wasmparser.json new file mode 100644 index 00000000..80946c0a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/lib-wasmparser.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[]","target":13342302619902027920,"profile":8276155916380437441,"path":17396539985138279298,"deps":[[12821780872552529316,"indexmap",false,11262219622789213466],[18361894353739432590,"semver",false,6098036773815573838]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/wasmparser-cca4f01ab10a9548/dep-lib-wasmparser","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/dep-lib-wasmparser_nostd b/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/dep-lib-wasmparser_nostd new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/dep-lib-wasmparser_nostd differ diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/invoked.timestamp b/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/lib-wasmparser_nostd b/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/lib-wasmparser_nostd new file mode 100644 index 00000000..a69a3c4e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/lib-wasmparser_nostd @@ -0,0 +1 @@ +5485ff2a4defae3a \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/lib-wasmparser_nostd.json b/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/lib-wasmparser_nostd.json new file mode 100644 index 00000000..e4554fbe --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/lib-wasmparser_nostd.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"std\"]","declared_features":"[\"default\", \"std\"]","target":12458041475187222678,"profile":8276155916380437441,"path":4330562035891923380,"deps":[[2383249096605856819,"indexmap",false,12410674740041096984]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/wasmparser-nostd-969ec15799f82224/dep-lib-wasmparser_nostd","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/build-script-build-script-build new file mode 100644 index 00000000..38a29f7c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/build-script-build-script-build @@ -0,0 +1 @@ +cda9ae1aab900c37 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/build-script-build-script-build.json new file mode 100644 index 00000000..802cfc76 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"simd\"]","declared_features":"[\"__internal_use_only_features_that_work_on_stable\", \"alloc\", \"derive\", \"float-nightly\", \"simd\", \"simd-nightly\", \"std\", \"zerocopy-derive\"]","target":5408242616063297496,"profile":3033921117576893,"path":13030701920711480307,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/zerocopy-8929049d6f960b04/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/invoked.timestamp b/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zerocopy-8929049d6f960b04/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/dep-lib-zerocopy b/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/dep-lib-zerocopy new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/dep-lib-zerocopy differ diff --git a/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/invoked.timestamp b/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/lib-zerocopy b/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/lib-zerocopy new file mode 100644 index 00000000..4e9d4c88 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/lib-zerocopy @@ -0,0 +1 @@ +5a72bae3710a2cb5 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/lib-zerocopy.json b/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/lib-zerocopy.json new file mode 100644 index 00000000..4fb67572 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/lib-zerocopy.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"simd\"]","declared_features":"[\"__internal_use_only_features_that_work_on_stable\", \"alloc\", \"derive\", \"float-nightly\", \"simd\", \"simd-nightly\", \"std\", \"zerocopy-derive\"]","target":3084901215544504908,"profile":8276155916380437441,"path":13303234229501239731,"deps":[[12041806806590726837,"build_script_build",false,17111020267342585552]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/zerocopy-dc3e5ddae9a22109/dep-lib-zerocopy","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zerocopy-ee74c383dec9f942/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/zerocopy-ee74c383dec9f942/run-build-script-build-script-build new file mode 100644 index 00000000..ec2ff363 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zerocopy-ee74c383dec9f942/run-build-script-build-script-build @@ -0,0 +1 @@ +d0de766b468e76ed \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zerocopy-ee74c383dec9f942/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/zerocopy-ee74c383dec9f942/run-build-script-build-script-build.json new file mode 100644 index 00000000..8cfcc717 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zerocopy-ee74c383dec9f942/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[12041806806590726837,"build_script_build",false,3966704436368026061]],"local":[{"RerunIfChanged":{"output":"debug/build/zerocopy-ee74c383dec9f942/output","paths":["build.rs","Cargo.toml"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/dep-lib-zeroize b/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/dep-lib-zeroize new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/dep-lib-zeroize differ diff --git a/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/invoked.timestamp b/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/lib-zeroize b/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/lib-zeroize new file mode 100644 index 00000000..20353598 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/lib-zeroize @@ -0,0 +1 @@ +eefd672c2e259e9b \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/lib-zeroize.json b/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/lib-zeroize.json new file mode 100644 index 00000000..c4f8da60 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zeroize-8876640b9211d71d/lib-zeroize.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[\"alloc\"]","declared_features":"[\"aarch64\", \"alloc\", \"default\", \"derive\", \"serde\", \"simd\", \"std\", \"zeroize_derive\"]","target":12859466896652407160,"profile":8276155916380437441,"path":14783371723396141478,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/zeroize-8876640b9211d71d/dep-lib-zeroize","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-18f804663394d5f0/run-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/zmij-18f804663394d5f0/run-build-script-build-script-build new file mode 100644 index 00000000..11fbc1bd --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-18f804663394d5f0/run-build-script-build-script-build @@ -0,0 +1 @@ +091e325611a1fff4 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-18f804663394d5f0/run-build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/zmij-18f804663394d5f0/run-build-script-build-script-build.json new file mode 100644 index 00000000..b22e1ad7 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-18f804663394d5f0/run-build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[12347024475581975995,"build_script_build",false,17305554009326332544]],"local":[{"RerunIfChanged":{"output":"debug/build/zmij-18f804663394d5f0/output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/dep-lib-zmij b/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/dep-lib-zmij new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/dep-lib-zmij differ diff --git a/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/invoked.timestamp b/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/lib-zmij b/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/lib-zmij new file mode 100644 index 00000000..83673f0a --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/lib-zmij @@ -0,0 +1 @@ +b828253d265d8834 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/lib-zmij.json b/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/lib-zmij.json new file mode 100644 index 00000000..6ad2693e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-a46218109ef821c7/lib-zmij.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"no-panic\"]","target":16603507647234574737,"profile":3033921117576893,"path":211445957967432158,"deps":[[12347024475581975995,"build_script_build",false,17654006160148274697]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/zmij-a46218109ef821c7/dep-lib-zmij","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/build-script-build-script-build b/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/build-script-build-script-build new file mode 100644 index 00000000..0dcbe397 --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/build-script-build-script-build @@ -0,0 +1 @@ +80aa3bc7aead29f0 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/build-script-build-script-build.json b/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/build-script-build-script-build.json new file mode 100644 index 00000000..7efc88ef --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/build-script-build-script-build.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"no-panic\"]","target":5408242616063297496,"profile":3033921117576893,"path":7031962298758689585,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/zmij-c04899bf3c0c2cb7/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/dep-build-script-build-script-build b/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/dep-build-script-build-script-build new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/dep-build-script-build-script-build differ diff --git a/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/invoked.timestamp b/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-c04899bf3c0c2cb7/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/dep-lib-zmij b/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/dep-lib-zmij new file mode 100644 index 00000000..ec3cb8bf Binary files /dev/null and b/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/dep-lib-zmij differ diff --git a/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/invoked.timestamp b/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/invoked.timestamp new file mode 100644 index 00000000..e00328da --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/invoked.timestamp @@ -0,0 +1 @@ +This file has an mtime of when this was started. \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/lib-zmij b/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/lib-zmij new file mode 100644 index 00000000..64ac419c --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/lib-zmij @@ -0,0 +1 @@ +e743bbd76154da85 \ No newline at end of file diff --git a/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/lib-zmij.json b/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/lib-zmij.json new file mode 100644 index 00000000..fba7d55e --- /dev/null +++ b/contracts/target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/lib-zmij.json @@ -0,0 +1 @@ +{"rustc":2833068300835136146,"features":"[]","declared_features":"[\"no-panic\"]","target":16603507647234574737,"profile":8276155916380437441,"path":211445957967432158,"deps":[[12347024475581975995,"build_script_build",false,17654006160148274697]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/zmij-ce9db1b21d01c2e2/dep-lib-zmij","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0} \ No newline at end of file diff --git a/contracts/target_local/debug/deps/addr2line-d9e19a1d0454a0df.d b/contracts/target_local/debug/deps/addr2line-d9e19a1d0454a0df.d new file mode 100644 index 00000000..92924180 --- /dev/null +++ b/contracts/target_local/debug/deps/addr2line-d9e19a1d0454a0df.d @@ -0,0 +1,10 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/addr2line-d9e19a1d0454a0df.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/frame.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/function.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/line.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/lookup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/unit.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libaddr2line-d9e19a1d0454a0df.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/frame.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/function.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/line.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/lookup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/unit.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/frame.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/function.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/line.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/lookup.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/unit.rs: diff --git a/contracts/target_local/debug/deps/adler2-5ffaa4e3032ec6a1.d b/contracts/target_local/debug/deps/adler2-5ffaa4e3032ec6a1.d new file mode 100644 index 00000000..2a7cd9a9 --- /dev/null +++ b/contracts/target_local/debug/deps/adler2-5ffaa4e3032ec6a1.d @@ -0,0 +1,6 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/adler2-5ffaa4e3032ec6a1.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/adler2-2.0.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/adler2-2.0.1/src/algo.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libadler2-5ffaa4e3032ec6a1.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/adler2-2.0.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/adler2-2.0.1/src/algo.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/adler2-2.0.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/adler2-2.0.1/src/algo.rs: diff --git a/contracts/target_local/debug/deps/agenticpay-9659475f2e2815c6.d b/contracts/target_local/debug/deps/agenticpay-9659475f2e2815c6.d new file mode 100644 index 00000000..a33c9cec --- /dev/null +++ b/contracts/target_local/debug/deps/agenticpay-9659475f2e2815c6.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/agenticpay-9659475f2e2815c6.d: src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libagenticpay-9659475f2e2815c6.rmeta: src/lib.rs + +src/lib.rs: diff --git a/contracts/target_local/debug/deps/agenticpay-aabad211886c659f.d b/contracts/target_local/debug/deps/agenticpay-aabad211886c659f.d new file mode 100644 index 00000000..349aae6d --- /dev/null +++ b/contracts/target_local/debug/deps/agenticpay-aabad211886c659f.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/agenticpay-aabad211886c659f.d: src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libagenticpay-aabad211886c659f.rmeta: src/lib.rs + +src/lib.rs: diff --git a/contracts/target_local/debug/deps/arbitrary-a1cf9976be3563ce.d b/contracts/target_local/debug/deps/arbitrary-a1cf9976be3563ce.d new file mode 100644 index 00000000..a03312e3 --- /dev/null +++ b/contracts/target_local/debug/deps/arbitrary-a1cf9976be3563ce.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/arbitrary-a1cf9976be3563ce.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/unstructured.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/size_hint.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libarbitrary-a1cf9976be3563ce.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/unstructured.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/size_hint.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/unstructured.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/size_hint.rs: diff --git a/contracts/target_local/debug/deps/autocfg-eb1adbf7d7f824ab.d b/contracts/target_local/debug/deps/autocfg-eb1adbf7d7f824ab.d new file mode 100644 index 00000000..4acab8d8 --- /dev/null +++ b/contracts/target_local/debug/deps/autocfg-eb1adbf7d7f824ab.d @@ -0,0 +1,10 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/autocfg-eb1adbf7d7f824ab.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/rustc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/version.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libautocfg-eb1adbf7d7f824ab.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/rustc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/version.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libautocfg-eb1adbf7d7f824ab.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/rustc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/version.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/rustc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/version.rs: diff --git a/contracts/target_local/debug/deps/backtrace-4f4cb34f3e5fc1f0.d b/contracts/target_local/debug/deps/backtrace-4f4cb34f3e5fc1f0.d new file mode 100644 index 00000000..4722a6e4 --- /dev/null +++ b/contracts/target_local/debug/deps/backtrace-4f4cb34f3e5fc1f0.d @@ -0,0 +1,17 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/backtrace-4f4cb34f3e5fc1f0.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/backtrace/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/print.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/backtrace/libunwind.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/lru.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/stash.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/mmap_unix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/macho.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/libs_macos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/capture.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbacktrace-4f4cb34f3e5fc1f0.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/backtrace/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/print.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/backtrace/libunwind.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/lru.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/stash.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/mmap_unix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/macho.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/libs_macos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/capture.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/backtrace/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/print.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/backtrace/libunwind.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/lru.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/stash.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/mmap_unix.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/macho.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/symbolize/gimli/libs_macos.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/capture.rs: diff --git a/contracts/target_local/debug/deps/base16ct-62dc7e0808bc2ab7.d b/contracts/target_local/debug/deps/base16ct-62dc7e0808bc2ab7.d new file mode 100644 index 00000000..73431a1e --- /dev/null +++ b/contracts/target_local/debug/deps/base16ct-62dc7e0808bc2ab7.d @@ -0,0 +1,10 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/base16ct-62dc7e0808bc2ab7.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/lower.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/mixed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/upper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/error.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase16ct-62dc7e0808bc2ab7.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/lower.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/mixed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/upper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/error.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/lower.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/mixed.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/upper.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/display.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/error.rs: diff --git a/contracts/target_local/debug/deps/base32-3eaeccff18bfa061.d b/contracts/target_local/debug/deps/base32-3eaeccff18bfa061.d new file mode 100644 index 00000000..5a57f9bd --- /dev/null +++ b/contracts/target_local/debug/deps/base32-3eaeccff18bfa061.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/base32-3eaeccff18bfa061.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase32-3eaeccff18bfa061.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase32-3eaeccff18bfa061.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/src/lib.rs: diff --git a/contracts/target_local/debug/deps/base32-a058bee789873153.d b/contracts/target_local/debug/deps/base32-a058bee789873153.d new file mode 100644 index 00000000..4275bd4a --- /dev/null +++ b/contracts/target_local/debug/deps/base32-a058bee789873153.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/base32-a058bee789873153.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase32-a058bee789873153.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/src/lib.rs: diff --git a/contracts/target_local/debug/deps/base64-4067a4a55fdd1db4.d b/contracts/target_local/debug/deps/base64-4067a4a55fdd1db4.d new file mode 100644 index 00000000..5ec66825 --- /dev/null +++ b/contracts/target_local/debug/deps/base64-4067a4a55fdd1db4.d @@ -0,0 +1,17 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/base64-4067a4a55fdd1db4.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/chunked_encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/decoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder_string_writer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/encode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/decode.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase64-4067a4a55fdd1db4.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/chunked_encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/decoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder_string_writer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/encode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/decode.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase64-4067a4a55fdd1db4.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/chunked_encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/decoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder_string_writer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/encode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/decode.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/chunked_encoder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/display.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/decoder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/tables.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder_string_writer.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/encode.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/decode.rs: diff --git a/contracts/target_local/debug/deps/base64-b48e843e244d9a20.d b/contracts/target_local/debug/deps/base64-b48e843e244d9a20.d new file mode 100644 index 00000000..5c3ac128 --- /dev/null +++ b/contracts/target_local/debug/deps/base64-b48e843e244d9a20.d @@ -0,0 +1,15 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/base64-b48e843e244d9a20.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/chunked_encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/decoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder_string_writer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/encode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/decode.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase64-b48e843e244d9a20.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/chunked_encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/decoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder_string_writer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/encode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/decode.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/chunked_encoder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/display.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/read/decoder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/tables.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/write/encoder_string_writer.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/encode.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/decode.rs: diff --git a/contracts/target_local/debug/deps/block_buffer-259a510d23946e16.d b/contracts/target_local/debug/deps/block_buffer-259a510d23946e16.d new file mode 100644 index 00000000..c943321d --- /dev/null +++ b/contracts/target_local/debug/deps/block_buffer-259a510d23946e16.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/block_buffer-259a510d23946e16.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/sealed.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libblock_buffer-259a510d23946e16.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/sealed.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libblock_buffer-259a510d23946e16.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/sealed.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/sealed.rs: diff --git a/contracts/target_local/debug/deps/block_buffer-aad41c5acfbb4f49.d b/contracts/target_local/debug/deps/block_buffer-aad41c5acfbb4f49.d new file mode 100644 index 00000000..ba4bc5dd --- /dev/null +++ b/contracts/target_local/debug/deps/block_buffer-aad41c5acfbb4f49.d @@ -0,0 +1,6 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/block_buffer-aad41c5acfbb4f49.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/sealed.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libblock_buffer-aad41c5acfbb4f49.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/sealed.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/sealed.rs: diff --git a/contracts/target_local/debug/deps/bytes_lit-328d966ba80a16f9.d b/contracts/target_local/debug/deps/bytes_lit-328d966ba80a16f9.d new file mode 100644 index 00000000..1bcdd2b9 --- /dev/null +++ b/contracts/target_local/debug/deps/bytes_lit-328d966ba80a16f9.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/bytes_lit-328d966ba80a16f9.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/bytesmin.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbytes_lit-328d966ba80a16f9.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/bytesmin.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/bytes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/bytesmin.rs: diff --git a/contracts/target_local/debug/deps/cfg_if-7228978f4fcb9234.d b/contracts/target_local/debug/deps/cfg_if-7228978f4fcb9234.d new file mode 100644 index 00000000..5294cc8a --- /dev/null +++ b/contracts/target_local/debug/deps/cfg_if-7228978f4fcb9234.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/cfg_if-7228978f4fcb9234.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcfg_if-7228978f4fcb9234.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs: diff --git a/contracts/target_local/debug/deps/cfg_if-76de021c492f10bf.d b/contracts/target_local/debug/deps/cfg_if-76de021c492f10bf.d new file mode 100644 index 00000000..86b178fb --- /dev/null +++ b/contracts/target_local/debug/deps/cfg_if-76de021c492f10bf.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/cfg_if-76de021c492f10bf.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcfg_if-76de021c492f10bf.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcfg_if-76de021c492f10bf.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs: diff --git a/contracts/target_local/debug/deps/const_oid-c4ade6a49cae461d.d b/contracts/target_local/debug/deps/const_oid-c4ade6a49cae461d.d new file mode 100644 index 00000000..8f9cec92 --- /dev/null +++ b/contracts/target_local/debug/deps/const_oid-c4ade6a49cae461d.d @@ -0,0 +1,11 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/const_oid-c4ade6a49cae461d.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/checked.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/arcs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libconst_oid-c4ade6a49cae461d.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/checked.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/arcs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/encoder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/checked.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/arcs.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/encoder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/parser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/../README.md: diff --git a/contracts/target_local/debug/deps/cpufeatures-299cb41afad91810.d b/contracts/target_local/debug/deps/cpufeatures-299cb41afad91810.d new file mode 100644 index 00000000..293866a3 --- /dev/null +++ b/contracts/target_local/debug/deps/cpufeatures-299cb41afad91810.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/cpufeatures-299cb41afad91810.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/aarch64.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcpufeatures-299cb41afad91810.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/aarch64.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcpufeatures-299cb41afad91810.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/aarch64.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/aarch64.rs: diff --git a/contracts/target_local/debug/deps/cpufeatures-c5fe4d960a8962e2.d b/contracts/target_local/debug/deps/cpufeatures-c5fe4d960a8962e2.d new file mode 100644 index 00000000..26610a0a --- /dev/null +++ b/contracts/target_local/debug/deps/cpufeatures-c5fe4d960a8962e2.d @@ -0,0 +1,6 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/cpufeatures-c5fe4d960a8962e2.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/aarch64.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcpufeatures-c5fe4d960a8962e2.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/aarch64.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/aarch64.rs: diff --git a/contracts/target_local/debug/deps/crate_git_revision-4c5040678cbf6401.d b/contracts/target_local/debug/deps/crate_git_revision-4c5040678cbf6401.d new file mode 100644 index 00000000..ddce0a1a --- /dev/null +++ b/contracts/target_local/debug/deps/crate_git_revision-4c5040678cbf6401.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/crate_git_revision-4c5040678cbf6401.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/src/test.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrate_git_revision-4c5040678cbf6401.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/src/test.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrate_git_revision-4c5040678cbf6401.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/src/test.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/src/test.rs: diff --git a/contracts/target_local/debug/deps/crypto_bigint-6f66ca8126086526.d b/contracts/target_local/debug/deps/crypto_bigint-6f66ca8126086526.d new file mode 100644 index 00000000..a9b5dd6d --- /dev/null +++ b/contracts/target_local/debug/deps/crypto_bigint-6f66ca8126086526.d @@ -0,0 +1,81 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/crypto_bigint-6f66ca8126086526.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/array.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/checked.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/ct_choice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_and.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_not.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_or.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_xor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/encoding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/neg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/shl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/shr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/rand.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/non_zero.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/add_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_and.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_not.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_or.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_xor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/concat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/div.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/div_limb.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/encoding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/inv_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/mul_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/neg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/neg_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/resize.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/shl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/shr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/split.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/sqrt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/sub_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/reduction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_neg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_neg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/div_by_2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/array.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/rand.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/wrapping.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrypto_bigint-6f66ca8126086526.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/array.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/checked.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/ct_choice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_and.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_not.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_or.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_xor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/encoding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/neg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/shl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/shr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/rand.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/non_zero.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/add_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_and.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_not.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_or.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_xor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/concat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/div.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/div_limb.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/encoding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/inv_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/mul_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/neg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/neg_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/resize.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/shl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/shr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/split.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/sqrt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/sub_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/reduction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_neg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_neg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/div_by_2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/array.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/rand.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/wrapping.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/array.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/checked.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/ct_choice.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/add.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_and.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_not.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_or.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bit_xor.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/bits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/cmp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/encoding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/from.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/mul.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/neg.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/shl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/shr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/sub.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/limb/rand.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/non_zero.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/traits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/add.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/add_mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_and.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_not.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_or.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bit_xor.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/bits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/cmp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/concat.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/div.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/div_limb.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/encoding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/from.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/inv_mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/mul.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/mul_mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/neg.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/neg_mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/resize.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/shl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/shr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/split.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/sqrt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/sub.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/sub_mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/reduction.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_add.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_inv.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_mul.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_neg.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_pow.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/const_sub.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/constant_mod/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_add.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_inv.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_mul.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_neg.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_pow.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/runtime_mod/runtime_sub.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/add.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/div_by_2.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/inv.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/mul.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/pow.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/modular/sub.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/array.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/rand.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/wrapping.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/../README.md: diff --git a/contracts/target_local/debug/deps/crypto_common-4ede5578405cc99c.d b/contracts/target_local/debug/deps/crypto_common-4ede5578405cc99c.d new file mode 100644 index 00000000..6ba3ec04 --- /dev/null +++ b/contracts/target_local/debug/deps/crypto_common-4ede5578405cc99c.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/crypto_common-4ede5578405cc99c.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrypto_common-4ede5578405cc99c.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrypto_common-4ede5578405cc99c.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs: diff --git a/contracts/target_local/debug/deps/crypto_common-c239b31c4139ccfa.d b/contracts/target_local/debug/deps/crypto_common-c239b31c4139ccfa.d new file mode 100644 index 00000000..c076c288 --- /dev/null +++ b/contracts/target_local/debug/deps/crypto_common-c239b31c4139ccfa.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/crypto_common-c239b31c4139ccfa.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrypto_common-c239b31c4139ccfa.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs: diff --git a/contracts/target_local/debug/deps/ctor-e0e83f7eeeee73d2.d b/contracts/target_local/debug/deps/ctor-e0e83f7eeeee73d2.d new file mode 100644 index 00000000..df3b7a11 --- /dev/null +++ b/contracts/target_local/debug/deps/ctor-e0e83f7eeeee73d2.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/ctor-e0e83f7eeeee73d2.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ctor-0.2.9/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libctor-e0e83f7eeeee73d2.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ctor-0.2.9/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ctor-0.2.9/src/lib.rs: diff --git a/contracts/target_local/debug/deps/curve25519_dalek-b574ea570285d412.d b/contracts/target_local/debug/deps/curve25519_dalek-b574ea570285d412.d new file mode 100644 index 00000000..e0b96706 --- /dev/null +++ b/contracts/target_local/debug/deps/curve25519_dalek-b574ea570285d412.d @@ -0,0 +1,28 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/curve25519_dalek-b574ea570285d412.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/scalar.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/montgomery.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/edwards.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/ristretto.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/constants.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/curve_models/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/variable_base.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/vartime_double_base.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/straus.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/precomputed_straus.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/pippenger.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/window.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/../README.md /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/scalar.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/constants.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcurve25519_dalek-b574ea570285d412.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/scalar.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/montgomery.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/edwards.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/ristretto.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/constants.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/curve_models/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/variable_base.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/vartime_double_base.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/straus.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/precomputed_straus.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/pippenger.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/window.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/../README.md /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/scalar.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/constants.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/scalar.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/montgomery.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/edwards.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/ristretto.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/constants.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/traits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/curve_models/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/variable_base.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/vartime_double_base.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/straus.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/precomputed_straus.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/scalar_mul/pippenger.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/window.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/../README.md: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/scalar.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/backend/serial/u64/constants.rs: diff --git a/contracts/target_local/debug/deps/darling-7637f519bd3cd2cc.d b/contracts/target_local/debug/deps/darling-7637f519bd3cd2cc.d new file mode 100644 index 00000000..f3b87d41 --- /dev/null +++ b/contracts/target_local/debug/deps/darling-7637f519bd3cd2cc.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/darling-7637f519bd3cd2cc.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/src/macros_public.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling-7637f519bd3cd2cc.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/src/macros_public.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling-7637f519bd3cd2cc.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/src/macros_public.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/src/macros_public.rs: diff --git a/contracts/target_local/debug/deps/darling-aaef6fa402ba8bf9.d b/contracts/target_local/debug/deps/darling-aaef6fa402ba8bf9.d new file mode 100644 index 00000000..a329fd8b --- /dev/null +++ b/contracts/target_local/debug/deps/darling-aaef6fa402ba8bf9.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/darling-aaef6fa402ba8bf9.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/src/macros_public.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling-aaef6fa402ba8bf9.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/src/macros_public.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling-aaef6fa402ba8bf9.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/src/macros_public.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/src/macros_public.rs: diff --git a/contracts/target_local/debug/deps/darling_core-3de512ef2efedddc.d b/contracts/target_local/debug/deps/darling_core-3de512ef2efedddc.d new file mode 100644 index 00000000..2f581acd --- /dev/null +++ b/contracts/target_local/debug/deps/darling_core-3de512ef2efedddc.d @@ -0,0 +1,76 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/darling_core-3de512ef2efedddc.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/macros_private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/macros_public.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/data/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/data/nested_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/attr_extractor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/attrs_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/default_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_attributes_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_derive_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_meta_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_variant_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/outer_from_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/postfix_transform.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/trait_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/variant_data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/kind.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_derive_input.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_generic_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/forward_attrs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/forwarded_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/input_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/input_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/outer_from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/generics_ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/ident_set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/lifetimes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/options.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/type_params.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/callable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/flag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/ident_string/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/ignored.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/over_ride.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/parse_attribute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/parse_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/path_list.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/path_to_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/preserved_str_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/spanned_value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/with_original.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_core-3de512ef2efedddc.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/macros_private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/macros_public.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/data/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/data/nested_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/attr_extractor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/attrs_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/default_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_attributes_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_derive_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_meta_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_variant_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/outer_from_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/postfix_transform.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/trait_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/variant_data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/kind.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_derive_input.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_generic_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/forward_attrs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/forwarded_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/input_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/input_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/outer_from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/generics_ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/ident_set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/lifetimes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/options.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/type_params.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/callable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/flag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/ident_string/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/ignored.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/over_ride.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/parse_attribute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/parse_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/path_list.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/path_to_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/preserved_str_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/spanned_value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/with_original.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_core-3de512ef2efedddc.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/macros_private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/macros_public.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/data/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/data/nested_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/attr_extractor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/attrs_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/default_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_attributes_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_derive_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_meta_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_variant_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/outer_from_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/postfix_transform.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/trait_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/variant_data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/kind.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_derive_input.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_generic_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/forward_attrs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/forwarded_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/input_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/input_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/outer_from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/generics_ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/ident_set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/lifetimes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/options.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/type_params.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/callable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/flag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/ident_string/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/ignored.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/over_ride.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/parse_attribute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/parse_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/path_list.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/path_to_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/preserved_str_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/spanned_value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/with_original.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/macros_private.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/macros_public.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/data/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/data/nested_meta.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/ast/generics.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/attr_extractor.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/attrs_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/default_expr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_attributes_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_derive_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_meta_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_type_param.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/from_variant_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/outer_from_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/postfix_transform.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/trait_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/variant.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/codegen/variant_data.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/derive.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/kind.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/error/util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_attributes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_derive_input.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_generic_param.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_generics.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_meta.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_type_param.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/from_variant.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/core.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/forward_attrs.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/forwarded_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_attributes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_derive.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_meta.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_type_param.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/from_variant.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/input_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/input_variant.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/outer_from.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/options/shape.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/generics_ext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/ident_set.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/lifetimes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/options.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/usage/type_params.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/callable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/flag.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/ident_string/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/ignored.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/over_ride.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/parse_attribute.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/parse_expr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/path_list.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/path_to_string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/preserved_str_expr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/shape.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/spanned_value.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/util/with_original.rs: diff --git a/contracts/target_local/debug/deps/darling_core-e1e05ecf024ad090.d b/contracts/target_local/debug/deps/darling_core-e1e05ecf024ad090.d new file mode 100644 index 00000000..160ddbc8 --- /dev/null +++ b/contracts/target_local/debug/deps/darling_core-e1e05ecf024ad090.d @@ -0,0 +1,73 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/darling_core-e1e05ecf024ad090.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/macros_private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/macros_public.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/attr_extractor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/attrs_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/default_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_attributes_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_derive_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_meta_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_variant_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/outer_from_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/postfix_transform.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/trait_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/variant_data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/error/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/error/kind.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_derive_input.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_generic_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/forward_attrs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/forwarded_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/input_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/input_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/outer_from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/generics_ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/ident_set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/lifetimes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/options.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/type_params.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/callable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/flag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/ident_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/ignored.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/over_ride.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/parse_attribute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/parse_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/path_list.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/path_to_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/spanned_value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/with_original.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_core-e1e05ecf024ad090.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/macros_private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/macros_public.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/attr_extractor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/attrs_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/default_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_attributes_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_derive_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_meta_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_variant_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/outer_from_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/postfix_transform.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/trait_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/variant_data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/error/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/error/kind.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_derive_input.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_generic_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/forward_attrs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/forwarded_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/input_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/input_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/outer_from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/generics_ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/ident_set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/lifetimes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/options.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/type_params.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/callable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/flag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/ident_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/ignored.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/over_ride.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/parse_attribute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/parse_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/path_list.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/path_to_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/spanned_value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/with_original.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_core-e1e05ecf024ad090.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/macros_private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/macros_public.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/attr_extractor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/attrs_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/default_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_attributes_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_derive_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_meta_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_variant_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/outer_from_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/postfix_transform.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/trait_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/variant_data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/error/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/error/kind.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_derive_input.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_generic_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/forward_attrs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/forwarded_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_type_param.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/input_field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/input_variant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/outer_from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/generics_ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/ident_set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/lifetimes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/options.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/type_params.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/callable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/flag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/ident_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/ignored.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/over_ride.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/parse_attribute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/parse_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/path_list.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/path_to_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/shape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/spanned_value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/with_original.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/macros_private.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/macros_public.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/data.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/ast/generics.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/attr_extractor.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/attrs_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/default_expr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_attributes_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_derive_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_meta_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_type_param.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/from_variant_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/outer_from_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/postfix_transform.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/trait_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/variant.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/codegen/variant_data.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/derive.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/error/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/error/kind.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_attributes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_derive_input.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_generic_param.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_generics.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_meta.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_type_param.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/from_variant.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/core.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/forward_attrs.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/forwarded_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_attributes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_derive.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_meta.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_type_param.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/from_variant.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/input_field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/input_variant.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/outer_from.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/options/shape.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/generics_ext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/ident_set.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/lifetimes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/options.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/usage/type_params.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/callable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/flag.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/ident_string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/ignored.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/over_ride.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/parse_attribute.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/parse_expr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/path_list.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/path_to_string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/shape.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/spanned_value.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/util/with_original.rs: diff --git a/contracts/target_local/debug/deps/darling_macro-c4d8555b8112f5f6.d b/contracts/target_local/debug/deps/darling_macro-c4d8555b8112f5f6.d new file mode 100644 index 00000000..8add4aa8 --- /dev/null +++ b/contracts/target_local/debug/deps/darling_macro-c4d8555b8112f5f6.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/darling_macro-c4d8555b8112f5f6.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.23.0/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_macro-c4d8555b8112f5f6.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.23.0/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.23.0/src/lib.rs: diff --git a/contracts/target_local/debug/deps/darling_macro-cab5b6d187b7641b.d b/contracts/target_local/debug/deps/darling_macro-cab5b6d187b7641b.d new file mode 100644 index 00000000..aa2bfb03 --- /dev/null +++ b/contracts/target_local/debug/deps/darling_macro-cab5b6d187b7641b.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/darling_macro-cab5b6d187b7641b.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.20.11/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_macro-cab5b6d187b7641b.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.20.11/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.20.11/src/lib.rs: diff --git a/contracts/target_local/debug/deps/der-2472317c788ab83f.d b/contracts/target_local/debug/deps/der-2472317c788ab83f.d new file mode 100644 index 00000000..d96825c5 --- /dev/null +++ b/contracts/target_local/debug/deps/der-2472317c788ab83f.d @@ -0,0 +1,51 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/der-2472317c788ab83f.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/internal_macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/any.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/bit_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/boolean.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/choice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/context_specific.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/generalized_time.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/ia5_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/integer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/integer/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/integer/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/null.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/octet_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/oid.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/optional.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/printable_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/sequence.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/sequence_of.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/set_of.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/teletex_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/utc_time.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/utf8_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/videotex_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/referenced.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/arrayvec.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/bytes_ref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/datetime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/decode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/encode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/encode_ref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/header.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/length.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/ord.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader/nested.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/str_ref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag/class.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag/mode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag/number.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/writer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/writer/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libder-2472317c788ab83f.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/internal_macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/any.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/bit_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/boolean.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/choice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/context_specific.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/generalized_time.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/ia5_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/integer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/integer/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/integer/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/null.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/octet_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/oid.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/optional.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/printable_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/sequence.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/sequence_of.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/set_of.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/teletex_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/utc_time.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/utf8_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/videotex_string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/referenced.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/arrayvec.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/bytes_ref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/datetime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/decode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/encode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/encode_ref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/header.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/length.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/ord.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader/nested.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/str_ref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag/class.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag/mode.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag/number.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/writer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/writer/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/internal_macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/any.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/bit_string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/boolean.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/choice.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/context_specific.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/generalized_time.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/ia5_string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/integer.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/integer/int.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/integer/uint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/null.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/octet_string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/oid.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/optional.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/printable_string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/sequence.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/sequence_of.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/set_of.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/teletex_string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/utc_time.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/utf8_string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/asn1/videotex_string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/referenced.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/arrayvec.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/bytes_ref.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/datetime.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/decode.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/encode.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/encode_ref.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/header.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/length.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/ord.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader/nested.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/reader/slice.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/str_ref.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag/class.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag/mode.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/tag/number.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/writer.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/writer/slice.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/../README.md: diff --git a/contracts/target_local/debug/deps/derive_arbitrary-78af8cb1d2f41ed3.d b/contracts/target_local/debug/deps/derive_arbitrary-78af8cb1d2f41ed3.d new file mode 100644 index 00000000..468ce71d --- /dev/null +++ b/contracts/target_local/debug/deps/derive_arbitrary-78af8cb1d2f41ed3.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/derive_arbitrary-78af8cb1d2f41ed3.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/container_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/field_attributes.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libderive_arbitrary-78af8cb1d2f41ed3.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/container_attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/field_attributes.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/container_attributes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/field_attributes.rs: diff --git a/contracts/target_local/debug/deps/digest-18b6b6989020caaf.d b/contracts/target_local/debug/deps/digest-18b6b6989020caaf.d new file mode 100644 index 00000000..b9601924 --- /dev/null +++ b/contracts/target_local/debug/deps/digest-18b6b6989020caaf.d @@ -0,0 +1,13 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/digest-18b6b6989020caaf.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/ct_variable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/rt_variable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/wrapper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/xof_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdigest-18b6b6989020caaf.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/ct_variable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/rt_variable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/wrapper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/xof_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdigest-18b6b6989020caaf.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/ct_variable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/rt_variable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/wrapper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/xof_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/ct_variable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/rt_variable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/wrapper.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/xof_reader.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs: diff --git a/contracts/target_local/debug/deps/digest-58881e2ec229850c.d b/contracts/target_local/debug/deps/digest-58881e2ec229850c.d new file mode 100644 index 00000000..4ef05307 --- /dev/null +++ b/contracts/target_local/debug/deps/digest-58881e2ec229850c.d @@ -0,0 +1,12 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/digest-58881e2ec229850c.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/ct_variable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/rt_variable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/wrapper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/xof_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/mac.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdigest-58881e2ec229850c.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/ct_variable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/rt_variable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/wrapper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/xof_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/mac.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/ct_variable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/rt_variable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/wrapper.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/core_api/xof_reader.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/digest.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/mac.rs: diff --git a/contracts/target_local/debug/deps/downcast_rs-8c508cdab3c16fdb.d b/contracts/target_local/debug/deps/downcast_rs-8c508cdab3c16fdb.d new file mode 100644 index 00000000..e3791536 --- /dev/null +++ b/contracts/target_local/debug/deps/downcast_rs-8c508cdab3c16fdb.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/downcast_rs-8c508cdab3c16fdb.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/downcast-rs-1.2.1/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdowncast_rs-8c508cdab3c16fdb.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/downcast-rs-1.2.1/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/downcast-rs-1.2.1/src/lib.rs: diff --git a/contracts/target_local/debug/deps/ecdsa-aee9dbec7e9ee10f.d b/contracts/target_local/debug/deps/ecdsa-aee9dbec7e9ee10f.d new file mode 100644 index 00000000..49e781d4 --- /dev/null +++ b/contracts/target_local/debug/deps/ecdsa-aee9dbec7e9ee10f.d @@ -0,0 +1,12 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/ecdsa-aee9dbec7e9ee10f.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/normalized.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/recovery.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/der.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/hazmat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/signing.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/verifying.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libecdsa-aee9dbec7e9ee10f.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/normalized.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/recovery.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/der.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/hazmat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/signing.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/verifying.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/normalized.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/recovery.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/der.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/hazmat.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/signing.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/verifying.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/../README.md: diff --git a/contracts/target_local/debug/deps/ed25519-1ead8f42bcf6434b.d b/contracts/target_local/debug/deps/ed25519-1ead8f42bcf6434b.d new file mode 100644 index 00000000..cbb6b91f --- /dev/null +++ b/contracts/target_local/debug/deps/ed25519-1ead8f42bcf6434b.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/ed25519-1ead8f42bcf6434b.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/hex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libed25519-1ead8f42bcf6434b.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/hex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/hex.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/../README.md: diff --git a/contracts/target_local/debug/deps/ed25519_dalek-c7e444cb37e0cde2.d b/contracts/target_local/debug/deps/ed25519_dalek-c7e444cb37e0cde2.d new file mode 100644 index 00000000..bf621098 --- /dev/null +++ b/contracts/target_local/debug/deps/ed25519_dalek-c7e444cb37e0cde2.d @@ -0,0 +1,11 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/ed25519_dalek-c7e444cb37e0cde2.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/constants.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/errors.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signature.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/verifying.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/hazmat.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libed25519_dalek-c7e444cb37e0cde2.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/constants.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/errors.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signature.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/verifying.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/hazmat.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/constants.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/errors.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signature.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/verifying.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/hazmat.rs: diff --git a/contracts/target_local/debug/deps/either-a5ea3a98650b02d9.d b/contracts/target_local/debug/deps/either-a5ea3a98650b02d9.d new file mode 100644 index 00000000..20522b9d --- /dev/null +++ b/contracts/target_local/debug/deps/either-a5ea3a98650b02d9.d @@ -0,0 +1,9 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/either-a5ea3a98650b02d9.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/iterator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/into_either.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libeither-a5ea3a98650b02d9.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/iterator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/into_either.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libeither-a5ea3a98650b02d9.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/iterator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/into_either.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/iterator.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/into_either.rs: diff --git a/contracts/target_local/debug/deps/elliptic_curve-3d9f75a971655151.d b/contracts/target_local/debug/deps/elliptic_curve-3d9f75a971655151.d new file mode 100644 index 00000000..ddf75274 --- /dev/null +++ b/contracts/target_local/debug/deps/elliptic_curve-3d9f75a971655151.d @@ -0,0 +1,20 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/elliptic_curve-3d9f75a971655151.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/point.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/point/non_identity.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/blinded.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/nonzero.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/primitive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/sec1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/weierstrass.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/secret_key.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/arithmetic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/public_key.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libelliptic_curve-3d9f75a971655151.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/point.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/point/non_identity.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/blinded.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/nonzero.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/primitive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/sec1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/weierstrass.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/secret_key.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/arithmetic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/public_key.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/point.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/point/non_identity.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/blinded.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/nonzero.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/scalar/primitive.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/ops.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/sec1.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/weierstrass.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/secret_key.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/arithmetic.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/public_key.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/../README.md: diff --git a/contracts/target_local/debug/deps/equivalent-0716044aa765588b.d b/contracts/target_local/debug/deps/equivalent-0716044aa765588b.d new file mode 100644 index 00000000..f34ca17d --- /dev/null +++ b/contracts/target_local/debug/deps/equivalent-0716044aa765588b.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/equivalent-0716044aa765588b.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libequivalent-0716044aa765588b.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs: diff --git a/contracts/target_local/debug/deps/equivalent-87f726e4f2cd0f95.d b/contracts/target_local/debug/deps/equivalent-87f726e4f2cd0f95.d new file mode 100644 index 00000000..151ebf51 --- /dev/null +++ b/contracts/target_local/debug/deps/equivalent-87f726e4f2cd0f95.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/equivalent-87f726e4f2cd0f95.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libequivalent-87f726e4f2cd0f95.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libequivalent-87f726e4f2cd0f95.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs: diff --git a/contracts/target_local/debug/deps/escape_bytes-0793e7d5e248663a.d b/contracts/target_local/debug/deps/escape_bytes-0793e7d5e248663a.d new file mode 100644 index 00000000..d91fbe3f --- /dev/null +++ b/contracts/target_local/debug/deps/escape_bytes-0793e7d5e248663a.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/escape_bytes-0793e7d5e248663a.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/escape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/unescape.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libescape_bytes-0793e7d5e248663a.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/escape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/unescape.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/escape.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/unescape.rs: diff --git a/contracts/target_local/debug/deps/escape_bytes-1a79ffb0a6f5486a.d b/contracts/target_local/debug/deps/escape_bytes-1a79ffb0a6f5486a.d new file mode 100644 index 00000000..fb1b109d --- /dev/null +++ b/contracts/target_local/debug/deps/escape_bytes-1a79ffb0a6f5486a.d @@ -0,0 +1,9 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/escape_bytes-1a79ffb0a6f5486a.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/escape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/unescape.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libescape_bytes-1a79ffb0a6f5486a.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/escape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/unescape.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libescape_bytes-1a79ffb0a6f5486a.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/escape.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/unescape.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/escape.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/unescape.rs: diff --git a/contracts/target_local/debug/deps/ethnum-5decaa31cdba7012.d b/contracts/target_local/debug/deps/ethnum-5decaa31cdba7012.d new file mode 100644 index 00000000..a323ef52 --- /dev/null +++ b/contracts/target_local/debug/deps/ethnum-5decaa31cdba7012.d @@ -0,0 +1,41 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/ethnum-5decaa31cdba7012.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/cast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/ctz.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/divmod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/rot.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/signed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/parse.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libethnum-5decaa31cdba7012.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/cast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/ctz.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/divmod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/rot.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/signed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/parse.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/cmp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/ops.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/parse.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/api.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/cmp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/convert.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/ops.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/parse.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/cast.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/add.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/ctz.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/divmod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/mul.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/rot.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/sub.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/signed.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/parse.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/api.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/cmp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/convert.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/ops.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/parse.rs: diff --git a/contracts/target_local/debug/deps/ethnum-a0cb26c82052fdd3.d b/contracts/target_local/debug/deps/ethnum-a0cb26c82052fdd3.d new file mode 100644 index 00000000..e2f38b72 --- /dev/null +++ b/contracts/target_local/debug/deps/ethnum-a0cb26c82052fdd3.d @@ -0,0 +1,43 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/ethnum-a0cb26c82052fdd3.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/cast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/ctz.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/divmod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/rot.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/signed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/parse.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libethnum-a0cb26c82052fdd3.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/cast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/ctz.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/divmod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/rot.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/signed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/parse.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libethnum-a0cb26c82052fdd3.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/cast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/ctz.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/divmod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/rot.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/sub.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/signed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/ops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/parse.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/cmp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/ops.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/macros/parse.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/api.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/cmp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/convert.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/ops.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/int/parse.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/cast.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/add.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/ctz.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/divmod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/mul.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/rot.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/shr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/native/sub.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/intrinsics/signed.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/parse.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/api.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/cmp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/convert.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/ops.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/uint/parse.rs: diff --git a/contracts/target_local/debug/deps/ff-8c9e1278f4942f53.d b/contracts/target_local/debug/deps/ff-8c9e1278f4942f53.d new file mode 100644 index 00000000..fa4330a1 --- /dev/null +++ b/contracts/target_local/debug/deps/ff-8c9e1278f4942f53.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/ff-8c9e1278f4942f53.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/batch.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/helpers.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libff-8c9e1278f4942f53.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/batch.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/helpers.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/batch.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/helpers.rs: diff --git a/contracts/target_local/debug/deps/fnv-834f935a7e7f2447.d b/contracts/target_local/debug/deps/fnv-834f935a7e7f2447.d new file mode 100644 index 00000000..2d6a5fd1 --- /dev/null +++ b/contracts/target_local/debug/deps/fnv-834f935a7e7f2447.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/fnv-834f935a7e7f2447.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/fnv-1.0.7/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libfnv-834f935a7e7f2447.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/fnv-1.0.7/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libfnv-834f935a7e7f2447.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/fnv-1.0.7/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/fnv-1.0.7/lib.rs: diff --git a/contracts/target_local/debug/deps/generic_array-500f1fc443e80ab3.d b/contracts/target_local/debug/deps/generic_array-500f1fc443e80ab3.d new file mode 100644 index 00000000..56f20b1a --- /dev/null +++ b/contracts/target_local/debug/deps/generic_array-500f1fc443e80ab3.d @@ -0,0 +1,12 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/generic_array-500f1fc443e80ab3.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/hex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/impl_zeroize.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/arr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/functional.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/sequence.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgeneric_array-500f1fc443e80ab3.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/hex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/impl_zeroize.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/arr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/functional.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/sequence.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/hex.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/impl_zeroize.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/arr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/functional.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/sequence.rs: diff --git a/contracts/target_local/debug/deps/generic_array-c07778c573dc7e38.d b/contracts/target_local/debug/deps/generic_array-c07778c573dc7e38.d new file mode 100644 index 00000000..77a8be36 --- /dev/null +++ b/contracts/target_local/debug/deps/generic_array-c07778c573dc7e38.d @@ -0,0 +1,13 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/generic_array-c07778c573dc7e38.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/hex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/arr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/functional.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/sequence.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgeneric_array-c07778c573dc7e38.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/hex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/arr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/functional.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/sequence.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgeneric_array-c07778c573dc7e38.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/hex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/arr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/functional.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/sequence.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/hex.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/arr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/functional.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/sequence.rs: diff --git a/contracts/target_local/debug/deps/getrandom-c2554f4558a39879.d b/contracts/target_local/debug/deps/getrandom-c2554f4558a39879.d new file mode 100644 index 00000000..b3cc4404 --- /dev/null +++ b/contracts/target_local/debug/deps/getrandom-c2554f4558a39879.d @@ -0,0 +1,10 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/getrandom-c2554f4558a39879.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/error_impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/util_libc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/getentropy.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgetrandom-c2554f4558a39879.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/error_impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/util_libc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/getentropy.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/error_impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/util_libc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/getentropy.rs: diff --git a/contracts/target_local/debug/deps/gimli-e3b0974d21ede477.d b/contracts/target_local/debug/deps/gimli-e3b0974d21ede477.d new file mode 100644 index 00000000..e75561f0 --- /dev/null +++ b/contracts/target_local/debug/deps/gimli-e3b0974d21ede477.d @@ -0,0 +1,33 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/gimli-e3b0974d21ede477.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/common.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/arch.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/constants.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/endianity.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/leb128.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/addr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/cfi.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/dwarf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/endian_slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/relocate.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/abbrev.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/aranges.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/index.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/line.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/lists.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/loclists.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/lookup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/op.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/pubnames.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/pubtypes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/rnglists.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/str.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/unit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/value.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgimli-e3b0974d21ede477.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/common.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/arch.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/constants.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/endianity.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/leb128.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/addr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/cfi.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/dwarf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/endian_slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/relocate.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/abbrev.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/aranges.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/index.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/line.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/lists.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/loclists.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/lookup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/op.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/pubnames.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/pubtypes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/rnglists.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/str.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/unit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/value.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/common.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/arch.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/constants.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/endianity.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/leb128.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/addr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/cfi.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/dwarf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/endian_slice.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/reader.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/relocate.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/abbrev.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/aranges.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/index.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/line.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/lists.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/loclists.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/lookup.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/op.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/pubnames.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/pubtypes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/rnglists.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/str.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/unit.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/read/value.rs: diff --git a/contracts/target_local/debug/deps/group-62bf58ba7549dd80.d b/contracts/target_local/debug/deps/group-62bf58ba7549dd80.d new file mode 100644 index 00000000..d00419b9 --- /dev/null +++ b/contracts/target_local/debug/deps/group-62bf58ba7549dd80.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/group-62bf58ba7549dd80.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/cofactor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/prime.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgroup-62bf58ba7549dd80.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/cofactor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/prime.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/cofactor.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/prime.rs: diff --git a/contracts/target_local/debug/deps/hashbrown-85e33829135e7350.d b/contracts/target_local/debug/deps/hashbrown-85e33829135e7350.d new file mode 100644 index 00000000..57655c2b --- /dev/null +++ b/contracts/target_local/debug/deps/hashbrown-85e33829135e7350.d @@ -0,0 +1,20 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/hashbrown-85e33829135e7350.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/bitmask.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/tag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/hasher.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/alloc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/external_trait_impls/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/scopeguard.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/table.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/neon.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhashbrown-85e33829135e7350.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/bitmask.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/tag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/hasher.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/alloc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/external_trait_impls/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/scopeguard.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/table.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/neon.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/bitmask.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/tag.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/hasher.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/alloc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/external_trait_impls/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/scopeguard.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/set.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/table.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/neon.rs: diff --git a/contracts/target_local/debug/deps/hashbrown-dace2c97b957e08e.d b/contracts/target_local/debug/deps/hashbrown-dace2c97b957e08e.d new file mode 100644 index 00000000..acd81fef --- /dev/null +++ b/contracts/target_local/debug/deps/hashbrown-dace2c97b957e08e.d @@ -0,0 +1,22 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/hashbrown-dace2c97b957e08e.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/bitmask.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/tag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/hasher.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/alloc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/external_trait_impls/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/scopeguard.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/table.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/neon.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhashbrown-dace2c97b957e08e.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/bitmask.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/tag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/hasher.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/alloc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/external_trait_impls/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/scopeguard.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/table.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/neon.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhashbrown-dace2c97b957e08e.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/bitmask.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/tag.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/hasher.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/alloc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/external_trait_impls/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/scopeguard.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/table.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/neon.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/bitmask.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/tag.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/hasher.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/raw/alloc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/external_trait_impls/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/scopeguard.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/set.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/table.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/control/group/neon.rs: diff --git a/contracts/target_local/debug/deps/hex-870a7f489585db33.d b/contracts/target_local/debug/deps/hex-870a7f489585db33.d new file mode 100644 index 00000000..bca4a105 --- /dev/null +++ b/contracts/target_local/debug/deps/hex-870a7f489585db33.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/hex-870a7f489585db33.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/serde.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhex-870a7f489585db33.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/serde.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/serde.rs: diff --git a/contracts/target_local/debug/deps/hex-98750fb57969ed0e.d b/contracts/target_local/debug/deps/hex-98750fb57969ed0e.d new file mode 100644 index 00000000..c00937c5 --- /dev/null +++ b/contracts/target_local/debug/deps/hex-98750fb57969ed0e.d @@ -0,0 +1,9 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/hex-98750fb57969ed0e.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/serde.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhex-98750fb57969ed0e.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/serde.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhex-98750fb57969ed0e.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/serde.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/serde.rs: diff --git a/contracts/target_local/debug/deps/hex_literal-b9d9f7818c060e04.d b/contracts/target_local/debug/deps/hex_literal-b9d9f7818c060e04.d new file mode 100644 index 00000000..31abd644 --- /dev/null +++ b/contracts/target_local/debug/deps/hex_literal-b9d9f7818c060e04.d @@ -0,0 +1,6 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/hex_literal-b9d9f7818c060e04.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhex_literal-b9d9f7818c060e04.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/src/../README.md: diff --git a/contracts/target_local/debug/deps/hmac-7ed430e488894c0a.d b/contracts/target_local/debug/deps/hmac-7ed430e488894c0a.d new file mode 100644 index 00000000..6409cab9 --- /dev/null +++ b/contracts/target_local/debug/deps/hmac-7ed430e488894c0a.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/hmac-7ed430e488894c0a.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/optim.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/simple.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhmac-7ed430e488894c0a.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/optim.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/simple.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/optim.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/simple.rs: diff --git a/contracts/target_local/debug/deps/ident_case-eafcfcca6a1f8c9f.d b/contracts/target_local/debug/deps/ident_case-eafcfcca6a1f8c9f.d new file mode 100644 index 00000000..40988015 --- /dev/null +++ b/contracts/target_local/debug/deps/ident_case-eafcfcca6a1f8c9f.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/ident_case-eafcfcca6a1f8c9f.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ident_case-1.0.1/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libident_case-eafcfcca6a1f8c9f.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ident_case-1.0.1/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libident_case-eafcfcca6a1f8c9f.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ident_case-1.0.1/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ident_case-1.0.1/src/lib.rs: diff --git a/contracts/target_local/debug/deps/indexmap-0d197c4d56175586.d b/contracts/target_local/debug/deps/indexmap-0d197c4d56175586.d new file mode 100644 index 00000000..1820b15b --- /dev/null +++ b/contracts/target_local/debug/deps/indexmap-0d197c4d56175586.d @@ -0,0 +1,23 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/indexmap-0d197c4d56175586.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/entry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/extract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/entry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/mutable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/raw_entry_v1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/mutable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/slice.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libindexmap-0d197c4d56175586.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/entry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/extract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/entry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/mutable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/raw_entry_v1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/mutable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/slice.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libindexmap-0d197c4d56175586.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/entry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/extract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/entry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/mutable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/raw_entry_v1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/mutable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/slice.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/arbitrary.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/entry.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/extract.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/entry.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/mutable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/slice.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/raw_entry_v1.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/mutable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/slice.rs: diff --git a/contracts/target_local/debug/deps/indexmap-731e5fd289465b9e.d b/contracts/target_local/debug/deps/indexmap-731e5fd289465b9e.d new file mode 100644 index 00000000..874b4dca --- /dev/null +++ b/contracts/target_local/debug/deps/indexmap-731e5fd289465b9e.d @@ -0,0 +1,21 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/indexmap-731e5fd289465b9e.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/entry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/extract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/entry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/mutable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/raw_entry_v1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/mutable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/slice.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libindexmap-731e5fd289465b9e.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/entry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/extract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/entry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/mutable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/raw_entry_v1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/mutable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/slice.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/arbitrary.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/entry.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/inner/extract.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/entry.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/mutable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/slice.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/map/raw_entry_v1.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/mutable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/set/slice.rs: diff --git a/contracts/target_local/debug/deps/indexmap_nostd-5aea63fbf2120b45.d b/contracts/target_local/debug/deps/indexmap_nostd-5aea63fbf2120b45.d new file mode 100644 index 00000000..5f152831 --- /dev/null +++ b/contracts/target_local/debug/deps/indexmap_nostd-5aea63fbf2120b45.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/indexmap_nostd-5aea63fbf2120b45.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/set.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libindexmap_nostd-5aea63fbf2120b45.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/set.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/set.rs: diff --git a/contracts/target_local/debug/deps/itertools-6bd0744ad8ad48ae.d b/contracts/target_local/debug/deps/itertools-6bd0744ad8ad48ae.d new file mode 100644 index 00000000..f86651f7 --- /dev/null +++ b/contracts/target_local/debug/deps/itertools-6bd0744ad8ad48ae.d @@ -0,0 +1,54 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/itertools-6bd0744ad8ad48ae.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/impl_macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/coalesce.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/multi_product.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/either_or_both.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/free.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/concat_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/cons_tuples_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/combinations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/combinations_with_replacement.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/exactly_one_err.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/diff.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/flatten_ok.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/extrema_set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/grouping_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/group_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/groupbylazy.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/intersperse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/k_smallest.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/kmerge_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/lazy_buffer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/merge_join.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/minmax.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/multipeek_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/pad_tail.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/peek_nth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/peeking_take_while.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/permutations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/powerset.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/process_results_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/put_back_n_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/rciter_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/repeatn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/size_hint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/sources.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/take_while_inclusive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/tee.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/tuple_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/duplicates_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/unique_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/unziptuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/with_position.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/zip_eq_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/zip_longest.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/ziptuple.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libitertools-6bd0744ad8ad48ae.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/impl_macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/coalesce.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/multi_product.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/either_or_both.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/free.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/concat_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/cons_tuples_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/combinations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/combinations_with_replacement.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/exactly_one_err.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/diff.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/flatten_ok.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/extrema_set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/grouping_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/group_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/groupbylazy.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/intersperse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/k_smallest.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/kmerge_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/lazy_buffer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/merge_join.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/minmax.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/multipeek_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/pad_tail.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/peek_nth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/peeking_take_while.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/permutations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/powerset.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/process_results_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/put_back_n_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/rciter_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/repeatn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/size_hint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/sources.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/take_while_inclusive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/tee.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/tuple_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/duplicates_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/unique_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/unziptuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/with_position.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/zip_eq_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/zip_longest.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/ziptuple.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libitertools-6bd0744ad8ad48ae.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/impl_macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/coalesce.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/multi_product.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/either_or_both.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/free.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/concat_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/cons_tuples_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/combinations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/combinations_with_replacement.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/exactly_one_err.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/diff.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/flatten_ok.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/extrema_set.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/grouping_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/group_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/groupbylazy.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/intersperse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/k_smallest.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/kmerge_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/lazy_buffer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/merge_join.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/minmax.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/multipeek_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/pad_tail.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/peek_nth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/peeking_take_while.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/permutations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/powerset.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/process_results_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/put_back_n_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/rciter_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/repeatn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/size_hint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/sources.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/take_while_inclusive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/tee.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/tuple_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/duplicates_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/unique_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/unziptuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/with_position.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/zip_eq_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/zip_longest.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/ziptuple.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/impl_macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/coalesce.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/adaptors/multi_product.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/either_or_both.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/free.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/concat_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/cons_tuples_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/combinations.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/combinations_with_replacement.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/exactly_one_err.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/diff.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/flatten_ok.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/extrema_set.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/format.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/grouping_map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/group_map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/groupbylazy.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/intersperse.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/k_smallest.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/kmerge_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/lazy_buffer.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/merge_join.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/minmax.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/multipeek_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/pad_tail.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/peek_nth.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/peeking_take_while.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/permutations.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/powerset.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/process_results_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/put_back_n_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/rciter_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/repeatn.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/size_hint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/sources.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/take_while_inclusive.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/tee.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/tuple_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/duplicates_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/unique_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/unziptuple.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/with_position.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/zip_eq_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/zip_longest.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/ziptuple.rs: diff --git a/contracts/target_local/debug/deps/itoa-0f70b8670e573295.d b/contracts/target_local/debug/deps/itoa-0f70b8670e573295.d new file mode 100644 index 00000000..06b64fc7 --- /dev/null +++ b/contracts/target_local/debug/deps/itoa-0f70b8670e573295.d @@ -0,0 +1,6 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/itoa-0f70b8670e573295.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/u128_ext.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libitoa-0f70b8670e573295.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/u128_ext.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/u128_ext.rs: diff --git a/contracts/target_local/debug/deps/itoa-7dc258a918c8a510.d b/contracts/target_local/debug/deps/itoa-7dc258a918c8a510.d new file mode 100644 index 00000000..6b7cee28 --- /dev/null +++ b/contracts/target_local/debug/deps/itoa-7dc258a918c8a510.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/itoa-7dc258a918c8a510.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/u128_ext.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libitoa-7dc258a918c8a510.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/u128_ext.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libitoa-7dc258a918c8a510.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/u128_ext.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/u128_ext.rs: diff --git a/contracts/target_local/debug/deps/k256-6b9ce0255332429e.d b/contracts/target_local/debug/deps/k256-6b9ce0255332429e.d new file mode 100644 index 00000000..504733ca --- /dev/null +++ b/contracts/target_local/debug/deps/k256-6b9ce0255332429e.d @@ -0,0 +1,16 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/k256-6b9ce0255332429e.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/affine.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/projective.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/scalar.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/scalar/wide64.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/ecdsa.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/../README.md /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/field/field_5x52.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/field/field_impl.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libk256-6b9ce0255332429e.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/affine.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/mul.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/projective.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/scalar.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/scalar/wide64.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/ecdsa.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/../README.md /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/field/field_5x52.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/field/field_impl.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/affine.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/mul.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/projective.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/scalar.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/scalar/wide64.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/ecdsa.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/../README.md: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/field/field_5x52.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/arithmetic/field/field_impl.rs: diff --git a/contracts/target_local/debug/deps/keccak-713ac346f7130dd5.d b/contracts/target_local/debug/deps/keccak-713ac346f7130dd5.d new file mode 100644 index 00000000..471e5a8f --- /dev/null +++ b/contracts/target_local/debug/deps/keccak-713ac346f7130dd5.d @@ -0,0 +1,6 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/keccak-713ac346f7130dd5.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/src/unroll.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libkeccak-713ac346f7130dd5.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/src/unroll.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/src/unroll.rs: diff --git a/contracts/target_local/debug/deps/libaddr2line-d9e19a1d0454a0df.rmeta b/contracts/target_local/debug/deps/libaddr2line-d9e19a1d0454a0df.rmeta new file mode 100644 index 00000000..6bb2e1c6 Binary files /dev/null and b/contracts/target_local/debug/deps/libaddr2line-d9e19a1d0454a0df.rmeta differ diff --git a/contracts/target_local/debug/deps/libadler2-5ffaa4e3032ec6a1.rmeta b/contracts/target_local/debug/deps/libadler2-5ffaa4e3032ec6a1.rmeta new file mode 100644 index 00000000..5a80b4bb Binary files /dev/null and b/contracts/target_local/debug/deps/libadler2-5ffaa4e3032ec6a1.rmeta differ diff --git a/contracts/target_local/debug/deps/libagenticpay-aabad211886c659f.rmeta b/contracts/target_local/debug/deps/libagenticpay-aabad211886c659f.rmeta new file mode 100644 index 00000000..e69de29b diff --git a/contracts/target_local/debug/deps/libarbitrary-a1cf9976be3563ce.rmeta b/contracts/target_local/debug/deps/libarbitrary-a1cf9976be3563ce.rmeta new file mode 100644 index 00000000..0b7c3386 Binary files /dev/null and b/contracts/target_local/debug/deps/libarbitrary-a1cf9976be3563ce.rmeta differ diff --git a/contracts/target_local/debug/deps/libautocfg-eb1adbf7d7f824ab.rlib b/contracts/target_local/debug/deps/libautocfg-eb1adbf7d7f824ab.rlib new file mode 100644 index 00000000..27c7cd90 Binary files /dev/null and b/contracts/target_local/debug/deps/libautocfg-eb1adbf7d7f824ab.rlib differ diff --git a/contracts/target_local/debug/deps/libautocfg-eb1adbf7d7f824ab.rmeta b/contracts/target_local/debug/deps/libautocfg-eb1adbf7d7f824ab.rmeta new file mode 100644 index 00000000..2f19688d Binary files /dev/null and b/contracts/target_local/debug/deps/libautocfg-eb1adbf7d7f824ab.rmeta differ diff --git a/contracts/target_local/debug/deps/libbacktrace-4f4cb34f3e5fc1f0.rmeta b/contracts/target_local/debug/deps/libbacktrace-4f4cb34f3e5fc1f0.rmeta new file mode 100644 index 00000000..0210493f Binary files /dev/null and b/contracts/target_local/debug/deps/libbacktrace-4f4cb34f3e5fc1f0.rmeta differ diff --git a/contracts/target_local/debug/deps/libbase16ct-62dc7e0808bc2ab7.rmeta b/contracts/target_local/debug/deps/libbase16ct-62dc7e0808bc2ab7.rmeta new file mode 100644 index 00000000..fea28ac5 Binary files /dev/null and b/contracts/target_local/debug/deps/libbase16ct-62dc7e0808bc2ab7.rmeta differ diff --git a/contracts/target_local/debug/deps/libbase32-3eaeccff18bfa061.rlib b/contracts/target_local/debug/deps/libbase32-3eaeccff18bfa061.rlib new file mode 100644 index 00000000..54a60097 Binary files /dev/null and b/contracts/target_local/debug/deps/libbase32-3eaeccff18bfa061.rlib differ diff --git a/contracts/target_local/debug/deps/libbase32-3eaeccff18bfa061.rmeta b/contracts/target_local/debug/deps/libbase32-3eaeccff18bfa061.rmeta new file mode 100644 index 00000000..35964b04 Binary files /dev/null and b/contracts/target_local/debug/deps/libbase32-3eaeccff18bfa061.rmeta differ diff --git a/contracts/target_local/debug/deps/libbase32-a058bee789873153.rmeta b/contracts/target_local/debug/deps/libbase32-a058bee789873153.rmeta new file mode 100644 index 00000000..197ca9e4 Binary files /dev/null and b/contracts/target_local/debug/deps/libbase32-a058bee789873153.rmeta differ diff --git a/contracts/target_local/debug/deps/libbase64-4067a4a55fdd1db4.rlib b/contracts/target_local/debug/deps/libbase64-4067a4a55fdd1db4.rlib new file mode 100644 index 00000000..d3975f73 Binary files /dev/null and b/contracts/target_local/debug/deps/libbase64-4067a4a55fdd1db4.rlib differ diff --git a/contracts/target_local/debug/deps/libbase64-4067a4a55fdd1db4.rmeta b/contracts/target_local/debug/deps/libbase64-4067a4a55fdd1db4.rmeta new file mode 100644 index 00000000..be58d2a3 Binary files /dev/null and b/contracts/target_local/debug/deps/libbase64-4067a4a55fdd1db4.rmeta differ diff --git a/contracts/target_local/debug/deps/libbase64-b48e843e244d9a20.rmeta b/contracts/target_local/debug/deps/libbase64-b48e843e244d9a20.rmeta new file mode 100644 index 00000000..9e0f0331 Binary files /dev/null and b/contracts/target_local/debug/deps/libbase64-b48e843e244d9a20.rmeta differ diff --git a/contracts/target_local/debug/deps/libblock_buffer-259a510d23946e16.rlib b/contracts/target_local/debug/deps/libblock_buffer-259a510d23946e16.rlib new file mode 100644 index 00000000..a951a7d1 Binary files /dev/null and b/contracts/target_local/debug/deps/libblock_buffer-259a510d23946e16.rlib differ diff --git a/contracts/target_local/debug/deps/libblock_buffer-259a510d23946e16.rmeta b/contracts/target_local/debug/deps/libblock_buffer-259a510d23946e16.rmeta new file mode 100644 index 00000000..dfaae3d8 Binary files /dev/null and b/contracts/target_local/debug/deps/libblock_buffer-259a510d23946e16.rmeta differ diff --git a/contracts/target_local/debug/deps/libblock_buffer-aad41c5acfbb4f49.rmeta b/contracts/target_local/debug/deps/libblock_buffer-aad41c5acfbb4f49.rmeta new file mode 100644 index 00000000..13d7f456 Binary files /dev/null and b/contracts/target_local/debug/deps/libblock_buffer-aad41c5acfbb4f49.rmeta differ diff --git a/contracts/target_local/debug/deps/libbytes_lit-328d966ba80a16f9.dylib b/contracts/target_local/debug/deps/libbytes_lit-328d966ba80a16f9.dylib new file mode 100755 index 00000000..fb4d105d Binary files /dev/null and b/contracts/target_local/debug/deps/libbytes_lit-328d966ba80a16f9.dylib differ diff --git a/contracts/target_local/debug/deps/libc-20c98c45b8f6b445.d b/contracts/target_local/debug/deps/libc-20c98c45b8f6b445.d new file mode 100644 index 00000000..20496742 --- /dev/null +++ b/contracts/target_local/debug/deps/libc-20c98c45b8f6b445.d @@ -0,0 +1,45 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libc-20c98c45b8f6b445.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/bsd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/pthread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/unistd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/signal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/unistd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/introspection.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_spis.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/qos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/sched.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/spawn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/stack_np.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/_pthread/_pthread_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/qos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/arm/_mcontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/arm/_structs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/machine/_structs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/machine/_mcontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/signal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/_types/_ucontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/primitives.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/aarch64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/types.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/liblibc-20c98c45b8f6b445.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/bsd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/pthread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/unistd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/signal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/unistd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/introspection.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_spis.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/qos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/sched.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/spawn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/stack_np.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/_pthread/_pthread_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/qos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/arm/_mcontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/arm/_structs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/machine/_structs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/machine/_mcontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/signal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/_types/_ucontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/primitives.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/aarch64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/types.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/liblibc-20c98c45b8f6b445.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/bsd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/pthread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/unistd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/signal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/unistd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/introspection.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_spis.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/qos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/sched.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/spawn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/stack_np.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/_pthread/_pthread_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/qos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/arm/_mcontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/arm/_structs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/machine/_structs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/machine/_mcontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/signal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/_types/_ucontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/primitives.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/aarch64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/types.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/bsd.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/pthread.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/unistd.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/signal.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/unistd.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/introspection.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_spis.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/qos.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/sched.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/spawn.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/stack_np.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/_pthread/_pthread_types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/qos.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/arm/_mcontext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/arm/_structs.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/machine/_structs.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/machine/_mcontext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/signal.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/_types/_ucontext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/primitives.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/aarch64/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/types.rs: diff --git a/contracts/target_local/debug/deps/libc-7dcb08174068873c.d b/contracts/target_local/debug/deps/libc-7dcb08174068873c.d new file mode 100644 index 00000000..9f6a63f3 --- /dev/null +++ b/contracts/target_local/debug/deps/libc-7dcb08174068873c.d @@ -0,0 +1,43 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libc-7dcb08174068873c.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/bsd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/pthread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/unistd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/signal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/unistd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/introspection.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_spis.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/qos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/sched.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/spawn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/stack_np.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/_pthread/_pthread_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/qos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/arm/_mcontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/arm/_structs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/machine/_structs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/machine/_mcontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/signal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/_types/_ucontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/primitives.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/aarch64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/types.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/liblibc-7dcb08174068873c.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/bsd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/pthread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/unistd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/signal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/unistd.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/introspection.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_spis.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/qos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/sched.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/spawn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/stack_np.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/_pthread/_pthread_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/qos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/arm/_mcontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/arm/_structs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/machine/_structs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/machine/_mcontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/signal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/_types/_ucontext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/primitives.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/aarch64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/types.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/bsd.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/pthread.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/common/posix/unistd.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/signal.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libc/unistd.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/introspection.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/pthread_spis.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/qos.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/sched.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/spawn.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/pthread_/stack_np.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/_pthread/_pthread_types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/libpthread/sys/qos.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/arm/_mcontext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/arm/_structs.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/mach/machine/_structs.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/machine/_mcontext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/signal.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/new/apple/xnu/sys/_types/_ucontext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/primitives.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/unix/bsd/apple/b64/aarch64/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/types.rs: diff --git a/contracts/target_local/debug/deps/libcfg_if-7228978f4fcb9234.rmeta b/contracts/target_local/debug/deps/libcfg_if-7228978f4fcb9234.rmeta new file mode 100644 index 00000000..94268036 Binary files /dev/null and b/contracts/target_local/debug/deps/libcfg_if-7228978f4fcb9234.rmeta differ diff --git a/contracts/target_local/debug/deps/libcfg_if-76de021c492f10bf.rlib b/contracts/target_local/debug/deps/libcfg_if-76de021c492f10bf.rlib new file mode 100644 index 00000000..774d7c6c Binary files /dev/null and b/contracts/target_local/debug/deps/libcfg_if-76de021c492f10bf.rlib differ diff --git a/contracts/target_local/debug/deps/libcfg_if-76de021c492f10bf.rmeta b/contracts/target_local/debug/deps/libcfg_if-76de021c492f10bf.rmeta new file mode 100644 index 00000000..1bf9810f Binary files /dev/null and b/contracts/target_local/debug/deps/libcfg_if-76de021c492f10bf.rmeta differ diff --git a/contracts/target_local/debug/deps/libconst_oid-c4ade6a49cae461d.rmeta b/contracts/target_local/debug/deps/libconst_oid-c4ade6a49cae461d.rmeta new file mode 100644 index 00000000..9055f4a7 Binary files /dev/null and b/contracts/target_local/debug/deps/libconst_oid-c4ade6a49cae461d.rmeta differ diff --git a/contracts/target_local/debug/deps/libcpufeatures-299cb41afad91810.rlib b/contracts/target_local/debug/deps/libcpufeatures-299cb41afad91810.rlib new file mode 100644 index 00000000..e563d648 Binary files /dev/null and b/contracts/target_local/debug/deps/libcpufeatures-299cb41afad91810.rlib differ diff --git a/contracts/target_local/debug/deps/libcpufeatures-299cb41afad91810.rmeta b/contracts/target_local/debug/deps/libcpufeatures-299cb41afad91810.rmeta new file mode 100644 index 00000000..e6d1d7ee Binary files /dev/null and b/contracts/target_local/debug/deps/libcpufeatures-299cb41afad91810.rmeta differ diff --git a/contracts/target_local/debug/deps/libcpufeatures-c5fe4d960a8962e2.rmeta b/contracts/target_local/debug/deps/libcpufeatures-c5fe4d960a8962e2.rmeta new file mode 100644 index 00000000..a34a653c Binary files /dev/null and b/contracts/target_local/debug/deps/libcpufeatures-c5fe4d960a8962e2.rmeta differ diff --git a/contracts/target_local/debug/deps/libcrate_git_revision-4c5040678cbf6401.rlib b/contracts/target_local/debug/deps/libcrate_git_revision-4c5040678cbf6401.rlib new file mode 100644 index 00000000..6839d546 Binary files /dev/null and b/contracts/target_local/debug/deps/libcrate_git_revision-4c5040678cbf6401.rlib differ diff --git a/contracts/target_local/debug/deps/libcrate_git_revision-4c5040678cbf6401.rmeta b/contracts/target_local/debug/deps/libcrate_git_revision-4c5040678cbf6401.rmeta new file mode 100644 index 00000000..15332f82 Binary files /dev/null and b/contracts/target_local/debug/deps/libcrate_git_revision-4c5040678cbf6401.rmeta differ diff --git a/contracts/target_local/debug/deps/libcrypto_bigint-6f66ca8126086526.rmeta b/contracts/target_local/debug/deps/libcrypto_bigint-6f66ca8126086526.rmeta new file mode 100644 index 00000000..816e635f Binary files /dev/null and b/contracts/target_local/debug/deps/libcrypto_bigint-6f66ca8126086526.rmeta differ diff --git a/contracts/target_local/debug/deps/libcrypto_common-4ede5578405cc99c.rlib b/contracts/target_local/debug/deps/libcrypto_common-4ede5578405cc99c.rlib new file mode 100644 index 00000000..aff8eb25 Binary files /dev/null and b/contracts/target_local/debug/deps/libcrypto_common-4ede5578405cc99c.rlib differ diff --git a/contracts/target_local/debug/deps/libcrypto_common-4ede5578405cc99c.rmeta b/contracts/target_local/debug/deps/libcrypto_common-4ede5578405cc99c.rmeta new file mode 100644 index 00000000..a2d105ee Binary files /dev/null and b/contracts/target_local/debug/deps/libcrypto_common-4ede5578405cc99c.rmeta differ diff --git a/contracts/target_local/debug/deps/libcrypto_common-c239b31c4139ccfa.rmeta b/contracts/target_local/debug/deps/libcrypto_common-c239b31c4139ccfa.rmeta new file mode 100644 index 00000000..51905f34 Binary files /dev/null and b/contracts/target_local/debug/deps/libcrypto_common-c239b31c4139ccfa.rmeta differ diff --git a/contracts/target_local/debug/deps/libctor-e0e83f7eeeee73d2.dylib b/contracts/target_local/debug/deps/libctor-e0e83f7eeeee73d2.dylib new file mode 100755 index 00000000..75e6ed29 Binary files /dev/null and b/contracts/target_local/debug/deps/libctor-e0e83f7eeeee73d2.dylib differ diff --git a/contracts/target_local/debug/deps/libcurve25519_dalek-b574ea570285d412.rmeta b/contracts/target_local/debug/deps/libcurve25519_dalek-b574ea570285d412.rmeta new file mode 100644 index 00000000..bd0f88f5 Binary files /dev/null and b/contracts/target_local/debug/deps/libcurve25519_dalek-b574ea570285d412.rmeta differ diff --git a/contracts/target_local/debug/deps/libdarling-7637f519bd3cd2cc.rlib b/contracts/target_local/debug/deps/libdarling-7637f519bd3cd2cc.rlib new file mode 100644 index 00000000..fc1ef05b Binary files /dev/null and b/contracts/target_local/debug/deps/libdarling-7637f519bd3cd2cc.rlib differ diff --git a/contracts/target_local/debug/deps/libdarling-7637f519bd3cd2cc.rmeta b/contracts/target_local/debug/deps/libdarling-7637f519bd3cd2cc.rmeta new file mode 100644 index 00000000..047a64c2 Binary files /dev/null and b/contracts/target_local/debug/deps/libdarling-7637f519bd3cd2cc.rmeta differ diff --git a/contracts/target_local/debug/deps/libdarling-aaef6fa402ba8bf9.rlib b/contracts/target_local/debug/deps/libdarling-aaef6fa402ba8bf9.rlib new file mode 100644 index 00000000..a8406d19 Binary files /dev/null and b/contracts/target_local/debug/deps/libdarling-aaef6fa402ba8bf9.rlib differ diff --git a/contracts/target_local/debug/deps/libdarling-aaef6fa402ba8bf9.rmeta b/contracts/target_local/debug/deps/libdarling-aaef6fa402ba8bf9.rmeta new file mode 100644 index 00000000..5c3db2fc Binary files /dev/null and b/contracts/target_local/debug/deps/libdarling-aaef6fa402ba8bf9.rmeta differ diff --git a/contracts/target_local/debug/deps/libdarling_core-3de512ef2efedddc.rlib b/contracts/target_local/debug/deps/libdarling_core-3de512ef2efedddc.rlib new file mode 100644 index 00000000..65715276 Binary files /dev/null and b/contracts/target_local/debug/deps/libdarling_core-3de512ef2efedddc.rlib differ diff --git a/contracts/target_local/debug/deps/libdarling_core-3de512ef2efedddc.rmeta b/contracts/target_local/debug/deps/libdarling_core-3de512ef2efedddc.rmeta new file mode 100644 index 00000000..57239996 Binary files /dev/null and b/contracts/target_local/debug/deps/libdarling_core-3de512ef2efedddc.rmeta differ diff --git a/contracts/target_local/debug/deps/libdarling_core-e1e05ecf024ad090.rlib b/contracts/target_local/debug/deps/libdarling_core-e1e05ecf024ad090.rlib new file mode 100644 index 00000000..a8f5dd6a Binary files /dev/null and b/contracts/target_local/debug/deps/libdarling_core-e1e05ecf024ad090.rlib differ diff --git a/contracts/target_local/debug/deps/libdarling_core-e1e05ecf024ad090.rmeta b/contracts/target_local/debug/deps/libdarling_core-e1e05ecf024ad090.rmeta new file mode 100644 index 00000000..f49ea10b Binary files /dev/null and b/contracts/target_local/debug/deps/libdarling_core-e1e05ecf024ad090.rmeta differ diff --git a/contracts/target_local/debug/deps/libdarling_macro-c4d8555b8112f5f6.dylib b/contracts/target_local/debug/deps/libdarling_macro-c4d8555b8112f5f6.dylib new file mode 100755 index 00000000..fe514034 Binary files /dev/null and b/contracts/target_local/debug/deps/libdarling_macro-c4d8555b8112f5f6.dylib differ diff --git a/contracts/target_local/debug/deps/libdarling_macro-cab5b6d187b7641b.dylib b/contracts/target_local/debug/deps/libdarling_macro-cab5b6d187b7641b.dylib new file mode 100755 index 00000000..68d79f96 Binary files /dev/null and b/contracts/target_local/debug/deps/libdarling_macro-cab5b6d187b7641b.dylib differ diff --git a/contracts/target_local/debug/deps/libder-2472317c788ab83f.rmeta b/contracts/target_local/debug/deps/libder-2472317c788ab83f.rmeta new file mode 100644 index 00000000..75ed527c Binary files /dev/null and b/contracts/target_local/debug/deps/libder-2472317c788ab83f.rmeta differ diff --git a/contracts/target_local/debug/deps/libderive_arbitrary-78af8cb1d2f41ed3.dylib b/contracts/target_local/debug/deps/libderive_arbitrary-78af8cb1d2f41ed3.dylib new file mode 100755 index 00000000..74adf03d Binary files /dev/null and b/contracts/target_local/debug/deps/libderive_arbitrary-78af8cb1d2f41ed3.dylib differ diff --git a/contracts/target_local/debug/deps/libdigest-18b6b6989020caaf.rlib b/contracts/target_local/debug/deps/libdigest-18b6b6989020caaf.rlib new file mode 100644 index 00000000..9608c712 Binary files /dev/null and b/contracts/target_local/debug/deps/libdigest-18b6b6989020caaf.rlib differ diff --git a/contracts/target_local/debug/deps/libdigest-18b6b6989020caaf.rmeta b/contracts/target_local/debug/deps/libdigest-18b6b6989020caaf.rmeta new file mode 100644 index 00000000..67166425 Binary files /dev/null and b/contracts/target_local/debug/deps/libdigest-18b6b6989020caaf.rmeta differ diff --git a/contracts/target_local/debug/deps/libdigest-58881e2ec229850c.rmeta b/contracts/target_local/debug/deps/libdigest-58881e2ec229850c.rmeta new file mode 100644 index 00000000..1f6867f5 Binary files /dev/null and b/contracts/target_local/debug/deps/libdigest-58881e2ec229850c.rmeta differ diff --git a/contracts/target_local/debug/deps/libdowncast_rs-8c508cdab3c16fdb.rmeta b/contracts/target_local/debug/deps/libdowncast_rs-8c508cdab3c16fdb.rmeta new file mode 100644 index 00000000..919b74c9 Binary files /dev/null and b/contracts/target_local/debug/deps/libdowncast_rs-8c508cdab3c16fdb.rmeta differ diff --git a/contracts/target_local/debug/deps/libecdsa-aee9dbec7e9ee10f.rmeta b/contracts/target_local/debug/deps/libecdsa-aee9dbec7e9ee10f.rmeta new file mode 100644 index 00000000..28ddf838 Binary files /dev/null and b/contracts/target_local/debug/deps/libecdsa-aee9dbec7e9ee10f.rmeta differ diff --git a/contracts/target_local/debug/deps/libed25519-1ead8f42bcf6434b.rmeta b/contracts/target_local/debug/deps/libed25519-1ead8f42bcf6434b.rmeta new file mode 100644 index 00000000..afdf4194 Binary files /dev/null and b/contracts/target_local/debug/deps/libed25519-1ead8f42bcf6434b.rmeta differ diff --git a/contracts/target_local/debug/deps/libed25519_dalek-c7e444cb37e0cde2.rmeta b/contracts/target_local/debug/deps/libed25519_dalek-c7e444cb37e0cde2.rmeta new file mode 100644 index 00000000..58b439d9 Binary files /dev/null and b/contracts/target_local/debug/deps/libed25519_dalek-c7e444cb37e0cde2.rmeta differ diff --git a/contracts/target_local/debug/deps/libeither-a5ea3a98650b02d9.rlib b/contracts/target_local/debug/deps/libeither-a5ea3a98650b02d9.rlib new file mode 100644 index 00000000..e6efcfb3 Binary files /dev/null and b/contracts/target_local/debug/deps/libeither-a5ea3a98650b02d9.rlib differ diff --git a/contracts/target_local/debug/deps/libeither-a5ea3a98650b02d9.rmeta b/contracts/target_local/debug/deps/libeither-a5ea3a98650b02d9.rmeta new file mode 100644 index 00000000..1ae4fa90 Binary files /dev/null and b/contracts/target_local/debug/deps/libeither-a5ea3a98650b02d9.rmeta differ diff --git a/contracts/target_local/debug/deps/libelliptic_curve-3d9f75a971655151.rmeta b/contracts/target_local/debug/deps/libelliptic_curve-3d9f75a971655151.rmeta new file mode 100644 index 00000000..1dbdfe61 Binary files /dev/null and b/contracts/target_local/debug/deps/libelliptic_curve-3d9f75a971655151.rmeta differ diff --git a/contracts/target_local/debug/deps/libequivalent-0716044aa765588b.rmeta b/contracts/target_local/debug/deps/libequivalent-0716044aa765588b.rmeta new file mode 100644 index 00000000..de323e89 Binary files /dev/null and b/contracts/target_local/debug/deps/libequivalent-0716044aa765588b.rmeta differ diff --git a/contracts/target_local/debug/deps/libequivalent-87f726e4f2cd0f95.rlib b/contracts/target_local/debug/deps/libequivalent-87f726e4f2cd0f95.rlib new file mode 100644 index 00000000..7ac9749a Binary files /dev/null and b/contracts/target_local/debug/deps/libequivalent-87f726e4f2cd0f95.rlib differ diff --git a/contracts/target_local/debug/deps/libequivalent-87f726e4f2cd0f95.rmeta b/contracts/target_local/debug/deps/libequivalent-87f726e4f2cd0f95.rmeta new file mode 100644 index 00000000..39db0c73 Binary files /dev/null and b/contracts/target_local/debug/deps/libequivalent-87f726e4f2cd0f95.rmeta differ diff --git a/contracts/target_local/debug/deps/libescape_bytes-0793e7d5e248663a.rmeta b/contracts/target_local/debug/deps/libescape_bytes-0793e7d5e248663a.rmeta new file mode 100644 index 00000000..dd547607 Binary files /dev/null and b/contracts/target_local/debug/deps/libescape_bytes-0793e7d5e248663a.rmeta differ diff --git a/contracts/target_local/debug/deps/libescape_bytes-1a79ffb0a6f5486a.rlib b/contracts/target_local/debug/deps/libescape_bytes-1a79ffb0a6f5486a.rlib new file mode 100644 index 00000000..276d65ee Binary files /dev/null and b/contracts/target_local/debug/deps/libescape_bytes-1a79ffb0a6f5486a.rlib differ diff --git a/contracts/target_local/debug/deps/libescape_bytes-1a79ffb0a6f5486a.rmeta b/contracts/target_local/debug/deps/libescape_bytes-1a79ffb0a6f5486a.rmeta new file mode 100644 index 00000000..c14cfbbf Binary files /dev/null and b/contracts/target_local/debug/deps/libescape_bytes-1a79ffb0a6f5486a.rmeta differ diff --git a/contracts/target_local/debug/deps/libethnum-5decaa31cdba7012.rmeta b/contracts/target_local/debug/deps/libethnum-5decaa31cdba7012.rmeta new file mode 100644 index 00000000..f165b138 Binary files /dev/null and b/contracts/target_local/debug/deps/libethnum-5decaa31cdba7012.rmeta differ diff --git a/contracts/target_local/debug/deps/libethnum-a0cb26c82052fdd3.rlib b/contracts/target_local/debug/deps/libethnum-a0cb26c82052fdd3.rlib new file mode 100644 index 00000000..ac8da7fe Binary files /dev/null and b/contracts/target_local/debug/deps/libethnum-a0cb26c82052fdd3.rlib differ diff --git a/contracts/target_local/debug/deps/libethnum-a0cb26c82052fdd3.rmeta b/contracts/target_local/debug/deps/libethnum-a0cb26c82052fdd3.rmeta new file mode 100644 index 00000000..07caaaf0 Binary files /dev/null and b/contracts/target_local/debug/deps/libethnum-a0cb26c82052fdd3.rmeta differ diff --git a/contracts/target_local/debug/deps/libff-8c9e1278f4942f53.rmeta b/contracts/target_local/debug/deps/libff-8c9e1278f4942f53.rmeta new file mode 100644 index 00000000..ac751f75 Binary files /dev/null and b/contracts/target_local/debug/deps/libff-8c9e1278f4942f53.rmeta differ diff --git a/contracts/target_local/debug/deps/libfnv-834f935a7e7f2447.rlib b/contracts/target_local/debug/deps/libfnv-834f935a7e7f2447.rlib new file mode 100644 index 00000000..b9b00c72 Binary files /dev/null and b/contracts/target_local/debug/deps/libfnv-834f935a7e7f2447.rlib differ diff --git a/contracts/target_local/debug/deps/libfnv-834f935a7e7f2447.rmeta b/contracts/target_local/debug/deps/libfnv-834f935a7e7f2447.rmeta new file mode 100644 index 00000000..a2c9c029 Binary files /dev/null and b/contracts/target_local/debug/deps/libfnv-834f935a7e7f2447.rmeta differ diff --git a/contracts/target_local/debug/deps/libgeneric_array-500f1fc443e80ab3.rmeta b/contracts/target_local/debug/deps/libgeneric_array-500f1fc443e80ab3.rmeta new file mode 100644 index 00000000..5f306563 Binary files /dev/null and b/contracts/target_local/debug/deps/libgeneric_array-500f1fc443e80ab3.rmeta differ diff --git a/contracts/target_local/debug/deps/libgeneric_array-c07778c573dc7e38.rlib b/contracts/target_local/debug/deps/libgeneric_array-c07778c573dc7e38.rlib new file mode 100644 index 00000000..48608684 Binary files /dev/null and b/contracts/target_local/debug/deps/libgeneric_array-c07778c573dc7e38.rlib differ diff --git a/contracts/target_local/debug/deps/libgeneric_array-c07778c573dc7e38.rmeta b/contracts/target_local/debug/deps/libgeneric_array-c07778c573dc7e38.rmeta new file mode 100644 index 00000000..c3665831 Binary files /dev/null and b/contracts/target_local/debug/deps/libgeneric_array-c07778c573dc7e38.rmeta differ diff --git a/contracts/target_local/debug/deps/libgetrandom-c2554f4558a39879.rmeta b/contracts/target_local/debug/deps/libgetrandom-c2554f4558a39879.rmeta new file mode 100644 index 00000000..0b924a2e Binary files /dev/null and b/contracts/target_local/debug/deps/libgetrandom-c2554f4558a39879.rmeta differ diff --git a/contracts/target_local/debug/deps/libgimli-e3b0974d21ede477.rmeta b/contracts/target_local/debug/deps/libgimli-e3b0974d21ede477.rmeta new file mode 100644 index 00000000..faf56480 Binary files /dev/null and b/contracts/target_local/debug/deps/libgimli-e3b0974d21ede477.rmeta differ diff --git a/contracts/target_local/debug/deps/libgroup-62bf58ba7549dd80.rmeta b/contracts/target_local/debug/deps/libgroup-62bf58ba7549dd80.rmeta new file mode 100644 index 00000000..67b5b0a1 Binary files /dev/null and b/contracts/target_local/debug/deps/libgroup-62bf58ba7549dd80.rmeta differ diff --git a/contracts/target_local/debug/deps/libhashbrown-85e33829135e7350.rmeta b/contracts/target_local/debug/deps/libhashbrown-85e33829135e7350.rmeta new file mode 100644 index 00000000..40bb25d4 Binary files /dev/null and b/contracts/target_local/debug/deps/libhashbrown-85e33829135e7350.rmeta differ diff --git a/contracts/target_local/debug/deps/libhashbrown-dace2c97b957e08e.rlib b/contracts/target_local/debug/deps/libhashbrown-dace2c97b957e08e.rlib new file mode 100644 index 00000000..4a8fa9e1 Binary files /dev/null and b/contracts/target_local/debug/deps/libhashbrown-dace2c97b957e08e.rlib differ diff --git a/contracts/target_local/debug/deps/libhashbrown-dace2c97b957e08e.rmeta b/contracts/target_local/debug/deps/libhashbrown-dace2c97b957e08e.rmeta new file mode 100644 index 00000000..4074644c Binary files /dev/null and b/contracts/target_local/debug/deps/libhashbrown-dace2c97b957e08e.rmeta differ diff --git a/contracts/target_local/debug/deps/libhex-870a7f489585db33.rmeta b/contracts/target_local/debug/deps/libhex-870a7f489585db33.rmeta new file mode 100644 index 00000000..4babd94a Binary files /dev/null and b/contracts/target_local/debug/deps/libhex-870a7f489585db33.rmeta differ diff --git a/contracts/target_local/debug/deps/libhex-98750fb57969ed0e.rlib b/contracts/target_local/debug/deps/libhex-98750fb57969ed0e.rlib new file mode 100644 index 00000000..f19705b1 Binary files /dev/null and b/contracts/target_local/debug/deps/libhex-98750fb57969ed0e.rlib differ diff --git a/contracts/target_local/debug/deps/libhex-98750fb57969ed0e.rmeta b/contracts/target_local/debug/deps/libhex-98750fb57969ed0e.rmeta new file mode 100644 index 00000000..aa8d2d47 Binary files /dev/null and b/contracts/target_local/debug/deps/libhex-98750fb57969ed0e.rmeta differ diff --git a/contracts/target_local/debug/deps/libhex_literal-b9d9f7818c060e04.rmeta b/contracts/target_local/debug/deps/libhex_literal-b9d9f7818c060e04.rmeta new file mode 100644 index 00000000..25a3d8cf Binary files /dev/null and b/contracts/target_local/debug/deps/libhex_literal-b9d9f7818c060e04.rmeta differ diff --git a/contracts/target_local/debug/deps/libhmac-7ed430e488894c0a.rmeta b/contracts/target_local/debug/deps/libhmac-7ed430e488894c0a.rmeta new file mode 100644 index 00000000..ec318e24 Binary files /dev/null and b/contracts/target_local/debug/deps/libhmac-7ed430e488894c0a.rmeta differ diff --git a/contracts/target_local/debug/deps/libident_case-eafcfcca6a1f8c9f.rlib b/contracts/target_local/debug/deps/libident_case-eafcfcca6a1f8c9f.rlib new file mode 100644 index 00000000..e1529e36 Binary files /dev/null and b/contracts/target_local/debug/deps/libident_case-eafcfcca6a1f8c9f.rlib differ diff --git a/contracts/target_local/debug/deps/libident_case-eafcfcca6a1f8c9f.rmeta b/contracts/target_local/debug/deps/libident_case-eafcfcca6a1f8c9f.rmeta new file mode 100644 index 00000000..6d4d45f5 Binary files /dev/null and b/contracts/target_local/debug/deps/libident_case-eafcfcca6a1f8c9f.rmeta differ diff --git a/contracts/target_local/debug/deps/libindexmap-0d197c4d56175586.rlib b/contracts/target_local/debug/deps/libindexmap-0d197c4d56175586.rlib new file mode 100644 index 00000000..ccb21c7f Binary files /dev/null and b/contracts/target_local/debug/deps/libindexmap-0d197c4d56175586.rlib differ diff --git a/contracts/target_local/debug/deps/libindexmap-0d197c4d56175586.rmeta b/contracts/target_local/debug/deps/libindexmap-0d197c4d56175586.rmeta new file mode 100644 index 00000000..d8d6afdb Binary files /dev/null and b/contracts/target_local/debug/deps/libindexmap-0d197c4d56175586.rmeta differ diff --git a/contracts/target_local/debug/deps/libindexmap-731e5fd289465b9e.rmeta b/contracts/target_local/debug/deps/libindexmap-731e5fd289465b9e.rmeta new file mode 100644 index 00000000..60e95c4a Binary files /dev/null and b/contracts/target_local/debug/deps/libindexmap-731e5fd289465b9e.rmeta differ diff --git a/contracts/target_local/debug/deps/libindexmap_nostd-5aea63fbf2120b45.rmeta b/contracts/target_local/debug/deps/libindexmap_nostd-5aea63fbf2120b45.rmeta new file mode 100644 index 00000000..9d4e3969 Binary files /dev/null and b/contracts/target_local/debug/deps/libindexmap_nostd-5aea63fbf2120b45.rmeta differ diff --git a/contracts/target_local/debug/deps/libitertools-6bd0744ad8ad48ae.rlib b/contracts/target_local/debug/deps/libitertools-6bd0744ad8ad48ae.rlib new file mode 100644 index 00000000..8284bbb0 Binary files /dev/null and b/contracts/target_local/debug/deps/libitertools-6bd0744ad8ad48ae.rlib differ diff --git a/contracts/target_local/debug/deps/libitertools-6bd0744ad8ad48ae.rmeta b/contracts/target_local/debug/deps/libitertools-6bd0744ad8ad48ae.rmeta new file mode 100644 index 00000000..0063048b Binary files /dev/null and b/contracts/target_local/debug/deps/libitertools-6bd0744ad8ad48ae.rmeta differ diff --git a/contracts/target_local/debug/deps/libitoa-0f70b8670e573295.rmeta b/contracts/target_local/debug/deps/libitoa-0f70b8670e573295.rmeta new file mode 100644 index 00000000..d6151399 Binary files /dev/null and b/contracts/target_local/debug/deps/libitoa-0f70b8670e573295.rmeta differ diff --git a/contracts/target_local/debug/deps/libitoa-7dc258a918c8a510.rlib b/contracts/target_local/debug/deps/libitoa-7dc258a918c8a510.rlib new file mode 100644 index 00000000..4dbb12c0 Binary files /dev/null and b/contracts/target_local/debug/deps/libitoa-7dc258a918c8a510.rlib differ diff --git a/contracts/target_local/debug/deps/libitoa-7dc258a918c8a510.rmeta b/contracts/target_local/debug/deps/libitoa-7dc258a918c8a510.rmeta new file mode 100644 index 00000000..bca96065 Binary files /dev/null and b/contracts/target_local/debug/deps/libitoa-7dc258a918c8a510.rmeta differ diff --git a/contracts/target_local/debug/deps/libk256-6b9ce0255332429e.rmeta b/contracts/target_local/debug/deps/libk256-6b9ce0255332429e.rmeta new file mode 100644 index 00000000..00099649 Binary files /dev/null and b/contracts/target_local/debug/deps/libk256-6b9ce0255332429e.rmeta differ diff --git a/contracts/target_local/debug/deps/libkeccak-713ac346f7130dd5.rmeta b/contracts/target_local/debug/deps/libkeccak-713ac346f7130dd5.rmeta new file mode 100644 index 00000000..2b785740 Binary files /dev/null and b/contracts/target_local/debug/deps/libkeccak-713ac346f7130dd5.rmeta differ diff --git a/contracts/target_local/debug/deps/liblibc-20c98c45b8f6b445.rlib b/contracts/target_local/debug/deps/liblibc-20c98c45b8f6b445.rlib new file mode 100644 index 00000000..f9daf000 Binary files /dev/null and b/contracts/target_local/debug/deps/liblibc-20c98c45b8f6b445.rlib differ diff --git a/contracts/target_local/debug/deps/liblibc-20c98c45b8f6b445.rmeta b/contracts/target_local/debug/deps/liblibc-20c98c45b8f6b445.rmeta new file mode 100644 index 00000000..e539487f Binary files /dev/null and b/contracts/target_local/debug/deps/liblibc-20c98c45b8f6b445.rmeta differ diff --git a/contracts/target_local/debug/deps/liblibc-7dcb08174068873c.rmeta b/contracts/target_local/debug/deps/liblibc-7dcb08174068873c.rmeta new file mode 100644 index 00000000..0311c4d9 Binary files /dev/null and b/contracts/target_local/debug/deps/liblibc-7dcb08174068873c.rmeta differ diff --git a/contracts/target_local/debug/deps/liblibm-5a46d4a916686723.rmeta b/contracts/target_local/debug/deps/liblibm-5a46d4a916686723.rmeta new file mode 100644 index 00000000..45d411c8 Binary files /dev/null and b/contracts/target_local/debug/deps/liblibm-5a46d4a916686723.rmeta differ diff --git a/contracts/target_local/debug/deps/libm-5a46d4a916686723.d b/contracts/target_local/debug/deps/libm-5a46d4a916686723.d new file mode 100644 index 00000000..a781abf5 --- /dev/null +++ b/contracts/target_local/debug/deps/libm-5a46d4a916686723.d @@ -0,0 +1,144 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libm-5a46d4a916686723.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/libm_helper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/big.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/feature_detect.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/float_traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/hex_float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/int_traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/int_traits/narrowing_div.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/modular.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/arch/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expo2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_cos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_cosf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_expo2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_expo2f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_sin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_sinf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_tan.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_tanf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rem_pio2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rem_pio2_large.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rem_pio2f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acosf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acosh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acoshf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asinf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asinh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asinhf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atan.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atan2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atan2f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atanf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atanh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atanhf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cbrt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cbrtf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ceil.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/copysign.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cosf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cosh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/coshf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/erf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/erff.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp10.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp10f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp2f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expm1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expm1f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fabs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fdim.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/floor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fma.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fmin_fmax.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fminimum_fmaximum.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fminimum_fmaximum_num.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fmod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/frexp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/frexpf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/hypot.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/hypotf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ilogb.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ilogbf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j0.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j0f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j1f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/jn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/jnf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ldexp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgamma.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgamma_r.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgammaf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgammaf_r.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log10.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log10f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log1p.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log1pf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log2f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/logf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/modf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/modff.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/nextafter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/nextafterf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/powf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remainder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remainderf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remquo.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remquof.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/round.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/roundeven.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/scalbn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sincos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sincosf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sinf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sinh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sinhf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sqrt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tan.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tanf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tanh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tanhf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tgamma.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tgammaf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/trunc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/ceil.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/copysign.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fabs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fdim.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/floor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fma.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fma_wide.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmax.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmaximum.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmaximum_num.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fminimum.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fminimum_num.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/rint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/round.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/scalbn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/sqrt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/trunc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/arch/aarch64.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/liblibm-5a46d4a916686723.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/libm_helper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/big.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/feature_detect.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/float_traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/hex_float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/int_traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/int_traits/narrowing_div.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/modular.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/arch/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expo2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_cos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_cosf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_expo2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_expo2f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_sin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_sinf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_tan.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_tanf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rem_pio2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rem_pio2_large.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rem_pio2f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acosf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acosh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acoshf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asinf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asinh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asinhf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atan.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atan2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atan2f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atanf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atanh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atanhf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cbrt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cbrtf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ceil.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/copysign.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cosf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cosh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/coshf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/erf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/erff.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp10.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp10f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp2f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expm1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expm1f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fabs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fdim.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/floor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fma.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fmin_fmax.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fminimum_fmaximum.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fminimum_fmaximum_num.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fmod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/frexp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/frexpf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/hypot.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/hypotf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ilogb.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ilogbf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j0.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j0f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j1.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j1f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/jn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/jnf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ldexp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgamma.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgamma_r.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgammaf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgammaf_r.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log10.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log10f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log1p.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log1pf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log2.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log2f.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/logf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/modf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/modff.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/nextafter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/nextafterf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/powf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remainder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remainderf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remquo.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remquof.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/round.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/roundeven.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/scalbn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sincos.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sincosf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sinf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sinh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sinhf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sqrt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tan.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tanf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tanh.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tanhf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tgamma.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tgammaf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/trunc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/ceil.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/copysign.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fabs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fdim.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/floor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fma.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fma_wide.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmax.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmaximum.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmaximum_num.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fminimum.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fminimum_num.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/rint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/round.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/scalbn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/sqrt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/trunc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/arch/aarch64.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/libm_helper.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/big.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/env.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/feature_detect.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/float_traits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/hex_float.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/int_traits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/int_traits/narrowing_div.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/support/modular.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/arch/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expo2.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_cos.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_cosf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_expo2.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_expo2f.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_sin.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_sinf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_tan.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/k_tanf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rem_pio2.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rem_pio2_large.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rem_pio2f.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acos.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acosf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acosh.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/acoshf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asin.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asinf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asinh.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/asinhf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atan.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atan2.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atan2f.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atanf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atanh.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/atanhf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cbrt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cbrtf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ceil.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/copysign.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cos.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cosf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/cosh.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/coshf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/erf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/erff.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp10.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp10f.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp2.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/exp2f.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expm1.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/expm1f.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fabs.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fdim.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/floor.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fma.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fmin_fmax.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fminimum_fmaximum.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fminimum_fmaximum_num.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/fmod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/frexp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/frexpf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/hypot.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/hypotf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ilogb.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ilogbf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j0.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j0f.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j1.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/j1f.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/jn.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/jnf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/ldexp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgamma.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgamma_r.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgammaf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/lgammaf_r.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log10.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log10f.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log1p.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log1pf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log2.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/log2f.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/logf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/modf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/modff.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/nextafter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/nextafterf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/pow.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/powf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remainder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remainderf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remquo.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/remquof.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/rint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/round.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/roundeven.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/scalbn.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sin.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sincos.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sincosf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sinf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sinh.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sinhf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/sqrt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tan.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tanf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tanh.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tanhf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tgamma.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/tgammaf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/trunc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/ceil.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/copysign.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fabs.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fdim.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/floor.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fma.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fma_wide.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmax.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmaximum.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmaximum_num.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmin.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fminimum.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fminimum_num.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/fmod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/rint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/round.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/scalbn.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/sqrt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/generic/trunc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/math/arch/aarch64.rs: diff --git a/contracts/target_local/debug/deps/libmemchr-27aa143b1a2d0528.rmeta b/contracts/target_local/debug/deps/libmemchr-27aa143b1a2d0528.rmeta new file mode 100644 index 00000000..b29fa639 Binary files /dev/null and b/contracts/target_local/debug/deps/libmemchr-27aa143b1a2d0528.rmeta differ diff --git a/contracts/target_local/debug/deps/libmemchr-d5cf84f67fc9f1ba.rlib b/contracts/target_local/debug/deps/libmemchr-d5cf84f67fc9f1ba.rlib new file mode 100644 index 00000000..1a78ff6f Binary files /dev/null and b/contracts/target_local/debug/deps/libmemchr-d5cf84f67fc9f1ba.rlib differ diff --git a/contracts/target_local/debug/deps/libmemchr-d5cf84f67fc9f1ba.rmeta b/contracts/target_local/debug/deps/libmemchr-d5cf84f67fc9f1ba.rmeta new file mode 100644 index 00000000..6bbe7ce7 Binary files /dev/null and b/contracts/target_local/debug/deps/libmemchr-d5cf84f67fc9f1ba.rmeta differ diff --git a/contracts/target_local/debug/deps/libminiz_oxide-e781165208315a60.rmeta b/contracts/target_local/debug/deps/libminiz_oxide-e781165208315a60.rmeta new file mode 100644 index 00000000..dd414677 Binary files /dev/null and b/contracts/target_local/debug/deps/libminiz_oxide-e781165208315a60.rmeta differ diff --git a/contracts/target_local/debug/deps/libnum_bigint-6f674b7d1b88a9c9.rlib b/contracts/target_local/debug/deps/libnum_bigint-6f674b7d1b88a9c9.rlib new file mode 100644 index 00000000..66024c0b Binary files /dev/null and b/contracts/target_local/debug/deps/libnum_bigint-6f674b7d1b88a9c9.rlib differ diff --git a/contracts/target_local/debug/deps/libnum_bigint-6f674b7d1b88a9c9.rmeta b/contracts/target_local/debug/deps/libnum_bigint-6f674b7d1b88a9c9.rmeta new file mode 100644 index 00000000..640cf0a7 Binary files /dev/null and b/contracts/target_local/debug/deps/libnum_bigint-6f674b7d1b88a9c9.rmeta differ diff --git a/contracts/target_local/debug/deps/libnum_derive-9992360f7b98a7cd.dylib b/contracts/target_local/debug/deps/libnum_derive-9992360f7b98a7cd.dylib new file mode 100755 index 00000000..d9f474a3 Binary files /dev/null and b/contracts/target_local/debug/deps/libnum_derive-9992360f7b98a7cd.dylib differ diff --git a/contracts/target_local/debug/deps/libnum_integer-1c7e7f50a371ca3f.rmeta b/contracts/target_local/debug/deps/libnum_integer-1c7e7f50a371ca3f.rmeta new file mode 100644 index 00000000..5c709181 Binary files /dev/null and b/contracts/target_local/debug/deps/libnum_integer-1c7e7f50a371ca3f.rmeta differ diff --git a/contracts/target_local/debug/deps/libnum_integer-90b698aaab26fe85.rlib b/contracts/target_local/debug/deps/libnum_integer-90b698aaab26fe85.rlib new file mode 100644 index 00000000..4a1d5856 Binary files /dev/null and b/contracts/target_local/debug/deps/libnum_integer-90b698aaab26fe85.rlib differ diff --git a/contracts/target_local/debug/deps/libnum_integer-90b698aaab26fe85.rmeta b/contracts/target_local/debug/deps/libnum_integer-90b698aaab26fe85.rmeta new file mode 100644 index 00000000..c150ba5f Binary files /dev/null and b/contracts/target_local/debug/deps/libnum_integer-90b698aaab26fe85.rmeta differ diff --git a/contracts/target_local/debug/deps/libnum_traits-285e0e962b720dfe.rmeta b/contracts/target_local/debug/deps/libnum_traits-285e0e962b720dfe.rmeta new file mode 100644 index 00000000..4a4b6819 Binary files /dev/null and b/contracts/target_local/debug/deps/libnum_traits-285e0e962b720dfe.rmeta differ diff --git a/contracts/target_local/debug/deps/libnum_traits-d3a4981131fe3181.rlib b/contracts/target_local/debug/deps/libnum_traits-d3a4981131fe3181.rlib new file mode 100644 index 00000000..8e174d9f Binary files /dev/null and b/contracts/target_local/debug/deps/libnum_traits-d3a4981131fe3181.rlib differ diff --git a/contracts/target_local/debug/deps/libnum_traits-d3a4981131fe3181.rmeta b/contracts/target_local/debug/deps/libnum_traits-d3a4981131fe3181.rmeta new file mode 100644 index 00000000..e26e394a Binary files /dev/null and b/contracts/target_local/debug/deps/libnum_traits-d3a4981131fe3181.rmeta differ diff --git a/contracts/target_local/debug/deps/libobject-ac254c351c416f75.rmeta b/contracts/target_local/debug/deps/libobject-ac254c351c416f75.rmeta new file mode 100644 index 00000000..f7e27f6c Binary files /dev/null and b/contracts/target_local/debug/deps/libobject-ac254c351c416f75.rmeta differ diff --git a/contracts/target_local/debug/deps/libp256-5dc17bd41fa7c3be.rmeta b/contracts/target_local/debug/deps/libp256-5dc17bd41fa7c3be.rmeta new file mode 100644 index 00000000..6a280e09 Binary files /dev/null and b/contracts/target_local/debug/deps/libp256-5dc17bd41fa7c3be.rmeta differ diff --git a/contracts/target_local/debug/deps/libpaste-411cf0279df5c704.dylib b/contracts/target_local/debug/deps/libpaste-411cf0279df5c704.dylib new file mode 100755 index 00000000..6acd8aba Binary files /dev/null and b/contracts/target_local/debug/deps/libpaste-411cf0279df5c704.dylib differ diff --git a/contracts/target_local/debug/deps/libppv_lite86-e60e9171d2480a44.rmeta b/contracts/target_local/debug/deps/libppv_lite86-e60e9171d2480a44.rmeta new file mode 100644 index 00000000..f94ab2f4 Binary files /dev/null and b/contracts/target_local/debug/deps/libppv_lite86-e60e9171d2480a44.rmeta differ diff --git a/contracts/target_local/debug/deps/libprettyplease-0f1320ce10c1c440.rlib b/contracts/target_local/debug/deps/libprettyplease-0f1320ce10c1c440.rlib new file mode 100644 index 00000000..f4fce033 Binary files /dev/null and b/contracts/target_local/debug/deps/libprettyplease-0f1320ce10c1c440.rlib differ diff --git a/contracts/target_local/debug/deps/libprettyplease-0f1320ce10c1c440.rmeta b/contracts/target_local/debug/deps/libprettyplease-0f1320ce10c1c440.rmeta new file mode 100644 index 00000000..042bb9da Binary files /dev/null and b/contracts/target_local/debug/deps/libprettyplease-0f1320ce10c1c440.rmeta differ diff --git a/contracts/target_local/debug/deps/libprimeorder-ec4223ec9bf298eb.rmeta b/contracts/target_local/debug/deps/libprimeorder-ec4223ec9bf298eb.rmeta new file mode 100644 index 00000000..2392fba0 Binary files /dev/null and b/contracts/target_local/debug/deps/libprimeorder-ec4223ec9bf298eb.rmeta differ diff --git a/contracts/target_local/debug/deps/libproc_macro2-ebae5084726c18f9.rlib b/contracts/target_local/debug/deps/libproc_macro2-ebae5084726c18f9.rlib new file mode 100644 index 00000000..a2159deb Binary files /dev/null and b/contracts/target_local/debug/deps/libproc_macro2-ebae5084726c18f9.rlib differ diff --git a/contracts/target_local/debug/deps/libproc_macro2-ebae5084726c18f9.rmeta b/contracts/target_local/debug/deps/libproc_macro2-ebae5084726c18f9.rmeta new file mode 100644 index 00000000..8bedd8f3 Binary files /dev/null and b/contracts/target_local/debug/deps/libproc_macro2-ebae5084726c18f9.rmeta differ diff --git a/contracts/target_local/debug/deps/libquote-9425c3b27d2cbe95.rlib b/contracts/target_local/debug/deps/libquote-9425c3b27d2cbe95.rlib new file mode 100644 index 00000000..045ab0de Binary files /dev/null and b/contracts/target_local/debug/deps/libquote-9425c3b27d2cbe95.rlib differ diff --git a/contracts/target_local/debug/deps/libquote-9425c3b27d2cbe95.rmeta b/contracts/target_local/debug/deps/libquote-9425c3b27d2cbe95.rmeta new file mode 100644 index 00000000..74c77e6d Binary files /dev/null and b/contracts/target_local/debug/deps/libquote-9425c3b27d2cbe95.rmeta differ diff --git a/contracts/target_local/debug/deps/librand-799f752db9b6b20c.rmeta b/contracts/target_local/debug/deps/librand-799f752db9b6b20c.rmeta new file mode 100644 index 00000000..a3294043 Binary files /dev/null and b/contracts/target_local/debug/deps/librand-799f752db9b6b20c.rmeta differ diff --git a/contracts/target_local/debug/deps/librand_chacha-80569c14ad348dd5.rmeta b/contracts/target_local/debug/deps/librand_chacha-80569c14ad348dd5.rmeta new file mode 100644 index 00000000..0c497830 Binary files /dev/null and b/contracts/target_local/debug/deps/librand_chacha-80569c14ad348dd5.rmeta differ diff --git a/contracts/target_local/debug/deps/librand_core-4ddabfeeaeac1347.rmeta b/contracts/target_local/debug/deps/librand_core-4ddabfeeaeac1347.rmeta new file mode 100644 index 00000000..574e8281 Binary files /dev/null and b/contracts/target_local/debug/deps/librand_core-4ddabfeeaeac1347.rmeta differ diff --git a/contracts/target_local/debug/deps/librfc6979-2362ebfa1d2f2996.rmeta b/contracts/target_local/debug/deps/librfc6979-2362ebfa1d2f2996.rmeta new file mode 100644 index 00000000..8d1d84f9 Binary files /dev/null and b/contracts/target_local/debug/deps/librfc6979-2362ebfa1d2f2996.rmeta differ diff --git a/contracts/target_local/debug/deps/librustc_demangle-74437d6241e72544.rmeta b/contracts/target_local/debug/deps/librustc_demangle-74437d6241e72544.rmeta new file mode 100644 index 00000000..8360a7e9 Binary files /dev/null and b/contracts/target_local/debug/deps/librustc_demangle-74437d6241e72544.rmeta differ diff --git a/contracts/target_local/debug/deps/librustc_version-912d30671a9d904c.rlib b/contracts/target_local/debug/deps/librustc_version-912d30671a9d904c.rlib new file mode 100644 index 00000000..64192e16 Binary files /dev/null and b/contracts/target_local/debug/deps/librustc_version-912d30671a9d904c.rlib differ diff --git a/contracts/target_local/debug/deps/librustc_version-912d30671a9d904c.rmeta b/contracts/target_local/debug/deps/librustc_version-912d30671a9d904c.rmeta new file mode 100644 index 00000000..f41d5c50 Binary files /dev/null and b/contracts/target_local/debug/deps/librustc_version-912d30671a9d904c.rmeta differ diff --git a/contracts/target_local/debug/deps/libsec1-829f6f60ac6184e2.rmeta b/contracts/target_local/debug/deps/libsec1-829f6f60ac6184e2.rmeta new file mode 100644 index 00000000..11e0275a Binary files /dev/null and b/contracts/target_local/debug/deps/libsec1-829f6f60ac6184e2.rmeta differ diff --git a/contracts/target_local/debug/deps/libsemver-bc3746c58159d42e.rlib b/contracts/target_local/debug/deps/libsemver-bc3746c58159d42e.rlib new file mode 100644 index 00000000..d47107bb Binary files /dev/null and b/contracts/target_local/debug/deps/libsemver-bc3746c58159d42e.rlib differ diff --git a/contracts/target_local/debug/deps/libsemver-bc3746c58159d42e.rmeta b/contracts/target_local/debug/deps/libsemver-bc3746c58159d42e.rmeta new file mode 100644 index 00000000..053b9d70 Binary files /dev/null and b/contracts/target_local/debug/deps/libsemver-bc3746c58159d42e.rmeta differ diff --git a/contracts/target_local/debug/deps/libsemver-dfdd90840fd00baa.rmeta b/contracts/target_local/debug/deps/libsemver-dfdd90840fd00baa.rmeta new file mode 100644 index 00000000..0996920c Binary files /dev/null and b/contracts/target_local/debug/deps/libsemver-dfdd90840fd00baa.rmeta differ diff --git a/contracts/target_local/debug/deps/libserde-1b9ed3cb69b59885.rlib b/contracts/target_local/debug/deps/libserde-1b9ed3cb69b59885.rlib new file mode 100644 index 00000000..4269e2a0 Binary files /dev/null and b/contracts/target_local/debug/deps/libserde-1b9ed3cb69b59885.rlib differ diff --git a/contracts/target_local/debug/deps/libserde-1b9ed3cb69b59885.rmeta b/contracts/target_local/debug/deps/libserde-1b9ed3cb69b59885.rmeta new file mode 100644 index 00000000..c820f08c Binary files /dev/null and b/contracts/target_local/debug/deps/libserde-1b9ed3cb69b59885.rmeta differ diff --git a/contracts/target_local/debug/deps/libserde-df48f708bf2d4445.rmeta b/contracts/target_local/debug/deps/libserde-df48f708bf2d4445.rmeta new file mode 100644 index 00000000..13638367 Binary files /dev/null and b/contracts/target_local/debug/deps/libserde-df48f708bf2d4445.rmeta differ diff --git a/contracts/target_local/debug/deps/libserde_core-2e45a9b08e60e38f.rlib b/contracts/target_local/debug/deps/libserde_core-2e45a9b08e60e38f.rlib new file mode 100644 index 00000000..1add2cd1 Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_core-2e45a9b08e60e38f.rlib differ diff --git a/contracts/target_local/debug/deps/libserde_core-2e45a9b08e60e38f.rmeta b/contracts/target_local/debug/deps/libserde_core-2e45a9b08e60e38f.rmeta new file mode 100644 index 00000000..06314305 Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_core-2e45a9b08e60e38f.rmeta differ diff --git a/contracts/target_local/debug/deps/libserde_core-604a09e3b94bb82d.rmeta b/contracts/target_local/debug/deps/libserde_core-604a09e3b94bb82d.rmeta new file mode 100644 index 00000000..7cae0b25 Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_core-604a09e3b94bb82d.rmeta differ diff --git a/contracts/target_local/debug/deps/libserde_derive-6c1236bbfe652602.dylib b/contracts/target_local/debug/deps/libserde_derive-6c1236bbfe652602.dylib new file mode 100755 index 00000000..c2ff97ea Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_derive-6c1236bbfe652602.dylib differ diff --git a/contracts/target_local/debug/deps/libserde_json-2634f6b705b54d06.rmeta b/contracts/target_local/debug/deps/libserde_json-2634f6b705b54d06.rmeta new file mode 100644 index 00000000..dff201dd Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_json-2634f6b705b54d06.rmeta differ diff --git a/contracts/target_local/debug/deps/libserde_json-fdc3596901442fd9.rlib b/contracts/target_local/debug/deps/libserde_json-fdc3596901442fd9.rlib new file mode 100644 index 00000000..5e95791e Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_json-fdc3596901442fd9.rlib differ diff --git a/contracts/target_local/debug/deps/libserde_json-fdc3596901442fd9.rmeta b/contracts/target_local/debug/deps/libserde_json-fdc3596901442fd9.rmeta new file mode 100644 index 00000000..c5eabaab Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_json-fdc3596901442fd9.rmeta differ diff --git a/contracts/target_local/debug/deps/libserde_with-3c7f664fc5ea3df0.rmeta b/contracts/target_local/debug/deps/libserde_with-3c7f664fc5ea3df0.rmeta new file mode 100644 index 00000000..aea2f2c8 Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_with-3c7f664fc5ea3df0.rmeta differ diff --git a/contracts/target_local/debug/deps/libserde_with-d549d4b36d1c19bf.rlib b/contracts/target_local/debug/deps/libserde_with-d549d4b36d1c19bf.rlib new file mode 100644 index 00000000..69c7d248 Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_with-d549d4b36d1c19bf.rlib differ diff --git a/contracts/target_local/debug/deps/libserde_with-d549d4b36d1c19bf.rmeta b/contracts/target_local/debug/deps/libserde_with-d549d4b36d1c19bf.rmeta new file mode 100644 index 00000000..0bbf56a4 Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_with-d549d4b36d1c19bf.rmeta differ diff --git a/contracts/target_local/debug/deps/libserde_with_macros-3833d27d78e86ad3.dylib b/contracts/target_local/debug/deps/libserde_with_macros-3833d27d78e86ad3.dylib new file mode 100755 index 00000000..e45f8997 Binary files /dev/null and b/contracts/target_local/debug/deps/libserde_with_macros-3833d27d78e86ad3.dylib differ diff --git a/contracts/target_local/debug/deps/libsha2-7a6e9bfc88867a04.rlib b/contracts/target_local/debug/deps/libsha2-7a6e9bfc88867a04.rlib new file mode 100644 index 00000000..cbc0c826 Binary files /dev/null and b/contracts/target_local/debug/deps/libsha2-7a6e9bfc88867a04.rlib differ diff --git a/contracts/target_local/debug/deps/libsha2-7a6e9bfc88867a04.rmeta b/contracts/target_local/debug/deps/libsha2-7a6e9bfc88867a04.rmeta new file mode 100644 index 00000000..bfcb2619 Binary files /dev/null and b/contracts/target_local/debug/deps/libsha2-7a6e9bfc88867a04.rmeta differ diff --git a/contracts/target_local/debug/deps/libsha2-ec6d857aa7d15db1.rmeta b/contracts/target_local/debug/deps/libsha2-ec6d857aa7d15db1.rmeta new file mode 100644 index 00000000..21acdf4c Binary files /dev/null and b/contracts/target_local/debug/deps/libsha2-ec6d857aa7d15db1.rmeta differ diff --git a/contracts/target_local/debug/deps/libsha3-b2347a444a266971.rmeta b/contracts/target_local/debug/deps/libsha3-b2347a444a266971.rmeta new file mode 100644 index 00000000..4ac74f4c Binary files /dev/null and b/contracts/target_local/debug/deps/libsha3-b2347a444a266971.rmeta differ diff --git a/contracts/target_local/debug/deps/libsignature-4d9598ecaa6be9c8.rmeta b/contracts/target_local/debug/deps/libsignature-4d9598ecaa6be9c8.rmeta new file mode 100644 index 00000000..3a92bf0a Binary files /dev/null and b/contracts/target_local/debug/deps/libsignature-4d9598ecaa6be9c8.rmeta differ diff --git a/contracts/target_local/debug/deps/libsmallvec-c7b797d1117a9f8f.rmeta b/contracts/target_local/debug/deps/libsmallvec-c7b797d1117a9f8f.rmeta new file mode 100644 index 00000000..82fc7fea Binary files /dev/null and b/contracts/target_local/debug/deps/libsmallvec-c7b797d1117a9f8f.rmeta differ diff --git a/contracts/target_local/debug/deps/libsoroban_builtin_sdk_macros-2f27ae39f1386cc2.dylib b/contracts/target_local/debug/deps/libsoroban_builtin_sdk_macros-2f27ae39f1386cc2.dylib new file mode 100755 index 00000000..e417090c Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_builtin_sdk_macros-2f27ae39f1386cc2.dylib differ diff --git a/contracts/target_local/debug/deps/libsoroban_env_common-1b730141051fc1fa.rmeta b/contracts/target_local/debug/deps/libsoroban_env_common-1b730141051fc1fa.rmeta new file mode 100644 index 00000000..30e794d8 Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_env_common-1b730141051fc1fa.rmeta differ diff --git a/contracts/target_local/debug/deps/libsoroban_env_common-a93313b380fc3b58.rlib b/contracts/target_local/debug/deps/libsoroban_env_common-a93313b380fc3b58.rlib new file mode 100644 index 00000000..564c0f5e Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_env_common-a93313b380fc3b58.rlib differ diff --git a/contracts/target_local/debug/deps/libsoroban_env_common-a93313b380fc3b58.rmeta b/contracts/target_local/debug/deps/libsoroban_env_common-a93313b380fc3b58.rmeta new file mode 100644 index 00000000..3d5a7d38 Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_env_common-a93313b380fc3b58.rmeta differ diff --git a/contracts/target_local/debug/deps/libsoroban_env_host-559f5d673862100e.rmeta b/contracts/target_local/debug/deps/libsoroban_env_host-559f5d673862100e.rmeta new file mode 100644 index 00000000..ed15e38c Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_env_host-559f5d673862100e.rmeta differ diff --git a/contracts/target_local/debug/deps/libsoroban_env_macros-293d4a71ad598ed0.dylib b/contracts/target_local/debug/deps/libsoroban_env_macros-293d4a71ad598ed0.dylib new file mode 100755 index 00000000..90cacc43 Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_env_macros-293d4a71ad598ed0.dylib differ diff --git a/contracts/target_local/debug/deps/libsoroban_ledger_snapshot-0aa677190ce17d8e.rmeta b/contracts/target_local/debug/deps/libsoroban_ledger_snapshot-0aa677190ce17d8e.rmeta new file mode 100644 index 00000000..03521fbb Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_ledger_snapshot-0aa677190ce17d8e.rmeta differ diff --git a/contracts/target_local/debug/deps/libsoroban_sdk-7058e6d6e4c96b04.rmeta b/contracts/target_local/debug/deps/libsoroban_sdk-7058e6d6e4c96b04.rmeta new file mode 100644 index 00000000..077329b2 Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_sdk-7058e6d6e4c96b04.rmeta differ diff --git a/contracts/target_local/debug/deps/libsoroban_sdk_macros-5f63f2cdf28bbbff.dylib b/contracts/target_local/debug/deps/libsoroban_sdk_macros-5f63f2cdf28bbbff.dylib new file mode 100755 index 00000000..999b4c17 Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_sdk_macros-5f63f2cdf28bbbff.dylib differ diff --git a/contracts/target_local/debug/deps/libsoroban_spec-1607cd956b7b3264.rlib b/contracts/target_local/debug/deps/libsoroban_spec-1607cd956b7b3264.rlib new file mode 100644 index 00000000..933f1f57 Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_spec-1607cd956b7b3264.rlib differ diff --git a/contracts/target_local/debug/deps/libsoroban_spec-1607cd956b7b3264.rmeta b/contracts/target_local/debug/deps/libsoroban_spec-1607cd956b7b3264.rmeta new file mode 100644 index 00000000..4eb84a95 Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_spec-1607cd956b7b3264.rmeta differ diff --git a/contracts/target_local/debug/deps/libsoroban_spec_rust-8aea80f31be63691.rlib b/contracts/target_local/debug/deps/libsoroban_spec_rust-8aea80f31be63691.rlib new file mode 100644 index 00000000..37072ad6 Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_spec_rust-8aea80f31be63691.rlib differ diff --git a/contracts/target_local/debug/deps/libsoroban_spec_rust-8aea80f31be63691.rmeta b/contracts/target_local/debug/deps/libsoroban_spec_rust-8aea80f31be63691.rmeta new file mode 100644 index 00000000..d92534b2 Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_spec_rust-8aea80f31be63691.rmeta differ diff --git a/contracts/target_local/debug/deps/libsoroban_wasmi-b49f916157d4faf9.rmeta b/contracts/target_local/debug/deps/libsoroban_wasmi-b49f916157d4faf9.rmeta new file mode 100644 index 00000000..b164695f Binary files /dev/null and b/contracts/target_local/debug/deps/libsoroban_wasmi-b49f916157d4faf9.rmeta differ diff --git a/contracts/target_local/debug/deps/libspin-f100a4a3c646ba7f.rmeta b/contracts/target_local/debug/deps/libspin-f100a4a3c646ba7f.rmeta new file mode 100644 index 00000000..a8e48c31 Binary files /dev/null and b/contracts/target_local/debug/deps/libspin-f100a4a3c646ba7f.rmeta differ diff --git a/contracts/target_local/debug/deps/libstatic_assertions-1ea5fd42fe2ed06a.rmeta b/contracts/target_local/debug/deps/libstatic_assertions-1ea5fd42fe2ed06a.rmeta new file mode 100644 index 00000000..edcf36ac Binary files /dev/null and b/contracts/target_local/debug/deps/libstatic_assertions-1ea5fd42fe2ed06a.rmeta differ diff --git a/contracts/target_local/debug/deps/libstatic_assertions-a5d64fdf0a1b1727.rlib b/contracts/target_local/debug/deps/libstatic_assertions-a5d64fdf0a1b1727.rlib new file mode 100644 index 00000000..f360cb3f Binary files /dev/null and b/contracts/target_local/debug/deps/libstatic_assertions-a5d64fdf0a1b1727.rlib differ diff --git a/contracts/target_local/debug/deps/libstatic_assertions-a5d64fdf0a1b1727.rmeta b/contracts/target_local/debug/deps/libstatic_assertions-a5d64fdf0a1b1727.rmeta new file mode 100644 index 00000000..d5557fdf Binary files /dev/null and b/contracts/target_local/debug/deps/libstatic_assertions-a5d64fdf0a1b1727.rmeta differ diff --git a/contracts/target_local/debug/deps/libstellar_strkey-50b5901553cb1f50.rlib b/contracts/target_local/debug/deps/libstellar_strkey-50b5901553cb1f50.rlib new file mode 100644 index 00000000..70210c61 Binary files /dev/null and b/contracts/target_local/debug/deps/libstellar_strkey-50b5901553cb1f50.rlib differ diff --git a/contracts/target_local/debug/deps/libstellar_strkey-50b5901553cb1f50.rmeta b/contracts/target_local/debug/deps/libstellar_strkey-50b5901553cb1f50.rmeta new file mode 100644 index 00000000..9251be97 Binary files /dev/null and b/contracts/target_local/debug/deps/libstellar_strkey-50b5901553cb1f50.rmeta differ diff --git a/contracts/target_local/debug/deps/libstellar_strkey-ecda2154df9d3dd4.rmeta b/contracts/target_local/debug/deps/libstellar_strkey-ecda2154df9d3dd4.rmeta new file mode 100644 index 00000000..9d42efcc Binary files /dev/null and b/contracts/target_local/debug/deps/libstellar_strkey-ecda2154df9d3dd4.rmeta differ diff --git a/contracts/target_local/debug/deps/libstellar_xdr-1cc2d8c60cec0143.rlib b/contracts/target_local/debug/deps/libstellar_xdr-1cc2d8c60cec0143.rlib new file mode 100644 index 00000000..a3fc7ae7 Binary files /dev/null and b/contracts/target_local/debug/deps/libstellar_xdr-1cc2d8c60cec0143.rlib differ diff --git a/contracts/target_local/debug/deps/libstellar_xdr-1cc2d8c60cec0143.rmeta b/contracts/target_local/debug/deps/libstellar_xdr-1cc2d8c60cec0143.rmeta new file mode 100644 index 00000000..583c82cf Binary files /dev/null and b/contracts/target_local/debug/deps/libstellar_xdr-1cc2d8c60cec0143.rmeta differ diff --git a/contracts/target_local/debug/deps/libstellar_xdr-879f4c61cff22bef.rmeta b/contracts/target_local/debug/deps/libstellar_xdr-879f4c61cff22bef.rmeta new file mode 100644 index 00000000..82d48040 Binary files /dev/null and b/contracts/target_local/debug/deps/libstellar_xdr-879f4c61cff22bef.rmeta differ diff --git a/contracts/target_local/debug/deps/libstrsim-fe81d1d5e2f1a155.rlib b/contracts/target_local/debug/deps/libstrsim-fe81d1d5e2f1a155.rlib new file mode 100644 index 00000000..be17e52b Binary files /dev/null and b/contracts/target_local/debug/deps/libstrsim-fe81d1d5e2f1a155.rlib differ diff --git a/contracts/target_local/debug/deps/libstrsim-fe81d1d5e2f1a155.rmeta b/contracts/target_local/debug/deps/libstrsim-fe81d1d5e2f1a155.rmeta new file mode 100644 index 00000000..5c775a72 Binary files /dev/null and b/contracts/target_local/debug/deps/libstrsim-fe81d1d5e2f1a155.rmeta differ diff --git a/contracts/target_local/debug/deps/libsubtle-db0f2c0122691469.rmeta b/contracts/target_local/debug/deps/libsubtle-db0f2c0122691469.rmeta new file mode 100644 index 00000000..6663c839 Binary files /dev/null and b/contracts/target_local/debug/deps/libsubtle-db0f2c0122691469.rmeta differ diff --git a/contracts/target_local/debug/deps/libsyn-7eae15a90d73590d.rlib b/contracts/target_local/debug/deps/libsyn-7eae15a90d73590d.rlib new file mode 100644 index 00000000..cbc8c402 Binary files /dev/null and b/contracts/target_local/debug/deps/libsyn-7eae15a90d73590d.rlib differ diff --git a/contracts/target_local/debug/deps/libsyn-7eae15a90d73590d.rmeta b/contracts/target_local/debug/deps/libsyn-7eae15a90d73590d.rmeta new file mode 100644 index 00000000..d3062f68 Binary files /dev/null and b/contracts/target_local/debug/deps/libsyn-7eae15a90d73590d.rmeta differ diff --git a/contracts/target_local/debug/deps/libthiserror-d8be4eb1c411e081.rlib b/contracts/target_local/debug/deps/libthiserror-d8be4eb1c411e081.rlib new file mode 100644 index 00000000..6b39b5ce Binary files /dev/null and b/contracts/target_local/debug/deps/libthiserror-d8be4eb1c411e081.rlib differ diff --git a/contracts/target_local/debug/deps/libthiserror-d8be4eb1c411e081.rmeta b/contracts/target_local/debug/deps/libthiserror-d8be4eb1c411e081.rmeta new file mode 100644 index 00000000..f8159d45 Binary files /dev/null and b/contracts/target_local/debug/deps/libthiserror-d8be4eb1c411e081.rmeta differ diff --git a/contracts/target_local/debug/deps/libthiserror-d8d528275431acef.rmeta b/contracts/target_local/debug/deps/libthiserror-d8d528275431acef.rmeta new file mode 100644 index 00000000..16e35637 Binary files /dev/null and b/contracts/target_local/debug/deps/libthiserror-d8d528275431acef.rmeta differ diff --git a/contracts/target_local/debug/deps/libthiserror_impl-a9ac313fd64f9e3f.dylib b/contracts/target_local/debug/deps/libthiserror_impl-a9ac313fd64f9e3f.dylib new file mode 100755 index 00000000..c310b187 Binary files /dev/null and b/contracts/target_local/debug/deps/libthiserror_impl-a9ac313fd64f9e3f.dylib differ diff --git a/contracts/target_local/debug/deps/libtypenum-1e66d7cf02bc5a08.rmeta b/contracts/target_local/debug/deps/libtypenum-1e66d7cf02bc5a08.rmeta new file mode 100644 index 00000000..826f68ba Binary files /dev/null and b/contracts/target_local/debug/deps/libtypenum-1e66d7cf02bc5a08.rmeta differ diff --git a/contracts/target_local/debug/deps/libtypenum-71eedd4a322d1f0a.rlib b/contracts/target_local/debug/deps/libtypenum-71eedd4a322d1f0a.rlib new file mode 100644 index 00000000..567d1077 Binary files /dev/null and b/contracts/target_local/debug/deps/libtypenum-71eedd4a322d1f0a.rlib differ diff --git a/contracts/target_local/debug/deps/libtypenum-71eedd4a322d1f0a.rmeta b/contracts/target_local/debug/deps/libtypenum-71eedd4a322d1f0a.rmeta new file mode 100644 index 00000000..06aeb8ef Binary files /dev/null and b/contracts/target_local/debug/deps/libtypenum-71eedd4a322d1f0a.rmeta differ diff --git a/contracts/target_local/debug/deps/libunicode_ident-d40ac0487c7d67b5.rlib b/contracts/target_local/debug/deps/libunicode_ident-d40ac0487c7d67b5.rlib new file mode 100644 index 00000000..f984aac4 Binary files /dev/null and b/contracts/target_local/debug/deps/libunicode_ident-d40ac0487c7d67b5.rlib differ diff --git a/contracts/target_local/debug/deps/libunicode_ident-d40ac0487c7d67b5.rmeta b/contracts/target_local/debug/deps/libunicode_ident-d40ac0487c7d67b5.rmeta new file mode 100644 index 00000000..965d93f7 Binary files /dev/null and b/contracts/target_local/debug/deps/libunicode_ident-d40ac0487c7d67b5.rmeta differ diff --git a/contracts/target_local/debug/deps/libversion_check-a38ac275d10c0882.rlib b/contracts/target_local/debug/deps/libversion_check-a38ac275d10c0882.rlib new file mode 100644 index 00000000..b8511a69 Binary files /dev/null and b/contracts/target_local/debug/deps/libversion_check-a38ac275d10c0882.rlib differ diff --git a/contracts/target_local/debug/deps/libversion_check-a38ac275d10c0882.rmeta b/contracts/target_local/debug/deps/libversion_check-a38ac275d10c0882.rmeta new file mode 100644 index 00000000..64113176 Binary files /dev/null and b/contracts/target_local/debug/deps/libversion_check-a38ac275d10c0882.rmeta differ diff --git a/contracts/target_local/debug/deps/libwasmi_arena-df54b0c7f2160baa.rmeta b/contracts/target_local/debug/deps/libwasmi_arena-df54b0c7f2160baa.rmeta new file mode 100644 index 00000000..8c29f7cb Binary files /dev/null and b/contracts/target_local/debug/deps/libwasmi_arena-df54b0c7f2160baa.rmeta differ diff --git a/contracts/target_local/debug/deps/libwasmi_core-4a133da5611539ae.rmeta b/contracts/target_local/debug/deps/libwasmi_core-4a133da5611539ae.rmeta new file mode 100644 index 00000000..efeb33a0 Binary files /dev/null and b/contracts/target_local/debug/deps/libwasmi_core-4a133da5611539ae.rmeta differ diff --git a/contracts/target_local/debug/deps/libwasmparser-76a07b49b3d25912.rlib b/contracts/target_local/debug/deps/libwasmparser-76a07b49b3d25912.rlib new file mode 100644 index 00000000..3f08bfae Binary files /dev/null and b/contracts/target_local/debug/deps/libwasmparser-76a07b49b3d25912.rlib differ diff --git a/contracts/target_local/debug/deps/libwasmparser-76a07b49b3d25912.rmeta b/contracts/target_local/debug/deps/libwasmparser-76a07b49b3d25912.rmeta new file mode 100644 index 00000000..5159ee56 Binary files /dev/null and b/contracts/target_local/debug/deps/libwasmparser-76a07b49b3d25912.rmeta differ diff --git a/contracts/target_local/debug/deps/libwasmparser-cca4f01ab10a9548.rmeta b/contracts/target_local/debug/deps/libwasmparser-cca4f01ab10a9548.rmeta new file mode 100644 index 00000000..5a7c5c88 Binary files /dev/null and b/contracts/target_local/debug/deps/libwasmparser-cca4f01ab10a9548.rmeta differ diff --git a/contracts/target_local/debug/deps/libwasmparser_nostd-969ec15799f82224.rmeta b/contracts/target_local/debug/deps/libwasmparser_nostd-969ec15799f82224.rmeta new file mode 100644 index 00000000..0a62e7c9 Binary files /dev/null and b/contracts/target_local/debug/deps/libwasmparser_nostd-969ec15799f82224.rmeta differ diff --git a/contracts/target_local/debug/deps/libzerocopy-dc3e5ddae9a22109.rmeta b/contracts/target_local/debug/deps/libzerocopy-dc3e5ddae9a22109.rmeta new file mode 100644 index 00000000..5ac7089a Binary files /dev/null and b/contracts/target_local/debug/deps/libzerocopy-dc3e5ddae9a22109.rmeta differ diff --git a/contracts/target_local/debug/deps/libzeroize-8876640b9211d71d.rmeta b/contracts/target_local/debug/deps/libzeroize-8876640b9211d71d.rmeta new file mode 100644 index 00000000..1fb6837a Binary files /dev/null and b/contracts/target_local/debug/deps/libzeroize-8876640b9211d71d.rmeta differ diff --git a/contracts/target_local/debug/deps/libzmij-a46218109ef821c7.rlib b/contracts/target_local/debug/deps/libzmij-a46218109ef821c7.rlib new file mode 100644 index 00000000..056f7fc5 Binary files /dev/null and b/contracts/target_local/debug/deps/libzmij-a46218109ef821c7.rlib differ diff --git a/contracts/target_local/debug/deps/libzmij-a46218109ef821c7.rmeta b/contracts/target_local/debug/deps/libzmij-a46218109ef821c7.rmeta new file mode 100644 index 00000000..4831783d Binary files /dev/null and b/contracts/target_local/debug/deps/libzmij-a46218109ef821c7.rmeta differ diff --git a/contracts/target_local/debug/deps/libzmij-ce9db1b21d01c2e2.rmeta b/contracts/target_local/debug/deps/libzmij-ce9db1b21d01c2e2.rmeta new file mode 100644 index 00000000..43115604 Binary files /dev/null and b/contracts/target_local/debug/deps/libzmij-ce9db1b21d01c2e2.rmeta differ diff --git a/contracts/target_local/debug/deps/memchr-27aa143b1a2d0528.d b/contracts/target_local/debug/deps/memchr-27aa143b1a2d0528.d new file mode 100644 index 00000000..3f4776c9 --- /dev/null +++ b/contracts/target_local/debug/deps/memchr-27aa143b1a2d0528.d @@ -0,0 +1,28 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/memchr-27aa143b1a2d0528.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/default_rank.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/rabinkarp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/shiftor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/twoway.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/packedpair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/packedpair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/cow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/searcher.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/vector.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libmemchr-27aa143b1a2d0528.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/default_rank.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/rabinkarp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/shiftor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/twoway.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/packedpair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/packedpair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/cow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/searcher.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/vector.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/memchr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/default_rank.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/rabinkarp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/shiftor.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/twoway.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/memchr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/packedpair.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/memchr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/packedpair.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/memchr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/cow.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/ext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memchr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/searcher.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/vector.rs: diff --git a/contracts/target_local/debug/deps/memchr-d5cf84f67fc9f1ba.d b/contracts/target_local/debug/deps/memchr-d5cf84f67fc9f1ba.d new file mode 100644 index 00000000..68385e7a --- /dev/null +++ b/contracts/target_local/debug/deps/memchr-d5cf84f67fc9f1ba.d @@ -0,0 +1,30 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/memchr-d5cf84f67fc9f1ba.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/default_rank.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/rabinkarp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/shiftor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/twoway.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/packedpair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/packedpair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/cow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/searcher.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/vector.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libmemchr-d5cf84f67fc9f1ba.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/default_rank.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/rabinkarp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/shiftor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/twoway.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/packedpair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/packedpair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/cow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/searcher.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/vector.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libmemchr-d5cf84f67fc9f1ba.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/default_rank.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/rabinkarp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/shiftor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/twoway.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/packedpair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/packedpair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/cow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memchr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/searcher.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/vector.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/memchr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/packedpair/default_rank.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/rabinkarp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/shiftor.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/all/twoway.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/memchr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/generic/packedpair.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/memchr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/neon/packedpair.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/arch/aarch64/memchr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/cow.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/ext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memchr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/memmem/searcher.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/vector.rs: diff --git a/contracts/target_local/debug/deps/miniz_oxide-e781165208315a60.d b/contracts/target_local/debug/deps/miniz_oxide-e781165208315a60.d new file mode 100644 index 00000000..6ea00e86 --- /dev/null +++ b/contracts/target_local/debug/deps/miniz_oxide-e781165208315a60.d @@ -0,0 +1,10 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/miniz_oxide-e781165208315a60.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/output_buffer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/stream.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/shared.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libminiz_oxide-e781165208315a60.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/output_buffer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/stream.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/shared.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/core.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/output_buffer.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/inflate/stream.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/shared.rs: diff --git a/contracts/target_local/debug/deps/num_bigint-6f674b7d1b88a9c9.d b/contracts/target_local/debug/deps/num_bigint-6f674b7d1b88a9c9.d new file mode 100644 index 00000000..8be3f6fe --- /dev/null +++ b/contracts/target_local/debug/deps/num_bigint-6f674b7d1b88a9c9.d @@ -0,0 +1,33 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/num_bigint-6f674b7d1b88a9c9.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/addition.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/division.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/multiplication.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/subtraction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/bits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/power.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/serde.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/shift.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigrand.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/addition.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/division.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/multiplication.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/subtraction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/bits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/monty.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/power.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/serde.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/shift.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_bigint-6f674b7d1b88a9c9.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/addition.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/division.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/multiplication.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/subtraction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/bits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/power.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/serde.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/shift.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigrand.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/addition.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/division.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/multiplication.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/subtraction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/bits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/monty.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/power.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/serde.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/shift.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_bigint-6f674b7d1b88a9c9.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/addition.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/division.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/multiplication.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/subtraction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/bits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/power.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/serde.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/shift.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigrand.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/addition.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/division.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/multiplication.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/subtraction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/bits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/monty.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/power.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/serde.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/shift.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/addition.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/division.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/multiplication.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/subtraction.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/arbitrary.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/bits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/convert.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/power.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/serde.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigint/shift.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/bigrand.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/addition.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/division.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/multiplication.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/subtraction.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/arbitrary.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/bits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/convert.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/monty.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/power.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/serde.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/biguint/shift.rs: diff --git a/contracts/target_local/debug/deps/num_derive-9992360f7b98a7cd.d b/contracts/target_local/debug/deps/num_derive-9992360f7b98a7cd.d new file mode 100644 index 00000000..1eff925b --- /dev/null +++ b/contracts/target_local/debug/deps/num_derive-9992360f7b98a7cd.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/num_derive-9992360f7b98a7cd.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-derive-0.4.2/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_derive-9992360f7b98a7cd.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-derive-0.4.2/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-derive-0.4.2/src/lib.rs: diff --git a/contracts/target_local/debug/deps/num_integer-1c7e7f50a371ca3f.d b/contracts/target_local/debug/deps/num_integer-1c7e7f50a371ca3f.d new file mode 100644 index 00000000..60c9f947 --- /dev/null +++ b/contracts/target_local/debug/deps/num_integer-1c7e7f50a371ca3f.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/num_integer-1c7e7f50a371ca3f.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/roots.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/average.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_integer-1c7e7f50a371ca3f.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/roots.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/average.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/roots.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/average.rs: diff --git a/contracts/target_local/debug/deps/num_integer-90b698aaab26fe85.d b/contracts/target_local/debug/deps/num_integer-90b698aaab26fe85.d new file mode 100644 index 00000000..6666f53d --- /dev/null +++ b/contracts/target_local/debug/deps/num_integer-90b698aaab26fe85.d @@ -0,0 +1,9 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/num_integer-90b698aaab26fe85.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/roots.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/average.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_integer-90b698aaab26fe85.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/roots.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/average.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_integer-90b698aaab26fe85.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/roots.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/average.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/roots.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/average.rs: diff --git a/contracts/target_local/debug/deps/num_traits-285e0e962b720dfe.d b/contracts/target_local/debug/deps/num_traits-285e0e962b720dfe.d new file mode 100644 index 00000000..c438a56c --- /dev/null +++ b/contracts/target_local/debug/deps/num_traits-285e0e962b720dfe.d @@ -0,0 +1,23 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/num_traits-285e0e962b720dfe.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/bounds.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/cast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/identities.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/checked.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/euclid.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mul_add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/overflowing.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/saturating.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/wrapping.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/real.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/sign.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_traits-285e0e962b720dfe.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/bounds.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/cast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/identities.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/checked.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/euclid.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mul_add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/overflowing.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/saturating.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/wrapping.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/real.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/sign.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/bounds.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/cast.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/float.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/identities.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/int.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/bytes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/checked.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/euclid.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/inv.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mul_add.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/overflowing.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/saturating.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/wrapping.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/pow.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/real.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/sign.rs: diff --git a/contracts/target_local/debug/deps/num_traits-d3a4981131fe3181.d b/contracts/target_local/debug/deps/num_traits-d3a4981131fe3181.d new file mode 100644 index 00000000..6dc6a68a --- /dev/null +++ b/contracts/target_local/debug/deps/num_traits-d3a4981131fe3181.d @@ -0,0 +1,25 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/num_traits-d3a4981131fe3181.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/bounds.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/cast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/identities.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/checked.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/euclid.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mul_add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/overflowing.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/saturating.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/wrapping.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/real.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/sign.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_traits-d3a4981131fe3181.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/bounds.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/cast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/identities.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/checked.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/euclid.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mul_add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/overflowing.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/saturating.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/wrapping.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/real.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/sign.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_traits-d3a4981131fe3181.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/bounds.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/cast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/identities.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/checked.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/euclid.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/inv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mul_add.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/overflowing.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/saturating.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/wrapping.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/pow.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/real.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/sign.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/bounds.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/cast.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/float.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/identities.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/int.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/bytes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/checked.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/euclid.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/inv.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/mul_add.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/overflowing.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/saturating.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/ops/wrapping.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/pow.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/real.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/sign.rs: diff --git a/contracts/target_local/debug/deps/object-ac254c351c416f75.d b/contracts/target_local/debug/deps/object-ac254c351c416f75.d new file mode 100644 index 00000000..c21ee902 --- /dev/null +++ b/contracts/target_local/debug/deps/object-ac254c351c416f75.d @@ -0,0 +1,66 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/object-ac254c351c416f75.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/common.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/endian.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/pod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/read_ref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/read_cache.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/gnu_compression.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/any.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/archive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/section.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/relocation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/comdat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/import.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/segment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/section.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/relocation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/comdat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/dynamic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/compression.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/note.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/hash.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/version.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/dyld_cache.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/fat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/load_command.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/segment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/section.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/relocation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/section.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/data_directory.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/export.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/import.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/relocation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/resource.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/rich.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/section.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/relocation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/comdat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/segment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/archive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/elf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/macho.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/pe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/xcoff.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libobject-ac254c351c416f75.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/common.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/endian.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/pod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/read_ref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/read_cache.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/gnu_compression.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/any.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/archive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/section.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/relocation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/comdat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/import.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/segment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/section.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/relocation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/comdat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/dynamic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/compression.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/note.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/hash.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/version.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/attributes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/dyld_cache.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/fat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/load_command.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/segment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/section.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/relocation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/section.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/data_directory.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/export.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/import.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/relocation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/resource.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/rich.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/section.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/relocation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/comdat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/segment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/archive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/elf.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/macho.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/pe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/xcoff.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/common.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/endian.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/pod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/read_ref.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/read_cache.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/gnu_compression.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/any.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/archive.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/file.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/section.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/symbol.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/relocation.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/comdat.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/coff/import.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/file.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/segment.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/section.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/symbol.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/relocation.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/comdat.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/dynamic.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/compression.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/note.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/hash.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/version.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/elf/attributes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/dyld_cache.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/fat.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/file.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/load_command.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/segment.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/section.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/symbol.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/macho/relocation.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/file.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/section.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/data_directory.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/export.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/import.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/relocation.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/resource.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/pe/rich.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/file.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/section.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/symbol.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/relocation.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/comdat.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/xcoff/segment.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/read/traits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/archive.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/elf.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/macho.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/pe.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/xcoff.rs: diff --git a/contracts/target_local/debug/deps/p256-5dc17bd41fa7c3be.d b/contracts/target_local/debug/deps/p256-5dc17bd41fa7c3be.d new file mode 100644 index 00000000..eff90583 --- /dev/null +++ b/contracts/target_local/debug/deps/p256-5dc17bd41fa7c3be.d @@ -0,0 +1,13 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/p256-5dc17bd41fa7c3be.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/field/field64.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/scalar.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/scalar/scalar64.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/ecdsa.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libp256-5dc17bd41fa7c3be.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/field/field64.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/scalar.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/scalar/scalar64.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/ecdsa.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/field/field64.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/scalar.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/scalar/scalar64.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/arithmetic/util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/ecdsa.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/../README.md: diff --git a/contracts/target_local/debug/deps/paste-411cf0279df5c704.d b/contracts/target_local/debug/deps/paste-411cf0279df5c704.d new file mode 100644 index 00000000..338e34a4 --- /dev/null +++ b/contracts/target_local/debug/deps/paste-411cf0279df5c704.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/paste-411cf0279df5c704.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/segment.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libpaste-411cf0279df5c704.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/segment.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/attr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/segment.rs: diff --git a/contracts/target_local/debug/deps/ppv_lite86-e60e9171d2480a44.d b/contracts/target_local/debug/deps/ppv_lite86-e60e9171d2480a44.d new file mode 100644 index 00000000..c28b9055 --- /dev/null +++ b/contracts/target_local/debug/deps/ppv_lite86-e60e9171d2480a44.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/ppv_lite86-e60e9171d2480a44.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/soft.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/generic.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libppv_lite86-e60e9171d2480a44.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/soft.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/generic.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/soft.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/generic.rs: diff --git a/contracts/target_local/debug/deps/prettyplease-0f1320ce10c1c440.d b/contracts/target_local/debug/deps/prettyplease-0f1320ce10c1c440.d new file mode 100644 index 00000000..03c4da8a --- /dev/null +++ b/contracts/target_local/debug/deps/prettyplease-0f1320ce10c1c440.d @@ -0,0 +1,28 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/prettyplease-0f1320ce10c1c440.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/algorithm.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/classify.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/convenience.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/fixup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/item.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lifetime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/mac.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/pat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/path.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/precedence.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/ring.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/stmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/token.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/ty.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libprettyplease-0f1320ce10c1c440.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/algorithm.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/classify.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/convenience.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/fixup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/item.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lifetime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/mac.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/pat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/path.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/precedence.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/ring.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/stmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/token.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/ty.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libprettyplease-0f1320ce10c1c440.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/algorithm.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/classify.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/convenience.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/fixup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/item.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lifetime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/mac.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/pat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/path.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/precedence.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/ring.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/stmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/token.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/ty.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/algorithm.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/attr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/classify.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/convenience.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/data.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/expr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/file.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/fixup.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/generics.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/item.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lifetime.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lit.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/mac.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/pat.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/path.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/precedence.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/ring.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/stmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/token.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/ty.rs: diff --git a/contracts/target_local/debug/deps/primeorder-ec4223ec9bf298eb.d b/contracts/target_local/debug/deps/primeorder-ec4223ec9bf298eb.d new file mode 100644 index 00000000..5b64e6ff --- /dev/null +++ b/contracts/target_local/debug/deps/primeorder-ec4223ec9bf298eb.d @@ -0,0 +1,10 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/primeorder-ec4223ec9bf298eb.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/point_arithmetic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/affine.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/projective.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libprimeorder-ec4223ec9bf298eb.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/point_arithmetic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/affine.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/field.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/projective.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/point_arithmetic.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/affine.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/field.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/projective.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/../README.md: diff --git a/contracts/target_local/debug/deps/proc_macro2-ebae5084726c18f9.d b/contracts/target_local/debug/deps/proc_macro2-ebae5084726c18f9.d new file mode 100644 index 00000000..bcdb2cb9 --- /dev/null +++ b/contracts/target_local/debug/deps/proc_macro2-ebae5084726c18f9.d @@ -0,0 +1,17 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/proc_macro2-ebae5084726c18f9.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/marker.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe/proc_macro_span_file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe/proc_macro_span_location.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/rcvec.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/detection.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/fallback.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/extra.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/wrapper.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libproc_macro2-ebae5084726c18f9.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/marker.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe/proc_macro_span_file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe/proc_macro_span_location.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/rcvec.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/detection.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/fallback.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/extra.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/wrapper.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libproc_macro2-ebae5084726c18f9.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/marker.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe/proc_macro_span_file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe/proc_macro_span_location.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/rcvec.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/detection.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/fallback.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/extra.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/wrapper.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/marker.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/parse.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe/proc_macro_span_file.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/probe/proc_macro_span_location.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/rcvec.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/detection.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/fallback.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/extra.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/wrapper.rs: diff --git a/contracts/target_local/debug/deps/quote-9425c3b27d2cbe95.d b/contracts/target_local/debug/deps/quote-9425c3b27d2cbe95.d new file mode 100644 index 00000000..9a600a1c --- /dev/null +++ b/contracts/target_local/debug/deps/quote-9425c3b27d2cbe95.d @@ -0,0 +1,13 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/quote-9425c3b27d2cbe95.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/ident_fragment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/to_tokens.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/runtime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/spanned.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libquote-9425c3b27d2cbe95.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/ident_fragment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/to_tokens.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/runtime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/spanned.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libquote-9425c3b27d2cbe95.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/ident_fragment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/to_tokens.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/runtime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/spanned.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/ext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/format.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/ident_fragment.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/to_tokens.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/runtime.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/spanned.rs: diff --git a/contracts/target_local/debug/deps/rand-799f752db9b6b20c.d b/contracts/target_local/debug/deps/rand-799f752db9b6b20c.d new file mode 100644 index 00000000..cd676a43 --- /dev/null +++ b/contracts/target_local/debug/deps/rand-799f752db9b6b20c.d @@ -0,0 +1,27 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/rand-799f752db9b6b20c.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/bernoulli.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/integer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/other.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/weighted_index.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/uniform.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/weighted.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/prelude.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rng.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/adapter/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/adapter/read.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/adapter/reseeding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/mock.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/std.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/thread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/seq/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/seq/index.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librand-799f752db9b6b20c.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/bernoulli.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/integer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/other.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/weighted_index.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/uniform.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/weighted.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/prelude.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rng.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/adapter/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/adapter/read.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/adapter/reseeding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/mock.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/std.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/thread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/seq/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/seq/index.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/bernoulli.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/distribution.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/float.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/integer.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/other.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/slice.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/utils.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/weighted_index.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/uniform.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/distributions/weighted.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/prelude.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rng.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/adapter/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/adapter/read.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/adapter/reseeding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/mock.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/std.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/rngs/thread.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/seq/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/seq/index.rs: diff --git a/contracts/target_local/debug/deps/rand_chacha-80569c14ad348dd5.d b/contracts/target_local/debug/deps/rand_chacha-80569c14ad348dd5.d new file mode 100644 index 00000000..a061b010 --- /dev/null +++ b/contracts/target_local/debug/deps/rand_chacha-80569c14ad348dd5.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/rand_chacha-80569c14ad348dd5.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/chacha.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/guts.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librand_chacha-80569c14ad348dd5.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/chacha.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/guts.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/chacha.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/guts.rs: diff --git a/contracts/target_local/debug/deps/rand_core-4ddabfeeaeac1347.d b/contracts/target_local/debug/deps/rand_core-4ddabfeeaeac1347.d new file mode 100644 index 00000000..4907352d --- /dev/null +++ b/contracts/target_local/debug/deps/rand_core-4ddabfeeaeac1347.d @@ -0,0 +1,10 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/rand_core-4ddabfeeaeac1347.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/block.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/le.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/os.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librand_core-4ddabfeeaeac1347.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/block.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/le.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/os.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/block.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/le.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/os.rs: diff --git a/contracts/target_local/debug/deps/rfc6979-2362ebfa1d2f2996.d b/contracts/target_local/debug/deps/rfc6979-2362ebfa1d2f2996.d new file mode 100644 index 00000000..500f710c --- /dev/null +++ b/contracts/target_local/debug/deps/rfc6979-2362ebfa1d2f2996.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/rfc6979-2362ebfa1d2f2996.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/ct_cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librfc6979-2362ebfa1d2f2996.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/ct_cmp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/ct_cmp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/../README.md: diff --git a/contracts/target_local/debug/deps/rustc_demangle-74437d6241e72544.d b/contracts/target_local/debug/deps/rustc_demangle-74437d6241e72544.d new file mode 100644 index 00000000..c4658b61 --- /dev/null +++ b/contracts/target_local/debug/deps/rustc_demangle-74437d6241e72544.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/rustc_demangle-74437d6241e72544.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/legacy.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/v0.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librustc_demangle-74437d6241e72544.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/legacy.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/v0.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/legacy.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/v0.rs: diff --git a/contracts/target_local/debug/deps/rustc_version-912d30671a9d904c.d b/contracts/target_local/debug/deps/rustc_version-912d30671a9d904c.d new file mode 100644 index 00000000..d0491dcc --- /dev/null +++ b/contracts/target_local/debug/deps/rustc_version-912d30671a9d904c.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/rustc_version-912d30671a9d904c.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc_version-0.4.1/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librustc_version-912d30671a9d904c.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc_version-0.4.1/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librustc_version-912d30671a9d904c.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc_version-0.4.1/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc_version-0.4.1/src/lib.rs: diff --git a/contracts/target_local/debug/deps/sec1-829f6f60ac6184e2.d b/contracts/target_local/debug/deps/sec1-829f6f60ac6184e2.d new file mode 100644 index 00000000..4d6511a8 --- /dev/null +++ b/contracts/target_local/debug/deps/sec1-829f6f60ac6184e2.d @@ -0,0 +1,11 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/sec1-829f6f60ac6184e2.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/point.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/parameters.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/private_key.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsec1-829f6f60ac6184e2.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/point.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/parameters.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/private_key.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/point.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/parameters.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/private_key.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/traits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/../README.md: diff --git a/contracts/target_local/debug/deps/semver-bc3746c58159d42e.d b/contracts/target_local/debug/deps/semver-bc3746c58159d42e.d new file mode 100644 index 00000000..0fbe4072 --- /dev/null +++ b/contracts/target_local/debug/deps/semver-bc3746c58159d42e.d @@ -0,0 +1,13 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/semver-bc3746c58159d42e.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/eval.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/identifier.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/parse.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsemver-bc3746c58159d42e.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/eval.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/identifier.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/parse.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsemver-bc3746c58159d42e.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/eval.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/identifier.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/parse.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/display.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/eval.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/identifier.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/parse.rs: diff --git a/contracts/target_local/debug/deps/semver-dfdd90840fd00baa.d b/contracts/target_local/debug/deps/semver-dfdd90840fd00baa.d new file mode 100644 index 00000000..c407f748 --- /dev/null +++ b/contracts/target_local/debug/deps/semver-dfdd90840fd00baa.d @@ -0,0 +1,11 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/semver-dfdd90840fd00baa.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/eval.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/identifier.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/parse.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsemver-dfdd90840fd00baa.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/display.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/eval.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/identifier.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/parse.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/display.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/eval.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/identifier.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/parse.rs: diff --git a/contracts/target_local/debug/deps/serde-1b9ed3cb69b59885.d b/contracts/target_local/debug/deps/serde-1b9ed3cb69b59885.d new file mode 100644 index 00000000..0ea53e40 --- /dev/null +++ b/contracts/target_local/debug/deps/serde-1b9ed3cb69b59885.d @@ -0,0 +1,14 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/serde-1b9ed3cb69b59885.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/integer128.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/ser.rs /Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-38f8b19ce6b3bd83/out/private.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde-1b9ed3cb69b59885.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/integer128.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/ser.rs /Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-38f8b19ce6b3bd83/out/private.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde-1b9ed3cb69b59885.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/integer128.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/ser.rs /Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-38f8b19ce6b3bd83/out/private.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/integer128.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/de.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/ser.rs: +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-38f8b19ce6b3bd83/out/private.rs: + +# env-dep:OUT_DIR=/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-38f8b19ce6b3bd83/out diff --git a/contracts/target_local/debug/deps/serde-df48f708bf2d4445.d b/contracts/target_local/debug/deps/serde-df48f708bf2d4445.d new file mode 100644 index 00000000..19059744 --- /dev/null +++ b/contracts/target_local/debug/deps/serde-df48f708bf2d4445.d @@ -0,0 +1,12 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/serde-df48f708bf2d4445.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/integer128.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/ser.rs /Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-38f8b19ce6b3bd83/out/private.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde-df48f708bf2d4445.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/integer128.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/ser.rs /Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-38f8b19ce6b3bd83/out/private.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/integer128.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/de.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/private/ser.rs: +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-38f8b19ce6b3bd83/out/private.rs: + +# env-dep:OUT_DIR=/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-38f8b19ce6b3bd83/out diff --git a/contracts/target_local/debug/deps/serde_core-2e45a9b08e60e38f.d b/contracts/target_local/debug/deps/serde_core-2e45a9b08e60e38f.d new file mode 100644 index 00000000..ebd443b0 --- /dev/null +++ b/contracts/target_local/debug/deps/serde_core-2e45a9b08e60e38f.d @@ -0,0 +1,27 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/serde_core-2e45a9b08e60e38f.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/crate_root.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/ignored_any.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impossible.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/content.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/seed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/doc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/size_hint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/string.rs /Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-7aa5a159cd5176d0/out/private.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_core-2e45a9b08e60e38f.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/crate_root.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/ignored_any.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impossible.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/content.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/seed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/doc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/size_hint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/string.rs /Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-7aa5a159cd5176d0/out/private.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_core-2e45a9b08e60e38f.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/crate_root.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/ignored_any.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impossible.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/content.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/seed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/doc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/size_hint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/string.rs /Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-7aa5a159cd5176d0/out/private.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/crate_root.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/value.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/ignored_any.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impossible.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/format.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/content.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/seed.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/doc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/size_hint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/string.rs: +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-7aa5a159cd5176d0/out/private.rs: + +# env-dep:OUT_DIR=/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-7aa5a159cd5176d0/out diff --git a/contracts/target_local/debug/deps/serde_core-604a09e3b94bb82d.d b/contracts/target_local/debug/deps/serde_core-604a09e3b94bb82d.d new file mode 100644 index 00000000..17ffee4a --- /dev/null +++ b/contracts/target_local/debug/deps/serde_core-604a09e3b94bb82d.d @@ -0,0 +1,25 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/serde_core-604a09e3b94bb82d.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/crate_root.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/ignored_any.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impossible.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/content.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/seed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/doc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/size_hint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/string.rs /Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-7aa5a159cd5176d0/out/private.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_core-604a09e3b94bb82d.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/crate_root.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/value.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/ignored_any.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impossible.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/format.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/content.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/seed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/doc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/size_hint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/string.rs /Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-7aa5a159cd5176d0/out/private.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/crate_root.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/value.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/ignored_any.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/de/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/ser/impossible.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/format.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/content.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/seed.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/doc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/size_hint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/private/string.rs: +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-7aa5a159cd5176d0/out/private.rs: + +# env-dep:OUT_DIR=/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-7aa5a159cd5176d0/out diff --git a/contracts/target_local/debug/deps/serde_derive-6c1236bbfe652602.d b/contracts/target_local/debug/deps/serde_derive-6c1236bbfe652602.d new file mode 100644 index 00000000..006b6eb1 --- /dev/null +++ b/contracts/target_local/debug/deps/serde_derive-6c1236bbfe652602.d @@ -0,0 +1,34 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/serde_derive-6c1236bbfe652602.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/ast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/name.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/case.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/check.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/ctxt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/receiver.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/respan.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/bound.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/fragment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_adjacently.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_externally.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_internally.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_untagged.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/identifier.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/struct_.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/unit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/deprecated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/dummy.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/pretend.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/this.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_derive-6c1236bbfe652602.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/ast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/name.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/case.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/check.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/ctxt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/receiver.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/respan.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/bound.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/fragment.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_adjacently.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_externally.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_internally.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_untagged.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/identifier.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/struct_.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/unit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/deprecated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/dummy.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/pretend.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/this.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/ast.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/attr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/name.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/case.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/check.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/ctxt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/receiver.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/respan.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/internals/symbol.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/bound.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/fragment.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_adjacently.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_externally.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_internally.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/enum_untagged.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/identifier.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/struct_.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/tuple.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/de/unit.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/deprecated.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/dummy.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/pretend.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/ser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/this.rs: + +# env-dep:CARGO_PKG_VERSION_PATCH=228 diff --git a/contracts/target_local/debug/deps/serde_json-2634f6b705b54d06.d b/contracts/target_local/debug/deps/serde_json-2634f6b705b54d06.d new file mode 100644 index 00000000..6b19bd15 --- /dev/null +++ b/contracts/target_local/debug/deps/serde_json-2634f6b705b54d06.d @@ -0,0 +1,20 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/serde_json-2634f6b705b54d06.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/index.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/partial_eq.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/io/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/number.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/read.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_json-2634f6b705b54d06.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/index.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/partial_eq.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/io/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/number.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/read.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/de.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/from.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/index.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/partial_eq.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/ser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/io/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/number.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/read.rs: diff --git a/contracts/target_local/debug/deps/serde_json-fdc3596901442fd9.d b/contracts/target_local/debug/deps/serde_json-fdc3596901442fd9.d new file mode 100644 index 00000000..9bfa7a5d --- /dev/null +++ b/contracts/target_local/debug/deps/serde_json-fdc3596901442fd9.d @@ -0,0 +1,22 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/serde_json-fdc3596901442fd9.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/index.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/partial_eq.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/io/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/number.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/read.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_json-fdc3596901442fd9.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/index.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/partial_eq.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/io/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/number.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/read.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_json-fdc3596901442fd9.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/from.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/index.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/partial_eq.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/io/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/number.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/read.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/de.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/ser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/de.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/from.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/index.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/partial_eq.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/value/ser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/io/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/number.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/read.rs: diff --git a/contracts/target_local/debug/deps/serde_with-3c7f664fc5ea3df0.d b/contracts/target_local/debug/deps/serde_with-3c7f664fc5ea3df0.d new file mode 100644 index 00000000..0ad43b26 --- /dev/null +++ b/contracts/target_local/debug/deps/serde_with-3c7f664fc5ea3df0.d @@ -0,0 +1,31 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/serde_with-3c7f664fc5ea3df0.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/duplicates.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/skip_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/error_on_duplicate.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/first_value_wins.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/last_value_wins.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/enum_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/flatten_maybe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/formats.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/hex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/key_value_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/rust.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/duplicates.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/skip_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/serde_conv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils/duration.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_prefix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_suffix.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_with-3c7f664fc5ea3df0.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/duplicates.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/skip_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/error_on_duplicate.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/first_value_wins.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/last_value_wins.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/enum_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/flatten_maybe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/formats.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/hex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/key_value_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/rust.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/duplicates.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/skip_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/serde_conv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils/duration.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_prefix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_suffix.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/de.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/ser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/duplicates.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/skip_error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/error_on_duplicate.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/first_value_wins.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/last_value_wins.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/enum_map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/flatten_maybe.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/formats.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/hex.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/key_value_map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/rust.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/duplicates.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/skip_error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/serde_conv.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils/duration.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_prefix.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_suffix.rs: diff --git a/contracts/target_local/debug/deps/serde_with-d549d4b36d1c19bf.d b/contracts/target_local/debug/deps/serde_with-d549d4b36d1c19bf.d new file mode 100644 index 00000000..2f80b307 --- /dev/null +++ b/contracts/target_local/debug/deps/serde_with-d549d4b36d1c19bf.d @@ -0,0 +1,32 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/serde_with-d549d4b36d1c19bf.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/duplicates.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/skip_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/error_on_duplicate.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/first_value_wins.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/last_value_wins.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/enum_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/flatten_maybe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/formats.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/key_value_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/rust.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/duplicates.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/skip_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/serde_conv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils/duration.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_prefix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_suffix.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_with-d549d4b36d1c19bf.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/duplicates.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/skip_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/error_on_duplicate.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/first_value_wins.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/last_value_wins.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/enum_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/flatten_maybe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/formats.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/key_value_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/rust.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/duplicates.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/skip_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/serde_conv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils/duration.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_prefix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_suffix.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_with-d549d4b36d1c19bf.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/de.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/ser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/duplicates.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/skip_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/error_on_duplicate.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/first_value_wins.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/last_value_wins.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/enum_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/flatten_maybe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/formats.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/key_value_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/rust.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/duplicates.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/skip_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/serde_conv.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils/duration.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_prefix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_suffix.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/de.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/content/ser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/duplicates.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/de/skip_error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/error_on_duplicate.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/first_value_wins.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/duplicate_key_impls/last_value_wins.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/enum_map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/flatten_maybe.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/formats.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/key_value_map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/rust.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/duplicates.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/ser/skip_error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/serde_conv.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/utils/duration.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_prefix.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/with_suffix.rs: diff --git a/contracts/target_local/debug/deps/serde_with_macros-3833d27d78e86ad3.d b/contracts/target_local/debug/deps/serde_with_macros-3833d27d78e86ad3.d new file mode 100644 index 00000000..9279b456 --- /dev/null +++ b/contracts/target_local/debug/deps/serde_with_macros-3833d27d78e86ad3.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/serde_with_macros-3833d27d78e86ad3.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/apply.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/lazy_bool.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/utils.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_with_macros-3833d27d78e86ad3.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/apply.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/lazy_bool.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/utils.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/apply.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/lazy_bool.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/utils.rs: diff --git a/contracts/target_local/debug/deps/sha2-7a6e9bfc88867a04.d b/contracts/target_local/debug/deps/sha2-7a6e9bfc88867a04.d new file mode 100644 index 00000000..4738288c --- /dev/null +++ b/contracts/target_local/debug/deps/sha2-7a6e9bfc88867a04.d @@ -0,0 +1,13 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/sha2-7a6e9bfc88867a04.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/core_api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/consts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256/soft.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512/soft.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsha2-7a6e9bfc88867a04.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/core_api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/consts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256/soft.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512/soft.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsha2-7a6e9bfc88867a04.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/core_api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/consts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256/soft.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512/soft.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/core_api.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/consts.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256/soft.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512/soft.rs: diff --git a/contracts/target_local/debug/deps/sha2-ec6d857aa7d15db1.d b/contracts/target_local/debug/deps/sha2-ec6d857aa7d15db1.d new file mode 100644 index 00000000..9ee83a20 --- /dev/null +++ b/contracts/target_local/debug/deps/sha2-ec6d857aa7d15db1.d @@ -0,0 +1,11 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/sha2-ec6d857aa7d15db1.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/core_api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/consts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256/soft.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512/soft.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsha2-ec6d857aa7d15db1.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/core_api.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/consts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256/soft.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512/soft.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/core_api.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/consts.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha256/soft.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/sha512/soft.rs: diff --git a/contracts/target_local/debug/deps/sha3-b2347a444a266971.d b/contracts/target_local/debug/deps/sha3-b2347a444a266971.d new file mode 100644 index 00000000..d86457da --- /dev/null +++ b/contracts/target_local/debug/deps/sha3-b2347a444a266971.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/sha3-b2347a444a266971.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/state.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsha3-b2347a444a266971.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/state.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/state.rs: diff --git a/contracts/target_local/debug/deps/signature-4d9598ecaa6be9c8.d b/contracts/target_local/debug/deps/signature-4d9598ecaa6be9c8.d new file mode 100644 index 00000000..30e9c288 --- /dev/null +++ b/contracts/target_local/debug/deps/signature-4d9598ecaa6be9c8.d @@ -0,0 +1,13 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/signature-4d9598ecaa6be9c8.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/hazmat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/encoding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/keypair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/signer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/verifier.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/prehash_signature.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/../README.md + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsignature-4d9598ecaa6be9c8.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/hazmat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/encoding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/keypair.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/signer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/verifier.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/prehash_signature.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/../README.md + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/hazmat.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/encoding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/keypair.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/signer.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/verifier.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/prehash_signature.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/../README.md: diff --git a/contracts/target_local/debug/deps/smallvec-c7b797d1117a9f8f.d b/contracts/target_local/debug/deps/smallvec-c7b797d1117a9f8f.d new file mode 100644 index 00000000..7aeb5159 --- /dev/null +++ b/contracts/target_local/debug/deps/smallvec-c7b797d1117a9f8f.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/smallvec-c7b797d1117a9f8f.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsmallvec-c7b797d1117a9f8f.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs: diff --git a/contracts/target_local/debug/deps/soroban_builtin_sdk_macros-2f27ae39f1386cc2.d b/contracts/target_local/debug/deps/soroban_builtin_sdk_macros-2f27ae39f1386cc2.d new file mode 100644 index 00000000..523678ad --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_builtin_sdk_macros-2f27ae39f1386cc2.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_builtin_sdk_macros-2f27ae39f1386cc2.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/src/derive_fn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/src/derive_type.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_builtin_sdk_macros-2f27ae39f1386cc2.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/src/derive_fn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/src/derive_type.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/src/derive_fn.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/src/derive_type.rs: diff --git a/contracts/target_local/debug/deps/soroban_env_common-1b730141051fc1fa.d b/contracts/target_local/debug/deps/soroban_env_common-1b730141051fc1fa.d new file mode 100644 index 00000000..9c85f41b --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_env_common-1b730141051fc1fa.d @@ -0,0 +1,27 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_env_common-1b730141051fc1fa.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/wrapper_macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/compare.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/hash.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/object.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/option.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/result.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/storage_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/val.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/vmcaller_env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/num.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_env_common-1b730141051fc1fa.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/wrapper_macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/compare.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/hash.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/object.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/option.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/result.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/storage_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/val.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/vmcaller_env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/num.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/wrapper_macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/arbitrary.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/bytes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/compare.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/convert.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/env.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/hash.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/object.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/option.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/result.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/storage_type.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/symbol.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/tuple.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/val.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/vmcaller_env.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/meta.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/num.rs: + +# env-dep:CARGO_PKG_VERSION=21.2.1 +# env-dep:GIT_REVISION=e44506e251b5bf80c0dd0674a816af9e24a871a7 diff --git a/contracts/target_local/debug/deps/soroban_env_common-a93313b380fc3b58.d b/contracts/target_local/debug/deps/soroban_env_common-a93313b380fc3b58.d new file mode 100644 index 00000000..b556ce3a --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_env_common-a93313b380fc3b58.d @@ -0,0 +1,27 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_env_common-a93313b380fc3b58.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/wrapper_macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/compare.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/object.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/option.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/result.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/storage_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/val.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/vmcaller_env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/num.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_env_common-a93313b380fc3b58.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/wrapper_macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/compare.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/object.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/option.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/result.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/storage_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/val.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/vmcaller_env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/num.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_env_common-a93313b380fc3b58.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/wrapper_macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/compare.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/object.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/option.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/result.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/storage_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/val.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/vmcaller_env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/num.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/wrapper_macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/bytes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/compare.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/convert.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/env.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/object.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/option.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/result.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/storage_type.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/symbol.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/tuple.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/val.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/vmcaller_env.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/meta.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/num.rs: + +# env-dep:CARGO_PKG_VERSION=21.2.1 +# env-dep:GIT_REVISION=e44506e251b5bf80c0dd0674a816af9e24a871a7 diff --git a/contracts/target_local/debug/deps/soroban_env_host-559f5d673862100e.d b/contracts/target_local/debug/deps/soroban_env_host-559f5d673862100e.d new file mode 100644 index 00000000..f90b5d6f --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_env_host-559f5d673862100e.d @@ -0,0 +1,69 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_env_host-559f5d673862100e.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/dimension.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/model.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/wasmi_helper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/diagnostic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/internal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/system_events.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/comparison.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/conversion.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/crypto.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/data_helper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/declared_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/frame.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/ledger_info_helper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/lifecycle.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/mem_helper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_clone.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_hash.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_vector.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_xdr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/num.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/prng.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/trace.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/trace/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/validity.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host_object.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/base_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/common_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/contract_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/invoker_contract_auth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/admin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/allowance.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/asset_info.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/balance.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/contract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/event.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/metadata.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/public_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/storage_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/storage_utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/account_contract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/testutils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/auth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/dispatch.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/fuel_refillable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/func_info.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/module_cache.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/parsed_module.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/storage.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/ledger_info.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/e2e_invoke.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/fees.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/testutils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/e2e_testutils.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_env_host-559f5d673862100e.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/dimension.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/model.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/wasmi_helper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/diagnostic.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/internal.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/system_events.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/comparison.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/conversion.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/crypto.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/data_helper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/declared_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/frame.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/ledger_info_helper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/lifecycle.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/mem_helper.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_clone.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_hash.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_vector.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_xdr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/num.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/prng.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/trace.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/trace/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/validity.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host_object.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/base_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/common_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/contract_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/invoker_contract_auth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/admin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/allowance.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/asset_info.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/balance.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/contract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/event.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/metadata.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/public_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/storage_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/storage_utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/account_contract.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/testutils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/auth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/dispatch.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/fuel_refillable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/func_info.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/module_cache.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/parsed_module.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/storage.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/ledger_info.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/e2e_invoke.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/fees.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/testutils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/e2e_testutils.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/dimension.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/limits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/model.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/budget/wasmi_helper.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/diagnostic.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/internal.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/events/system_events.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/comparison.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/conversion.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/crypto.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/data_helper.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/declared_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/frame.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/ledger_info_helper.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/lifecycle.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/mem_helper.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_clone.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_hash.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_vector.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/metered_xdr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/num.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/prng.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/trace.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/trace/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host/validity.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/host_object.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/base_types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/common_types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/contract_error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/invoker_contract_auth.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/admin.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/allowance.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/asset_info.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/balance.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/contract.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/event.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/metadata.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/public_types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/stellar_asset_contract/storage_types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/storage_utils.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/account_contract.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/builtin_contracts/testutils.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/auth.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/dispatch.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/fuel_refillable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/func_info.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/module_cache.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/vm/parsed_module.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/storage.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/ledger_info.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/e2e_invoke.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/fees.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/testutils.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/e2e_testutils.rs: diff --git a/contracts/target_local/debug/deps/soroban_env_macros-293d4a71ad598ed0.d b/contracts/target_local/debug/deps/soroban_env_macros-293d4a71ad598ed0.d new file mode 100644 index 00000000..1eef8557 --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_env_macros-293d4a71ad598ed0.d @@ -0,0 +1,10 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_env_macros-293d4a71ad598ed0.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/call_macro_with_all_host_functions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/path.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/synth_dispatch_host_fn_tests.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/synth_linear_memory_tests.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/synth_wasm_expr_type.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_env_macros-293d4a71ad598ed0.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/call_macro_with_all_host_functions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/path.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/synth_dispatch_host_fn_tests.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/synth_linear_memory_tests.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/synth_wasm_expr_type.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/call_macro_with_all_host_functions.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/path.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/synth_dispatch_host_fn_tests.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/synth_linear_memory_tests.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/synth_wasm_expr_type.rs: diff --git a/contracts/target_local/debug/deps/soroban_ledger_snapshot-0aa677190ce17d8e.d b/contracts/target_local/debug/deps/soroban_ledger_snapshot-0aa677190ce17d8e.d new file mode 100644 index 00000000..297e4d49 --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_ledger_snapshot-0aa677190ce17d8e.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_ledger_snapshot-0aa677190ce17d8e.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-ledger-snapshot-21.7.7/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_ledger_snapshot-0aa677190ce17d8e.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-ledger-snapshot-21.7.7/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-ledger-snapshot-21.7.7/src/lib.rs: diff --git a/contracts/target_local/debug/deps/soroban_sdk-7058e6d6e4c96b04.d b/contracts/target_local/debug/deps/soroban_sdk-7058e6d6e4c96b04.d new file mode 100644 index 00000000..2bfc5633 --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_sdk-7058e6d6e4c96b04.d @@ -0,0 +1,35 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_sdk-7058e6d6e4c96b04.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/unwrap.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/address.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/try_from_val_for_contract_fn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/auth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/crypto.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/deploy.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/events.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/ledger.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/logs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/prng.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/storage.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/token.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/vec.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/num.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/xdr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/sign.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/mock_auth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/storage.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/arbitrary_extra.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/tests.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_sdk-7058e6d6e4c96b04.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/unwrap.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/env.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/address.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/try_from_val_for_contract_fn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/auth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/crypto.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/deploy.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/events.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/iter.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/ledger.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/logs.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/prng.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/storage.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/token.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/vec.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/num.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/string.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/xdr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/sign.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/mock_auth.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/storage.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/arbitrary_extra.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/tests.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/unwrap.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/env.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/address.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/symbol.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/try_from_val_for_contract_fn.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/auth.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/bytes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/crypto.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/deploy.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/events.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/iter.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/ledger.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/logs.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/prng.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/storage.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/token.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/vec.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/num.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/string.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/tuple.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/xdr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/arbitrary.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/sign.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/mock_auth.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils/storage.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/arbitrary_extra.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/tests.rs: diff --git a/contracts/target_local/debug/deps/soroban_sdk_macros-5f63f2cdf28bbbff.d b/contracts/target_local/debug/deps/soroban_sdk_macros-5f63f2cdf28bbbff.d new file mode 100644 index 00000000..d2c99682 --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_sdk_macros-5f63f2cdf28bbbff.d @@ -0,0 +1,23 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_sdk_macros-5f63f2cdf28bbbff.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_client.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_enum.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_enum_int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_error_enum_int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_fn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_spec_fn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_struct.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_struct_tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/doc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/map_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/path.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/syn_ext.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_sdk_macros-5f63f2cdf28bbbff.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/arbitrary.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_client.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_enum.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_enum_int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_error_enum_int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_fn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_spec_fn.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_struct.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_struct_tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/doc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/map_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/path.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/symbol.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/syn_ext.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/arbitrary.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_client.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_enum.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_enum_int.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_error_enum_int.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_fn.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_spec_fn.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_struct.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/derive_struct_tuple.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/doc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/map_type.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/path.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/symbol.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/syn_ext.rs: + +# env-dep:CARGO_PKG_VERSION=21.7.7 +# env-dep:GIT_REVISION=5da789c50b18a4c2be53394138212fed56f0dfc4 +# env-dep:RUSTC_VERSION=1.93.0 diff --git a/contracts/target_local/debug/deps/soroban_spec-1607cd956b7b3264.d b/contracts/target_local/debug/deps/soroban_spec-1607cd956b7b3264.d new file mode 100644 index 00000000..69dbf779 --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_spec-1607cd956b7b3264.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_spec-1607cd956b7b3264.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-21.7.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-21.7.7/src/read.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_spec-1607cd956b7b3264.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-21.7.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-21.7.7/src/read.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_spec-1607cd956b7b3264.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-21.7.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-21.7.7/src/read.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-21.7.7/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-21.7.7/src/read.rs: diff --git a/contracts/target_local/debug/deps/soroban_spec_rust-8aea80f31be63691.d b/contracts/target_local/debug/deps/soroban_spec_rust-8aea80f31be63691.d new file mode 100644 index 00000000..3f696b53 --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_spec_rust-8aea80f31be63691.d @@ -0,0 +1,9 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_spec_rust-8aea80f31be63691.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/trait.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/types.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_spec_rust-8aea80f31be63691.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/trait.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/types.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_spec_rust-8aea80f31be63691.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/trait.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/types.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/trait.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/types.rs: diff --git a/contracts/target_local/debug/deps/soroban_wasmi-b49f916157d4faf9.d b/contracts/target_local/debug/deps/soroban_wasmi-b49f916157d4faf9.d new file mode 100644 index 00000000..d83d6548 --- /dev/null +++ b/contracts/target_local/debug/deps/soroban_wasmi-b49f916157d4faf9.d @@ -0,0 +1,73 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/soroban_wasmi-b49f916157d4faf9.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/foreach_tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/bytecode/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/bytecode/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/cache.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/code_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/config.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/const_pool.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/executor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_args.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/control_frame.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/control_stack.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/inst_builder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/labels.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/locals_registry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/translator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/value_stack.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/resumable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/frames.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/values/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/values/sp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/externref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/caller.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/func_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/funcref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/into_func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/typed_func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/global.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/instance/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/instance/builder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/instance/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/linker.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/buffer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/builder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/compile/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/compile/block_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/element.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/export.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/global.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/import.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/init_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/instantiate/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/instantiate/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/instantiate/pre.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/read.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/reftype.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/store.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/table/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/table/element.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/table/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/value.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_wasmi-b49f916157d4faf9.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/foreach_tuple.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/bytecode/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/bytecode/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/cache.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/code_map.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/config.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/const_pool.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/executor.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_args.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/control_frame.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/control_stack.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/inst_builder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/labels.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/locals_registry.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/translator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/value_stack.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/resumable.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/frames.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/values/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/values/sp.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/externref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/caller.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/func_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/funcref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/into_func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/typed_func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/global.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/instance/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/instance/builder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/instance/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/linker.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/buffer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/builder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/compile/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/compile/block_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/element.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/export.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/global.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/import.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/init_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/instantiate/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/instantiate/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/instantiate/pre.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/read.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/utils.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/reftype.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/store.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/table/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/table/element.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/table/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/value.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/foreach_tuple.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/bytecode/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/bytecode/utils.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/cache.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/code_map.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/config.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/const_pool.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/executor.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_args.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/control_frame.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/control_stack.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/inst_builder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/labels.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/locals_registry.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/translator.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_builder/value_stack.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/func_types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/resumable.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/frames.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/values/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/stack/values/sp.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/engine/traits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/externref.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/caller.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/func_type.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/funcref.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/into_func.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/func/typed_func.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/global.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/instance/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/instance/builder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/instance/exports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/limits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/linker.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/buffer.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/data.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/memory/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/builder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/compile/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/compile/block_type.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/data.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/element.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/export.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/global.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/import.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/init_expr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/instantiate/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/instantiate/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/instantiate/pre.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/parser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/read.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/module/utils.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/reftype.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/store.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/table/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/table/element.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/table/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/value.rs: diff --git a/contracts/target_local/debug/deps/spin-f100a4a3c646ba7f.d b/contracts/target_local/debug/deps/spin-f100a4a3c646ba7f.d new file mode 100644 index 00000000..8cbcc5c8 --- /dev/null +++ b/contracts/target_local/debug/deps/spin-f100a4a3c646ba7f.d @@ -0,0 +1,9 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/spin-f100a4a3c646ba7f.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/mutex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/mutex/spin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/relax.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/rwlock.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libspin-f100a4a3c646ba7f.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/mutex.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/mutex/spin.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/relax.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/rwlock.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/mutex.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/mutex/spin.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/relax.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/rwlock.rs: diff --git a/contracts/target_local/debug/deps/static_assertions-1ea5fd42fe2ed06a.d b/contracts/target_local/debug/deps/static_assertions-1ea5fd42fe2ed06a.d new file mode 100644 index 00000000..d69e2383 --- /dev/null +++ b/contracts/target_local/debug/deps/static_assertions-1ea5fd42fe2ed06a.d @@ -0,0 +1,14 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/static_assertions-1ea5fd42fe2ed06a.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_cfg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_align.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_fields.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_obj_safe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_trait.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/const_assert.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstatic_assertions-1ea5fd42fe2ed06a.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_cfg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_align.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_fields.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_obj_safe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_trait.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/const_assert.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_cfg.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_align.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_fields.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_obj_safe.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_trait.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_type.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/const_assert.rs: diff --git a/contracts/target_local/debug/deps/static_assertions-a5d64fdf0a1b1727.d b/contracts/target_local/debug/deps/static_assertions-a5d64fdf0a1b1727.d new file mode 100644 index 00000000..4f4f8698 --- /dev/null +++ b/contracts/target_local/debug/deps/static_assertions-a5d64fdf0a1b1727.d @@ -0,0 +1,16 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/static_assertions-a5d64fdf0a1b1727.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_cfg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_align.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_fields.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_obj_safe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_trait.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/const_assert.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstatic_assertions-a5d64fdf0a1b1727.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_cfg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_align.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_fields.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_obj_safe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_trait.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/const_assert.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstatic_assertions-a5d64fdf0a1b1727.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_cfg.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_align.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_fields.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_impl.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_obj_safe.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_trait.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_type.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/const_assert.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_cfg.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_align.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_eq_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_fields.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_impl.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_obj_safe.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_trait.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/assert_type.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/const_assert.rs: diff --git a/contracts/target_local/debug/deps/stellar_strkey-50b5901553cb1f50.d b/contracts/target_local/debug/deps/stellar_strkey-50b5901553cb1f50.d new file mode 100644 index 00000000..d7d7e178 --- /dev/null +++ b/contracts/target_local/debug/deps/stellar_strkey-50b5901553cb1f50.d @@ -0,0 +1,17 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/stellar_strkey-50b5901553cb1f50.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/crc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/ed25519.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/strkey.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/typ.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/version.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_strkey-50b5901553cb1f50.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/crc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/ed25519.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/strkey.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/typ.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/version.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_strkey-50b5901553cb1f50.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/crc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/ed25519.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/strkey.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/typ.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/version.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/convert.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/crc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/ed25519.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/strkey.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/typ.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/version.rs: + +# env-dep:CARGO_PKG_VERSION=0.0.8 +# env-dep:GIT_REVISION=79ede59c97ed80090b9af63151c9f9a15260492d diff --git a/contracts/target_local/debug/deps/stellar_strkey-ecda2154df9d3dd4.d b/contracts/target_local/debug/deps/stellar_strkey-ecda2154df9d3dd4.d new file mode 100644 index 00000000..33c3006c --- /dev/null +++ b/contracts/target_local/debug/deps/stellar_strkey-ecda2154df9d3dd4.d @@ -0,0 +1,15 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/stellar_strkey-ecda2154df9d3dd4.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/crc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/ed25519.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/strkey.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/typ.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/version.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_strkey-ecda2154df9d3dd4.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/convert.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/crc.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/ed25519.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/strkey.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/typ.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/version.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/convert.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/crc.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/ed25519.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/strkey.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/typ.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/version.rs: + +# env-dep:CARGO_PKG_VERSION=0.0.8 +# env-dep:GIT_REVISION=79ede59c97ed80090b9af63151c9f9a15260492d diff --git a/contracts/target_local/debug/deps/stellar_xdr-1cc2d8c60cec0143.d b/contracts/target_local/debug/deps/stellar_xdr-1cc2d8c60cec0143.d new file mode 100644 index 00000000..20097499 --- /dev/null +++ b/contracts/target_local/debug/deps/stellar_xdr-1cc2d8c60cec0143.d @@ -0,0 +1,20 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/stellar_xdr-1cc2d8c60cec0143.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/generated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/jsonschema.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/str.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_conversions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/transaction_conversions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_validations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scmap.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/curr-version /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/next-version + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_xdr-1cc2d8c60cec0143.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/generated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/jsonschema.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/str.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_conversions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/transaction_conversions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_validations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scmap.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/curr-version /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/next-version + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_xdr-1cc2d8c60cec0143.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/generated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/jsonschema.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/str.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_conversions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/transaction_conversions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_validations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scmap.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/curr-version /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/next-version + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/generated.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/jsonschema.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/str.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_conversions.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/transaction_conversions.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_validations.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scmap.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/curr-version: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/next-version: + +# env-dep:CARGO_PKG_VERSION=21.2.0 +# env-dep:GIT_REVISION=9bea881f2057e412fdbb98875841626bf77b4b88 diff --git a/contracts/target_local/debug/deps/stellar_xdr-879f4c61cff22bef.d b/contracts/target_local/debug/deps/stellar_xdr-879f4c61cff22bef.d new file mode 100644 index 00000000..9f3ab36c --- /dev/null +++ b/contracts/target_local/debug/deps/stellar_xdr-879f4c61cff22bef.d @@ -0,0 +1,18 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/stellar_xdr-879f4c61cff22bef.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/generated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/jsonschema.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/str.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_conversions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/transaction_conversions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_validations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scmap.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/curr-version /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/next-version + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_xdr-879f4c61cff22bef.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/generated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/jsonschema.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/str.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_conversions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/transaction_conversions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_validations.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scmap.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/curr-version /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/next-version + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/generated.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/jsonschema.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/str.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_conversions.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/transaction_conversions.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scval_validations.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/curr/scmap.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/curr-version: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/../xdr/next-version: + +# env-dep:CARGO_PKG_VERSION=21.2.0 +# env-dep:GIT_REVISION=9bea881f2057e412fdbb98875841626bf77b4b88 diff --git a/contracts/target_local/debug/deps/strsim-fe81d1d5e2f1a155.d b/contracts/target_local/debug/deps/strsim-fe81d1d5e2f1a155.d new file mode 100644 index 00000000..2c3d9e03 --- /dev/null +++ b/contracts/target_local/debug/deps/strsim-fe81d1d5e2f1a155.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/strsim-fe81d1d5e2f1a155.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/strsim-0.11.1/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstrsim-fe81d1d5e2f1a155.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/strsim-0.11.1/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstrsim-fe81d1d5e2f1a155.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/strsim-0.11.1/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/strsim-0.11.1/src/lib.rs: diff --git a/contracts/target_local/debug/deps/subtle-db0f2c0122691469.d b/contracts/target_local/debug/deps/subtle-db0f2c0122691469.d new file mode 100644 index 00000000..76da7da4 --- /dev/null +++ b/contracts/target_local/debug/deps/subtle-db0f2c0122691469.d @@ -0,0 +1,5 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/subtle-db0f2c0122691469.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsubtle-db0f2c0122691469.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs: diff --git a/contracts/target_local/debug/deps/syn-7eae15a90d73590d.d b/contracts/target_local/debug/deps/syn-7eae15a90d73590d.d new file mode 100644 index 00000000..f963117d --- /dev/null +++ b/contracts/target_local/debug/deps/syn-7eae15a90d73590d.d @@ -0,0 +1,57 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/syn-7eae15a90d73590d.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/group.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/token.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/bigint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/buffer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/classify.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_keyword.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_punctuation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/drops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/fixup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ident.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/item.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lifetime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lookahead.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/mac.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/op.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/discouraged.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_macro_input.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_quote.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/pat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/path.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/precedence.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/print.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/punctuated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/restriction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/sealed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/span.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/spanned.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/stmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/thread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/tt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ty.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/verbatim.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/whitespace.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/export.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/clone.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/debug.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/eq.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/hash.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsyn-7eae15a90d73590d.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/group.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/token.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/bigint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/buffer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/classify.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_keyword.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_punctuation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/drops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/fixup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ident.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/item.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lifetime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lookahead.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/mac.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/op.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/discouraged.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_macro_input.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_quote.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/pat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/path.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/precedence.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/print.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/punctuated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/restriction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/sealed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/span.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/spanned.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/stmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/thread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/tt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ty.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/verbatim.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/whitespace.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/export.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/clone.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/debug.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/eq.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/hash.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsyn-7eae15a90d73590d.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/group.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/token.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/bigint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/buffer.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/classify.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_keyword.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_punctuation.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/derive.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/drops.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ext.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/file.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/fixup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ident.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/item.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lifetime.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lookahead.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/mac.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/meta.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/op.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/discouraged.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_macro_input.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_quote.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/pat.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/path.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/precedence.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/print.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/punctuated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/restriction.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/sealed.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/span.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/spanned.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/stmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/thread.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/tt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ty.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/verbatim.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/whitespace.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/export.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/clone.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/debug.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/eq.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/hash.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/group.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/token.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/attr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/bigint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/buffer.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/classify.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_keyword.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/custom_punctuation.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/data.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/derive.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/drops.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/expr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ext.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/file.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/fixup.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/generics.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ident.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/item.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lifetime.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lit.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lookahead.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/mac.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/meta.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/op.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/discouraged.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_macro_input.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/parse_quote.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/pat.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/path.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/precedence.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/print.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/punctuated.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/restriction.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/sealed.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/span.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/spanned.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/stmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/thread.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/tt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/ty.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/verbatim.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/whitespace.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/export.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/clone.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/debug.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/eq.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/gen/hash.rs: diff --git a/contracts/target_local/debug/deps/thiserror-d8be4eb1c411e081.d b/contracts/target_local/debug/deps/thiserror-d8be4eb1c411e081.d new file mode 100644 index 00000000..de965a93 --- /dev/null +++ b/contracts/target_local/debug/deps/thiserror-d8be4eb1c411e081.d @@ -0,0 +1,9 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/thiserror-d8be4eb1c411e081.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/aserror.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/display.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libthiserror-d8be4eb1c411e081.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/aserror.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/display.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libthiserror-d8be4eb1c411e081.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/aserror.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/display.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/aserror.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/display.rs: diff --git a/contracts/target_local/debug/deps/thiserror-d8d528275431acef.d b/contracts/target_local/debug/deps/thiserror-d8d528275431acef.d new file mode 100644 index 00000000..0b2b477c --- /dev/null +++ b/contracts/target_local/debug/deps/thiserror-d8d528275431acef.d @@ -0,0 +1,7 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/thiserror-d8d528275431acef.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/aserror.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/display.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libthiserror-d8d528275431acef.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/aserror.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/display.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/aserror.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/display.rs: diff --git a/contracts/target_local/debug/deps/thiserror_impl-a9ac313fd64f9e3f.d b/contracts/target_local/debug/deps/thiserror_impl-a9ac313fd64f9e3f.d new file mode 100644 index 00000000..31694649 --- /dev/null +++ b/contracts/target_local/debug/deps/thiserror_impl-a9ac313fd64f9e3f.d @@ -0,0 +1,14 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/thiserror_impl-a9ac313fd64f9e3f.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/ast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/expand.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/prop.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/scan_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/span.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/valid.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libthiserror_impl-a9ac313fd64f9e3f.dylib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/ast.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/attr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/expand.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/fmt.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/generics.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/prop.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/scan_expr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/span.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/valid.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/ast.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/attr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/expand.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/fmt.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/generics.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/prop.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/scan_expr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/span.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/valid.rs: diff --git a/contracts/target_local/debug/deps/typenum-1e66d7cf02bc5a08.d b/contracts/target_local/debug/deps/typenum-1e66d7cf02bc5a08.d new file mode 100644 index 00000000..4e6decac --- /dev/null +++ b/contracts/target_local/debug/deps/typenum-1e66d7cf02bc5a08.d @@ -0,0 +1,16 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/typenum-1e66d7cf02bc5a08.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/bit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/consts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/op.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/marker_traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/operator_aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/type_operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/array.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libtypenum-1e66d7cf02bc5a08.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/bit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/consts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/op.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/marker_traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/operator_aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/type_operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/array.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/bit.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/consts.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/op.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/int.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/marker_traits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/operator_aliases.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/private.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/type_operators.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/uint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/array.rs: diff --git a/contracts/target_local/debug/deps/typenum-71eedd4a322d1f0a.d b/contracts/target_local/debug/deps/typenum-71eedd4a322d1f0a.d new file mode 100644 index 00000000..fb9245ff --- /dev/null +++ b/contracts/target_local/debug/deps/typenum-71eedd4a322d1f0a.d @@ -0,0 +1,18 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/typenum-71eedd4a322d1f0a.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/bit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/consts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/op.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/marker_traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/operator_aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/type_operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/array.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libtypenum-71eedd4a322d1f0a.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/bit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/consts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/op.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/marker_traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/operator_aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/type_operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/array.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libtypenum-71eedd4a322d1f0a.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/bit.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/consts.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/op.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/int.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/marker_traits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/operator_aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/private.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/type_operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/uint.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/array.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/bit.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/consts.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/gen/op.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/int.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/marker_traits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/operator_aliases.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/private.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/type_operators.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/uint.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/array.rs: diff --git a/contracts/target_local/debug/deps/unicode_ident-d40ac0487c7d67b5.d b/contracts/target_local/debug/deps/unicode_ident-d40ac0487c7d67b5.d new file mode 100644 index 00000000..9e4a102f --- /dev/null +++ b/contracts/target_local/debug/deps/unicode_ident-d40ac0487c7d67b5.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/unicode_ident-d40ac0487c7d67b5.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/src/tables.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libunicode_ident-d40ac0487c7d67b5.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/src/tables.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libunicode_ident-d40ac0487c7d67b5.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/src/tables.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/src/tables.rs: diff --git a/contracts/target_local/debug/deps/version_check-a38ac275d10c0882.d b/contracts/target_local/debug/deps/version_check-a38ac275d10c0882.d new file mode 100644 index 00000000..462f1716 --- /dev/null +++ b/contracts/target_local/debug/deps/version_check-a38ac275d10c0882.d @@ -0,0 +1,10 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/version_check-a38ac275d10c0882.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/version.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/channel.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/date.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libversion_check-a38ac275d10c0882.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/version.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/channel.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/date.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libversion_check-a38ac275d10c0882.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/version.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/channel.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/date.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/version.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/channel.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/date.rs: diff --git a/contracts/target_local/debug/deps/wasmi_arena-df54b0c7f2160baa.d b/contracts/target_local/debug/deps/wasmi_arena-df54b0c7f2160baa.d new file mode 100644 index 00000000..1e4d89c0 --- /dev/null +++ b/contracts/target_local/debug/deps/wasmi_arena-df54b0c7f2160baa.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/wasmi_arena-df54b0c7f2160baa.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/component_vec.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/dedup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/guarded.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmi_arena-df54b0c7f2160baa.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/component_vec.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/dedup.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/guarded.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/component_vec.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/dedup.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/guarded.rs: diff --git a/contracts/target_local/debug/deps/wasmi_core-4a133da5611539ae.d b/contracts/target_local/debug/deps/wasmi_core-4a133da5611539ae.d new file mode 100644 index 00000000..1f66b31c --- /dev/null +++ b/contracts/target_local/debug/deps/wasmi_core-4a133da5611539ae.d @@ -0,0 +1,11 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/wasmi_core-4a133da5611539ae.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/host_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/nan_preserving_float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/trap.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/units.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/untyped.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/value.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmi_core-4a133da5611539ae.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/host_error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/nan_preserving_float.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/trap.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/units.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/untyped.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/value.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/host_error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/nan_preserving_float.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/trap.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/units.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/untyped.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/value.rs: diff --git a/contracts/target_local/debug/deps/wasmparser-76a07b49b3d25912.d b/contracts/target_local/debug/deps/wasmparser-76a07b49b3d25912.d new file mode 100644 index 00000000..369dab79 --- /dev/null +++ b/contracts/target_local/debug/deps/wasmparser-76a07b49b3d25912.d @@ -0,0 +1,48 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/wasmparser-76a07b49b3d25912.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/define_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/binary_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/canonicals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/instances.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/start.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/code.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/coredumps.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/custom.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/dylink0.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/elements.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/functions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/globals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/init.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/memories.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/producers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tags.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/resources.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/types.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmparser-76a07b49b3d25912.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/define_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/binary_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/canonicals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/instances.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/start.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/code.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/coredumps.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/custom.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/dylink0.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/elements.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/functions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/globals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/init.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/memories.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/producers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tags.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/resources.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/types.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmparser-76a07b49b3d25912.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/define_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/binary_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/canonicals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/instances.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/start.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/code.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/coredumps.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/custom.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/dylink0.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/elements.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/functions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/globals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/init.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/memories.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/producers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tags.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/resources.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/types.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/define_types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/binary_reader.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/limits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/parser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/aliases.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/canonicals.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/exports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/imports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/instances.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/names.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/start.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/code.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/coredumps.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/custom.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/data.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/dylink0.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/elements.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/exports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/functions.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/globals.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/imports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/init.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/memories.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/names.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/operators.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/producers.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tables.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tags.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/resources.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/component.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/core.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/func.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/names.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/operators.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/types.rs: diff --git a/contracts/target_local/debug/deps/wasmparser-cca4f01ab10a9548.d b/contracts/target_local/debug/deps/wasmparser-cca4f01ab10a9548.d new file mode 100644 index 00000000..3addf9f3 --- /dev/null +++ b/contracts/target_local/debug/deps/wasmparser-cca4f01ab10a9548.d @@ -0,0 +1,46 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/wasmparser-cca4f01ab10a9548.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/define_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/binary_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/canonicals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/instances.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/start.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/code.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/coredumps.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/custom.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/dylink0.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/elements.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/functions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/globals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/init.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/memories.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/producers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tags.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/resources.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/types.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmparser-cca4f01ab10a9548.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/define_types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/binary_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/canonicals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/instances.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/start.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/code.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/coredumps.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/custom.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/dylink0.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/elements.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/functions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/globals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/init.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/memories.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/producers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tags.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/resources.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/types.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/define_types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/binary_reader.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/limits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/parser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/aliases.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/canonicals.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/exports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/imports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/instances.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/names.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/start.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/component/types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/code.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/coredumps.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/custom.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/data.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/dylink0.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/elements.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/exports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/functions.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/globals.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/imports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/init.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/memories.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/names.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/operators.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/producers.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tables.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/tags.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/readers/core/types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/resources.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/component.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/core.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/func.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/names.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/operators.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/validator/types.rs: diff --git a/contracts/target_local/debug/deps/wasmparser_nostd-969ec15799f82224.d b/contracts/target_local/debug/deps/wasmparser_nostd-969ec15799f82224.d new file mode 100644 index 00000000..df5a6b12 --- /dev/null +++ b/contracts/target_local/debug/deps/wasmparser_nostd-969ec15799f82224.d @@ -0,0 +1,42 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/wasmparser_nostd-969ec15799f82224.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/binary_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/canonicals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/instances.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/start.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/code.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/custom.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/elements.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/functions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/globals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/init.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/memories.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/producers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/tags.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/resources.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/types.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmparser_nostd-969ec15799f82224.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/binary_reader.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/limits.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/parser.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/aliases.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/canonicals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/instances.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/start.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/code.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/custom.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/data.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/elements.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/exports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/functions.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/globals.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/imports.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/init.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/memories.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/names.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/producers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/tables.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/tags.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/types.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/resources.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/component.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/core.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/func.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/operators.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/types.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/binary_reader.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/limits.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/parser.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/aliases.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/canonicals.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/exports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/imports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/instances.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/names.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/start.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/component/types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/code.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/custom.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/data.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/elements.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/exports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/functions.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/globals.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/imports.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/init.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/memories.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/names.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/operators.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/producers.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/tables.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/tags.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/readers/core/types.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/resources.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/component.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/core.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/func.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/operators.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/validator/types.rs: diff --git a/contracts/target_local/debug/deps/zerocopy-dc3e5ddae9a22109.d b/contracts/target_local/debug/deps/zerocopy-dc3e5ddae9a22109.d new file mode 100644 index 00000000..15927330 --- /dev/null +++ b/contracts/target_local/debug/deps/zerocopy-dc3e5ddae9a22109.d @@ -0,0 +1,208 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/zerocopy-dc3e5ddae9a22109.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/util/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/util/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/util/macro_util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/byte_slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/byteorder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/deprecated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/layout.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/inner.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/invariant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/ptr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/transmute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/ref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/split_at.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/wrappers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/formats/coco_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/formats/coco_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/formats/coco_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_bytes.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_bytes.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_prefix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_prefix.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_prefix.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_suffix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_suffix.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_suffix.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_bytes.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_bytes.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_prefix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_prefix.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_prefix.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_suffix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_suffix.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_suffix.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_dynamic_size.x86-64.mca + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libzerocopy-dc3e5ddae9a22109.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/util/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/util/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/util/macro_util.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/byte_slice.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/byteorder.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/deprecated.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/error.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/impls.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/layout.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/macros.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/mod.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/inner.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/invariant.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/ptr.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/transmute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/ref.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/split_at.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/wrappers.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/formats/coco_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/formats/coco_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/formats/coco_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_bytes.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_bytes.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_prefix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_prefix.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_prefix.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_suffix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_suffix.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_suffix.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_padding.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_padding.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_padding.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_bytes.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_bytes.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_bytes.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_prefix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_prefix.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_prefix.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_suffix.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_suffix.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_suffix.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_dynamic_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_static_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_static_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_static_size.x86-64.mca /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_dynamic_size.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_dynamic_size.x86-64 /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_dynamic_size.x86-64.mca + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/util/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/util/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/util/macro_util.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/byte_slice.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/byteorder.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/deprecated.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/error.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/impls.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/layout.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/macros.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/mod.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/inner.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/invariant.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/ptr.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/pointer/transmute.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/ref.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/split_at.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/wrappers.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/formats/coco_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/formats/coco_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/transmute_ref_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_transmute_ref_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/formats/coco_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_unchecked_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_at_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_immutable_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_runtime_check_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/split_via_unchecked_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_bytes_with_elems_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_prefix_with_elems_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_ref_from_suffix_with_elems_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_bytes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_bytes.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_bytes.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_prefix.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_prefix.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_prefix.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_suffix.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_suffix.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/try_read_from_suffix.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_bytes_with_elems_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_prefix_with_elems_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_padding.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_padding.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/ref_from_suffix_with_elems_dynamic_padding.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_bytes.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_bytes.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_bytes.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_prefix.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_prefix.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_prefix.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_suffix.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_suffix.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/read_from_suffix.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/as_bytes_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_prefix_dynamic_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_static_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_static_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_static_size.x86-64.mca: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_dynamic_size.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_dynamic_size.x86-64: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/../benches/write_to_suffix_dynamic_size.x86-64.mca: + +# env-dep:CARGO_PKG_VERSION=0.8.47 diff --git a/contracts/target_local/debug/deps/zeroize-8876640b9211d71d.d b/contracts/target_local/debug/deps/zeroize-8876640b9211d71d.d new file mode 100644 index 00000000..e7b3051a --- /dev/null +++ b/contracts/target_local/debug/deps/zeroize-8876640b9211d71d.d @@ -0,0 +1,6 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/zeroize-8876640b9211d71d.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.8.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.8.2/src/aarch64.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libzeroize-8876640b9211d71d.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.8.2/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.8.2/src/aarch64.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.8.2/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.8.2/src/aarch64.rs: diff --git a/contracts/target_local/debug/deps/zmij-a46218109ef821c7.d b/contracts/target_local/debug/deps/zmij-a46218109ef821c7.d new file mode 100644 index 00000000..40f0973f --- /dev/null +++ b/contracts/target_local/debug/deps/zmij-a46218109ef821c7.d @@ -0,0 +1,8 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/zmij-a46218109ef821c7.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/traits.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libzmij-a46218109ef821c7.rlib: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/traits.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libzmij-a46218109ef821c7.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/traits.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/traits.rs: diff --git a/contracts/target_local/debug/deps/zmij-ce9db1b21d01c2e2.d b/contracts/target_local/debug/deps/zmij-ce9db1b21d01c2e2.d new file mode 100644 index 00000000..8394e6f8 --- /dev/null +++ b/contracts/target_local/debug/deps/zmij-ce9db1b21d01c2e2.d @@ -0,0 +1,6 @@ +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/zmij-ce9db1b21d01c2e2.d: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/traits.rs + +/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libzmij-ce9db1b21d01c2e2.rmeta: /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs /Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/traits.rs + +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs: +/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/traits.rs: diff --git a/contracts/target_local/debug/incremental/agenticpay-2plpphmtuf4ub/s-hh0kruxmxt-04xhn2a-working/dep-graph.part.bin b/contracts/target_local/debug/incremental/agenticpay-2plpphmtuf4ub/s-hh0kruxmxt-04xhn2a-working/dep-graph.part.bin new file mode 100644 index 00000000..1cf164c5 Binary files /dev/null and b/contracts/target_local/debug/incremental/agenticpay-2plpphmtuf4ub/s-hh0kruxmxt-04xhn2a-working/dep-graph.part.bin differ diff --git a/contracts/target_local/debug/incremental/agenticpay-2plpphmtuf4ub/s-hh0kruxmxt-04xhn2a.lock b/contracts/target_local/debug/incremental/agenticpay-2plpphmtuf4ub/s-hh0kruxmxt-04xhn2a.lock new file mode 100755 index 00000000..e69de29b diff --git a/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x-ek34jn1p08pfxs0jnntbwmysg/dep-graph.bin b/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x-ek34jn1p08pfxs0jnntbwmysg/dep-graph.bin new file mode 100644 index 00000000..b75d0d5b Binary files /dev/null and b/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x-ek34jn1p08pfxs0jnntbwmysg/dep-graph.bin differ diff --git a/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x-ek34jn1p08pfxs0jnntbwmysg/query-cache.bin b/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x-ek34jn1p08pfxs0jnntbwmysg/query-cache.bin new file mode 100644 index 00000000..f0194ed4 Binary files /dev/null and b/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x-ek34jn1p08pfxs0jnntbwmysg/query-cache.bin differ diff --git a/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x-ek34jn1p08pfxs0jnntbwmysg/work-products.bin b/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x-ek34jn1p08pfxs0jnntbwmysg/work-products.bin new file mode 100644 index 00000000..af16c4d5 Binary files /dev/null and b/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x-ek34jn1p08pfxs0jnntbwmysg/work-products.bin differ diff --git a/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x.lock b/contracts/target_local/debug/incremental/agenticpay-2ra8jjo6b8yzz/s-hh0kruxmw9-0xjpy9x.lock new file mode 100755 index 00000000..e69de29b diff --git a/contracts/target_local/flycheck0/stderr b/contracts/target_local/flycheck0/stderr new file mode 100644 index 00000000..2c59277c --- /dev/null +++ b/contracts/target_local/flycheck0/stderr @@ -0,0 +1,1130 @@ + 0.517271375s INFO prepare_target{force=false package_id=agenticpay v0.1.0 (/Users/macbook/dev/drips-wave3/agenticpay/contracts) target="agenticpay"}: cargo::core::compiler::fingerprint: fingerprint error for agenticpay v0.1.0 (/Users/macbook/dev/drips-wave3/agenticpay/contracts)/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("agenticpay", ["cdylib"], "/Users/macbook/dev/drips-wave3/agenticpay/contracts/src/lib.rs", Edition2021) } + 0.517306750s INFO prepare_target{force=false package_id=agenticpay v0.1.0 (/Users/macbook/dev/drips-wave3/agenticpay/contracts) target="agenticpay"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/agenticpay-aabad211886c659f/lib-agenticpay` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: ::compile + 7: cargo::ops::cargo_compile::compile_ws + 8: cargo::ops::cargo_compile::compile_with_exec + 9: cargo::ops::cargo_compile::compile + 10: cargo::commands::check::exec + 11: ::exec + 12: cargo::main + 13: std::sys::backtrace::__rust_begin_short_backtrace:: + 14: std::rt::lang_start::<()>::{closure#0} + 15: std::rt::lang_start_internal + 16: _main + 0.521714084s INFO prepare_target{force=false package_id=soroban-sdk v21.7.7 target="soroban_sdk"}: cargo::core::compiler::fingerprint: fingerprint error for soroban-sdk v21.7.7/Check { test: false }/TargetInner { doctest: false, ..: lib_target("soroban_sdk", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/lib.rs", Edition2021) } + 0.521730167s INFO prepare_target{force=false package_id=soroban-sdk v21.7.7 target="soroban_sdk"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/soroban-sdk-7058e6d6e4c96b04/lib-soroban_sdk` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: ::compile + 8: cargo::ops::cargo_compile::compile_ws + 9: cargo::ops::cargo_compile::compile_with_exec + 10: cargo::ops::cargo_compile::compile + 11: cargo::commands::check::exec + 12: ::exec + 13: cargo::main + 14: std::sys::backtrace::__rust_begin_short_backtrace:: + 15: std::rt::lang_start::<()>::{closure#0} + 16: std::rt::lang_start_internal + 17: _main + 0.526840042s INFO prepare_target{force=false package_id=ed25519-dalek v2.2.0 target="ed25519_dalek"}: cargo::core::compiler::fingerprint: fingerprint error for ed25519-dalek v2.2.0/Check { test: false }/TargetInner { ..: lib_target("ed25519_dalek", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/lib.rs", Edition2021) } + 0.526856125s INFO prepare_target{force=false package_id=ed25519-dalek v2.2.0 target="ed25519_dalek"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/ed25519-dalek-c7e444cb37e0cde2/lib-ed25519_dalek` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: ::compile + 9: cargo::ops::cargo_compile::compile_ws + 10: cargo::ops::cargo_compile::compile_with_exec + 11: cargo::ops::cargo_compile::compile + 12: cargo::commands::check::exec + 13: ::exec + 14: cargo::main + 15: std::sys::backtrace::__rust_begin_short_backtrace:: + 16: std::rt::lang_start::<()>::{closure#0} + 17: std::rt::lang_start_internal + 18: _main + 0.527346750s INFO prepare_target{force=false package_id=curve25519-dalek v4.1.3 target="curve25519_dalek"}: cargo::core::compiler::fingerprint: fingerprint error for curve25519-dalek v4.1.3/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("curve25519_dalek", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/lib.rs", Edition2021) } + 0.527356167s INFO prepare_target{force=false package_id=curve25519-dalek v4.1.3 target="curve25519_dalek"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/curve25519-dalek-b574ea570285d412/lib-curve25519_dalek` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.533610542s INFO prepare_target{force=false package_id=rand v0.8.5 target="rand"}: cargo::core::compiler::fingerprint: fingerprint error for rand v0.8.5/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("rand", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/lib.rs", Edition2018) } + 0.533621667s INFO prepare_target{force=false package_id=rand v0.8.5 target="rand"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/rand-799f752db9b6b20c/lib-rand` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: ::compile + 9: cargo::ops::cargo_compile::compile_ws + 10: cargo::ops::cargo_compile::compile_with_exec + 11: cargo::ops::cargo_compile::compile + 12: cargo::commands::check::exec + 13: ::exec + 14: cargo::main + 15: std::sys::backtrace::__rust_begin_short_backtrace:: + 16: std::rt::lang_start::<()>::{closure#0} + 17: std::rt::lang_start_internal + 18: _main + 0.533941709s INFO prepare_target{force=false package_id=rand_chacha v0.3.1 target="rand_chacha"}: cargo::core::compiler::fingerprint: fingerprint error for rand_chacha v0.3.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("rand_chacha", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/lib.rs", Edition2018) } + 0.533950709s INFO prepare_target{force=false package_id=rand_chacha v0.3.1 target="rand_chacha"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/rand_chacha-80569c14ad348dd5/lib-rand_chacha` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.534226042s INFO prepare_target{force=false package_id=ppv-lite86 v0.2.21 target="ppv_lite86"}: cargo::core::compiler::fingerprint: fingerprint error for ppv-lite86 v0.2.21/Check { test: false }/TargetInner { ..: lib_target("ppv_lite86", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/lib.rs", Edition2021) } + 0.534234542s INFO prepare_target{force=false package_id=ppv-lite86 v0.2.21 target="ppv_lite86"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/ppv-lite86-e60e9171d2480a44/lib-ppv_lite86` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.534468834s INFO prepare_target{force=false package_id=zerocopy v0.8.47 target="zerocopy"}: cargo::core::compiler::fingerprint: fingerprint error for zerocopy v0.8.47/Check { test: false }/TargetInner { ..: lib_target("zerocopy", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/lib.rs", Edition2021) } + 0.534476667s INFO prepare_target{force=false package_id=zerocopy v0.8.47 target="zerocopy"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/zerocopy-dc3e5ddae9a22109/lib-zerocopy` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: cargo::core::compiler::compile + 11: ::compile + 12: cargo::ops::cargo_compile::compile_ws + 13: cargo::ops::cargo_compile::compile_with_exec + 14: cargo::ops::cargo_compile::compile + 15: cargo::commands::check::exec + 16: ::exec + 17: cargo::main + 18: std::sys::backtrace::__rust_begin_short_backtrace:: + 19: std::rt::lang_start::<()>::{closure#0} + 20: std::rt::lang_start_internal + 21: _main + 0.535278250s INFO prepare_target{force=false package_id=serde v1.0.228 target="serde"}: cargo::core::compiler::fingerprint: fingerprint error for serde v1.0.228/Check { test: false }/TargetInner { ..: lib_target("serde", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs", Edition2021) } + 0.535288084s INFO prepare_target{force=false package_id=serde v1.0.228 target="serde"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/serde-df48f708bf2d4445/lib-serde` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: ::compile + 9: cargo::ops::cargo_compile::compile_ws + 10: cargo::ops::cargo_compile::compile_with_exec + 11: cargo::ops::cargo_compile::compile + 12: cargo::commands::check::exec + 13: ::exec + 14: cargo::main + 15: std::sys::backtrace::__rust_begin_short_backtrace:: + 16: std::rt::lang_start::<()>::{closure#0} + 17: std::rt::lang_start_internal + 18: _main + 0.537032875s INFO prepare_target{force=false package_id=serde_core v1.0.228 target="serde_core"}: cargo::core::compiler::fingerprint: fingerprint error for serde_core v1.0.228/Check { test: false }/TargetInner { ..: lib_target("serde_core", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs", Edition2021) } + 0.537041750s INFO prepare_target{force=false package_id=serde_core v1.0.228 target="serde_core"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/serde_core-604a09e3b94bb82d/lib-serde_core` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.537889042s INFO prepare_target{force=false package_id=serde_json v1.0.149 target="serde_json"}: cargo::core::compiler::fingerprint: fingerprint error for serde_json v1.0.149/Check { test: false }/TargetInner { ..: lib_target("serde_json", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs", Edition2021) } + 0.537901500s INFO prepare_target{force=false package_id=serde_json v1.0.149 target="serde_json"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/serde_json-2634f6b705b54d06/lib-serde_json` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: ::compile + 9: cargo::ops::cargo_compile::compile_ws + 10: cargo::ops::cargo_compile::compile_with_exec + 11: cargo::ops::cargo_compile::compile + 12: cargo::commands::check::exec + 13: ::exec + 14: cargo::main + 15: std::sys::backtrace::__rust_begin_short_backtrace:: + 16: std::rt::lang_start::<()>::{closure#0} + 17: std::rt::lang_start_internal + 18: _main + 0.538260750s INFO prepare_target{force=false package_id=itoa v1.0.18 target="itoa"}: cargo::core::compiler::fingerprint: fingerprint error for itoa v1.0.18/Check { test: false }/TargetInner { ..: lib_target("itoa", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs", Edition2021) } + 0.538269000s INFO prepare_target{force=false package_id=itoa v1.0.18 target="itoa"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/itoa-0f70b8670e573295/lib-itoa` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.539083834s INFO prepare_target{force=false package_id=zmij v1.0.21 target="zmij"}: cargo::core::compiler::fingerprint: fingerprint error for zmij v1.0.21/Check { test: false }/TargetInner { ..: lib_target("zmij", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs", Edition2021) } + 0.539092250s INFO prepare_target{force=false package_id=zmij v1.0.21 target="zmij"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/zmij-ce9db1b21d01c2e2/lib-zmij` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.539751209s INFO prepare_target{force=false package_id=soroban-env-host v21.2.1 target="soroban_env_host"}: cargo::core::compiler::fingerprint: fingerprint error for soroban-env-host v21.2.1/Check { test: false }/TargetInner { ..: lib_target("soroban_env_host", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/lib.rs", Edition2021) } + 0.539759875s INFO prepare_target{force=false package_id=soroban-env-host v21.2.1 target="soroban_env_host"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/soroban-env-host-559f5d673862100e/lib-soroban_env_host` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: ::compile + 9: cargo::ops::cargo_compile::compile_ws + 10: cargo::ops::cargo_compile::compile_with_exec + 11: cargo::ops::cargo_compile::compile + 12: cargo::commands::check::exec + 13: ::exec + 14: cargo::main + 15: std::sys::backtrace::__rust_begin_short_backtrace:: + 16: std::rt::lang_start::<()>::{closure#0} + 17: std::rt::lang_start_internal + 18: _main + 0.541074584s INFO prepare_target{force=false package_id=backtrace v0.3.76 target="backtrace"}: cargo::core::compiler::fingerprint: fingerprint error for backtrace v0.3.76/Check { test: false }/TargetInner { ..: lib_target("backtrace", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/lib.rs", Edition2021) } + 0.541084334s INFO prepare_target{force=false package_id=backtrace v0.3.76 target="backtrace"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/backtrace-4f4cb34f3e5fc1f0/lib-backtrace` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.541824334s INFO prepare_target{force=false package_id=addr2line v0.25.1 target="addr2line"}: cargo::core::compiler::fingerprint: fingerprint error for addr2line v0.25.1/Check { test: false }/TargetInner { ..: lib_target("addr2line", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/lib.rs", Edition2018) } + 0.541835084s INFO prepare_target{force=false package_id=addr2line v0.25.1 target="addr2line"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/addr2line-d9e19a1d0454a0df/lib-addr2line` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.542363917s INFO prepare_target{force=false package_id=gimli v0.32.3 target="gimli"}: cargo::core::compiler::fingerprint: fingerprint error for gimli v0.32.3/Check { test: false }/TargetInner { ..: lib_target("gimli", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/lib.rs", Edition2018) } + 0.542395209s INFO prepare_target{force=false package_id=gimli v0.32.3 target="gimli"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/gimli-e3b0974d21ede477/lib-gimli` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: cargo::core::compiler::compile + 11: ::compile + 12: cargo::ops::cargo_compile::compile_ws + 13: cargo::ops::cargo_compile::compile_with_exec + 14: cargo::ops::cargo_compile::compile + 15: cargo::commands::check::exec + 16: ::exec + 17: cargo::main + 18: std::sys::backtrace::__rust_begin_short_backtrace:: + 19: std::rt::lang_start::<()>::{closure#0} + 20: std::rt::lang_start_internal + 21: _main + 0.543278834s INFO prepare_target{force=false package_id=object v0.37.3 target="object"}: cargo::core::compiler::fingerprint: fingerprint error for object v0.37.3/Check { test: false }/TargetInner { ..: lib_target("object", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/lib.rs", Edition2018) } + 0.543292959s INFO prepare_target{force=false package_id=object v0.37.3 target="object"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/object-ac254c351c416f75/lib-object` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.544828709s INFO prepare_target{force=false package_id=rustc-demangle v0.1.27 target="rustc_demangle"}: cargo::core::compiler::fingerprint: fingerprint error for rustc-demangle v0.1.27/Check { test: false }/TargetInner { ..: lib_target("rustc_demangle", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/lib.rs", Edition2015) } + 0.544841459s INFO prepare_target{force=false package_id=rustc-demangle v0.1.27 target="rustc_demangle"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/rustc-demangle-74437d6241e72544/lib-rustc_demangle` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.545185209s INFO prepare_target{force=false package_id=ecdsa v0.16.9 target="ecdsa"}: cargo::core::compiler::fingerprint: fingerprint error for ecdsa v0.16.9/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("ecdsa", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/lib.rs", Edition2021) } + 0.545195250s INFO prepare_target{force=false package_id=ecdsa v0.16.9 target="ecdsa"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/ecdsa-aee9dbec7e9ee10f/lib-ecdsa` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.546329834s INFO prepare_target{force=false package_id=elliptic-curve v0.13.8 target="elliptic_curve"}: cargo::core::compiler::fingerprint: fingerprint error for elliptic-curve v0.13.8/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("elliptic_curve", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/lib.rs", Edition2021) } + 0.546343750s INFO prepare_target{force=false package_id=elliptic-curve v0.13.8 target="elliptic_curve"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/elliptic-curve-3d9f75a971655151/lib-elliptic_curve` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.547816584s INFO prepare_target{force=false package_id=crypto-bigint v0.5.5 target="crypto_bigint"}: cargo::core::compiler::fingerprint: fingerprint error for crypto-bigint v0.5.5/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("crypto_bigint", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/lib.rs", Edition2021) } + 0.547860084s INFO prepare_target{force=false package_id=crypto-bigint v0.5.5 target="crypto_bigint"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/crypto-bigint-6f66ca8126086526/lib-crypto_bigint` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: cargo::core::compiler::compile + 11: ::compile + 12: cargo::ops::cargo_compile::compile_ws + 13: cargo::ops::cargo_compile::compile_with_exec + 14: cargo::ops::cargo_compile::compile + 15: cargo::commands::check::exec + 16: ::exec + 17: cargo::main + 18: std::sys::backtrace::__rust_begin_short_backtrace:: + 19: std::rt::lang_start::<()>::{closure#0} + 20: std::rt::lang_start_internal + 21: _main + 0.550802584s INFO prepare_target{force=false package_id=hex-literal v0.4.1 target="hex_literal"}: cargo::core::compiler::fingerprint: fingerprint error for hex-literal v0.4.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("hex_literal", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/src/lib.rs", Edition2021) } + 0.550866250s INFO prepare_target{force=false package_id=hex-literal v0.4.1 target="hex_literal"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/hex-literal-b9d9f7818c060e04/lib-hex_literal` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.551474834s INFO prepare_target{force=false package_id=k256 v0.13.4 target="k256"}: cargo::core::compiler::fingerprint: fingerprint error for k256 v0.13.4/Check { test: false }/TargetInner { ..: lib_target("k256", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/lib.rs", Edition2021) } + 0.551486917s INFO prepare_target{force=false package_id=k256 v0.13.4 target="k256"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/k256-6b9ce0255332429e/lib-k256` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.552163625s INFO prepare_target{force=false package_id=num-integer v0.1.46 target="num_integer"}: cargo::core::compiler::fingerprint: fingerprint error for num-integer v0.1.46/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("num_integer", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs", Edition2018) } + 0.552172959s INFO prepare_target{force=false package_id=num-integer v0.1.46 target="num_integer"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/num-integer-1c7e7f50a371ca3f/lib-num_integer` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.553000042s INFO prepare_target{force=false package_id=p256 v0.13.2 target="p256"}: cargo::core::compiler::fingerprint: fingerprint error for p256 v0.13.2/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("p256", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/lib.rs", Edition2021) } + 0.553008792s INFO prepare_target{force=false package_id=p256 v0.13.2 target="p256"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/p256-5dc17bd41fa7c3be/lib-p256` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.553403834s INFO prepare_target{force=false package_id=primeorder v0.13.6 target="primeorder"}: cargo::core::compiler::fingerprint: fingerprint error for primeorder v0.13.6/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("primeorder", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/lib.rs", Edition2021) } + 0.553411834s INFO prepare_target{force=false package_id=primeorder v0.13.6 target="primeorder"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/primeorder-ec4223ec9bf298eb/lib-primeorder` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.553709500s INFO prepare_target{force=false package_id=sha3 v0.10.8 target="sha3"}: cargo::core::compiler::fingerprint: fingerprint error for sha3 v0.10.8/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("sha3", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/lib.rs", Edition2018) } + 0.553718375s INFO prepare_target{force=false package_id=sha3 v0.10.8 target="sha3"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/sha3-b2347a444a266971/lib-sha3` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.554001875s INFO prepare_target{force=false package_id=keccak v0.1.6 target="keccak"}: cargo::core::compiler::fingerprint: fingerprint error for keccak v0.1.6/Check { test: false }/TargetInner { ..: lib_target("keccak", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/src/lib.rs", Edition2018) } + 0.554009959s INFO prepare_target{force=false package_id=keccak v0.1.6 target="keccak"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/keccak-713ac346f7130dd5/lib-keccak` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.554805709s INFO prepare_target{force=false package_id=soroban-env-common v21.2.1 target="soroban_env_common"}: cargo::core::compiler::fingerprint: fingerprint error for soroban-env-common v21.2.1/Check { test: false }/TargetInner { ..: lib_target("soroban_env_common", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/lib.rs", Edition2021) } + 0.554814709s INFO prepare_target{force=false package_id=soroban-env-common v21.2.1 target="soroban_env_common"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/soroban-env-common-1b730141051fc1fa/lib-soroban_env_common` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: ::compile + 10: cargo::ops::cargo_compile::compile_ws + 11: cargo::ops::cargo_compile::compile_with_exec + 12: cargo::ops::cargo_compile::compile + 13: cargo::commands::check::exec + 14: ::exec + 15: cargo::main + 16: std::sys::backtrace::__rust_begin_short_backtrace:: + 17: std::rt::lang_start::<()>::{closure#0} + 18: std::rt::lang_start_internal + 19: _main + 0.555503459s INFO prepare_target{force=false package_id=ethnum v1.5.2 target="ethnum"}: cargo::core::compiler::fingerprint: fingerprint error for ethnum v1.5.2/Check { test: false }/TargetInner { ..: lib_target("ethnum", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs", Edition2021) } + 0.555511667s INFO prepare_target{force=false package_id=ethnum v1.5.2 target="ethnum"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/ethnum-5decaa31cdba7012/lib-ethnum` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.562027292s INFO prepare_target{force=false package_id=soroban-wasmi v0.31.1-soroban.20.0.1 target="soroban_wasmi"}: cargo::core::compiler::fingerprint: fingerprint error for soroban-wasmi v0.31.1-soroban.20.0.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("soroban_wasmi", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/lib.rs", Edition2021) } + 0.562049000s INFO prepare_target{force=false package_id=soroban-wasmi v0.31.1-soroban.20.0.1 target="soroban_wasmi"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/soroban-wasmi-b49f916157d4faf9/lib-soroban_wasmi` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.565426375s INFO prepare_target{force=false package_id=wasmparser-nostd v0.100.2 target="wasmparser_nostd"}: cargo::core::compiler::fingerprint: fingerprint error for wasmparser-nostd v0.100.2/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("wasmparser_nostd", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/lib.rs", Edition2021) } + 0.565445209s INFO prepare_target{force=false package_id=wasmparser-nostd v0.100.2 target="wasmparser_nostd"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/wasmparser-nostd-969ec15799f82224/lib-wasmparser_nostd` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: cargo::core::compiler::compile + 11: ::compile + 12: cargo::ops::cargo_compile::compile_ws + 13: cargo::ops::cargo_compile::compile_with_exec + 14: cargo::ops::cargo_compile::compile + 15: cargo::commands::check::exec + 16: ::exec + 17: cargo::main + 18: std::sys::backtrace::__rust_begin_short_backtrace:: + 19: std::rt::lang_start::<()>::{closure#0} + 20: std::rt::lang_start_internal + 21: _main + 0.565809042s INFO prepare_target{force=false package_id=static_assertions v1.1.0 target="static_assertions"}: cargo::core::compiler::fingerprint: fingerprint error for static_assertions v1.1.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("static_assertions", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs", Edition2015) } + 0.565817750s INFO prepare_target{force=false package_id=static_assertions v1.1.0 target="static_assertions"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/static_assertions-1ea5fd42fe2ed06a/lib-static_assertions` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.566007500s INFO prepare_target{force=false package_id=stellar-xdr v21.2.0 target="stellar_xdr"}: cargo::core::compiler::fingerprint: fingerprint error for stellar-xdr v21.2.0/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("stellar_xdr", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/lib.rs", Edition2021) } + 0.566020959s INFO prepare_target{force=false package_id=stellar-xdr v21.2.0 target="stellar_xdr"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/stellar-xdr-879f4c61cff22bef/lib-stellar_xdr` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.566957375s INFO prepare_target{force=false package_id=hex v0.4.3 target="hex"}: cargo::core::compiler::fingerprint: fingerprint error for hex v0.4.3/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("hex", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs", Edition2018) } + 0.566966375s INFO prepare_target{force=false package_id=hex v0.4.3 target="hex"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/hex-870a7f489585db33/lib-hex` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: cargo::core::compiler::compile + 11: ::compile + 12: cargo::ops::cargo_compile::compile_ws + 13: cargo::ops::cargo_compile::compile_with_exec + 14: cargo::ops::cargo_compile::compile + 15: cargo::commands::check::exec + 16: ::exec + 17: cargo::main + 18: std::sys::backtrace::__rust_begin_short_backtrace:: + 19: std::rt::lang_start::<()>::{closure#0} + 20: std::rt::lang_start_internal + 21: _main + 0.567232792s INFO prepare_target{force=false package_id=serde_with v3.18.0 target="serde_with"}: cargo::core::compiler::fingerprint: fingerprint error for serde_with v3.18.0/Check { test: false }/TargetInner { ..: lib_target("serde_with", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs", Edition2021) } + 0.567240584s INFO prepare_target{force=false package_id=serde_with v3.18.0 target="serde_with"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/serde_with-3c7f664fc5ea3df0/lib-serde_with` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: cargo::core::compiler::compile + 11: ::compile + 12: cargo::ops::cargo_compile::compile_ws + 13: cargo::ops::cargo_compile::compile_with_exec + 14: cargo::ops::cargo_compile::compile + 15: cargo::commands::check::exec + 16: ::exec + 17: cargo::main + 18: std::sys::backtrace::__rust_begin_short_backtrace:: + 19: std::rt::lang_start::<()>::{closure#0} + 20: std::rt::lang_start_internal + 21: _main + 0.568484459s INFO prepare_target{force=false package_id=wasmparser v0.116.1 target="wasmparser"}: cargo::core::compiler::fingerprint: fingerprint error for wasmparser v0.116.1/Check { test: false }/TargetInner { name_inferred: true, ..: lib_target("wasmparser", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs", Edition2021) } + 0.568494167s INFO prepare_target{force=false package_id=wasmparser v0.116.1 target="wasmparser"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/wasmparser-cca4f01ab10a9548/lib-wasmparser` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: cargo::core::compiler::compile + 9: cargo::core::compiler::compile + 10: ::compile + 11: cargo::ops::cargo_compile::compile_ws + 12: cargo::ops::cargo_compile::compile_with_exec + 13: cargo::ops::cargo_compile::compile + 14: cargo::commands::check::exec + 15: ::exec + 16: cargo::main + 17: std::sys::backtrace::__rust_begin_short_backtrace:: + 18: std::rt::lang_start::<()>::{closure#0} + 19: std::rt::lang_start_internal + 20: _main + 0.569868417s INFO prepare_target{force=false package_id=soroban-ledger-snapshot v21.7.7 target="soroban_ledger_snapshot"}: cargo::core::compiler::fingerprint: fingerprint error for soroban-ledger-snapshot v21.7.7/Check { test: false }/TargetInner { ..: lib_target("soroban_ledger_snapshot", ["lib"], "/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-ledger-snapshot-21.7.7/src/lib.rs", Edition2021) } + 0.569876209s INFO prepare_target{force=false package_id=soroban-ledger-snapshot v21.7.7 target="soroban_ledger_snapshot"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/soroban-ledger-snapshot-0aa677190ce17d8e/lib-soroban_ledger_snapshot` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: cargo::core::compiler::compile + 7: cargo::core::compiler::compile + 8: ::compile + 9: cargo::ops::cargo_compile::compile_ws + 10: cargo::ops::cargo_compile::compile_with_exec + 11: cargo::ops::cargo_compile::compile + 12: cargo::commands::check::exec + 13: ::exec + 14: cargo::main + 15: std::sys::backtrace::__rust_begin_short_backtrace:: + 16: std::rt::lang_start::<()>::{closure#0} + 17: std::rt::lang_start_internal + 18: _main + 0.577585750s INFO prepare_target{force=false package_id=agenticpay v0.1.0 (/Users/macbook/dev/drips-wave3/agenticpay/contracts) target="agenticpay"}: cargo::core::compiler::fingerprint: fingerprint error for agenticpay v0.1.0 (/Users/macbook/dev/drips-wave3/agenticpay/contracts)/Check { test: true }/TargetInner { name_inferred: true, ..: lib_target("agenticpay", ["cdylib"], "/Users/macbook/dev/drips-wave3/agenticpay/contracts/src/lib.rs", Edition2021) } + 0.577606750s INFO prepare_target{force=false package_id=agenticpay v0.1.0 (/Users/macbook/dev/drips-wave3/agenticpay/contracts) target="agenticpay"}: cargo::core::compiler::fingerprint: err: failed to read `/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/.fingerprint/agenticpay-9659475f2e2815c6/test-lib-agenticpay` + +Caused by: + No such file or directory (os error 2) + +Stack backtrace: + 0: std::backtrace::Backtrace::create + 1: cargo_util::paths::read_bytes + 2: cargo_util::paths::read + 3: cargo::core::compiler::fingerprint::_compare_old_fingerprint + 4: cargo::core::compiler::fingerprint::prepare_target + 5: cargo::core::compiler::compile + 6: ::compile + 7: cargo::ops::cargo_compile::compile_ws + 8: cargo::ops::cargo_compile::compile_with_exec + 9: cargo::ops::cargo_compile::compile + 10: cargo::commands::check::exec + 11: ::exec + 12: cargo::main + 13: std::sys::backtrace::__rust_begin_short_backtrace:: + 14: std::rt::lang_start::<()>::{closure#0} + 15: std::rt::lang_start_internal + 16: _main + Checking serde_core v1.0.228 + Checking crypto-bigint v0.5.5 + Checking zerocopy v0.8.47 + Checking wasmparser-nostd v0.100.2 + Checking gimli v0.32.3 + Checking wasmparser v0.116.1 + Checking curve25519-dalek v4.1.3 + Checking object v0.37.3 + Checking keccak v0.1.6 + Checking ethnum v1.5.2 + Checking elliptic-curve v0.13.8 + Checking rustc-demangle v0.1.27 + Checking ecdsa v0.16.9 + Checking primeorder v0.13.6 + Checking static_assertions v1.1.0 + Checking sha3 v0.10.8 + Checking k256 v0.13.4 + Checking p256 v0.13.2 + Checking ed25519-dalek v2.2.0 + Checking serde v1.0.228 + Checking addr2line v0.25.1 + Checking num-integer v0.1.46 + Checking zmij v1.0.21 + Checking itoa v1.0.18 + Checking hex-literal v0.4.1 + Checking serde_json v1.0.149 + Checking hex v0.4.3 + Checking soroban-wasmi v0.31.1-soroban.20.0.1 + Checking serde_with v3.18.0 + Checking backtrace v0.3.76 + Checking ppv-lite86 v0.2.21 + Checking rand_chacha v0.3.1 + Checking stellar-xdr v21.2.0 + Checking rand v0.8.5 + Checking soroban-env-common v21.2.1 + Checking soroban-env-host v21.2.1 + Checking soroban-ledger-snapshot v21.7.7 + Checking soroban-sdk v21.7.7 + Checking agenticpay v0.1.0 (/Users/macbook/dev/drips-wave3/agenticpay/contracts) +error: could not compile `agenticpay` (lib test) due to 3 previous errors diff --git a/contracts/target_local/flycheck0/stdout b/contracts/target_local/flycheck0/stdout new file mode 100644 index 00000000..2d0bdd65 --- /dev/null +++ b/contracts/target_local/flycheck0/stdout @@ -0,0 +1,210 @@ +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/proc-macro2-3750783767f65383/build-script-build"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106","linked_libs":[],"linked_paths":[],"cfgs":["wrap_proc_macro","proc_macro_span_location","proc_macro_span_file"],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/proc-macro2-70ee98e01332a24c/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/quote-1c38ce90abdf5756/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#unicode-ident@1.0.24","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"unicode_ident","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/unicode-ident-1.0.24/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libunicode_ident-d40ac0487c7d67b5.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libunicode_ident-d40ac0487c7d67b5.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","result","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-d29abc3671d1bcc0/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#version_check@0.9.5","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"version_check","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/version_check-0.9.5/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libversion_check-a38ac275d10c0882.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libversion_check-a38ac275d10c0882.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-daf26e5a57eca020/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/typenum-32f0a859c85d86e0/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/zmij-c04899bf3c0c2cb7/build-script-build"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/quote-669c9c9fd1e1ccfb/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#proc-macro2@1.0.106","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"proc_macro2","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proc-macro2-1.0.106/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libproc_macro2-ebae5084726c18f9.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libproc_macro2-ebae5084726c18f9.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_core-7aa5a159cd5176d0/out"} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/typenum-75ecf81369af7a8e/out"} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","linked_libs":[],"linked_paths":[],"cfgs":["if_docsrs_then_no_serde_core"],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde-38f8b19ce6b3bd83/out"} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/zmij-18f804663394d5f0/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.183","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/libc-371d824000c86158/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_json-e7df8fc1b1d2a11a/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#quote@1.0.45","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"quote","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/quote-1.0.45/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","proc-macro"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libquote-9425c3b27d2cbe95.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libquote-9425c3b27d2cbe95.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_core","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","result","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_core-2e45a9b08e60e38f.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_core-2e45a9b08e60e38f.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.183","linked_libs":[],"linked_paths":[],"cfgs":["freebsd12"],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/libc-270d6a6c526ae0ff/out"} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","linked_libs":[],"linked_paths":[],"cfgs":["fast_arithmetic=\"64\""],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/serde_json-b36ada1d315e1193/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zmij","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libzmij-a46218109ef821c7.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libzmij-a46218109ef821c7.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#memchr@2.8.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"memchr","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libmemchr-d5cf84f67fc9f1ba.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libmemchr-d5cf84f67fc9f1ba.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itoa","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libitoa-7dc258a918c8a510.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libitoa-7dc258a918c8a510.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/build.rs","edition":"2015","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths","zeroize"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/generic-array-f840049712324e34/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#syn@2.0.117","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"syn","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.117/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["clone-impls","default","derive","extra-traits","full","parsing","printing","proc-macro"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsyn-7eae15a90d73590d.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsyn-7eae15a90d73590d.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_json","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_json-fdc3596901442fd9.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_json-fdc3596901442fd9.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.183","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"libc","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/liblibc-7dcb08174068873c.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zeroize@1.8.2","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.8.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zeroize","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.8.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libzeroize-8876640b9211d71d.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","linked_libs":[],"linked_paths":[],"cfgs":["relaxed_coherence","ga_is_deprecated"],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/generic-array-118442df03775164/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"typenum","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libtypenum-1e66d7cf02bc5a08.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cfg_if","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcfg_if-7228978f4fcb9234.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#subtle@2.6.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"subtle","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/subtle-2.6.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsubtle-db0f2c0122691469.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.228","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"serde_derive","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_derive-1.0.228/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_derive-6c1236bbfe652602.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"generic_array","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths","zeroize"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgeneric_array-500f1fc443e80ab3.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#strsim@0.11.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/strsim-0.11.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"strsim","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/strsim-0.11.1/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstrsim-fe81d1d5e2f1a155.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstrsim-fe81d1d5e2f1a155.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ident_case@1.0.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ident_case-1.0.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ident_case","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ident_case-1.0.1/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libident_case-eafcfcca6a1f8c9f.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libident_case-eafcfcca6a1f8c9f.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#const-oid@0.9.6","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"const_oid","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/const-oid-0.9.6/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libconst_oid-c4ade6a49cae461d.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#autocfg@1.5.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"autocfg","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/autocfg-1.5.0/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libautocfg-eb1adbf7d7f824ab.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libautocfg-eb1adbf7d7f824ab.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#getrandom@0.2.17","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"getrandom","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.2.17/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["js","js-sys","std","wasm-bindgen"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgetrandom-c2554f4558a39879.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/thiserror-26bea6508ba2e308/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde-1b9ed3cb69b59885.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde-1b9ed3cb69b59885.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#block-buffer@0.10.4","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"block_buffer","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libblock_buffer-aad41c5acfbb4f49.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crypto-common@0.1.6","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crypto_common","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrypto_common-c239b31c4139ccfa.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_core@0.23.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling_core","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.23.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["strsim","suggestions"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_core-3de512ef2efedddc.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_core-3de512ef2efedddc.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rand_core@0.6.4","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rand_core","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","getrandom","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librand_core-4ddabfeeaeac1347.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#semver@1.0.27","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"semver","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsemver-bc3746c58159d42e.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsemver-bc3746c58159d42e.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/thiserror-0b7e1c9c0b193db9/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror-impl@1.0.69","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"thiserror_impl","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-impl-1.0.69/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libthiserror_impl-a9ac313fd64f9e3f.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crate-git-revision@0.0.6","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crate_git_revision","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crate-git-revision-0.0.6/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrate_git_revision-4c5040678cbf6401.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrate_git_revision-4c5040678cbf6401.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"digest","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","block-buffer","const-oid","core-api","default","mac","oid","std","subtle"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdigest-58881e2ec229850c.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_macro@0.23.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.23.0/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"darling_macro","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.23.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_macro-c4d8555b8112f5f6.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustc_version@0.4.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc_version-0.4.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustc_version","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc_version-0.4.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librustc_version-912d30671a9d904c.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librustc_version-912d30671a9d904c.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"thiserror","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libthiserror-d8be4eb1c411e081.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libthiserror-d8be4eb1c411e081.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base32@0.4.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base32","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase32-3eaeccff18bfa061.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase32-3eaeccff18bfa061.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hex@0.4.3","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hex","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","serde","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhex-98750fb57969ed0e.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhex-98750fb57969ed0e.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#escape-bytes@0.1.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"escape_bytes","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libescape_bytes-1a79ffb0a6f5486a.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libescape_bytes-1a79ffb0a6f5486a.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling@0.23.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.23.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","suggestions"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling-7637f519bd3cd2cc.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling-7637f519bd3cd2cc.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.8","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/stellar-strkey-b0b6e9ceeb726026/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@21.2.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","curr","hex","serde","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/stellar-xdr-d98a6530619ca6a2/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ff@0.13.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ff","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ff-0.13.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libff-8c9e1278f4942f53.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#der@0.7.10","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"der","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/der-0.7.10/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["oid","zeroize"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libder-2472317c788ab83f.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","i128","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/num-traits-f6953812d8889487/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cpufeatures","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcpufeatures-c5fe4d960a8962e2.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_with_macros@3.18.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"serde_with_macros","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with_macros-3.18.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_with_macros-3833d27d78e86ad3.dylib"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.8","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","79ede59c97ed80090b9af63151c9f9a15260492d"]],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/stellar-strkey-a66ea59b439ef15c/out"} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@21.2.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","9bea881f2057e412fdbb98875841626bf77b4b88"]],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/stellar-xdr-825763c993b36f69/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/build.rs","edition":"2015","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/generic-array-b68612ecb6de0d34/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#either@1.15.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"either","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/either-1.15.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std","use_std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libeither-a5ea3a98650b02d9.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libeither-a5ea3a98650b02d9.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base16ct@0.2.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base16ct","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base16ct-0.2.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase16ct-62dc7e0808bc2ab7.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","linked_libs":[],"linked_paths":[],"cfgs":["has_total_cmp"],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/num-traits-1e3dd4effda6684a/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.8","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_strkey","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_strkey-50b5901553cb1f50.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_strkey-50b5901553cb1f50.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_with@3.18.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_with","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","macros","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_with-d549d4b36d1c19bf.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_with-d549d4b36d1c19bf.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sec1@0.7.3","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sec1","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sec1-0.7.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","der","point","subtle","zeroize"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsec1-829f6f60ac6184e2.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","linked_libs":[],"linked_paths":[],"cfgs":["relaxed_coherence","ga_is_deprecated"],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/generic-array-3a33324ad3364c1b/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itertools@0.11.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itertools","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itertools-0.11.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","use_alloc","use_std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libitertools-6bd0744ad8ad48ae.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libitertools-6bd0744ad8ad48ae.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#group@0.13.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"group","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/group-0.13.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgroup-62bf58ba7549dd80.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#signature@2.2.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"signature","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-2.2.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","digest","rand_core","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsignature-4d9598ecaa6be9c8.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@21.2.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_xdr","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","curr","hex","serde","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_xdr-1cc2d8c60cec0143.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_xdr-1cc2d8c60cec0143.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/num-traits-1db0d39e08e4d6e9/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#typenum@1.19.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"typenum","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/typenum-1.19.0/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libtypenum-71eedd4a322d1f0a.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libtypenum-71eedd4a322d1f0a.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#paste@1.0.15","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/paste-636b02fd24b70fce/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arch","default"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/libm-af15f2bfc2fe2a64/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.47","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["simd"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/zerocopy-8929049d6f960b04/build-script-build"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","linked_libs":[],"linked_paths":[],"cfgs":["has_total_cmp"],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/num-traits-9eae048d9c3af2cd/out"} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","linked_libs":[],"linked_paths":[],"cfgs":["arch_enabled"],"env":[["CFG_CARGO_FEATURES","[\"arch\", \"default\"]"],["CFG_OPT_LEVEL","0"],["CFG_TARGET_FEATURES","[\"aes\", \"crc\", \"dit\", \"dotprod\", \"dpb\", \"dpb2\", \"fcma\", \"fhm\", \"flagm\", \"fp16\", \"frintts\", \"jsconv\", \"lor\", \"lse\", \"neon\", \"paca\", \"pacg\", \"pan\", \"pmuv3\", \"ras\", \"rcpc\", \"rcpc2\", \"rdm\", \"sb\", \"sha2\", \"sha3\", \"ssbs\", \"vh\"]"]],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/libm-f48c10a39953130c/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#generic-array@0.14.9","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"generic_array","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/generic-array-0.14.9/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["more_lengths"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgeneric_array-c07778c573dc7e38.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgeneric_array-c07778c573dc7e38.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#paste@1.0.15","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/paste-70dbc3592a2698dc/out"} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.47","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/zerocopy-ee74c383dec9f942/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_traits","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","i128","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_traits-285e0e962b720dfe.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hmac@0.12.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hmac","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hmac-0.12.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["reset"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhmac-7ed430e488894c0a.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#paste@1.0.15","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"paste","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/paste-1.0.15/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libpaste-411cf0279df5c704.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-traits@0.2.19","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_traits","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-traits-0.2.19/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_traits-d3a4981131fe3181.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_traits-d3a4981131fe3181.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libm@0.2.16","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"libm","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libm-0.2.16/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arch","default"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/liblibm-5a46d4a916686723.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-macros@21.2.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"soroban_env_macros","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-macros-21.2.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_env_macros-293d4a71ad598ed0.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rfc6979@0.4.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rfc6979","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rfc6979-0.4.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librfc6979-2362ebfa1d2f2996.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sha2","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsha2-ec6d857aa7d15db1.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek@4.1.3","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","digest","precomputed-tables","zeroize"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/curve25519-dalek-d9b687483d534fd3/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@21.2.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","arbitrary","base64","curr","hex","serde","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/stellar-xdr-91f0f971c4f5cca6/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#thiserror@1.0.69","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"thiserror","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/thiserror-1.0.69/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libthiserror-d8d528275431acef.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-derive@0.4.2","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-derive-0.4.2/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"num_derive","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-derive-0.4.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_derive-9992360f7b98a7cd.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#derive_arbitrary@1.3.2","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"derive_arbitrary","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/derive_arbitrary-1.3.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libderive_arbitrary-78af8cb1d2f41ed3.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#indexmap-nostd@0.4.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"indexmap_nostd","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-nostd-0.4.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libindexmap_nostd-5aea63fbf2120b45.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.2","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"equivalent","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libequivalent-87f726e4f2cd0f95.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libequivalent-87f726e4f2cd0f95.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.16.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhashbrown-dace2c97b957e08e.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhashbrown-dace2c97b957e08e.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#equivalent@1.0.2","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"equivalent","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/equivalent-1.0.2/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libequivalent-0716044aa765588b.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#downcast-rs@1.2.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/downcast-rs-1.2.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"downcast_rs","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/downcast-rs-1.2.1/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdowncast_rs-8c508cdab3c16fdb.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#object@0.37.3","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/build.rs","edition":"2018","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["archive","coff","elf","macho","pe","read_core","unaligned","xcoff"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/object-c15c6cd53b244d69/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base32@0.4.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base32","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base32-0.4.0/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase32-a058bee789873153.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hashbrown@0.16.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hashbrown","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hashbrown-0.16.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhashbrown-85e33829135e7350.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#memchr@2.8.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"memchr","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/memchr-2.8.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libmemchr-27aa143b1a2d0528.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmi_core@0.13.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmi_core","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_core-0.13.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmi_core-4a133da5611539ae.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-strkey@0.0.8","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_strkey","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-strkey-0.0.8/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_strkey-ecda2154df9d3dd4.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#indexmap@2.13.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"indexmap","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libindexmap-731e5fd289465b9e.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#object@0.37.3","linked_libs":[],"linked_paths":[],"cfgs":["core_error"],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/object-1eb0e5f6668d5727/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#indexmap@2.13.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"indexmap","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.13.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libindexmap-0d197c4d56175586.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libindexmap-0d197c4d56175586.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#arbitrary@1.3.2","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"arbitrary","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arbitrary-1.3.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["derive","derive_arbitrary"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libarbitrary-a1cf9976be3563ce.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@21.2.0","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","9bea881f2057e412fdbb98875841626bf77b4b88"]],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/stellar-xdr-a2c7654fef565a45/out"} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek@4.1.3","linked_libs":[],"linked_paths":[],"cfgs":["curve25519_dalek_bits=\"64\"","curve25519_dalek_backend=\"serial\""],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/curve25519-dalek-857af112b671454c/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crypto-common@0.1.6","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crypto_common","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-common-0.1.6/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrypto_common-4ede5578405cc99c.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrypto_common-4ede5578405cc99c.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#block-buffer@0.10.4","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"block_buffer","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/block-buffer-0.10.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libblock_buffer-259a510d23946e16.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libblock_buffer-259a510d23946e16.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@21.2.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["serde","shallow-val-hash","std","testutils","wasmi"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/soroban-env-common-85d635c53d3ff252/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#libc@0.2.183","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"libc","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libc-0.2.183/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/liblibc-20c98c45b8f6b445.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/liblibc-20c98c45b8f6b445.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#prettyplease@0.2.37","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/prettyplease-6775241ee91b6607/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base64@0.13.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base64","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase64-b48e843e244d9a20.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#fnv@1.0.7","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/fnv-1.0.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"fnv","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/fnv-1.0.7/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libfnv-834f935a7e7f2447.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libfnv-834f935a7e7f2447.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmi_arena@0.4.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmi_arena","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmi_arena-0.4.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmi_arena-df54b0c7f2160baa.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#spin@0.9.8","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"spin","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/spin-0.9.8/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["mutex","rwlock","spin_mutex","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libspin-f100a4a3c646ba7f.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#escape-bytes@0.1.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"escape_bytes","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/escape-bytes-0.1.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libescape_bytes-0793e7d5e248663a.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#smallvec@1.15.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"smallvec","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["union"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsmallvec-c7b797d1117a9f8f.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#adler2@2.0.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/adler2-2.0.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"adler2","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/adler2-2.0.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libadler2-5ffaa4e3032ec6a1.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#semver@1.0.27","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"semver","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/semver-1.0.27/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsemver-dfdd90840fd00baa.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_core@0.20.11","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling_core","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_core-0.20.11/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["strsim","suggestions"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_core-e1e05ecf024ad090.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_core-e1e05ecf024ad090.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#miniz_oxide@0.8.9","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"miniz_oxide","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/miniz_oxide-0.8.9/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libminiz_oxide-e781165208315a60.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#prettyplease@0.2.37","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/prettyplease-136884775dcad4f9/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cpufeatures","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cpufeatures-0.2.17/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcpufeatures-299cb41afad91810.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcpufeatures-299cb41afad91810.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#digest@0.10.7","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"digest","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/digest-0.10.7/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","block-buffer","core-api","default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdigest-18b6b6989020caaf.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdigest-18b6b6989020caaf.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@21.2.1","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","e44506e251b5bf80c0dd0674a816af9e24a871a7"]],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/soroban-env-common-95197403be13cb4f/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmparser@0.116.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmparser","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmparser-76a07b49b3d25912.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmparser-76a07b49b3d25912.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#curve25519-dalek@4.1.3","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"curve25519_dalek","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","digest","precomputed-tables","zeroize"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcurve25519_dalek-b574ea570285d412.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ed25519@2.2.3","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ed25519","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-2.2.3/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libed25519-1ead8f42bcf6434b.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#keccak@0.1.6","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"keccak","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/keccak-0.1.6/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libkeccak-713ac346f7130dd5.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@21.2.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/soroban-env-common-e6a18fef9a74ffbc/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#crypto-bigint@0.5.5","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"crypto_bigint","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["generic-array","rand_core","zeroize"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcrypto_bigint-6f66ca8126086526.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ethnum@1.5.2","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ethnum","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libethnum-5decaa31cdba7012.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#base64@0.13.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"base64","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/base64-0.13.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase64-4067a4a55fdd1db4.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbase64-4067a4a55fdd1db4.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#elliptic-curve@0.13.8","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"elliptic_curve","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/elliptic-curve-0.13.8/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","digest","ff","group","hazmat","sec1"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libelliptic_curve-3d9f75a971655151.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rustc-demangle@0.1.27","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rustc_demangle","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustc-demangle-0.1.27/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librustc_demangle-74437d6241e72544.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#primeorder@0.13.6","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"primeorder","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/primeorder-0.13.6/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libprimeorder-ec4223ec9bf298eb.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.4","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"cfg_if","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cfg-if-1.0.4/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcfg_if-76de021c492f10bf.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libcfg_if-76de021c492f10bf.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#static_assertions@1.1.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"static_assertions","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstatic_assertions-1ea5fd42fe2ed06a.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-host@21.2.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["recording_mode","testutils"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/soroban-env-host-ca97f57b34f393be/build-script-build"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-host@21.2.1","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/soroban-env-host-6a43c71857942b09/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sha2@0.10.9","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sha2","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha2-0.10.9/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsha2-7a6e9bfc88867a04.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsha2-7a6e9bfc88867a04.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-spec@21.7.7","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-21.7.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_spec","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-21.7.7/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_spec-1607cd956b7b3264.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_spec-1607cd956b7b3264.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@21.2.1","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["GIT_REVISION","e44506e251b5bf80c0dd0674a816af9e24a871a7"]],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/soroban-env-common-4f4449d6d683c770/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ecdsa@0.16.9","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ecdsa","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ecdsa-0.16.9/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","der","digest","hazmat","rfc6979","signing","verifying"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libecdsa-aee9dbec7e9ee10f.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#sha3@0.10.8","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"sha3","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/sha3-0.10.8/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsha3-b2347a444a266971.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#p256@0.13.2","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"p256","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/p256-0.13.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","digest","ecdsa","ecdsa-core","sha2","sha256"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libp256-5dc17bd41fa7c3be.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_core@1.0.228","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_core","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_core-1.0.228/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","result","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_core-604a09e3b94bb82d.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#gimli@0.32.3","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"gimli","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/gimli-0.32.3/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["read","read-core"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libgimli-e3b0974d21ede477.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#k256@0.13.4","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"k256","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/k256-0.13.4/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["arithmetic","digest","ecdsa","ecdsa-core","sha2","sha256"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libk256-6b9ce0255332429e.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#prettyplease@0.2.37","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"prettyplease","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/prettyplease-0.2.37/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libprettyplease-0f1320ce10c1c440.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libprettyplease-0f1320ce10c1c440.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling_macro@0.20.11","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.20.11/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"darling_macro","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling_macro-0.20.11/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling_macro-cab5b6d187b7641b.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-integer@0.1.46","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_integer","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["i128","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_integer-90b698aaab26fe85.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_integer-90b698aaab26fe85.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ed25519-dalek@2.2.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ed25519_dalek","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","fast","rand_core","std","zeroize"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libed25519_dalek-c7e444cb37e0cde2.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-builtin-sdk-macros@21.2.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"soroban_builtin_sdk_macros","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-builtin-sdk-macros-21.2.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_builtin_sdk_macros-2f27ae39f1386cc2.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk-macros@21.7.7","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/soroban-sdk-macros-959ceb0af00cb859/build-script-build"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#addr2line@0.25.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"addr2line","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/addr2line-0.25.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libaddr2line-d9e19a1d0454a0df.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zmij@1.0.21","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zmij","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zmij-1.0.21/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libzmij-ce9db1b21d01c2e2.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#static_assertions@1.1.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"static_assertions","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/static_assertions-1.1.0/src/lib.rs","edition":"2015","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstatic_assertions-a5d64fdf0a1b1727.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstatic_assertions-a5d64fdf0a1b1727.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-integer@0.1.46","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_integer","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-integer-0.1.46/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_integer-1c7e7f50a371ca3f.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ethnum@1.5.2","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ethnum","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ethnum-1.5.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libethnum-a0cb26c82052fdd3.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libethnum-a0cb26c82052fdd3.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@21.2.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_env_common","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_env_common-a93313b380fc3b58.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_env_common-a93313b380fc3b58.rmeta"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk-macros@21.7.7","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[["RUSTC_VERSION","1.93.0"],["GIT_REVISION","5da789c50b18a4c2be53394138212fed56f0dfc4"]],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/soroban-sdk-macros-9b414c03a86956cd/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#num-bigint@0.4.6","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"num_bigint","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-0.4.6/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_bigint-6f674b7d1b88a9c9.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libnum_bigint-6f674b7d1b88a9c9.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#darling@0.20.11","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"darling","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/darling-0.20.11/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","suggestions"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling-aaef6fa402ba8bf9.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libdarling-aaef6fa402ba8bf9.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-spec-rust@21.7.7","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_spec_rust","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-spec-rust-21.7.7/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_spec_rust-8aea80f31be63691.rlib","/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_spec_rust-8aea80f31be63691.rmeta"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk@21.7.7","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/Cargo.toml","target":{"kind":["custom-build"],"crate_types":["bin"],"name":"build-script-build","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/build.rs","edition":"2021","doc":false,"doctest":false,"test":false},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/soroban-sdk-88df91078e7fb76a/build-script-build"],"executable":null,"fresh":true} +{"reason":"build-script-executed","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk@21.7.7","linked_libs":[],"linked_paths":[],"cfgs":[],"env":[],"out_dir":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/build/soroban-sdk-7714f874571e684a/out"} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk-macros@21.7.7","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"soroban_sdk_macros","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-macros-21.7.7/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_sdk_macros-5f63f2cdf28bbbff.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#bytes-lit@0.0.5","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"bytes_lit","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-lit-0.0.5/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbytes_lit-328d966ba80a16f9.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ctor@0.2.9","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ctor-0.2.9/Cargo.toml","target":{"kind":["proc-macro"],"crate_types":["proc-macro"],"name":"ctor","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ctor-0.2.9/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":0,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libctor-e0e83f7eeeee73d2.dylib"],"executable":null,"fresh":true} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hex-literal@0.4.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hex_literal","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-literal-0.4.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhex_literal-b9d9f7818c060e04.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"itoa","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/itoa-1.0.18/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libitoa-0f70b8670e573295.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde@1.0.228","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde-1.0.228/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","derive","serde_derive","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde-df48f708bf2d4445.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmparser-nostd@0.100.2","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmparser_nostd","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-nostd-0.100.2/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmparser_nostd-969ec15799f82224.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#hex@0.4.3","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"hex","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/hex-0.4.3/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","serde","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libhex-870a7f489585db33.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.149","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_json","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.149/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_json-2634f6b705b54d06.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#object@0.37.3","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"object","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/object-0.37.3/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["archive","coff","elf","macho","pe","read_core","unaligned","xcoff"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libobject-ac254c351c416f75.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#wasmparser@0.116.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"wasmparser","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wasmparser-0.116.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libwasmparser-cca4f01ab10a9548.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#backtrace@0.3.76","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"backtrace","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/backtrace-0.3.76/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libbacktrace-4f4cb34f3e5fc1f0.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#zerocopy@0.8.47","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"zerocopy","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zerocopy-0.8.47/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["simd"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libzerocopy-dc3e5ddae9a22109.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#ppv-lite86@0.2.21","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"ppv_lite86","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ppv-lite86-0.2.21/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["simd","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libppv_lite86-e60e9171d2480a44.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#serde_with@3.18.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"serde_with","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/serde_with-3.18.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","hex","macros","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libserde_with-3c7f664fc5ea3df0.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rand_chacha@0.3.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rand_chacha","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand_chacha-0.3.1/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librand_chacha-80569c14ad348dd5.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#rand@0.8.5","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"rand","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rand-0.8.5/src/lib.rs","edition":"2018","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","default","getrandom","libc","rand_chacha","std","std_rng"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/librand-799f752db9b6b20c.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-wasmi@0.31.1-soroban.20.0.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_wasmi","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-wasmi-0.31.1-soroban.20.0.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["default","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_wasmi-b49f916157d4faf9.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#stellar-xdr@21.2.0","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"stellar_xdr","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/stellar-xdr-21.2.0/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["alloc","arbitrary","base64","curr","hex","serde","std"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libstellar_xdr-879f4c61cff22bef.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-common@21.2.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_env_common","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-common-21.2.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["serde","shallow-val-hash","std","testutils","wasmi"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_env_common-1b730141051fc1fa.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-env-host@21.2.1","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_env_host","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-env-host-21.2.1/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["recording_mode","testutils"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_env_host-559f5d673862100e.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-ledger-snapshot@21.7.7","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-ledger-snapshot-21.7.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_ledger_snapshot","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-ledger-snapshot-21.7.7/src/lib.rs","edition":"2021","doc":true,"doctest":true,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_ledger_snapshot-0aa677190ce17d8e.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-artifact","package_id":"registry+https://github.com/rust-lang/crates.io-index#soroban-sdk@21.7.7","manifest_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/Cargo.toml","target":{"kind":["lib"],"crate_types":["lib"],"name":"soroban_sdk","src_path":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":["testutils"],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libsoroban_sdk-7058e6d6e4c96b04.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-message","package_id":"path+file:///Users/macbook/dev/drips-wave3/agenticpay/contracts#agenticpay@0.1.0","manifest_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"agenticpay","src_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"no method named `with_mut` found for struct `soroban_sdk::ledger::Ledger` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":17722,"byte_end":17735,"line_start":585,"line_end":585,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":" env.ledger().with_mut(|li| {","highlight_start":9,"highlight_end":22}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":17735,"byte_end":17743,"line_start":585,"line_end":585,"column_start":22,"column_end":30,"is_primary":true,"text":[{"text":" env.ledger().with_mut(|li| {","highlight_start":22,"highlight_end":30}],"label":"method not found in `soroban_sdk::ledger::Ledger`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs","byte_start":7634,"byte_end":7642,"line_start":252,"line_end":252,"column_start":8,"column_end":16,"is_primary":false,"text":[{"text":" fn with_mut(&self, f: F)","highlight_start":8,"highlight_end":16}],"label":"the method is available for `soroban_sdk::ledger::Ledger` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"trait `Ledger` which provides `with_mut` is implemented but not in scope; perhaps you want to import it","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":14120,"byte_end":14120,"line_start":471,"line_end":471,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":" use super::*;","highlight_start":5,"highlight_end":5}],"label":null,"suggested_replacement":"use soroban_sdk::testutils::Ledger;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `with_mut` found for struct `soroban_sdk::ledger::Ledger` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/lib.rs:585:22\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m585\u001b[0m \u001b[1m\u001b[94m|\u001b[0m env.ledger().with_mut(|li| {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-------------\u001b[0m\u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mmethod not found in `soroban_sdk::ledger::Ledger`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m::: \u001b[0m/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs:252:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m252\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn with_mut(&self, f: F)\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------\u001b[0m \u001b[1m\u001b[94mthe method is available for `soroban_sdk::ledger::Ledger` here\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: trait `Ledger` which provides `with_mut` is implemented but not in scope; perhaps you want to import it\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m471\u001b[0m \u001b[92m+ \u001b[0m \u001b[92muse soroban_sdk::testutils::Ledger;\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\n"}} +{"reason":"compiler-message","package_id":"path+file:///Users/macbook/dev/drips-wave3/agenticpay/contracts#agenticpay@0.1.0","manifest_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"agenticpay","src_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"no method named `with_mut` found for struct `soroban_sdk::ledger::Ledger` in the current scope","code":{"code":"E0599","explanation":"This error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n // in the current scope\n```\n\nIn this case, you need to implement the `chocolate` method to fix the error:\n\n```\nstruct Mouth;\n\nimpl Mouth {\n fn chocolate(&self) { // We implement the `chocolate` method here.\n println!(\"Hmmm! I love chocolate!\");\n }\n}\n\nlet x = Mouth;\nx.chocolate(); // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":19053,"byte_end":19066,"line_start":629,"line_end":629,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":" env.ledger().with_mut(|li| {","highlight_start":9,"highlight_end":22}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":19066,"byte_end":19074,"line_start":629,"line_end":629,"column_start":22,"column_end":30,"is_primary":true,"text":[{"text":" env.ledger().with_mut(|li| {","highlight_start":22,"highlight_end":30}],"label":"method not found in `soroban_sdk::ledger::Ledger`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs","byte_start":7634,"byte_end":7642,"line_start":252,"line_end":252,"column_start":8,"column_end":16,"is_primary":false,"text":[{"text":" fn with_mut(&self, f: F)","highlight_start":8,"highlight_end":16}],"label":"the method is available for `soroban_sdk::ledger::Ledger` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"items from traits can only be used if the trait is in scope","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"trait `Ledger` which provides `with_mut` is implemented but not in scope; perhaps you want to import it","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":14120,"byte_end":14120,"line_start":471,"line_end":471,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":" use super::*;","highlight_start":5,"highlight_end":5}],"label":null,"suggested_replacement":"use soroban_sdk::testutils::Ledger;\n","suggestion_applicability":"MaybeIncorrect","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0599]\u001b[0m\u001b[1m: no method named `with_mut` found for struct `soroban_sdk::ledger::Ledger` in the current scope\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/lib.rs:629:22\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m629\u001b[0m \u001b[1m\u001b[94m|\u001b[0m env.ledger().with_mut(|li| {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-------------\u001b[0m\u001b[1m\u001b[91m^^^^^^^^\u001b[0m \u001b[1m\u001b[91mmethod not found in `soroban_sdk::ledger::Ledger`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m::: \u001b[0m/Users/macbook/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/soroban-sdk-21.7.7/src/testutils.rs:252:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m252\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn with_mut(&self, f: F)\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------\u001b[0m \u001b[1m\u001b[94mthe method is available for `soroban_sdk::ledger::Ledger` here\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: items from traits can only be used if the trait is in scope\n\u001b[1m\u001b[96mhelp\u001b[0m: trait `Ledger` which provides `with_mut` is implemented but not in scope; perhaps you want to import it\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m471\u001b[0m \u001b[92m+ \u001b[0m \u001b[92muse soroban_sdk::testutils::Ledger;\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\n"}} +{"reason":"compiler-message","package_id":"path+file:///Users/macbook/dev/drips-wave3/agenticpay/contracts#agenticpay@0.1.0","manifest_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"agenticpay","src_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"this method takes 6 arguments but 5 arguments were supplied","code":{"code":"E0061","explanation":"An invalid number of arguments was passed when calling a function.\n\nErroneous code example:\n\n```compile_fail,E0061\nfn f(u: i32) {}\n\nf(); // error!\n```\n\nThe number of arguments passed to a function must match the number of arguments\nspecified in the function signature.\n\nFor example, a function like:\n\n```\nfn f(a: u16, b: &str) {}\n```\n\nMust always be called with exactly two arguments, e.g., `f(2, \"test\")`.\n\nNote that Rust does not have a notion of optional function arguments or\nvariadic functions (except for its C-FFI).\n"},"level":"error","spans":[{"file_name":"src/lib.rs","byte_start":23243,"byte_end":23425,"line_start":751,"line_end":757,"column_start":39,"column_end":10,"is_primary":false,"text":[{"text":" let id = client.create_project(","highlight_start":39,"highlight_end":40},{"text":" &user,","highlight_start":1,"highlight_end":19},{"text":" &freelancer,","highlight_start":1,"highlight_end":25},{"text":" &700,","highlight_start":1,"highlight_end":18},{"text":" &String::from_str(&env, \"Single\"),","highlight_start":1,"highlight_end":47},{"text":" &String::from_str(&env, \"https://github.com/s1\"),","highlight_start":1,"highlight_end":62},{"text":" );","highlight_start":1,"highlight_end":10}],"label":"argument #6 of type `&u64` is missing","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":23229,"byte_end":23243,"line_start":751,"line_end":751,"column_start":25,"column_end":39,"is_primary":true,"text":[{"text":" let id = client.create_project(","highlight_start":25,"highlight_end":39}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"method defined here","code":null,"level":"note","spans":[{"file_name":"src/lib.rs","byte_start":1893,"byte_end":1906,"line_start":82,"line_end":82,"column_start":9,"column_end":22,"is_primary":false,"text":[{"text":" deadline: u64,","highlight_start":9,"highlight_end":22}],"label":"","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/lib.rs","byte_start":1717,"byte_end":1731,"line_start":75,"line_end":75,"column_start":12,"column_end":26,"is_primary":true,"text":[{"text":" pub fn create_project(","highlight_start":12,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"provide the argument","code":null,"level":"help","spans":[{"file_name":"src/lib.rs","byte_start":23243,"byte_end":23425,"line_start":751,"line_end":757,"column_start":39,"column_end":10,"is_primary":true,"text":[{"text":" let id = client.create_project(","highlight_start":39,"highlight_end":40},{"text":" &user,","highlight_start":1,"highlight_end":19},{"text":" &freelancer,","highlight_start":1,"highlight_end":25},{"text":" &700,","highlight_start":1,"highlight_end":18},{"text":" &String::from_str(&env, \"Single\"),","highlight_start":1,"highlight_end":47},{"text":" &String::from_str(&env, \"https://github.com/s1\"),","highlight_start":1,"highlight_end":62},{"text":" );","highlight_start":1,"highlight_end":10}],"label":null,"suggested_replacement":"(\n &user,\n &freelancer,\n &700,\n &String::from_str(&env, \"Single\"),\n &String::from_str(&env, \"https://github.com/s1\"),\n /* &u64 */,\n )","suggestion_applicability":"HasPlaceholders","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0061]\u001b[0m\u001b[1m: this method takes 6 arguments but 5 arguments were supplied\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/lib.rs:751:25\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m751\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let id = client.create_project(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m _________________________\u001b[0m\u001b[1m\u001b[91m^^^^^^^^^^^^^^\u001b[0m\u001b[1m\u001b[94m-\u001b[0m\n\u001b[1m\u001b[94m752\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &user,\n\u001b[1m\u001b[94m753\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &freelancer,\n\u001b[1m\u001b[94m754\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &700,\n\u001b[1m\u001b[94m755\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &String::from_str(&env, \"Single\"),\n\u001b[1m\u001b[94m756\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &String::from_str(&env, \"https://github.com/s1\"),\n\u001b[1m\u001b[94m757\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m );\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|_________-\u001b[0m \u001b[1m\u001b[94margument #6 of type `&u64` is missing\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[92mnote\u001b[0m: method defined here\n \u001b[1m\u001b[94m--> \u001b[0msrc/lib.rs:75:12\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m75\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn create_project(\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[92m^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n \u001b[1m\u001b[94m82\u001b[0m \u001b[1m\u001b[94m|\u001b[0m deadline: u64,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-------------\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: provide the argument\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m751\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let id = client.create_project(\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m756\u001b[0m \u001b[1m\u001b[94m|\u001b[0m &String::from_str(&env, \"https://github.com/s1\"),\n\u001b[1m\u001b[94m757\u001b[0m \u001b[92m~ \u001b[0m \u001b[92m /* &u64 */,\u001b[0m\n\u001b[1m\u001b[94m758\u001b[0m \u001b[92m~ \u001b[0m);\n \u001b[1m\u001b[94m|\u001b[0m\n\n"}} +{"reason":"compiler-artifact","package_id":"path+file:///Users/macbook/dev/drips-wave3/agenticpay/contracts#agenticpay@0.1.0","manifest_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"agenticpay","src_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"profile":{"opt_level":"0","debuginfo":2,"debug_assertions":true,"overflow_checks":true,"test":false},"features":[],"filenames":["/Users/macbook/dev/drips-wave3/agenticpay/contracts/./target_local/debug/deps/libagenticpay-aabad211886c659f.rmeta"],"executable":null,"fresh":false} +{"reason":"compiler-message","package_id":"path+file:///Users/macbook/dev/drips-wave3/agenticpay/contracts#agenticpay@0.1.0","manifest_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"agenticpay","src_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"Some errors have detailed explanations: E0061, E0599.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mSome errors have detailed explanations: E0061, E0599.\u001b[0m\n"}} +{"reason":"compiler-message","package_id":"path+file:///Users/macbook/dev/drips-wave3/agenticpay/contracts#agenticpay@0.1.0","manifest_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/Cargo.toml","target":{"kind":["cdylib"],"crate_types":["cdylib"],"name":"agenticpay","src_path":"/Users/macbook/dev/drips-wave3/agenticpay/contracts/src/lib.rs","edition":"2021","doc":true,"doctest":false,"test":true},"message":{"$message_type":"diagnostic","message":"For more information about an error, try `rustc --explain E0061`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mFor more information about an error, try `rustc --explain E0061`.\u001b[0m\n"}} +{"reason":"build-finished","success":false} diff --git a/docker-compose.yml b/docker-compose.yml index acdcce61..1b8367bd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,5 @@ # Backend services for local development and Devcontainer networking. # Start: docker compose up -d -# Sandbox: docker compose -f docker-compose.yml -f docker-compose.sandbox.yml up -d - -version: '3.8' services: postgres: @@ -60,58 +57,6 @@ services: depends_on: - loki - backend: - image: node:20-alpine - working_dir: /app - command: sh -c "npm install && npm run dev" - ports: - - '4000:4000' - environment: - NODE_ENV: development - DATABASE_URL: postgres://postgres:postgres@postgres:5432/agenticpay - REDIS_URL: redis://redis:6379 - LOG_API_URL: http://loki:3100 - volumes: - - ./backend:/app - - /app/node_modules - depends_on: - postgres: - condition: service_healthy - redis: - condition: service_healthy - develop: - watch: - - action: sync - path: ./backend - target: /app - - action: rebuild - path: ./backend/package.json - - frontend: - image: node:20-alpine - working_dir: /app - command: sh -c "npm install && npm run dev" - ports: - - '3000:3000' - environment: - NODE_ENV: development - NEXT_PUBLIC_API_URL: http://backend:4000 - NEXT_PUBLIC_CDN_URL: '' - NEXT_TELEMETRY_DISABLED: '1' - volumes: - - ./frontend:/app - - /app/node_modules - - /app/.next - depends_on: - - backend - develop: - watch: - - action: sync - path: ./frontend - target: /app - - action: rebuild - path: ./frontend/package.json - volumes: agenticpay-postgres: agenticpay-redis: diff --git a/docs/sdk/ERROR-HANDLING.md b/docs/sdk/ERROR-HANDLING.md index 428d6187..298c48fe 100644 --- a/docs/sdk/ERROR-HANDLING.md +++ b/docs/sdk/ERROR-HANDLING.md @@ -1,114 +1,43 @@ -# SDK Error Handling Guide +# SDK error handling (#408) -## Error Hierarchy +The SDK maps HTTP failures to typed errors in `packages/sdk/src/errors.ts`. -All SDKs implement a consistent error hierarchy that maps HTTP status codes to typed exceptions: +## Error types -``` -AgenticPayError (base) -├── AuthenticationError (401) -├── AuthorizationError (403) -├── ValidationError (400) -├── NotFoundError (404) -├── RateLimitError (429) -├── NetworkError (connection failures) -└── AgenticPayApiError (registry-based errors) - ├── AuthUnauthenticatedError - ├── AuthForbiddenError - ├── RequestValidationError - ├── ResourceNotFoundError - ├── PaymentInsufficientFundsError - ├── BlockchainTransactionFailedError - ├── ApiRateLimitError - └── InternalApiError -``` - -## Error Properties - -All errors provide: - -| Property | Type | Description | -|----------|------|-------------| -| `message` | string | Human-readable error description | -| `status` | number? | HTTP status code (if applicable) | -| `code` | string? | Machine-readable error code (e.g., `ERR_VALIDATION_FAILED`) | -| `details` | any? | Additional error context (validation errors, field details, etc.) | +| Class | HTTP | When | +|-------|------|------| +| `AuthenticationError` | 401 | Invalid or missing API key | +| `AuthorizationError` | 403 | Insufficient scope | +| `ValidationError` | 400 | Invalid request body | +| `RateLimitError` | 429 | Rate limit exceeded | +| `NetworkError` | — | Transport / DNS failures | +| `AgenticPayError` | any | Base class with `status`, `code`, `details` | -## Error Codes +## Example -| Code | HTTP Status | Description | -|------|-------------|-------------| -| `ERR_AUTH_UNAUTHENTICATED` | 401 | Missing or invalid authentication | -| `ERR_AUTH_FORBIDDEN` | 403 | Insufficient permissions | -| `ERR_VALIDATION_FAILED` | 400 | Request validation failure | -| `ERR_RESOURCE_NOT_FOUND` | 404 | Resource does not exist | -| `ERR_CONFIG_INVALID_VALUE` | 400 | Configuration value invalid | -| `ERR_CONFIG_CONFLICT` | 409 | Resource conflict | -| `ERR_PAYMENT_INSUFFICIENT_FUNDS` | 402 | Insufficient funds for payment | -| `ERR_BLOCKCHAIN_TRANSACTION_FAILED` | 502 | On-chain transaction failure | -| `ERR_RATE_LIMIT_EXCEEDED` | 429 | Rate limit exceeded | -| `ERR_INTERNAL` | 500 | Internal server error | +```ts +import { + createAgenticPaySDK, + RateLimitError, + ValidationError, +} from '@agenticpay/sdk'; -## Best Practices +const sdk = createAgenticPaySDK({ baseUrl, apiKey }); -### 1. Always handle errors at the call site - -```typescript try { - const escrow = await sdk.escrow.create({...}); + await sdk.payments.createSplitConfig({ /* ... */ }); } catch (err) { - if (err instanceof ValidationError) { - showFieldErrors(err.details); - } else if (err instanceof AuthenticationError) { - redirectToLogin(); + if (err instanceof RateLimitError) { + const retryAfter = (err.details as { retryAfter?: number })?.retryAfter ?? 60; + console.warn(`Rate limited — retry in ${retryAfter}s`); + } else if (err instanceof ValidationError) { + console.error('Invalid payload', err.details); } else { - showGenericError(); + throw err; } } ``` -### 2. Implement retry with backoff for transient errors - -```python -import time -from agenticpay import RateLimitError, NetworkError - -def call_with_retry(fn, max_retries=3): - for attempt in range(max_retries): - try: - return fn() - except (RateLimitError, NetworkError): - if attempt < max_retries - 1: - time.sleep(2 ** attempt) - else: - raise -``` - -### 3. Log error codes for debugging +## Retries -```go -result, err := client.Escrow.Create(ctx, params) -if err != nil { - if apiErr, ok := err.(*agenticpay.APIError); ok { - log.Printf("API error code=%s status=%d message=%s", - apiErr.Code, apiErr.StatusCode, apiErr.Message) - } - return err -} -``` - -### 4. Handle blockchain-specific errors - -```typescript -try { - await sdk.escrow.fund(escrowId, { amount: 1000 }); -} catch (err) { - if (err instanceof BlockchainTransactionFailedError) { - // Stellar transaction failed - check network status - const status = await sdk.stellar.getNetworkStatus(); - if (!status.healthy) { - console.log('Stellar network is currently unhealthy'); - } - } -} -``` +The HTTP client retries idempotent requests on 5xx and network errors with exponential backoff. Non-idempotent `POST` calls are not retried automatically. diff --git a/docs/sdk/MIGRATION-FROM-REST.md b/docs/sdk/MIGRATION-FROM-REST.md index 3b539789..35a13979 100644 --- a/docs/sdk/MIGRATION-FROM-REST.md +++ b/docs/sdk/MIGRATION-FROM-REST.md @@ -1,131 +1,44 @@ -# Migrating from REST API to SDK +# Migrating from REST to the SDK (#408) -This guide helps you transition from direct REST API calls to using the official AgenticPay SDK. +## Install -## Before (REST API) +```bash +npm install @agenticpay/sdk +``` -```typescript -// Direct fetch calls -const response = await fetch('https://api.agenticpay.com/api/v1/verification/verify', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'x-api-key': process.env.AGENTICPAY_API_KEY!, - }, - body: JSON.stringify({ - repositoryUrl: 'https://github.com/user/repo', - milestoneDescription: 'Build login', - projectId: 'proj_123', - }), -}); +## Base URL and auth -if (!response.ok) { - const error = await response.json(); - throw new Error(error.message); -} +**REST** -const result = await response.json(); +```http +GET /api/v1/splits/configs?merchantId=m_123 +Authorization: Bearer YOUR_API_KEY ``` -## After (SDK) +**SDK** -```typescript +```ts import { createAgenticPaySDK } from '@agenticpay/sdk'; const sdk = createAgenticPaySDK({ baseUrl: 'https://api.agenticpay.com/api/v1', - apiKey: process.env.AGENTICPAY_API_KEY!, -}); - -const result = await sdk.verification.verifyWork({ - repositoryUrl: 'https://github.com/user/repo', - milestoneDescription: 'Build login', - projectId: 'proj_123', + apiKey: process.env.AGENTICPAY_API_KEY, }); ``` -## Key Differences - -| Aspect | REST API | SDK | -|--------|----------|-----| -| **Authentication** | Manual header management | Automatic with config | -| **Error handling** | Manual status code checking | Typed error classes | -| **Retries** | Must implement yourself | Built-in exponential backoff | -| **Types** | Must define yourself | Full TypeScript/Python/Go types | -| **URL construction** | Manual string building | Type-safe method calls | -| **Pagination** | Manual query params | Built-in pagination helpers | +## Endpoint mapping -## Error Handling Migration +| REST | SDK | +|------|-----| +| `POST /verification/verify` | `sdk.verification.verify(...)` | +| `POST /splits/configs` | `sdk.payments.createSplitConfig(...)` | +| `GET /splits/configs/:id` | `sdk.payments.getSplitConfig(...)` | +| `POST /refunds` | `sdk.refunds.create(...)` | -### Before - -```typescript -const response = await fetch(url, options); -if (response.status === 401) { - // Handle auth error -} else if (response.status === 429) { - // Handle rate limit -} else if (response.status >= 500) { - // Handle server error -} else if (!response.ok) { - // Handle other errors -} -``` - -### After - -```typescript -try { - const result = await sdk.verification.verifyWork({...}); -} catch (err) { - if (err instanceof AuthenticationError) { /* ... */ } - else if (err instanceof RateLimitError) { /* ... */ } - else if (err instanceof AgenticPayError && err.status >= 500) { /* ... */ } - else if (err instanceof ValidationError) { /* ... */ } -} -``` +## OpenAPI-generated client -## Testing Migration - -### Before - -```typescript -// Had to mock fetch globally -global.fetch = vi.fn().mockResolvedValue({ - ok: true, - json: () => Promise.resolve({ id: 'v_1' }), -}); -``` - -### After - -```typescript -import { MockAgenticPayServer, createTestSDK } from '@agenticpay/sdk-testing'; - -const server = await MockAgenticPayServer.create({ - routes: [ - { method: 'POST', path: '/verification/verify', body: { id: 'v_1' } }, - ], -}); -const sdk = createTestSDK({ baseUrl: server.url }); -``` +The repo also ships an OpenAPI `openapi-fetch` client under `backend/docs/api/sdks/typescript/`. Prefer `@agenticpay/sdk` for curated ergonomics; use the generated client when you need every OpenAPI operation immediately after spec updates. -## Endpoint Mapping +## Webhooks -| REST Endpoint | SDK Method | -|--------------|------------| -| `POST /verification/verify` | `sdk.verification.verifyWork(input)` | -| `POST /verification/verify/batch` | `sdk.verification.verifyWorkBatch(items)` | -| `POST /invoice/generate` | `sdk.invoices.generate(input)` | -| `POST /splits` | `sdk.payments.createSplitConfig(input)` | -| `POST /splits/:id/execute` | `sdk.payments.executeSplit(input)` | -| `POST /refunds/policies` | `sdk.refunds.setPolicy(input)` | -| `POST /refunds/evaluate` | `sdk.refunds.evaluate(input)` | -| `POST /plans` | `sdk.subscriptions.createPlan(input)` | -| `POST /subscriptions/enroll` | `sdk.subscriptions.enroll(input)` | -| `DELETE /subscriptions/:id` | `sdk.subscriptions.cancel(id, input)` | -| `POST /escrow` | `sdk.escrow.create(input)` | -| `POST /escrow/:id/fund` | `sdk.escrow.fund(id, input)` | -| `POST /disputes` | `sdk.disputes.create(input)` | -| `GET /stellar/payment/:hash` | `sdk.stellar.getPayment(hash)` | -| `GET /sandbox/status` | `sdk.sandbox.getStatus()` | +Incoming provider webhooks stay HTTP endpoints (`POST /webhooks/stripe`). Outbound merchant webhooks are configured via the dashboard or `/api/v1/webhooks` — not the SDK. diff --git a/fix-paths.js b/fix-paths.js new file mode 100644 index 00000000..156e8028 --- /dev/null +++ b/fix-paths.js @@ -0,0 +1,27 @@ +const fs = require('fs'); + +function replaceFile(path, search, replace) { + if (fs.existsSync(path)) { + const data = fs.readFileSync(path, 'utf8'); + fs.writeFileSync(path, data.replace(search, replace)); + } +} + +replaceFile('backend/src/services/push.ts', + "import { webpush, setVapidDetails } from 'webpush';", + "import webpush from 'web-push';\nconst { setVapidDetails } = webpush;" +); + +['email.ts', 'in-app.ts', 'sms.ts'].forEach(file => { + replaceFile(`backend/src/services/notifications/channels/${file}`, + "import { config } from '../../config.js';", + "import { config } from '../../../config.js';" + ); +}); + +['deliveryTracker.ts', 'preferenceService.ts', 'templateService.ts'].forEach(file => { + replaceFile(`backend/src/services/notifications/${file}`, + "import { config } from '../config.js';", + "import { config } from '../../config.js';" + ); +}); diff --git a/frontend/.gitignore b/frontend/.gitignore index 442b8d29..11c08d3e 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -12,15 +12,6 @@ # testing /coverage -/__snapshots__/ -*.snap -/test-results/ -/playwright-report/ -/blob-report/ -/.playwright/ -/playwright/.cache/ -**/__snapshots__/ -/e2e/__snapshots__/ # next.js /.next/ @@ -49,17 +40,9 @@ yarn-error.log* *.tsbuildinfo next-env.d.ts -# storybook -storybook-static/ # playwright /playwright-report /blob-report /test-results /.playwright /playwright/.cache - -# output files -output.txt -/app/output.txt -/components/layout/output.txt - diff --git a/frontend/app/accessibility/page.tsx b/frontend/app/accessibility/page.tsx new file mode 100644 index 00000000..df7de68a --- /dev/null +++ b/frontend/app/accessibility/page.tsx @@ -0,0 +1,159 @@ +import type { Metadata } from 'next'; +import Link from 'next/link'; +import { ArrowLeft, CheckCircle2, LifeBuoy, ShieldCheck } from 'lucide-react'; +import { Navbar } from '@/components/landing/Navbar'; +import { observeCacheEnvelope } from '@/lib/cache/headers'; +import { getAccessibilitySnapshot } from '@/lib/server/public-cache'; + +export const metadata: Metadata = { + title: 'Accessibility Statement | AgenticPay', + description: + 'Learn how AgenticPay approaches accessibility, inclusive design, keyboard support, and ongoing improvements.', +}; + +export const revalidate = 86400; + +export default async function AccessibilityPage() { + const snapshot = await getAccessibilitySnapshot(); + observeCacheEnvelope(snapshot); + const { commitments, supportItems, lastUpdated } = snapshot.data; + + return ( +
+ + +
+
+
+ + + Back to home + + +
+
+
+ + Accessibility Statement +
+

+ Building AgenticPay for more people, in more ways +

+

+ AgenticPay is committed to creating a product that is usable, understandable, + and inclusive for everyone. Accessibility is part of how we design, build, and + improve the platform. +

+

Last updated: {lastUpdated}

+
+ +
+
+

+ Our commitment +

+

+ We aim to provide an experience that supports a wide range of users, + including people who rely on assistive technologies such as screen readers, + keyboard navigation, zoom, and reduced motion settings. +

+
+ {commitments.map((item) => ( +
+
+ +

{item}

+
+
+ ))} +
+
+ +
+

+ Standards and ongoing work +

+
+

+ Our goal is to align with generally accepted accessibility best practices, + including the Web Content Accessibility Guidelines (WCAG), as the product + evolves. +

+

+ Accessibility work is ongoing. Some areas of the platform may still be + improving, especially where third-party wallets, external integrations, or + rapidly changing product surfaces are involved. +

+

+ We treat accessibility feedback as product feedback, which means we use it to + guide fixes, prioritization, and future design decisions. +

+
+
+ +
+

+ Need help or want to report an issue? +

+
+
+ +
+

+ If you experience an accessibility barrier while using AgenticPay, please + report it through the project's{' '} + + GitHub issue tracker + + . +

+
    + {supportItems.map((item) => ( +
  • {item}
  • + ))} +
+
+
+
+
+ +
+

+ Review and updates +

+

+ We review this statement at least annually and update it as our product, + design system, and support processes mature. +

+
+
+
+
+
+
+
+ ); +} diff --git a/frontend/app/auth/page.tsx b/frontend/app/auth/page.tsx new file mode 100644 index 00000000..3849ca77 --- /dev/null +++ b/frontend/app/auth/page.tsx @@ -0,0 +1,65 @@ +'use client'; + +import { motion } from 'framer-motion'; +import { SocialLogin } from '@/components/auth/SocialLogin'; +import { WalletConnect } from '@/components/auth/WalletConnect'; +import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; +import { Wallet, Users } from 'lucide-react'; + +export default function AuthPage() { + return ( +
+ +
+
+ + + +

+ Welcome to AgenticPay +

+

+ Get paid instantly for your work +

+
+ + + + + + Social Login + + + + Web3 Wallet + + + + + + + + + + + + +

+ By continuing, you agree to our Terms of Service and Privacy Policy +

+
+
+
+ ); +} + diff --git a/frontend/app/dashboard/DashboardCharts.tsx b/frontend/app/dashboard/DashboardCharts.tsx new file mode 100644 index 00000000..d0b19dd9 --- /dev/null +++ b/frontend/app/dashboard/DashboardCharts.tsx @@ -0,0 +1,82 @@ +'use client'; + +import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; +import { TrendingUp } from 'lucide-react'; +import { motion } from 'framer-motion'; +import { + LineChart, + Line, + PieChart, + Pie, + Cell, + XAxis, + YAxis, + CartesianGrid, + Tooltip, + Legend, + ResponsiveContainer, +} from 'recharts'; + +interface DashboardChartsProps { + trendData: Array<{ month: string; revenue: number; earnings: number }>; + distributionData: Array<{ name: string; value: number; color: string }>; +} + +export default function DashboardCharts({ trendData, distributionData }: DashboardChartsProps) { + return ( +
+ + + + + Revenue Trends + + + + + + + + + + + + + + + + + + + + + + + Portfolio Distribution + + + + + `${name} ${((percent || 0) * 100).toFixed(0)}%`} + > + {distributionData.map((entry, index) => ( + + ))} + + + + + + + + +
+ ); +} diff --git a/frontend/app/dashboard/analytics/loading.tsx b/frontend/app/dashboard/analytics/loading.tsx new file mode 100644 index 00000000..3fba62f5 --- /dev/null +++ b/frontend/app/dashboard/analytics/loading.tsx @@ -0,0 +1,25 @@ +import { Skeleton } from '@/components/ui/skeleton'; + +export default function AnalyticsLoading() { + return ( +
+
+
+ + +
+ +
+
+ {[1, 2, 3, 4].map((i) => ( + + ))} +
+
+ + +
+ +
+ ); +} diff --git a/frontend/app/dashboard/analytics/page.tsx b/frontend/app/dashboard/analytics/page.tsx new file mode 100644 index 00000000..023d7ad9 --- /dev/null +++ b/frontend/app/dashboard/analytics/page.tsx @@ -0,0 +1,461 @@ +'use client'; + +import { useEffect, useState, useCallback } from 'react'; +import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; +import { Button } from '@/components/ui/button'; +import { + AreaChart, + Area, + BarChart, + Bar, + FunnelChart, + Funnel, + LabelList, + PieChart, + Pie, + Cell, + XAxis, + YAxis, + CartesianGrid, + Tooltip, + Legend, + ResponsiveContainer, +} from 'recharts'; +import { + Activity, + AlertTriangle, + CheckCircle2, + DollarSign, + Download, + TrendingUp, + Wifi, + WifiOff, + BarChart3, +} from 'lucide-react'; + +// ── Types (mirrored from backend analytics.ts) ───────────────────────────── + +interface FunnelStep { + stage: string; + count: number; + amount: number; + conversionRate: number; +} + +interface RevenuePoint { + timestamp: string; + revenue: number; + count: number; + network: string; +} + +interface AnomalyAlert { + id: string; + type: string; + severity: 'info' | 'warning' | 'critical'; + message: string; + detectedAt: string; +} + +interface SegmentBreakdown { + label: string; + count: number; + amount: number; + percentage: number; +} + +interface AnalyticsSummary { + totalRevenue: number; + totalPayments: number; + successRate: number; + avgPaymentAmount: number; +} + +interface AnalyticsSnapshot { + funnel: FunnelStep[]; + revenue: RevenuePoint[]; + anomalies: AnomalyAlert[]; + byNetwork: SegmentBreakdown[]; + byCurrency: SegmentBreakdown[]; + summary: AnalyticsSummary; + generatedAt: string; +} + +interface MerchantPercentile { + volumePercentile: number; + successRatePercentile: number; + avgAmountPercentile: number; + note: string; +} + +// ── Constants ────────────────────────────────────────────────────────────── + +const COLORS = ['#3b82f6', '#10b981', '#f59e0b', '#8b5cf6', '#ef4444']; +const API_URL = process.env.NEXT_PUBLIC_API_URL ?? 'http://localhost:3001'; +const WS_URL = API_URL.replace(/^http/, 'ws').replace(/\/api.*$/, '') + '/ws'; + +const SEVERITY_COLOR: Record = { + info: 'bg-blue-50 border-blue-200 text-blue-800', + warning: 'bg-yellow-50 border-yellow-200 text-yellow-800', + critical: 'bg-red-50 border-red-200 text-red-800', +}; + +const TIME_PRESETS = [ + { label: '1h', hours: 1 }, + { label: '24h', hours: 24 }, + { label: '7d', hours: 168 }, + { label: '30d', hours: 720 }, +] as const; + +// ── Component ────────────────────────────────────────────────────────────── + +export default function AnalyticsPage() { + const [data, setData] = useState(null); + const [percentiles, setPercentiles] = useState(null); + const [wsConnected, setWsConnected] = useState(false); + const [lastUpdated, setLastUpdated] = useState(''); + const [hours, setHours] = useState(24); + + const applySnapshot = useCallback((snapshot: AnalyticsSnapshot) => { + setData(snapshot); + setLastUpdated(new Date().toLocaleTimeString()); + }, []); + + const fetchSnapshot = useCallback( + (selectedHours: number) => { + fetch(`${API_URL}/api/v1/analytics?hours=${selectedHours}`) + .then((r) => r.json()) + .then(applySnapshot) + .catch(console.error); + + fetch(`${API_URL}/api/v1/analytics/percentiles?hours=${selectedHours}`) + .then((r) => r.json()) + .then(setPercentiles) + .catch(console.error); + }, + [applySnapshot], + ); + + // Fetch when time period changes + useEffect(() => { + fetchSnapshot(hours); + }, [hours, fetchSnapshot]); + + // Subscribe to real-time updates via WebSocket + useEffect(() => { + let ws: WebSocket; + let reconnectTimeout: ReturnType; + + function connect() { + try { + ws = new WebSocket(WS_URL); + ws.onopen = () => setWsConnected(true); + ws.onmessage = (event) => { + try { + const msg = JSON.parse(event.data as string); + if (msg.type === 'analytics:update' && msg.payload) { + applySnapshot(msg.payload as AnalyticsSnapshot); + } + } catch { + // ignore malformed frames + } + }; + ws.onclose = () => { + setWsConnected(false); + reconnectTimeout = setTimeout(connect, 5000); + }; + ws.onerror = () => ws.close(); + } catch { + reconnectTimeout = setTimeout(connect, 5000); + } + } + + connect(); + return () => { + clearTimeout(reconnectTimeout); + ws?.close(); + }; + }, [applySnapshot]); + + const handleExport = () => { + window.open(`${API_URL}/api/v1/analytics/export?hours=${hours}`, '_blank'); + }; + + if (!data) { + return ( +
+
+ +

Loading analytics…

+
+
+ ); + } + + const { funnel, revenue, anomalies, byNetwork, byCurrency, summary } = data; + + const revenueForChart = revenue.map((p) => ({ + time: p.timestamp.slice(11, 16) || p.timestamp.slice(0, 10), + revenue: Math.round(p.revenue * 100) / 100, + count: p.count, + })); + + const funnelForChart = funnel.map((s) => ({ + name: s.stage.charAt(0).toUpperCase() + s.stage.slice(1), + value: s.count, + fill: s.stage === 'completed' ? '#10b981' : s.stage === 'failed' ? '#ef4444' : '#3b82f6', + })); + + return ( +
+ {/* Header */} +
+
+

Payment Analytics

+

+ Real-time metrics, funnel analysis, and anomaly detection +

+
+ +
+ {/* Time period selector */} +
+ {TIME_PRESETS.map((preset) => ( + + ))} +
+ + {/* Export CSV */} + + + {/* Live status */} +
+ {wsConnected ? ( + + Live + + ) : ( + + Offline + + )} + {lastUpdated && Updated {lastUpdated}} +
+
+
+ + {/* Anomaly Alerts */} + {anomalies.length > 0 && ( +
+ {anomalies.map((alert) => ( +
+
+ ))} +
+ )} + + {/* KPI Cards */} +
+ + + Total Revenue + + +

{summary.totalRevenue.toFixed(2)}

+

+ Last {hours < 24 ? `${hours}h` : hours === 24 ? '24 hours' : hours === 168 ? '7 days' : '30 days'} +

+
+
+ + + + Total Payments + + +

{summary.totalPayments}

+

All statuses

+
+
+ + + + Success Rate + + +

{(summary.successRate * 100).toFixed(1)}%

+

Completed payments

+
+
+ + + + Avg Payment + + +

{summary.avgPaymentAmount.toFixed(2)}

+

Completed only

+
+
+
+ + {/* Charts */} +
+ {/* Revenue Time-Series */} + + + Revenue Over Time + + + + + + + + + + + + + + + + + + + + + {/* Payment Funnel */} + + + Payment Funnel + + + + + [`${v} payments`]} /> + + + + + + + +
+ +
+ {/* Network Segmentation */} + + + By Network + + + + + + + + + + {byNetwork.map((_, i) => ( + + ))} + + + + + + + {/* Currency Segmentation */} + + + By Currency + + + + + + `${label} ${(percentage * 100).toFixed(0)}%` + } + > + {byCurrency.map((_, i) => ( + + ))} + + + + + + + +
+ + {/* Merchant Percentile Card */} + {percentiles && ( + + + + + Industry Comparison + + + +

+ ⚠ {percentiles.note} +

+
+ {[ + { label: 'Volume', value: percentiles.volumePercentile }, + { label: 'Success Rate', value: percentiles.successRatePercentile }, + { label: 'Avg Payment', value: percentiles.avgAmountPercentile }, + ].map(({ label, value }) => ( +
+

{value}th

+

percentile

+

{label}

+
+ ))} +
+
+
+ )} +
+ ); +} diff --git a/frontend/app/dashboard/batch/page.tsx b/frontend/app/dashboard/batch/page.tsx new file mode 100644 index 00000000..c5315fc4 --- /dev/null +++ b/frontend/app/dashboard/batch/page.tsx @@ -0,0 +1,332 @@ +'use client'; + +import { useState, useCallback } from 'react'; +import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; +import { Button } from '@/components/ui/button'; +import { Input } from '@/components/ui/input'; +import { Label } from '@/components/ui/label'; +import { Badge } from '@/components/ui/badge'; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table'; +import { api } from '@/lib/api'; +import { toast } from 'sonner'; +import { Upload, FileText, AlertTriangle, CheckCircle, Clock, Send, Calendar } from 'lucide-react'; + +interface ParsedRow { + recipient: string; + amount: string; + asset: string; + memo?: string; +} + +interface ParseResult { + total: number; + valid: number; + parseErrors: Array<{ line: number; error: string }>; + duplicates: number[]; + preview: ParsedRow[]; +} + +interface EstimateResult { + totalPayments: number; + totalAmount: string; + byAsset: Record; + estimatedGasUnits: number; + duplicateCount: number; + invalidAddressCount: number; + estimatedDurationMs: number; +} + +export default function DashboardBatchPage() { + const [parseResult, setParseResult] = useState(null); + const [estimate, setEstimate] = useState(null); + const [loading, setLoading] = useState(false); + const [submitting, setSubmitting] = useState(false); + const [scheduleTime, setScheduleTime] = useState(''); + + const handleFileUpload = useCallback(async (e: React.ChangeEvent) => { + const file = e.target.files?.[0]; + if (!file) return; + + setLoading(true); + try { + let result: ParseResult; + + if (file.name.endsWith('.json')) { + const text = await file.text(); + const json = JSON.parse(text); + const payments = Array.isArray(json) ? json : json.payments; + const response = await api.batch.parse({ payments }); + result = response as unknown as ParseResult; + } else { + const text = await file.text(); + const response = await api.batch.parseCSV(text); + result = response as unknown as ParseResult; + } + + setParseResult(result); + + if (result.preview.length > 0) { + const estimateResponse = await api.batch.estimate({ payments: result.preview }); + setEstimate(estimateResponse as unknown as EstimateResult); + } + } catch (error) { + console.error(error); + toast.error('Failed to parse file. Please check the format.'); + } finally { + setLoading(false); + } + }, []); + + const handleSubmit = async () => { + if (!parseResult || parseResult.preview.length === 0) { + toast.error('No payments to submit'); + return; + } + + setSubmitting(true); + try { + if (scheduleTime) { + const scheduled = await api.batch.schedule({ + payments: parseResult.preview, + executeAt: scheduleTime, + }); + toast.success(`Batch scheduled for ${new Date(scheduleTime).toLocaleString()}`); + console.log('Scheduled batch:', scheduled); + } else { + const result = await api.batch.submit({ payments: parseResult.preview }); + toast.success(`Batch submitted: ${result.succeeded}/${result.total} succeeded`); + console.log('Batch result:', result); + } + setParseResult(null); + setEstimate(null); + setScheduleTime(''); + } catch (error) { + console.error(error); + toast.error('Failed to submit batch'); + } finally { + setSubmitting(false); + } + }; + + return ( +
+
+

Batch Payments

+

+ Upload CSV or JSON files to process bulk payments in a single transaction. +

+
+ + {/* Upload Section */} + + + + + Upload Payment File + + + +
+
+ +

+ Drop your CSV or JSON file here, or click to browse +

+

+ CSV format: recipient, amount, asset, memo +

+ +
+
+ +
+
+
+
+ + {/* Parse Results */} + {parseResult && ( + + + Preview + + +
+
+
{parseResult.total}
+
Total Rows
+
+
+
{parseResult.valid}
+
Valid
+
+
+
{parseResult.parseErrors.length}
+
Parse Errors
+
+
+
{parseResult.duplicates.length}
+
Duplicates
+
+
+ + {parseResult.parseErrors.length > 0 && ( +
+

Parse Errors:

+ {parseResult.parseErrors.slice(0, 5).map((err, i) => ( +

+ Line {err.line}: {err.error} +

+ ))} +
+ )} + + {parseResult.preview.length > 0 && ( +
+ + + + # + Recipient + Amount + Asset + Memo + Status + + + + {parseResult.preview.slice(0, 20).map((row, i) => ( + + {i + 1} + {row.recipient.slice(0, 12)}... + {row.amount} + {row.asset} + {row.memo || '-'} + + {parseResult.duplicates.includes(i) ? ( + + Duplicate + + ) : ( + + Valid + + )} + + + ))} + +
+ {parseResult.preview.length > 20 && ( +

+ Showing 20 of {parseResult.preview.length} rows +

+ )} +
+ )} +
+
+ )} + + {/* Estimate Results */} + {estimate && ( + + + Dry-Run Estimate + + +
+
+
{estimate.totalAmount}
+
Total Amount
+
+
+
{estimate.estimatedGasUnits}
+
Est. Gas Units
+
+
+
{estimate.invalidAddressCount}
+
Invalid Addresses
+
+
+
{estimate.estimatedDurationMs}ms
+
Est. Duration
+
+
+ {Object.keys(estimate.byAsset).length > 0 && ( +
+

Breakdown by Asset:

+
+ {Object.entries(estimate.byAsset).map(([asset, amount]) => ( + {asset}: {amount} + ))} +
+
+ )} +
+
+ )} + + {/* Submit / Schedule Section */} + {parseResult && parseResult.preview.length > 0 && ( + + + Execute Batch + + +
+
+ + setScheduleTime(e.target.value)} + min={new Date(Date.now() + 60000).toISOString().slice(0, 16)} + /> +
+ +
+
+
+ )} +
+ ); +} diff --git a/frontend/app/dashboard/disputes/[id]/page.tsx b/frontend/app/dashboard/disputes/[id]/page.tsx new file mode 100644 index 00000000..bc07cab6 --- /dev/null +++ b/frontend/app/dashboard/disputes/[id]/page.tsx @@ -0,0 +1,545 @@ +"use client"; + +import { useState } from "react"; +import { useParams, useRouter } from "next/navigation"; +import Link from "next/link"; +import { useDisputeById } from "@/lib/hooks/useDisputes"; +import { + disputeStatusConfig, + disputeReasonLabels, +} from "@/lib/mock-data/disputes"; +import type { ResolutionOutcome } from "@/types/disputes"; +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; +import { Button } from "@/components/ui/button"; +import { Skeleton } from "@/components/ui/skeleton"; +import { + ArrowLeft, + FileText, + MessageSquare, + Upload, + Clock, + User, + Bot, + CheckCircle2, + AlertTriangle, + X, +} from "lucide-react"; + +function StatusBadge({ status }: { status: string }) { + const cfg = + disputeStatusConfig[status as keyof typeof disputeStatusConfig] ?? { + label: status, + color: "text-gray-600", + bg: "bg-gray-100", + }; + return ( + + {cfg.label} + + ); +} + +function timeAgo(dateStr: string): string { + const diff = Date.now() - new Date(dateStr).getTime(); + const minutes = Math.floor(diff / 60000); + if (minutes < 1) return "just now"; + if (minutes < 60) return `${minutes}m ago`; + const hours = Math.floor(minutes / 60); + if (hours < 24) return `${hours}h ago`; + return `${Math.floor(hours / 24)}d ago`; +} + +const MOCK_CURRENT_USER = "user_001"; // In production: get from auth store + +export default function DisputeDetailPage() { + const params = useParams(); + const router = useRouter(); + const id = params.id as string; + const { dispute, loading, error, setDispute } = useDisputeById(id); + + const [responseText, setResponseText] = useState(""); + const [respondSubmitting, setRespondSubmitting] = useState(false); + const [evidenceDesc, setEvidenceDesc] = useState(""); + const [evidenceFile, setEvidenceFile] = useState(null); + const [evidenceSubmitting, setEvidenceSubmitting] = useState(false); + + // Resolve modal state (arbitrator) + const [resolveOpen, setResolveOpen] = useState(false); + const [outcome, setOutcome] = useState("full_refund"); + const [resolveNote, setResolveNote] = useState(""); + const [refundAmount, setRefundAmount] = useState(""); + const [resolveSubmitting, setResolveSubmitting] = useState(false); + + async function handleRespond() { + if (!responseText.trim() || !dispute) return; + setRespondSubmitting(true); + // In production: call respondToDispute from useDisputes hook + await new Promise((r) => setTimeout(r, 800)); + const msg = { + id: `msg_${Date.now()}`, + disputeId: dispute.id, + senderId: MOCK_CURRENT_USER, + senderRole: "payee" as const, + content: responseText, + timestamp: new Date().toISOString(), + }; + setDispute({ + ...dispute, + status: "under_review", + messages: [...dispute.messages, msg], + }); + setResponseText(""); + setRespondSubmitting(false); + } + + async function handleEvidenceSubmit() { + if (!evidenceFile || !evidenceDesc.trim() || !dispute) return; + setEvidenceSubmitting(true); + await new Promise((r) => setTimeout(r, 600)); + const ev = { + id: `ev_${Date.now()}`, + disputeId: dispute.id, + submittedBy: MOCK_CURRENT_USER, + fileUrl: URL.createObjectURL(evidenceFile), + fileName: evidenceFile.name, + fileType: evidenceFile.type, + fileSize: evidenceFile.size, + description: evidenceDesc, + timestamp: new Date().toISOString(), + hash: `mock_${Date.now()}`, + }; + setDispute({ ...dispute, evidence: [...dispute.evidence, ev] }); + setEvidenceFile(null); + setEvidenceDesc(""); + setEvidenceSubmitting(false); + } + + async function handleResolve() { + if (!resolveNote.trim() || !dispute) return; + setResolveSubmitting(true); + await new Promise((r) => setTimeout(r, 800)); + setDispute({ + ...dispute, + status: outcome === "dismissed" ? "dismissed" : "resolved", + resolution: outcome, + resolutionNote: resolveNote, + refundAmount: refundAmount ? parseFloat(refundAmount) : undefined, + resolvedAt: new Date().toISOString(), + }); + setResolveOpen(false); + setResolveSubmitting(false); + } + + const isParty = + dispute?.filedBy === MOCK_CURRENT_USER || + dispute?.respondentId === MOCK_CURRENT_USER; + const isRespondent = dispute?.respondentId === MOCK_CURRENT_USER; + const canRespond = + isRespondent && + ["awaiting_response", "under_review"].includes(dispute?.status ?? ""); + const isClosed = + dispute?.status === "resolved" || dispute?.status === "dismissed"; + + if (loading) { + return ( +
+ + + +
+ ); + } + + if (error || !dispute) { + return ( +
+ + + +

Dispute not found

+ +
+
+
+ ); + } + + const deadline = new Date(dispute.responseDeadline); + const hoursLeft = Math.floor((deadline.getTime() - Date.now()) / 3600000); + + return ( +
+ {/* Header */} +
+
+ + + Disputes + +
+

{dispute.id}

+ +
+

+ Filed {timeAgo(dispute.createdAt)} ·{" "} + {disputeReasonLabels[dispute.reason]} +

+
+ {/* Arbitrator resolve button */} + {!isClosed && ( + + )} +
+ +
+ {/* Left: main info */} +
+ {/* Details */} + + + + Dispute Details + + + +
+
+

Payment ID

+

{dispute.paymentId}

+
+
+

Amount

+

+ {dispute.amount} {dispute.currency} +

+
+ {dispute.projectId && ( +
+

Project

+

{dispute.projectId}

+
+ )} + {dispute.invoiceId && ( +
+

Invoice

+

{dispute.invoiceId}

+
+ )} +
+
+

Description

+

{dispute.description}

+
+ + {isClosed && ( +
+

+ Resolution +

+

+ {dispute.resolution.replace(/_/g, " ")} +

+ {dispute.refundAmount && ( +

+ Refund: {dispute.refundAmount} {dispute.currency} +

+ )} + {dispute.resolutionNote && ( +

+ {dispute.resolutionNote} +

+ )} +
+ )} +
+
+ + {/* Timeline / Messages */} + + + + Timeline + + + +
+ {dispute.messages.map((msg) => ( +
+
+ {msg.senderRole === "system" ? ( +
+ +
+ ) : ( +
+ +
+ )} +
+
+
+ + {msg.senderRole === "system" ? "System" : msg.senderRole} + + + {timeAgo(msg.timestamp)} + +
+

+ {msg.content} +

+
+
+ ))} +
+ + {/* Response box */} + {canRespond && ( +
+

Your Response

+