diff --git a/AGENTS.md b/AGENTS.md index 2c51483..df7fa08 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,9 +5,14 @@ - `ponder/`: New indexer replacing The Graph. `ponder.config.ts` selects network/contracts, `src/` holds TypeScript event handlers, `ponder.schema.ts` defines tables, `README.md` documents usage. Generated artifacts in `generated/` are auto-created by Ponder. - `subgraph/base_sepolia/`: Legacy AssemblyScript implementation kept for reference during migration. Do not modify unless syncing schema changes between stacks. - `landing/`: Vue 3 app (Vite + TypeScript) for the public launch site and forthcoming staking UI. See `src/views/` for pages, `env.d.ts` for injected globals. -- `services/txnBot/`: Node service that consumes the GraphQL API (`.graphclient`) to trigger `recenter()` and `payTax()` on-chain when profitable. +- `services/txnBot/`: Node service that consumes the Ponder GraphQL API to trigger `recenter()` and `payTax()` on-chain when profitable. - `kraiken-lib/`: Shared TypeScript helpers (e.g., `bytesToUint256`) consumed by the landing app + bots. +## Environment Profiles +- `BASE_SEPOLIA_LOCAL_FORK`: Anvil fork bootstrapped by `scripts/local_env.sh` +- `BASE_SEPOLIA`: Public Base Sepolia testnet +- `BASE`: Base mainnet + ## Execution Workflow 1. **Contracts** - Build/test via `forge build` and `forge test` inside `onchain/`. @@ -16,23 +21,25 @@ 2. **Indexer (Ponder)** - Install deps (`npm install`). - - Configure environment via `PONDER_NETWORK` (`local`, `baseSepolia`, or `base`). Update `ponder.config.ts` addresses if deployments change. + - Configure environment via `PONDER_NETWORK` (`BASE_SEPOLIA_LOCAL_FORK`, `BASE_SEPOLIA`, or `BASE`). Update `ponder.config.ts` addresses if deployments change. - Run dev mode with `npm run dev`; GraphQL served at `http://localhost:42069/graphql`. - Handlers in `src/kraiken.ts` and `src/stake.ts` maintain rolling supply stats, ring-buffered hourly metrics, and position state. 3. **Frontend** - `npm install` then `npm run dev` in `landing/`. Currently static marketing copy with placeholders for wallet/staking flows. +- Configure GraphQL endpoints via `VITE_PONDER_BASE_SEPOLIA`, `VITE_PONDER_BASE`, and optionally override `VITE_PONDER_BASE_SEPOLIA_LOCAL_FORK` (defaults to `http://127.0.0.1:42069/graphql`). 4. **Automation Bot** - - Requires `.env` with RPC + key. Queries indexer (Graph or Ponder) to decide when to pay tax or recenter liquidity. + - Requires `.env` with RPC + key. Queries the Ponder GraphQL endpoint to decide when to pay tax or recenter liquidity. + - `scripts/local_env.sh start` provisions and launches the bot automatically when running against the local fork. ## Migration Notes (Subgraph → Ponder) - Schema parity: ensure any entity changes land in both `ponder.schema.ts` and legacy Graph `schema.graphql` until cutover. - Event coverage: `Stake` events (`PositionCreated/Removed/Shrunk/TaxPaid/RateHiked`) mirrored from AssemblyScript handlers. Kraiken `Transfer` powers mint/burn/tax/UBI tracking. - Ring buffer logic in `kraiken.ts` depends on block timestamps being monotonic; gaps >168 hours zero out the buffer. Verify `startBlock` in `ponder.config.ts` to avoid reprocessing genesis noise. -- Local deployment requires updating `ponder.config.ts` local contract addresses after each run or injecting via env overrides. +- Local deployment requires updating `ponder.config.ts` local contract addresses after each run or injecting via env overrides. The `BASE_SEPOLIA_LOCAL_FORK` profile assumes addresses generated by `DeployLocal.sol`. - Ponder v0.13 exposes helpers via `context.client` / `context.contracts`; use these to seed stats from on-chain `totalSupply` and refresh `outstandingStake` straight from the `Stake` contract. All hourly projections now run off a JSON ring buffer on the `stats` row. -- Subgraph naming differs from the new schema (`stats_collection`, decimal shares). Until the web-app switches to Ponder’s GraphQL endpoint, keep the legacy entity shape in mind. Plan to provide either a compatibility layer or update `web-app/src/composables/useStatCollection.ts` to hit the new schema. +- Subgraph naming differs from the new schema (`stats_collection`, decimal shares). The web-app and txn bot now target the Ponder schema directly; keep legacy Graph compatibility only until the AssemblyScript stack is fully retired. - Tax accounting must listen to `PositionTaxPaid` instead of guessing via hard-coded addresses. The old subgraph missed this; Ponder now increments the ring buffer segment on each tax payment. - Liquidity bootstrap still depends on the Uniswap pool stepping through `recenter()`. On current Base-Sepolia forks the LM reverts with `LOK`. Investigate before relying on `scripts/local_env.sh start` for an unattended setup. @@ -42,7 +49,7 @@ 1. `anvil --fork-url https://sepolia.base.org` (or base mainnet RPC) in terminal 1. 2. From `onchain/`, deploy with `forge script script/DeployLocal.sol --fork-url http://127.0.0.1:8545 --broadcast`. 3. Fund LiquidityManager, call `recenter()`, and execute sample trades (KRK buy, stake, unstake) using `cast` or Foundry scripts. - 4. Start Ponder (`PONDER_NETWORK=local npm run dev`) and watch logs for handler errors. + 4. Start Ponder (`PONDER_NETWORK=BASE_SEPOLIA_LOCAL_FORK npm run dev`) and watch logs for handler errors. 5. Query GraphQL (`stats`, `positions`) to confirm indexed state. ## Gotchas & Tips @@ -50,16 +57,24 @@ - VWAP/ethScarcity logic expects squared price format; do not convert to sqrt unintentionally. - LiquidityManager `recenter()` reverts unless funded with WETH (Base WETH address `0x4200...006`). Use `cast send` with sufficient ETH when testing locally. - Ponder’s SQLite store lives in `.ponder/` (gitignored). Delete between runs if schema changes. -- Legacy subgraph still powers `services/txnBot` until cutover—coordinate endpoint switch when Ponder is production-ready. -- `web-app/` currently points at The Graph Studio URLs (see `src/config.ts`). When Ponder replaces the subgraph, update those envs and mirror the expected GraphQL shape (the app queries `stats_collection` with camelCase fields). Consider adding an adapter layer or bumping the frontend to the new schema before deleting `subgraph/`. +- Legacy subgraph is maintained for reference only; all active services now read from Ponder. +- `web-app/` reads from Ponder by default (see `src/config.ts`). Update the environment specific GraphQL URLs when deployments move. ## Useful Commands - `foundryup` / `forge clean` / `forge snapshot` - `anvil --fork-url https://sepolia.base.org` - `cast call "slot0()"` -- `PONDER_NETWORK=local npm run dev` +- `PONDER_NETWORK=BASE_SEPOLIA_LOCAL_FORK npm run dev` - `curl -X POST http://localhost:42069/graphql -d '{"query":"{ stats(id:\"0x01\"){kraikenTotalSupply}}"}'` -- `./scripts/local_env.sh start` boots Anvil+contracts+ponder+frontend; stop with Ctrl+C or `./scripts/local_env.sh stop`. +- `curl http://127.0.0.1:43069/status` +- `./scripts/local_env.sh start` boots Anvil+contracts+ponder+frontend+txnBot; stop with Ctrl+C or `./scripts/local_env.sh stop`. + +## Refactor Backlog +- Replace the temporary `any` shims in `ponder/src/kraiken.ts` and `ponder/src/stake.ts` by importing the official 0.13 handler types instead of stubbing `ponder-env.d.ts`. +- Drop the custom `ponder:api` / `ponder:registry` module declarations once the generator emits them; if it cannot, declare precise interfaces rather than `any` to keep autocomplete and future upgrades safe. +- Convert the JSON ABI imports in `ponder/ponder.config.ts` to typed loaders (e.g., `satisfies Abi`) so config drift is caught at compile time instead of via `as Abi` casts. +- Move the snatch-selection logic out of `web-app/src/components/StakeHolder.vue` into a dedicated composable that both the stake form and charts can reuse, and memoise the `assetsToShares` conversions there. +- Split `kraiken-lib/src/helpers.ts` into focused modules (ids, tax rates, snatch selection) so consumers can tree-shake and each helper stays small and testable. ## Contacts & Artifacts - Deployment addresses recorded in `onchain/deployments-local.json` (local) and broadcast traces under `onchain/broadcast/`. diff --git a/ponder/.env.example b/ponder/.env.example index 70a193c..f01d3fc 100644 --- a/ponder/.env.example +++ b/ponder/.env.example @@ -1,10 +1,11 @@ # Network configuration -# Options: local, baseSepolia, base -PONDER_NETWORK=local +# Options: BASE_SEPOLIA_LOCAL_FORK, BASE_SEPOLIA, BASE +PONDER_NETWORK=BASE_SEPOLIA_LOCAL_FORK # RPC URLs (optional - defaults provided) +PONDER_RPC_URL_BASE_SEPOLIA_LOCAL_FORK=http://127.0.0.1:8545 PONDER_RPC_URL_BASE=https://base.llamarpc.com PONDER_RPC_URL_BASE_SEPOLIA=https://sepolia.base.org # Database URL (optional - uses SQLite by default) -# DATABASE_URL=postgresql://user:password@localhost:5432/ponder_db \ No newline at end of file +# DATABASE_URL=postgresql://user:password@localhost:5432/ponder_db diff --git a/ponder/.env.local b/ponder/.env.local index a9b6d71..a09e705 100644 --- a/ponder/.env.local +++ b/ponder/.env.local @@ -1,8 +1,8 @@ # Auto-generated by local_env.sh -PONDER_NETWORK=local +PONDER_NETWORK=BASE_SEPOLIA_LOCAL_FORK KRAIKEN_ADDRESS=0x56186c1e64ca8043def78d06aff222212ea5df71 STAKE_ADDRESS=0x056e4a859558a3975761abd7385506bc4d8a8e60 -START_BLOCK=31435585 +START_BLOCK=31438430 # Use PostgreSQL connection DATABASE_URL=postgresql://ponder:ponder_local@localhost/ponder_local -DATABASE_SCHEMA=ponder_local_31435585 +DATABASE_SCHEMA=ponder_local_31438430 diff --git a/ponder/DEPLOYMENT.md b/ponder/DEPLOYMENT.md index c42da59..5b1dcd9 100644 --- a/ponder/DEPLOYMENT.md +++ b/ponder/DEPLOYMENT.md @@ -11,7 +11,7 @@ Perfect for testing with mainnet state without spending gas. anvil --fork-url https://base.llamarpc.com # Terminal 2: Start Ponder -export PONDER_NETWORK=local +export PONDER_NETWORK=BASE_SEPOLIA_LOCAL_FORK npm run dev ``` @@ -22,7 +22,7 @@ Access GraphQL at: http://localhost:42069/graphql For integration testing with live testnet. ```bash -export PONDER_NETWORK=baseSepolia +export PONDER_NETWORK=BASE_SEPOLIA export PONDER_RPC_URL_BASE_SEPOLIA=https://sepolia.base.org # or your RPC npm run dev ``` @@ -32,7 +32,7 @@ npm run dev For production deployment. ```bash -export PONDER_NETWORK=base +export PONDER_NETWORK=BASE export PONDER_RPC_URL_BASE=https://base.llamarpc.com # Use paid RPC for production export DATABASE_URL=postgresql://user:pass@host:5432/kraiken_ponder npm run start @@ -147,7 +147,7 @@ services: - "42069:42069" environment: - DATABASE_URL=postgresql://postgres:password@db:5432/kraiken - - PONDER_NETWORK=base + - PONDER_NETWORK=BASE db: image: postgres:15 @@ -251,4 +251,4 @@ Compare outputs between subgraph and Ponder: - Documentation: https://ponder.sh/docs - Discord: https://discord.gg/ponder -- Issues: https://github.com/yourusername/kraiken-ponder/issues \ No newline at end of file +- Issues: https://github.com/yourusername/kraiken-ponder/issues diff --git a/ponder/README.md b/ponder/README.md index c6944ef..ded07fb 100644 --- a/ponder/README.md +++ b/ponder/README.md @@ -26,9 +26,9 @@ cp .env.example .env ``` Edit `.env` to select your network: -- `PONDER_NETWORK=local` - Local Anvil fork -- `PONDER_NETWORK=baseSepolia` - Base Sepolia testnet -- `PONDER_NETWORK=base` - Base mainnet +- `PONDER_NETWORK=BASE_SEPOLIA_LOCAL_FORK` - Local Anvil fork managed by `scripts/local_env.sh` +- `PONDER_NETWORK=BASE_SEPOLIA` - Base Sepolia testnet +- `PONDER_NETWORK=BASE` - Base mainnet ### 3. Local Development (Anvil Fork) @@ -37,19 +37,19 @@ Edit `.env` to select your network: anvil --fork-url https://base.llamarpc.com # Terminal 2: Start Ponder indexer -PONDER_NETWORK=local npm run dev +PONDER_NETWORK=BASE_SEPOLIA_LOCAL_FORK npm run dev ``` ### 4. Testnet Deployment (Base Sepolia) ```bash -PONDER_NETWORK=baseSepolia npm run dev +PONDER_NETWORK=BASE_SEPOLIA npm run dev ``` ### 5. Production Deployment (Base Mainnet) ```bash -PONDER_NETWORK=base npm run start +PONDER_NETWORK=BASE npm run start ``` ## GraphQL Queries @@ -157,7 +157,7 @@ WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . -ENV PONDER_NETWORK=base +ENV PONDER_NETWORK=BASE CMD ["npm", "run", "start"] ``` @@ -192,4 +192,4 @@ Key improvements: ## License -GPL-3.0-or-later \ No newline at end of file +GPL-3.0-or-later diff --git a/ponder/package-lock.json b/ponder/package-lock.json index 05b2e12..f281372 100644 --- a/ponder/package-lock.json +++ b/ponder/package-lock.json @@ -1905,23 +1905,6 @@ ], "license": "BSD-3-Clause" }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -2556,18 +2539,6 @@ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "license": "ISC" }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/pino": { "version": "8.21.0", "resolved": "https://registry.npmjs.org/pino/-/pino-8.21.0.tgz", @@ -3139,22 +3110,6 @@ "real-require": "^0.2.0" } }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, "node_modules/tsconfck": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", @@ -3284,23 +3239,20 @@ } }, "node_modules/vite": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.7.tgz", - "integrity": "sha512-VbA8ScMvAISJNJVbRDTJdCwqQoAareR/wutevKanhR2/1EkoXVZVkkORaYm/tNVCjP/UDTKtcw3bAkwOUdedmA==", + "version": "5.4.20", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.20.tgz", + "integrity": "sha512-j3lYzGC3P+B5Yfy/pfKNgVEg4+UtcIJcVRt2cDjIOmhLourAqPqf8P7acgxeiSgUB7E3p2P8/3gNIgDLpwzs4g==", "license": "MIT", "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -3309,25 +3261,19 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, - "jiti": { - "optional": true - }, "less": { "optional": true }, @@ -3348,12 +3294,6 @@ }, "terser": { "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true } } }, diff --git a/ponder/package.json b/ponder/package.json index fb13b7e..6d5a758 100644 --- a/ponder/package.json +++ b/ponder/package.json @@ -21,7 +21,7 @@ }, "overrides": { "esbuild": "^0.25.10", - "vite": "^7.1.7" + "vite": "^5.4.11" }, "engines": { "node": ">=18.0.0" diff --git a/ponder/ponder-env.d.ts b/ponder/ponder-env.d.ts index 7c486f9..a1dfd97 100644 --- a/ponder/ponder-env.d.ts +++ b/ponder/ponder-env.d.ts @@ -9,17 +9,6 @@ declare module "ponder:schema" { export * from "./ponder.schema.ts"; } -declare module "ponder:registry" { - const ponder: any; - export { ponder }; -} - -declare module "ponder:api" { - export const db: any; - const api: any; - export default api; -} - // This file enables type checking and editor autocomplete for this Ponder project. // After upgrading, you may find that changes have been made to this file. // If this happens, please commit the changes. Do not manually edit this file. diff --git a/ponder/ponder.config.ts b/ponder/ponder.config.ts index 43d669a..e73f22f 100644 --- a/ponder/ponder.config.ts +++ b/ponder/ponder.config.ts @@ -3,20 +3,18 @@ import type { Abi } from "viem"; import KraikenAbi from "./abis/Kraiken.json"; import StakeAbi from "./abis/Stake.json"; -// Network configurations +// Network configurations keyed by canonical environment name const networks = { - // Local development (Anvil fork) - local: { + BASE_SEPOLIA_LOCAL_FORK: { chainId: 31337, - rpc: "http://127.0.0.1:8545", + rpc: process.env.PONDER_RPC_URL_BASE_SEPOLIA_LOCAL_FORK || "http://127.0.0.1:8545", contracts: { kraiken: process.env.KRAIKEN_ADDRESS || "0x56186c1E64cA8043dEF78d06AfF222212eA5df71", stake: process.env.STAKE_ADDRESS || "0x056E4a859558A3975761ABd7385506BC4D8A8E60", startBlock: parseInt(process.env.START_BLOCK || "31425917"), }, }, - // Base Sepolia testnet - baseSepolia: { + BASE_SEPOLIA: { chainId: 84532, rpc: process.env.PONDER_RPC_URL_BASE_SEPOLIA || "https://sepolia.base.org", contracts: { @@ -25,8 +23,7 @@ const networks = { startBlock: 20940337, }, }, - // Base mainnet - base: { + BASE: { chainId: 8453, rpc: process.env.PONDER_RPC_URL_BASE || "https://base.llamarpc.com", contracts: { @@ -35,16 +32,20 @@ const networks = { startBlock: 26038614, }, }, -}; +} as const; // Select network based on environment variable -const NETWORK = process.env.PONDER_NETWORK || "local"; +const NETWORK = (process.env.PONDER_NETWORK as keyof typeof networks) || "BASE_SEPOLIA_LOCAL_FORK"; const selectedNetwork = networks[NETWORK as keyof typeof networks]; if (!selectedNetwork) { throw new Error(`Invalid network: ${NETWORK}. Valid options: ${Object.keys(networks).join(", ")}`); } +console.log( + `[ponder.config] Network=${NETWORK}, chainId=${selectedNetwork.chainId}, startBlock=${selectedNetwork.contracts.startBlock}`, +); + export default createConfig({ // Use PostgreSQL if DATABASE_URL is set, otherwise use PGlite database: process.env.DATABASE_URL ? { diff --git a/ponder/scripts/test-local.sh b/ponder/scripts/test-local.sh index 7e58e5e..ec11f1a 100755 --- a/ponder/scripts/test-local.sh +++ b/ponder/scripts/test-local.sh @@ -13,10 +13,10 @@ ANVIL_PID=$! sleep 5 echo "Starting Ponder indexer for local network..." -export PONDER_NETWORK=local +export PONDER_NETWORK=BASE_SEPOLIA_LOCAL_FORK timeout 30 npm run dev # Cleanup kill $ANVIL_PID 2>/dev/null -echo "Test completed!" \ No newline at end of file +echo "Test completed!" diff --git a/scripts/local_env.sh b/scripts/local_env.sh index 3caf19b..0dd485a 100755 --- a/scripts/local_env.sh +++ b/scripts/local_env.sh @@ -9,15 +9,19 @@ LOG_DIR="$STATE_DIR/logs" ANVIL_PID_FILE="$STATE_DIR/anvil.pid" PONDER_PID_FILE="$STATE_DIR/ponder.pid" WEBAPP_PID_FILE="$STATE_DIR/webapp.pid" +TXNBOT_PID_FILE="$STATE_DIR/txnBot.pid" ANVIL_LOG="$LOG_DIR/anvil.log" PONDER_LOG="$LOG_DIR/ponder.log" WEBAPP_LOG="$LOG_DIR/webapp.log" +TXNBOT_LOG="$LOG_DIR/txnBot.log" SETUP_LOG="$LOG_DIR/setup.log" +TXNBOT_ENV_FILE="$STATE_DIR/txnBot.env" FORK_URL=${FORK_URL:-"https://sepolia.base.org"} ANVIL_RPC="http://127.0.0.1:8545" GRAPHQL_HEALTH="http://127.0.0.1:42069/health" +GRAPHQL_ENDPOINT="http://127.0.0.1:42069/graphql" FRONTEND_URL="http://127.0.0.1:5173" FOUNDRY_BIN=${FOUNDRY_BIN:-"$HOME/.foundry/bin"} @@ -31,6 +35,13 @@ FEE_DEST="0xf6a3eef9088A255c32b6aD2025f83E57291D9011" WETH="0x4200000000000000000000000000000000000006" SWAP_ROUTER="0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4" +DEFAULT_TXNBOT_PRIVATE_KEY="0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d" +DEFAULT_TXNBOT_ADDRESS="0x70997970C51812dc3A010C7d01b50e0d17dc79C8" + +TXNBOT_PRIVATE_KEY=${TXNBOT_PRIVATE_KEY:-$DEFAULT_TXNBOT_PRIVATE_KEY} +TXNBOT_ADDRESS=${TXNBOT_ADDRESS:-$DEFAULT_TXNBOT_ADDRESS} +TXNBOT_FUND_VALUE=${TXNBOT_FUND_VALUE:-1ether} + MAX_UINT="0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" SKIP_CLEANUP=false @@ -39,6 +50,7 @@ COMMAND="start" cleanup() { stop_process "Frontend" "$WEBAPP_PID_FILE" stop_process "Ponder" "$PONDER_PID_FILE" + stop_process "TxnBot" "$TXNBOT_PID_FILE" stop_process "Anvil" "$ANVIL_PID_FILE" if [[ "$SKIP_CLEANUP" == true ]]; then @@ -123,6 +135,13 @@ ensure_dependencies() { npm install >>"$SETUP_LOG" 2>&1 popd >/dev/null fi + + if [[ ! -d "$ROOT_DIR/services/txnBot/node_modules" ]]; then + log "Installing txnBot dependencies" + pushd "$ROOT_DIR/services/txnBot" >/dev/null + npm install >>"$SETUP_LOG" 2>&1 + popd >/dev/null + fi } start_anvil() { @@ -177,7 +196,7 @@ extract_addresses() { # Create .env.local for Ponder with deployed addresses cat > "$ROOT_DIR/ponder/.env.local" <>"$SETUP_LOG" 2>&1 } +prime_chain_for_indexing() { + log "Pre-mining blocks for indexer stability" + for _ in {1..1200}; do + "$CAST" rpc --rpc-url "$ANVIL_RPC" evm_mine > /dev/null 2>&1 || true + done +} + +write_txnbot_env() { + source_addresses || { log "Contract addresses not found"; exit 1; } + + cat > "$TXNBOT_ENV_FILE" <>"$SETUP_LOG" 2>&1 || \ + log "Funding txnBot wallet failed (see setup log)" +} + +start_txnbot() { + if [[ -f "$TXNBOT_PID_FILE" ]]; then + log "txnBot already running (pid $(cat \"$TXNBOT_PID_FILE\"))" + return + fi + + write_txnbot_env + fund_txnbot_wallet + + log "Starting txnBot automation" + pushd "$ROOT_DIR/services/txnBot" >/dev/null + TXN_BOT_ENV_FILE="$TXNBOT_ENV_FILE" node service.js >"$TXNBOT_LOG" 2>&1 & + popd >/dev/null + echo $! >"$TXNBOT_PID_FILE" +} + start_ponder() { if [[ -f "$PONDER_PID_FILE" ]]; then log "Ponder already running (pid $(cat "$PONDER_PID_FILE"))" @@ -239,7 +311,7 @@ start_ponder() { log "Starting Ponder indexer" pushd "$ROOT_DIR/ponder" >/dev/null - PONDER_NETWORK=local npm run dev >"$PONDER_LOG" 2>&1 & + PONDER_NETWORK=BASE_SEPOLIA_LOCAL_FORK npm run dev >"$PONDER_LOG" 2>&1 & popd >/dev/null echo $! >"$PONDER_PID_FILE" @@ -270,7 +342,9 @@ start_environment() { extract_addresses bootstrap_liquidity_manager prepare_application_state + prime_chain_for_indexing start_ponder # Re-enabled with PostgreSQL + start_txnbot start_frontend } @@ -286,7 +360,7 @@ start_and_wait() { log " Frontend: $FRONTEND_URL" log "Press Ctrl+C to shut everything down" - wait "$(cat "$ANVIL_PID_FILE")" "$(cat "$PONDER_PID_FILE")" "$(cat "$WEBAPP_PID_FILE")" + wait "$(cat "$ANVIL_PID_FILE")" "$(cat "$PONDER_PID_FILE")" "$(cat "$WEBAPP_PID_FILE")" "$(cat "$TXNBOT_PID_FILE")" } stop_environment() { @@ -343,6 +417,7 @@ status_environment() { service_status "Anvil" "$ANVIL_PID_FILE" "$ANVIL_LOG" service_status "Ponder" "$PONDER_PID_FILE" "$PONDER_LOG" service_status "Frontend" "$WEBAPP_PID_FILE" "$WEBAPP_LOG" + service_status "TxnBot" "$TXNBOT_PID_FILE" "$TXNBOT_LOG" if [[ -f "$STATE_DIR/contracts.env" ]]; then printf '\nContracts:\n' diff --git a/services/txnBot/.graphclientrc.yml b/services/txnBot/.graphclientrc.yml deleted file mode 100644 index 9077c94..0000000 --- a/services/txnBot/.graphclientrc.yml +++ /dev/null @@ -1,13 +0,0 @@ -# .graphclientrc.yml -sources: - - name: harberg - handler: - graphql: - endpoint: https://api.studio.thegraph.com/query/47986/harberg-base-sepolia/version/latest - transforms: - - autoPagination: - # You might want to disable schema validation for faster startup - validateSchema: true - -documents: - - ./.graphql diff --git a/services/txnBot/README.md b/services/txnBot/README.md index 8ebae2f..174b366 100644 --- a/services/txnBot/README.md +++ b/services/txnBot/README.md @@ -1,5 +1,38 @@ -## RUN -yarn -yarn graphclient --fileType json build -node service.js +# txnBot +Automation worker that monitors staking positions and calls `recenter()` / `payTax()` when profitable. + +## Environments + +The bot supports three environments shared across the stack: + +- `BASE_SEPOLIA_LOCAL_FORK` – Anvil fork started by `scripts/local_env.sh` +- `BASE_SEPOLIA` – Public Base Sepolia testnet +- `BASE` – Base mainnet + +Set `ENVIRONMENT` alongside the other variables listed below to target the desired chain. + +## Configuration + +Create an environment file (e.g. `.env`) with: + +``` +ENVIRONMENT=BASE_SEPOLIA +PROVIDER_URL= +PRIVATE_KEY= +LM_CONTRACT_ADDRESS= +STAKE_CONTRACT_ADDRESS= +GRAPHQL_ENDPOINT= +# Optional: PORT=43069 +``` + +`scripts/local_env.sh start` generates these values automatically for the local fork, writes them to a temporary file, and keeps the process running in the background. + +## Local Run + +``` +npm install +npm start +``` + +The service exposes a lightweight status endpoint at `GET /status` reporting uptime, balances, and the most recent automation activity. diff --git a/services/txnBot/package.json b/services/txnBot/package.json index fb321a9..c351639 100644 --- a/services/txnBot/package.json +++ b/services/txnBot/package.json @@ -3,13 +3,13 @@ "version": "0.0.1", "main": "index.js", "license": "GPL3", + "scripts": { + "start": "node service.js" + }, "dependencies": { "dotenv": "^16.4.5", "ethers": "^6.13.2", "express": "^5.0.0", "kraiken-lib": "file:../../kraiken-lib" - }, - "devDependencies": { - "@graphprotocol/client-cli": "^3.0.7" } } diff --git a/services/txnBot/service.js b/services/txnBot/service.js index 61c0b75..4d33e43 100644 --- a/services/txnBot/service.js +++ b/services/txnBot/service.js @@ -1,26 +1,48 @@ -require('dotenv').config(); +const path = require('path'); +const dotenvPath = process.env.TXN_BOT_ENV_FILE + ? path.resolve(process.env.TXN_BOT_ENV_FILE) + : path.resolve(__dirname, '.env'); + +require('dotenv').config({ path: dotenvPath }); const { ethers } = require('ethers'); const express = require('express'); -const { execute } = require('./.graphclient'); const { decodePositionId, isPositionDelinquent } = require('kraiken-lib'); -const myQuery = ` - query GetPositions { - positions(first: 5000, where: {status: "Active"}) { +const ACTIVE_POSITIONS_QUERY = ` + query ActivePositions { + positionss(where: { status: "Active" }, limit: 1000) { + items { id share lastTaxTime taxRate status + } } } -` +`; // Load environment variables const PROVIDER_URL = process.env.PROVIDER_URL; const PRIVATE_KEY = process.env.PRIVATE_KEY; const LM_CONTRACT_ADDRESS = process.env.LM_CONTRACT_ADDRESS; const STAKE_CONTRACT_ADDRESS = process.env.STAKE_CONTRACT_ADDRESS; +const GRAPHQL_ENDPOINT = process.env.GRAPHQL_ENDPOINT; +const ENVIRONMENT = process.env.ENVIRONMENT || 'UNSPECIFIED'; + +const requiredEnv = { + PROVIDER_URL, + PRIVATE_KEY, + LM_CONTRACT_ADDRESS, + STAKE_CONTRACT_ADDRESS, + GRAPHQL_ENDPOINT, +}; + +for (const [key, value] of Object.entries(requiredEnv)) { + if (!value) { + throw new Error(`Missing required environment variable: ${key}`); + } +} const LM_ABI = [ {"type":"function","name":"recenter","inputs":[],"outputs":[],"stateMutability":"nonpayable"} @@ -40,6 +62,26 @@ let startTime = new Date(); let lastRecenterTime = null; let lastLiquidationTime = null; +async function fetchActivePositions() { + const response = await fetch(GRAPHQL_ENDPOINT, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ query: ACTIVE_POSITIONS_QUERY }), + }); + + if (!response.ok) { + throw new Error(`GraphQL request failed with status ${response.status}`); + } + + const payload = await response.json(); + if (payload.errors && payload.errors.length > 0) { + const messages = payload.errors.map((error) => error.message).join('; '); + throw new Error(`GraphQL responded with errors: ${messages}`); + } + + return payload.data?.positionss?.items ?? []; +} + async function checkFunds() { const balance = await provider.getBalance(wallet.address); return ethers.formatEther(balance); @@ -102,20 +144,20 @@ async function liquidityLoop() { async function liquidationLoop() { let counter = 0; try { - const result = await execute(myQuery, {}); - for (const position of result.data.positions) { + const positions = await fetchActivePositions(); + for (const position of positions) { counter = counter + await checkPosition(position); } if (counter == 0) { console.log(`No tax can be claimed at the moment. - ${(new Date()).toISOString()}`); } } catch (error) { - console.error('Error in liquididation loop:', error); + console.error('Error in liquidation loop:', error); } } async function main() { - console.log('Service started...'); + console.log(`txnBot service started for environment ${ENVIRONMENT}`); await liquidityLoop(); await liquidationLoop(); diff --git a/subgraph/base_sepolia/.gitignore b/subgraph/base_sepolia/.gitignore deleted file mode 100644 index ca12a07..0000000 --- a/subgraph/base_sepolia/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -build/ -node_modules/ -generated/ -yarn.lock \ No newline at end of file diff --git a/subgraph/base_sepolia/CLAUDE.md b/subgraph/base_sepolia/CLAUDE.md deleted file mode 100644 index 185b659..0000000 --- a/subgraph/base_sepolia/CLAUDE.md +++ /dev/null @@ -1,104 +0,0 @@ -# Subgraph - CLAUDE.md - -The Graph Protocol subgraph for indexing KRAIKEN protocol events and state. - -## Overview - -This subgraph indexes: -- Token transfers and supply changes -- Staking positions and Harberger tax events -- Liquidity manager recentering events -- User statistics and protocol metrics - -## Schema Design - -### Core Entities - -**Stats** - Global protocol statistics -- Token supplies (KRAIKEN and STAKE) -- Minting/burning metrics with hourly projections -- Tax collection statistics -- Staking percentages and average rates - -**Position** - Individual staking positions -- Holder address and staked amount -- Self-assessed tax rate -- Last update timestamp - -**Snatch** - Harberger tax position takeover events -- Old and new holder details -- Tax rate changes -- Transaction metadata - -**User** - Aggregated user statistics -- Total taxes paid/received -- Staking history -- Minting/burning activity - -## Development Commands - -```bash -# Install dependencies -npm install - -# Generate AssemblyScript types from schema -npm run codegen - -# Build the subgraph -npm run build - -# Deploy to The Graph Studio -npm run deploy - -# Local development (requires graph-node) -npm run create-local -npm run deploy-local -``` - -## Event Handlers - -### Kraiken Contract Events -- `Transfer` - Track token movements and supply changes -- `TaxPaid` - Record tax collection events -- `Mint/Burn` - Update supply statistics - -### Stake Contract Events -- `Staked` - Create/update position entities -- `Snatched` - Record position takeovers -- `TaxRateChanged` - Update position tax rates - -## Query Examples - -```graphql -# Get current protocol statistics -query GetStats { - stats(id: "0x00") { - kraikenTotalSupply - percentageStaked - averageTaxRate - mintedLastDay - } -} - -# Get top staking positions -query TopStakers { - positions(first: 10, orderBy: amount, orderDirection: desc) { - holder - amount - rate - } -} -``` - -## Deployment Notes - -- **Network**: Base Sepolia (testnet) -- **Start Block**: Configured in subgraph.yaml -- **API Endpoint**: Available after deployment to Studio - -## Code Quality - -- All handlers must be idempotent -- Use BigInt for all numeric values -- Handle null cases explicitly -- Keep entity updates minimal for performance \ No newline at end of file diff --git a/subgraph/base_sepolia/README.md b/subgraph/base_sepolia/README.md deleted file mode 100644 index 6c3c967..0000000 --- a/subgraph/base_sepolia/README.md +++ /dev/null @@ -1,39 +0,0 @@ - - -## deployment - -``` -yarn codegen -yarn build -yarn deploy -``` - -## deployment-script -networks are defined in deploy.js -This solution overwrites the subgraph.yaml with the template and enables the possible to upgrade the same contract on different chains -``` -node deploy.js base -``` - -## queries - -for stats -``` -{ - stats(id:"0x01") { - harbTotalSupply - stakeTotalSupply - outstandingStake - totalMinted - mintedLastWeek - mintedLastDay - mintNextHourProjected - totalBurned - burnedLastWeek - burnedLastDay - burnNextHourProjected - } -} -``` - - diff --git a/subgraph/base_sepolia/abis/Harb.json b/subgraph/base_sepolia/abis/Harb.json deleted file mode 100644 index 33dae12..0000000 --- a/subgraph/base_sepolia/abis/Harb.json +++ /dev/null @@ -1 +0,0 @@ -[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AddressAlreadySet","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"inputs":[],"name":"ZeroAddressInSetter","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"outstandingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"peripheryContracts","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"previousTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"liquidityManager_","type":"address"}],"name":"setLiquidityManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ts","type":"uint256"}],"name":"setPreviousTotalSupply","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"stakingPool_","type":"address"}],"name":"setStakingPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file diff --git a/subgraph/base_sepolia/abis/Kraiken.json b/subgraph/base_sepolia/abis/Kraiken.json deleted file mode 100644 index 11e3e95..0000000 --- a/subgraph/base_sepolia/abis/Kraiken.json +++ /dev/null @@ -1 +0,0 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"minStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"outstandingSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"peripheryContracts","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"previousTotalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setLiquidityManager","inputs":[{"name":"liquidityManager_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPreviousTotalSupply","inputs":[{"name":"_ts","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakingPool","inputs":[{"name":"stakingPool_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressAlreadySet","inputs":[]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]},{"type":"error","name":"ZeroAddressInSetter","inputs":[]}],"bytecode":{"object":"0x610160604052348015610010575f5ffd5b50604051611b59380380611b5983398101604081905261002f91610238565b6040805180820190915260018152603160f81b602082015282908190818460036100598382610321565b5060046100668282610321565b5061007691508390506005610123565b61012052610085816006610123565b61014052815160208084019190912060e052815190820120610100524660a05261011160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c05250610433915050565b5f60208351101561013e5761013783610155565b905061014f565b816101498482610321565b5060ff90505b92915050565b5f5f829050601f81511115610188578260405163305a27a960e01b815260040161017f91906103db565b60405180910390fd5b805161019382610410565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126101be575f5ffd5b81516001600160401b038111156101d7576101d761019b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102055761020561019b565b60405281815283820160200185101561021c575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f60408385031215610249575f5ffd5b82516001600160401b0381111561025e575f5ffd5b61026a858286016101af565b602085015190935090506001600160401b03811115610287575f5ffd5b610293858286016101af565b9150509250929050565b600181811c908216806102b157607f821691505b6020821081036102cf57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561031c57805f5260205f20601f840160051c810160208510156102fa5750805b601f840160051c820191505b81811015610319575f8155600101610306565b50505b505050565b81516001600160401b0381111561033a5761033a61019b565b61034e81610348845461029d565b846102d5565b6020601f821160018114610380575f83156103695750848201515b5f19600385901b1c1916600184901b178455610319565b5f84815260208120601f198516915b828110156103af578785015182556020948501946001909201910161038f565b50848210156103cc57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102cf575f1960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516116d56104845f395f61063401525f61060901525f610dcf01525f610da701525f610d0201525f610d2c01525f610d5601526116d55ff3fe608060405234801561000f575f5ffd5b5060043610610153575f3560e01c80637ecebe00116100bf578063a457c2d711610079578063a457c2d7146102b7578063a9059cbb146102ca578063b79be3f0146102dd578063caacafe214610303578063d505accf1461030b578063dd62ed3e1461031e575f5ffd5b80637ecebe001461025257806380ba0f0f1461026557806384b0196e1461026e57806395d89b41146102895780639c547c4b14610291578063a0712d68146102a4575f5ffd5b80633644e515116101105780633644e515146101e1578063375b3c0a146101e957806339509351146101f15780633c1624d41461020457806342966c681461021757806370a082311461022a575f5ffd5b806306fdde0314610157578063095ea7b31461017557806318160ddd1461019857806323b872dd146101aa5780633028f63a146101bd578063313ce567146101d2575b5f5ffd5b61015f610331565b60405161016c91906113bf565b60405180910390f35b6101886101833660046113f3565b6103c1565b604051901515815260200161016c565b6002545b60405190815260200161016c565b6101886101b836600461141b565b6103da565b6101d06101cb366004611455565b6103fd565b005b6040516012815260200161016c565b61019c610472565b61019c610480565b6101886101ff3660046113f3565b610491565b6101d0610212366004611455565b6104b2565b6101d061022536600461146e565b610527565b61019c610238366004611455565b6001600160a01b03165f9081526020819052604090205490565b61019c610260366004611455565b6105df565b61019c600b5481565b6102766105fc565b60405161016c9796959493929190611485565b61015f610683565b6101d061029f36600461146e565b610692565b6101d06102b236600461146e565b6106c1565b6101886102c53660046113f3565b61077f565b6101886102d83660046113f3565b6107f9565b600954600a54604080516001600160a01b0393841681529290911660208301520161016c565b61019c610806565b6101d061031936600461151b565b61082d565b61019c61032c366004611588565b61098e565b606060038054610340906115b9565b80601f016020809104026020016040519081016040528092919081815260200182805461036c906115b9565b80156103b75780601f1061038e576101008083540402835291602001916103b7565b820191905f5260205f20905b81548152906001019060200180831161039a57829003601f168201915b5050505050905090565b5f336103ce8185856109b8565b60019150505b92915050565b5f336103e7858285610adc565b6103f2858585610b54565b506001949350505050565b6001600160a01b0381165f0361042657604051633b2e669960e01b815260040160405180910390fd5b600a546001600160a01b03161561045057604051637b1616c160e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f61047b610cf6565b905090565b5f610bb8600b5461047b91906115ff565b5f336103ce8185856104a3838361098e565b6104ad919061161e565b6109b8565b6001600160a01b0381165f036104db57604051633b2e669960e01b815260040160405180910390fd5b6009546001600160a01b03161561050557604051637b1616c160e11b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6009546001600160a01b0316331461055a5760405162461bcd60e51b815260040161055190611631565b60405180910390fd5b80156105dc57600a546001600160a01b03165f9081526020819052604090205480156105c4575f8161058b60025490565b6105959190611661565b61059f8484611674565b6105a991906115ff565b600a549091506105c2906001600160a01b031682610e1f565b505b6009546105da906001600160a01b031683610e1f565b505b50565b6001600160a01b0381165f908152600760205260408120546103d4565b5f6060808280808361062f7f00000000000000000000000000000000000000000000000000000000000000006005610f47565b61065a7f00000000000000000000000000000000000000000000000000000000000000006006610f47565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b606060048054610340906115b9565b6009546001600160a01b031633146106bc5760405162461bcd60e51b815260040161055190611631565b600b55565b6009546001600160a01b031633146106eb5760405162461bcd60e51b815260040161055190611631565b801561076d57600a546001600160a01b03165f908152602081905260409020548015610755575f8161071c60025490565b6107269190611661565b6107308484611674565b61073a91906115ff565b600a54909150610753906001600160a01b031682610ff0565b505b60095461076b906001600160a01b031683610ff0565b505b600b545f036105dc57600254600b5550565b5f338161078c828661098e565b9050838110156107ec5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610551565b6103f282868684036109b8565b5f336103ce818585610b54565b6009546001600160a01b03165f9081526020819052604081205460025461047b9190611661565b8342111561087d5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610551565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886108ab8c6110ae565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610905826110d5565b90505f61091482878787611101565b9050896001600160a01b0316816001600160a01b0316146109775760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610551565b6109828a8a8a6109b8565b50505050505050505050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b038316610a1a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610551565b6001600160a01b038216610a7b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610551565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f610ae7848461098e565b90505f198114610b4e5781811015610b415760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610551565b610b4e84848484036109b8565b50505050565b6001600160a01b038316610bb85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610551565b6001600160a01b038216610c1a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610551565b6001600160a01b0383165f9081526020819052604090205481811015610c915760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610551565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610b4e565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610d4e57507f000000000000000000000000000000000000000000000000000000000000000046145b15610d7857507f000000000000000000000000000000000000000000000000000000000000000090565b61047b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b038216610e7f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610551565b6001600160a01b0382165f9081526020819052604090205481811015610ef25760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610551565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610acf565b606060ff8314610f6157610f5a83611127565b90506103d4565b818054610f6d906115b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610f99906115b9565b8015610fe45780601f10610fbb57610100808354040283529160200191610fe4565b820191905f5260205f20905b815481529060010190602001808311610fc757829003601f168201915b505050505090506103d4565b6001600160a01b0382166110465760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610551565b8060025f828254611057919061161e565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105da565b6001600160a01b0381165f9081526007602052604090208054600181018255905b50919050565b5f6103d46110e1610cf6565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f61111087878787611164565b9150915061111d81611221565b5095945050505050565b60605f6111338361136a565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561119957505f90506003611218565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156111ea573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116611212575f60019250925050611218565b91505f90505b94509492505050565b5f8160048111156112345761123461168b565b0361123c5750565b60018160048111156112505761125061168b565b0361129d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610551565b60028160048111156112b1576112b161168b565b036112fe5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610551565b60038160048111156113125761131261168b565b036105dc5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610551565b5f60ff8216601f8111156103d457604051632cd44ac360e21b815260040160405180910390fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6113d16020830184611391565b9392505050565b80356001600160a01b03811681146113ee575f5ffd5b919050565b5f5f60408385031215611404575f5ffd5b61140d836113d8565b946020939093013593505050565b5f5f5f6060848603121561142d575f5ffd5b611436846113d8565b9250611444602085016113d8565b929592945050506040919091013590565b5f60208284031215611465575f5ffd5b6113d1826113d8565b5f6020828403121561147e575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f6114a360e0830189611391565b82810360408401526114b58189611391565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b8181101561150a5783518352602093840193909201916001016114ec565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a031215611531575f5ffd5b61153a886113d8565b9650611548602089016113d8565b95506040880135945060608801359350608088013560ff8116811461156b575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611599575f5ffd5b6115a2836113d8565b91506115b0602084016113d8565b90509250929050565b600181811c908216806115cd57607f821691505b6020821081036110cf57634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f8261161957634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103d4576103d46115eb565b60208082526016908201527537b7363c903634b8bab4b234ba3c9036b0b730b3b2b960511b604082015260600190565b818103818111156103d4576103d46115eb565b80820281158282048414176103d4576103d46115eb565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220bbc0598463dce7b9da7bca85feb96401227336a3c89f1b27973da93de6d32cb664736f6c634300081c0033","sourceMap":"544:5249:74:-:0;;;1466:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3178:431:47;;;;;;;;;;;;-1:-1:-1;;;3178:431:47;;;;1556:5:74;;;;;1535:7;2046:5:34;:13;1556:5:74;2046::34;:13;:::i;:::-;-1:-1:-1;2069:7:34;:17;2079:7;2069;:17;:::i;:::-;-1:-1:-1;3251:45:47;;-1:-1:-1;3251:4:47;;-1:-1:-1;3282:13:47;3251:30;:45::i;:::-;3243:53;;3317:51;:7;3351:16;3317:33;:51::i;:::-;3306:62;;3392:22;;;;;;;;;;3378:36;;3441:25;;;;;;3424:42;;3494:13;3477:30;;3542:23;4077:11;;4090:14;;4054:81;;;1929:95;4054:81;;;4204:25:98;4245:18;;;4238:34;;;;4288:18;;;4281:34;4106:13:47;4331:18:98;;;4324:34;4129:4:47;4374:19:98;;;4367:61;4018:7:47;;4176:19:98;;4054:81:47;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3542:23;3517:48;;-1:-1:-1;;3597:4:47;3575:27;;-1:-1:-1;544:5249:74;;-1:-1:-1;;544:5249:74;2895:341:43;2991:11;3040:2;3024:5;3018:19;:24;3014:216;;;3065:20;3079:5;3065:13;:20::i;:::-;3058:27;;;;3014:216;3142:5;3116:46;3157:5;3142;3116:46;:::i;:::-;-1:-1:-1;1371:66:43;;-1:-1:-1;3014:216:43;2895:341;;;;:::o;1689:286::-;1754:11;1777:17;1803:3;1777:30;;1835:2;1821:4;:11;:16;1817:72;;;1874:3;1860:18;;-1:-1:-1;;;1860:18:43;;;;;;;;:::i;:::-;;;;;;;;1817:72;1955:11;;1938:13;1955:4;1938:13;:::i;:::-;1930:36;;1689:286;-1:-1:-1;;;1689:286:43:o;14:127:98:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:723;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;298:13;;-1:-1:-1;;;;;323:30:98;;320:56;;;356:18;;:::i;:::-;405:2;399:9;497:2;459:17;;-1:-1:-1;;455:31:98;;;488:2;451:40;447:54;435:67;;-1:-1:-1;;;;;517:34:98;;553:22;;;514:62;511:88;;;579:18;;:::i;:::-;615:2;608:22;639;;;680:19;;;701:4;676:30;673:39;-1:-1:-1;670:59:98;;;725:1;722;715:12;670:59;782:6;775:4;767:6;763:17;756:4;748:6;744:17;738:51;837:1;809:19;;;830:4;805:30;798:41;;;;813:6;146:723;-1:-1:-1;;;146:723:98:o;874:557::-;973:6;981;1034:2;1022:9;1013:7;1009:23;1005:32;1002:52;;;1050:1;1047;1040:12;1002:52;1077:16;;-1:-1:-1;;;;;1105:30:98;;1102:50;;;1148:1;1145;1138:12;1102:50;1171:61;1224:7;1215:6;1204:9;1200:22;1171:61;:::i;:::-;1278:2;1263:18;;1257:25;1161:71;;-1:-1:-1;1257:25:98;-1:-1:-1;;;;;;1294:32:98;;1291:52;;;1339:1;1336;1329:12;1291:52;1362:63;1417:7;1406:8;1395:9;1391:24;1362:63;:::i;:::-;1352:73;;;874:557;;;;;:::o;1436:380::-;1515:1;1511:12;;;;1558;;;1579:61;;1633:4;1625:6;1621:17;1611:27;;1579:61;1686:2;1678:6;1675:14;1655:18;1652:38;1649:161;;1732:10;1727:3;1723:20;1720:1;1713:31;1767:4;1764:1;1757:15;1795:4;1792:1;1785:15;1649:161;;1436:380;;;:::o;1947:518::-;2049:2;2044:3;2041:11;2038:421;;;2085:5;2082:1;2075:16;2129:4;2126:1;2116:18;2199:2;2187:10;2183:19;2180:1;2176:27;2170:4;2166:38;2235:4;2223:10;2220:20;2217:47;;;-1:-1:-1;2258:4:98;2217:47;2313:2;2308:3;2304:12;2301:1;2297:20;2291:4;2287:31;2277:41;;2368:81;2386:2;2379:5;2376:13;2368:81;;;2445:1;2431:16;;2412:1;2401:13;2368:81;;;2372:3;;2038:421;1947:518;;;:::o;2641:1299::-;2761:10;;-1:-1:-1;;;;;2783:30:98;;2780:56;;;2816:18;;:::i;:::-;2845:97;2935:6;2895:38;2927:4;2921:11;2895:38;:::i;:::-;2889:4;2845:97;:::i;:::-;2991:4;3022:2;3011:14;;3039:1;3034:649;;;;3727:1;3744:6;3741:89;;;-1:-1:-1;3796:19:98;;;3790:26;3741:89;-1:-1:-1;;2598:1:98;2594:11;;;2590:24;2586:29;2576:40;2622:1;2618:11;;;2573:57;3843:81;;3004:930;;3034:649;1894:1;1887:14;;;1931:4;1918:18;;-1:-1:-1;;3070:20:98;;;3188:222;3202:7;3199:1;3196:14;3188:222;;;3284:19;;;3278:26;3263:42;;3391:4;3376:20;;;;3344:1;3332:14;;;;3218:12;3188:222;;;3192:3;3438:6;3429:7;3426:19;3423:201;;;3499:19;;;3493:26;-1:-1:-1;;3582:1:98;3578:14;;;3594:3;3574:24;3570:37;3566:42;3551:58;3536:74;;3423:201;-1:-1:-1;;;;3670:1:98;3654:14;;;3650:22;3637:36;;-1:-1:-1;2641:1299:98:o;4439:418::-;4588:2;4577:9;4570:21;4551:4;4620:6;4614:13;4663:6;4658:2;4647:9;4643:18;4636:34;4722:6;4717:2;4709:6;4705:15;4700:2;4689:9;4685:18;4679:50;4778:1;4773:2;4764:6;4753:9;4749:22;4745:31;4738:42;4848:2;4841;4837:7;4832:2;4824:6;4820:15;4816:29;4805:9;4801:45;4797:54;4789:62;;;4439:418;;;;:::o;4862:297::-;4980:12;;5027:4;5016:16;;;5010:23;;4980:12;5045:16;;5042:111;;;-1:-1:-1;;5119:4:98;5115:17;;;;5112:1;5108:25;5104:38;5093:50;;4862:297;-1:-1:-1;4862:297:98:o;:::-;544:5249:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b5060043610610153575f3560e01c80637ecebe00116100bf578063a457c2d711610079578063a457c2d7146102b7578063a9059cbb146102ca578063b79be3f0146102dd578063caacafe214610303578063d505accf1461030b578063dd62ed3e1461031e575f5ffd5b80637ecebe001461025257806380ba0f0f1461026557806384b0196e1461026e57806395d89b41146102895780639c547c4b14610291578063a0712d68146102a4575f5ffd5b80633644e515116101105780633644e515146101e1578063375b3c0a146101e957806339509351146101f15780633c1624d41461020457806342966c681461021757806370a082311461022a575f5ffd5b806306fdde0314610157578063095ea7b31461017557806318160ddd1461019857806323b872dd146101aa5780633028f63a146101bd578063313ce567146101d2575b5f5ffd5b61015f610331565b60405161016c91906113bf565b60405180910390f35b6101886101833660046113f3565b6103c1565b604051901515815260200161016c565b6002545b60405190815260200161016c565b6101886101b836600461141b565b6103da565b6101d06101cb366004611455565b6103fd565b005b6040516012815260200161016c565b61019c610472565b61019c610480565b6101886101ff3660046113f3565b610491565b6101d0610212366004611455565b6104b2565b6101d061022536600461146e565b610527565b61019c610238366004611455565b6001600160a01b03165f9081526020819052604090205490565b61019c610260366004611455565b6105df565b61019c600b5481565b6102766105fc565b60405161016c9796959493929190611485565b61015f610683565b6101d061029f36600461146e565b610692565b6101d06102b236600461146e565b6106c1565b6101886102c53660046113f3565b61077f565b6101886102d83660046113f3565b6107f9565b600954600a54604080516001600160a01b0393841681529290911660208301520161016c565b61019c610806565b6101d061031936600461151b565b61082d565b61019c61032c366004611588565b61098e565b606060038054610340906115b9565b80601f016020809104026020016040519081016040528092919081815260200182805461036c906115b9565b80156103b75780601f1061038e576101008083540402835291602001916103b7565b820191905f5260205f20905b81548152906001019060200180831161039a57829003601f168201915b5050505050905090565b5f336103ce8185856109b8565b60019150505b92915050565b5f336103e7858285610adc565b6103f2858585610b54565b506001949350505050565b6001600160a01b0381165f0361042657604051633b2e669960e01b815260040160405180910390fd5b600a546001600160a01b03161561045057604051637b1616c160e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f61047b610cf6565b905090565b5f610bb8600b5461047b91906115ff565b5f336103ce8185856104a3838361098e565b6104ad919061161e565b6109b8565b6001600160a01b0381165f036104db57604051633b2e669960e01b815260040160405180910390fd5b6009546001600160a01b03161561050557604051637b1616c160e11b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6009546001600160a01b0316331461055a5760405162461bcd60e51b815260040161055190611631565b60405180910390fd5b80156105dc57600a546001600160a01b03165f9081526020819052604090205480156105c4575f8161058b60025490565b6105959190611661565b61059f8484611674565b6105a991906115ff565b600a549091506105c2906001600160a01b031682610e1f565b505b6009546105da906001600160a01b031683610e1f565b505b50565b6001600160a01b0381165f908152600760205260408120546103d4565b5f6060808280808361062f7f00000000000000000000000000000000000000000000000000000000000000006005610f47565b61065a7f00000000000000000000000000000000000000000000000000000000000000006006610f47565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b606060048054610340906115b9565b6009546001600160a01b031633146106bc5760405162461bcd60e51b815260040161055190611631565b600b55565b6009546001600160a01b031633146106eb5760405162461bcd60e51b815260040161055190611631565b801561076d57600a546001600160a01b03165f908152602081905260409020548015610755575f8161071c60025490565b6107269190611661565b6107308484611674565b61073a91906115ff565b600a54909150610753906001600160a01b031682610ff0565b505b60095461076b906001600160a01b031683610ff0565b505b600b545f036105dc57600254600b5550565b5f338161078c828661098e565b9050838110156107ec5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610551565b6103f282868684036109b8565b5f336103ce818585610b54565b6009546001600160a01b03165f9081526020819052604081205460025461047b9190611661565b8342111561087d5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610551565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886108ab8c6110ae565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610905826110d5565b90505f61091482878787611101565b9050896001600160a01b0316816001600160a01b0316146109775760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610551565b6109828a8a8a6109b8565b50505050505050505050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6001600160a01b038316610a1a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610551565b6001600160a01b038216610a7b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610551565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f610ae7848461098e565b90505f198114610b4e5781811015610b415760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610551565b610b4e84848484036109b8565b50505050565b6001600160a01b038316610bb85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610551565b6001600160a01b038216610c1a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610551565b6001600160a01b0383165f9081526020819052604090205481811015610c915760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610551565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610b4e565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610d4e57507f000000000000000000000000000000000000000000000000000000000000000046145b15610d7857507f000000000000000000000000000000000000000000000000000000000000000090565b61047b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6001600160a01b038216610e7f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610551565b6001600160a01b0382165f9081526020819052604090205481811015610ef25760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610551565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610acf565b606060ff8314610f6157610f5a83611127565b90506103d4565b818054610f6d906115b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610f99906115b9565b8015610fe45780601f10610fbb57610100808354040283529160200191610fe4565b820191905f5260205f20905b815481529060010190602001808311610fc757829003601f168201915b505050505090506103d4565b6001600160a01b0382166110465760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610551565b8060025f828254611057919061161e565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105da565b6001600160a01b0381165f9081526007602052604090208054600181018255905b50919050565b5f6103d46110e1610cf6565b8360405161190160f01b8152600281019290925260228201526042902090565b5f5f5f61111087878787611164565b9150915061111d81611221565b5095945050505050565b60605f6111338361136a565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561119957505f90506003611218565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156111ea573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116611212575f60019250925050611218565b91505f90505b94509492505050565b5f8160048111156112345761123461168b565b0361123c5750565b60018160048111156112505761125061168b565b0361129d5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610551565b60028160048111156112b1576112b161168b565b036112fe5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610551565b60038160048111156113125761131261168b565b036105dc5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610551565b5f60ff8216601f8111156103d457604051632cd44ac360e21b815260040160405180910390fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6113d16020830184611391565b9392505050565b80356001600160a01b03811681146113ee575f5ffd5b919050565b5f5f60408385031215611404575f5ffd5b61140d836113d8565b946020939093013593505050565b5f5f5f6060848603121561142d575f5ffd5b611436846113d8565b9250611444602085016113d8565b929592945050506040919091013590565b5f60208284031215611465575f5ffd5b6113d1826113d8565b5f6020828403121561147e575f5ffd5b5035919050565b60ff60f81b8816815260e060208201525f6114a360e0830189611391565b82810360408401526114b58189611391565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b8181101561150a5783518352602093840193909201916001016114ec565b50909b9a5050505050505050505050565b5f5f5f5f5f5f5f60e0888a031215611531575f5ffd5b61153a886113d8565b9650611548602089016113d8565b95506040880135945060608801359350608088013560ff8116811461156b575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215611599575f5ffd5b6115a2836113d8565b91506115b0602084016113d8565b90509250929050565b600181811c908216806115cd57607f821691505b6020821081036110cf57634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f8261161957634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103d4576103d46115eb565b60208082526016908201527537b7363c903634b8bab4b234ba3c9036b0b730b3b2b960511b604082015260600190565b818103818111156103d4576103d46115eb565b80820281158282048414176103d4576103d46115eb565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220bbc0598463dce7b9da7bca85feb96401227336a3c89f1b27973da93de6d32cb664736f6c634300081c0033","sourceMap":"544:5249:74:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1181:14:98;;1174:22;1156:41;;1144:2;1129:18;4444:197:34;1016:187:98;3255:106:34;3342:12;;3255:106;;;1354:25:98;;;1342:2;1327:18;3255:106:34;1208:177:98;5203:256:34;;;;;;:::i;:::-;;:::i;2570:235:74:-;;;;;;:::i;:::-;;:::i;:::-;;3104:91:34;;;3186:2;2102:36:98;;2090:2;2075:18;3104:91:34;1960:184:98;2836:113:36;;;:::i;3263:116:74:-;;;:::i;5854:234:34:-;;;;;;:::i;:::-;;:::i;1945:265:74:-;;;;;;:::i;:::-;;:::i;4760:496::-;;;;;;:::i;:::-;;:::i;3419:125:34:-;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:34;3493:7;3519:18;;;;;;;;;;;;3419:125;2603:126:36;;;;;;:::i;:::-;;:::i;986:34:74:-;;;;;;5021:633:47;;;:::i;:::-;;;;;;;;;;;;;:::i;2369:102:34:-;;;:::i;5374:117:74:-;;;;;;:::i;:::-;;:::i;3735:598::-;;;;;;:::i;:::-;;:::i;6575:427:34:-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;2996:126:74:-;3085:16;;3103:11;;2996:126;;;-1:-1:-1;;;;;3085:16:74;;;3979:51:98;;3103:11:74;;;;4061:2:98;4046:18;;4039:60;3952:18;2996:126:74;3805:300:98;5665:126:74;;;:::i;1923:626:36:-;;;;;;:::i;:::-;;:::i;3987:149:34:-;;;;;;:::i;:::-;;:::i;2158:98::-;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;734:10:41;4581:32:34;734:10:41;4597:7:34;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;734:10:41;5356:38:34;5372:4;734:10:41;5387:6:34;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:34;;5203:256;-1:-1:-1;;;;5203:256:34:o;2570:235:74:-;-1:-1:-1;;;;;2639:26:74;;2647:1;2639:26;2635:60;;2674:21;;-1:-1:-1;;;2674:21:74;;;;;;;;;;;2635:60;2709:11;;-1:-1:-1;;;;;2709:11:74;:25;2705:57;;2743:19;;-1:-1:-1;;;2743:19:74;;;;;;;;;;;2705:57;2772:11;:26;;-1:-1:-1;;;;;;2772:26:74;-1:-1:-1;;;;;2772:26:74;;;;;;;;;;2570:235::o;2836:113:36:-;2896:7;2922:20;:18;:20::i;:::-;2915:27;;2836:113;:::o;3263:116:74:-;3306:7;775:4;3332:19;;:40;;;;:::i;5854:234:34:-;5942:4;734:10:41;5996:64:34;734:10:41;6012:7:34;6049:10;6021:25;734:10:41;6012:7:34;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;1945:265:74:-;-1:-1:-1;;;;;2024:31:74;;2032:1;2024:31;2020:65;;2064:21;;-1:-1:-1;;;2064:21:74;;;;;;;;;;;2020:65;2099:16;;-1:-1:-1;;;;;2099:16:74;:30;2095:62;;2138:19;;-1:-1:-1;;;2138:19:74;;;;;;;;;;;2095:62;2167:16;:36;;-1:-1:-1;;;;;;2167:36:74;-1:-1:-1;;;;;2167:36:74;;;;;;;;;;1945:265::o;4760:496::-;1245:16;;-1:-1:-1;;;;;1245:16:74;1223:10;:39;1215:74;;;;-1:-1:-1;;;1215:74:74;;;;;;;:::i;:::-;;;;;;;;;4835:11;;4831:419:::1;;4960:11;::::0;-1:-1:-1;;;;;4960:11:74::1;4921:26;3519:18:34::0;;;;;;;;;;;4990:22:74;;4986:199:::1;;5032:19;5102:18;5086:13;3342:12:34::0;;;3255:106;5086:13:74::1;:34;;;;:::i;:::-;5054:28;5075:7:::0;5054:18;:28:::1;:::i;:::-;:67;;;;:::i;:::-;5145:11;::::0;5032:89;;-1:-1:-1;5139:31:74::1;::::0;-1:-1:-1;;;;;5145:11:74::1;5032:89:::0;5139:5:::1;:31::i;:::-;5014:171;4986:199;5212:16;::::0;5198:41:::1;::::0;-1:-1:-1;;;;;5212:16:74::1;5231:7:::0;5198:5:::1;:41::i;:::-;4848:402;4831:419;4760:496:::0;:::o;2603:126:36:-;-1:-1:-1;;;;;2698:14:36;;2672:7;2698:14;;;:7;:14;;;;;918::42;2698:24:36;827:112:42;5021:633:47;5136:13;5163:18;;5136:13;;;5163:18;5427:41;:5;5454:13;5427:26;:41::i;:::-;5482:47;:8;5512:16;5482:29;:47::i;:::-;5621:16;;;5605:1;5621:16;;;;;;;;;-1:-1:-1;;;5376:271:47;;;-1:-1:-1;5376:271:47;;-1:-1:-1;5543:13:47;;-1:-1:-1;5578:4:47;;-1:-1:-1;5605:1:47;-1:-1:-1;5621:16:47;-1:-1:-1;5376:271:47;-1:-1:-1;5021:633:47:o;2369:102:34:-;2425:13;2457:7;2450:14;;;;;:::i;5374:117:74:-;1245:16;;-1:-1:-1;;;;;1245:16:74;1223:10;:39;1215:74;;;;-1:-1:-1;;;1215:74:74;;;;;;;:::i;:::-;5459:19:::1;:25:::0;5374:117::o;3735:598::-;1245:16;;-1:-1:-1;;;;;1245:16:74;1223:10;:39;1215:74;;;;-1:-1:-1;;;1215:74:74;;;;;;;:::i;:::-;3810:11;;3806:422:::1;;3944:11;::::0;-1:-1:-1;;;;;3944:11:74::1;3905:26;3519:18:34::0;;;;;;;;;;;3974:22:74;;3970:193:::1;;4016:16;4083:18;4067:13;3342:12:34::0;;;3255:106;4067:13:74::1;:34;;;;:::i;:::-;4035:28;4056:7:::0;4035:18;:28:::1;:::i;:::-;:67;;;;:::i;:::-;4126:11;::::0;4016:86;;-1:-1:-1;4120:28:74::1;::::0;-1:-1:-1;;;;;4126:11:74::1;4016:86:::0;4120:5:::1;:28::i;:::-;3998:165;3970:193;4190:16;::::0;4176:41:::1;::::0;-1:-1:-1;;;;;4190:16:74::1;4209:7:::0;4176:5:::1;:41::i;:::-;3823:405;3806:422;4241:19;;4264:1;4241:24:::0;4237:90:::1;;3342:12:34::0;;4281:19:74::1;:35:::0;3735:598;:::o;6575:427:34:-;6668:4;734:10:41;6668:4:34;6749:25;734:10:41;6766:7:34;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:34;;7143:2:98;6784:85:34;;;7125:21:98;7182:2;7162:18;;;7155:30;7221:34;7201:18;;;7194:62;-1:-1:-1;;;7272:18:98;;;7265:35;7317:19;;6784:85:34;6941:401:98;6784:85:34;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;734:10:41;3873:28:34;734:10:41;3890:2:34;3894:6;3873:9;:28::i;5665:126:74:-;5767:16;;-1:-1:-1;;;;;5767:16:74;5715:7;3519:18:34;;;;;;;;;;;3342:12;;5741:43:74;;;;:::i;1923:626:36:-;2158:8;2139:15;:27;;2131:69;;;;-1:-1:-1;;;2131:69:36;;7549:2:98;2131:69:36;;;7531:21:98;7588:2;7568:18;;;7561:30;7627:31;7607:18;;;7600:59;7676:18;;2131:69:36;7347:353:98;2131:69:36;2211:18;1125:95;2271:5;2278:7;2287:5;2294:16;2304:5;2294:9;:16::i;:::-;2242:79;;;;;;7992:25:98;;;;-1:-1:-1;;;;;8053:32:98;;;8033:18;;;8026:60;8122:32;;;;8102:18;;;8095:60;8171:18;;;8164:34;8214:19;;;8207:35;8258:19;;;8251:35;;;7964:19;;2242:79:36;;;;;;;;;;;;2232:90;;;;;;2211:111;;2333:12;2348:28;2365:10;2348:16;:28::i;:::-;2333:43;;2387:14;2404:28;2418:4;2424:1;2427;2430;2404:13;:28::i;:::-;2387:45;;2460:5;-1:-1:-1;;;;;2450:15:36;:6;-1:-1:-1;;;;;2450:15:36;;2442:58;;;;-1:-1:-1;;;2442:58:36;;8499:2:98;2442:58:36;;;8481:21:98;8538:2;8518:18;;;8511:30;8577:32;8557:18;;;8550:60;8627:18;;2442:58:36;8297:354:98;2442:58:36;2511:31;2520:5;2527:7;2536:5;2511:8;:31::i;:::-;2121:428;;;1923:626;;;;;;;:::o;3987:149:34:-;-1:-1:-1;;;;;4102:18:34;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149::o;10457:340::-;-1:-1:-1;;;;;10558:19:34;;10550:68;;;;-1:-1:-1;;;10550:68:34;;8858:2:98;10550:68:34;;;8840:21:98;8897:2;8877:18;;;8870:30;8936:34;8916:18;;;8909:62;-1:-1:-1;;;8987:18:98;;;8980:34;9031:19;;10550:68:34;8656:400:98;10550:68:34;-1:-1:-1;;;;;10636:21:34;;10628:68;;;;-1:-1:-1;;;10628:68:34;;9263:2:98;10628:68:34;;;9245:21:98;9302:2;9282:18;;;9275:30;9341:34;9321:18;;;9314:62;-1:-1:-1;;;9392:18:98;;;9385:32;9434:19;;10628:68:34;9061:398:98;10628:68:34;-1:-1:-1;;;;;10707:18:34;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1354:25:98;;;10758:32:34;;1327:18:98;10758:32:34;;;;;;;;10457:340;;;:::o;11078:411::-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;-1:-1:-1;;11244:16:34;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:34;;9666:2:98;11297:68:34;;;9648:21:98;9705:2;9685:18;;;9678:30;9744:31;9724:18;;;9717:59;9793:18;;11297:68:34;9464:353:98;11297:68:34;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;-1:-1:-1;;;;;7552:18:34;;7544:68;;;;-1:-1:-1;;;7544:68:34;;10024:2:98;7544:68:34;;;10006:21:98;10063:2;10043:18;;;10036:30;10102:34;10082:18;;;10075:62;-1:-1:-1;;;10153:18:98;;;10146:35;10198:19;;7544:68:34;9822:401:98;7544:68:34;-1:-1:-1;;;;;7630:16:34;;7622:64;;;;-1:-1:-1;;;7622:64:34;;10430:2:98;7622:64:34;;;10412:21:98;10469:2;10449:18;;;10442:30;10508:34;10488:18;;;10481:62;-1:-1:-1;;;10559:18:98;;;10552:33;10602:19;;7622:64:34;10228:399:98;7622:64:34;-1:-1:-1;;;;;7768:15:34;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:34;;10834:2:98;7793:72:34;;;10816:21:98;10873:2;10853:18;;;10846:30;10912:34;10892:18;;;10885:62;-1:-1:-1;;;10963:18:98;;;10956:36;11009:19;;7793:72:34;10632:402:98;7793:72:34;-1:-1:-1;;;;;7899:15:34;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1354:25:98;;;8114:13:34;;8163:26;;1327:18:98;8163:26:34;;;;;;;8200:37;9375:659;3695:262:47;3748:7;3779:4;-1:-1:-1;;;;;3788:11:47;3771:28;;:63;;;;;3820:14;3803:13;:31;3771:63;3767:184;;;-1:-1:-1;3857:22:47;;3695:262::o;3767:184::-;3917:23;4054:81;;;1929:95;4054:81;;;12463:25:98;4077:11:47;12504:18:98;;;12497:34;;;;4090:14:47;12547:18:98;;;12540:34;4106:13:47;12590:18:98;;;12583:34;4129:4:47;12633:19:98;;;12626:61;4018:7:47;;12435:19:98;;4054:81:47;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;9375:659:34;-1:-1:-1;;;;;9458:21:34;;9450:67;;;;-1:-1:-1;;;9450:67:34;;11241:2:98;9450:67:34;;;11223:21:98;11280:2;11260:18;;;11253:30;11319:34;11299:18;;;11292:62;-1:-1:-1;;;11370:18:98;;;11363:31;11411:19;;9450:67:34;11039:397:98;9450:67:34;-1:-1:-1;;;;;9613:18:34;;9588:22;9613:18;;;;;;;;;;;9649:24;;;;9641:71;;;;-1:-1:-1;;;9641:71:34;;11643:2:98;9641:71:34;;;11625:21:98;11682:2;11662:18;;;11655:30;11721:34;11701:18;;;11694:62;-1:-1:-1;;;11772:18:98;;;11765:32;11814:19;;9641:71:34;11441:398:98;9641:71:34;-1:-1:-1;;;;;9746:18:34;;:9;:18;;;;;;;;;;;9767:23;;;9746:44;;9883:12;:22;;;;;;;9931:37;1354:25:98;;;9746:9:34;;:18;9931:37;;1327:18:98;9931:37:34;1208:177:98;3367:268:43;3461:13;1371:66;3490:47;;3486:143;;3560:15;3569:5;3560:8;:15::i;:::-;3553:22;;;;3486:143;3613:5;3606:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8520:535:34;-1:-1:-1;;;;;8603:21:34;;8595:65;;;;-1:-1:-1;;;8595:65:34;;12046:2:98;8595:65:34;;;12028:21:98;12085:2;12065:18;;;12058:30;12124:33;12104:18;;;12097:61;12175:18;;8595:65:34;11844:355:98;8595:65:34;8747:6;8731:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8899:18:34;;:9;:18;;;;;;;;;;;:28;;;;;;8952:37;1354:25:98;;;8952:37:34;;1327:18:98;8952:37:34;;;;;;;9000:48;9375:659;3080:203:36;-1:-1:-1;;;;;3200:14:36;;3140:15;3200:14;;;:7;:14;;;;;918::42;;1050:1;1032:19;;;;918:14;3259:17:36;3157:126;3080:203;;;:::o;4768:165:47:-;4845:7;4871:55;4893:20;:18;:20::i;:::-;4915:10;8536:4:46;8530:11;-1:-1:-1;;;8554:23:46;;8606:4;8597:14;;8590:39;;;;8658:4;8649:14;;8642:34;8712:4;8697:20;;;8336:397;6598:232;6683:7;6703:17;6722:18;6744:25;6755:4;6761:1;6764;6767;6744:10;:25::i;:::-;6702:67;;;;6779:18;6791:5;6779:11;:18::i;:::-;-1:-1:-1;6814:9:46;6598:232;-1:-1:-1;;;;;6598:232:46:o;2059:405:43:-;2118:13;2143:11;2157:16;2168:4;2157:10;:16::i;:::-;2281:14;;;2292:2;2281:14;;;;;;;;;2143:30;;-1:-1:-1;2261:17:43;;2281:14;;;;;;;;;-1:-1:-1;;;2371:16:43;;;-1:-1:-1;2416:4:43;2407:14;;2400:28;;;;-1:-1:-1;2371:16:43;2059:405::o;5009:1456:46:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:46;;-1:-1:-1;6123:30:46;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;12925:25:98;;;12998:4;12986:17;;12966:18;;;12959:45;;;;13020:18;;;13013:34;;;13063:18;;;13056:34;;;6276:24:46;;12897:19:98;;6276:24:46;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:46;;-1:-1:-1;;6276:24:46;;;-1:-1:-1;;;;;;;6314:20:46;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:46;;-1:-1:-1;5009:1456:46;;;;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;788:34;;-1:-1:-1;;;788:34:46;;13435:2:98;788:34:46;;;13417:21:98;13474:2;13454:18;;;13447:30;13513:26;13493:18;;;13486:54;13557:18;;788:34:46;13233:348:98;730:345:46;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;903:41;;-1:-1:-1;;;903:41:46;;13788:2:98;903:41:46;;;13770:21:98;13827:2;13807:18;;;13800:30;13866:33;13846:18;;;13839:61;13917:18;;903:41:46;13586:355:98;839:236:46;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;1020:44;;-1:-1:-1;;;1020:44:46;;14148:2:98;1020:44:46;;;14130:21:98;14187:2;14167:18;;;14160:30;14226:34;14206:18;;;14199:62;-1:-1:-1;;;14277:18:98;;;14270:32;14319:19;;1020:44:46;13946:398:98;2536:245:43;2597:7;2669:4;2633:40;;2696:2;2687:11;;2683:69;;;2721:20;;-1:-1:-1;;;2721:20:43;;;;;;;;;;;14:289:98;56:3;94:5;88:12;121:6;116:3;109:19;177:6;170:4;163:5;159:16;152:4;147:3;143:14;137:47;229:1;222:4;213:6;208:3;204:16;200:27;193:38;292:4;285:2;281:7;276:2;268:6;264:15;260:29;255:3;251:39;247:50;240:57;;;14:289;;;;:::o;308:220::-;457:2;446:9;439:21;420:4;477:45;518:2;507:9;503:18;495:6;477:45;:::i;:::-;469:53;308:220;-1:-1:-1;;;308:220:98:o;533:173::-;601:20;;-1:-1:-1;;;;;650:31:98;;640:42;;630:70;;696:1;693;686:12;630:70;533:173;;;:::o;711:300::-;779:6;787;840:2;828:9;819:7;815:23;811:32;808:52;;;856:1;853;846:12;808:52;879:29;898:9;879:29;:::i;:::-;869:39;977:2;962:18;;;;949:32;;-1:-1:-1;;;711:300:98:o;1390:374::-;1467:6;1475;1483;1536:2;1524:9;1515:7;1511:23;1507:32;1504:52;;;1552:1;1549;1542:12;1504:52;1575:29;1594:9;1575:29;:::i;:::-;1565:39;;1623:38;1657:2;1646:9;1642:18;1623:38;:::i;:::-;1390:374;;1613:48;;-1:-1:-1;;;1730:2:98;1715:18;;;;1702:32;;1390:374::o;1769:186::-;1828:6;1881:2;1869:9;1860:7;1856:23;1852:32;1849:52;;;1897:1;1894;1887:12;1849:52;1920:29;1939:9;1920:29;:::i;2331:226::-;2390:6;2443:2;2431:9;2422:7;2418:23;2414:32;2411:52;;;2459:1;2456;2449:12;2411:52;-1:-1:-1;2504:23:98;;2331:226;-1:-1:-1;2331:226:98:o;2562:1238::-;2968:3;2963;2959:13;2951:6;2947:26;2936:9;2929:45;3010:3;3005:2;2994:9;2990:18;2983:31;2910:4;3037:46;3078:3;3067:9;3063:19;3055:6;3037:46;:::i;:::-;3131:9;3123:6;3119:22;3114:2;3103:9;3099:18;3092:50;3165:33;3191:6;3183;3165:33;:::i;:::-;3229:2;3214:18;;3207:34;;;-1:-1:-1;;;;;3278:32:98;;3272:3;3257:19;;3250:61;3298:3;3327:19;;3320:35;;;3392:22;;;3386:3;3371:19;;3364:51;3464:13;;3486:22;;;3536:2;3562:15;;;;-1:-1:-1;3524:15:98;;;;-1:-1:-1;3605:169:98;3619:6;3616:1;3613:13;3605:169;;;3680:13;;3668:26;;3723:2;3749:15;;;;3714:12;;;;3641:1;3634:9;3605:169;;;-1:-1:-1;3791:3:98;;2562:1238;-1:-1:-1;;;;;;;;;;;2562:1238:98:o;4110:903::-;4221:6;4229;4237;4245;4253;4261;4269;4322:3;4310:9;4301:7;4297:23;4293:33;4290:53;;;4339:1;4336;4329:12;4290:53;4362:29;4381:9;4362:29;:::i;:::-;4352:39;;4410:38;4444:2;4433:9;4429:18;4410:38;:::i;:::-;4400:48;-1:-1:-1;4517:2:98;4502:18;;4489:32;;-1:-1:-1;4618:2:98;4603:18;;4590:32;;-1:-1:-1;4700:3:98;4685:19;;4672:33;4749:4;4736:18;;4724:31;;4714:59;;4769:1;4766;4759:12;4714:59;4110:903;;;;-1:-1:-1;4110:903:98;;;;4792:7;4872:3;4857:19;;4844:33;;-1:-1:-1;4976:3:98;4961:19;;;4948:33;;4110:903;-1:-1:-1;;4110:903:98:o;5018:260::-;5086:6;5094;5147:2;5135:9;5126:7;5122:23;5118:32;5115:52;;;5163:1;5160;5153:12;5115:52;5186:29;5205:9;5186:29;:::i;:::-;5176:39;;5234:38;5268:2;5257:9;5253:18;5234:38;:::i;:::-;5224:48;;5018:260;;;;;:::o;5283:380::-;5362:1;5358:12;;;;5405;;;5426:61;;5480:4;5472:6;5468:17;5458:27;;5426:61;5533:2;5525:6;5522:14;5502:18;5499:38;5496:161;;5579:10;5574:3;5570:20;5567:1;5560:31;5614:4;5611:1;5604:15;5642:4;5639:1;5632:15;5668:127;5729:10;5724:3;5720:20;5717:1;5710:31;5760:4;5757:1;5750:15;5784:4;5781:1;5774:15;5800:217;5840:1;5866;5856:132;;5910:10;5905:3;5901:20;5898:1;5891:31;5945:4;5942:1;5935:15;5973:4;5970:1;5963:15;5856:132;-1:-1:-1;6002:9:98;;5800:217::o;6022:125::-;6087:9;;;6108:10;;;6105:36;;;6121:18;;:::i;6152:346::-;6354:2;6336:21;;;6393:2;6373:18;;;6366:30;-1:-1:-1;;;6427:2:98;6412:18;;6405:52;6489:2;6474:18;;6152:346::o;6503:128::-;6570:9;;;6591:11;;;6588:37;;;6605:18;;:::i;6636:168::-;6709:9;;;6740;;6757:15;;;6751:22;;6737:37;6727:71;;6778:18;;:::i;13101:127::-;13162:10;13157:3;13153:20;13150:1;13143:31;13193:4;13190:1;13183:15;13217:4;13214:1;13207:15","linkReferences":{},"immutableReferences":{"52826":[{"start":3414,"length":32}],"52828":[{"start":3372,"length":32}],"52830":[{"start":3330,"length":32}],"52832":[{"start":3495,"length":32}],"52834":[{"start":3535,"length":32}],"52837":[{"start":1545,"length":32}],"52840":[{"start":1588,"length":32}]}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","eip712Domain()":"84b0196e","increaseAllowance(address,uint256)":"39509351","minStake()":"375b3c0a","mint(uint256)":"a0712d68","name()":"06fdde03","nonces(address)":"7ecebe00","outstandingSupply()":"caacafe2","peripheryContracts()":"b79be3f0","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","previousTotalSupply()":"80ba0f0f","setLiquidityManager(address)":"3c1624d4","setPreviousTotalSupply(uint256)":"9c547c4b","setStakingPool(address)":"3028f63a","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AddressAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddressInSetter\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"outstandingSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"peripheryContracts\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"previousTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"liquidityManager_\",\"type\":\"address\"}],\"name\":\"setLiquidityManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_ts\",\"type\":\"uint256\"}],\"name\":\"setPreviousTotalSupply\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"stakingPool_\",\"type\":\"address\"}],\"name\":\"setStakingPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"When tokens are burned, the total supply shrinks, making excess tokens in the staking pool unnecessary. These excess tokens are burned to maintain the guaranteed fixed percentage of the total supply for stakers.\",\"params\":{\"_amount\":\"The number of tokens to burn.\"}},\"constructor\":{\"params\":{\"name_\":\"The name of the token\",\"symbol_\":\"The symbol of the token\"}},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"minStake()\":{\"returns\":{\"_0\":\"The minimum stake amount\"}},\"mint(uint256)\":{\"details\":\"Tokens minted are managed as community liquidity in the Uniswap pool to stabilize KRAIKEN prices. Only callable by the Liquidity Manager. Minting rules and limits are defined externally.\",\"params\":{\"_amount\":\"The number of tokens to mint.\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"outstandingSupply()\":{\"returns\":{\"_0\":\"The outstanding supply\"}},\"peripheryContracts()\":{\"returns\":{\"_0\":\"The addresses of the TWAB controller, liquidity manager, staking pool, and liquidity pool\"}},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"setLiquidityManager(address)\":{\"details\":\"Should be called only once right after the contract deployment to set the liquidity manager address. Throws AddressAlreadySet if called more than once.\",\"params\":{\"liquidityManager_\":\"The address of the liquidity manager.\"}},\"setPreviousTotalSupply(uint256)\":{\"params\":{\"_ts\":\"The previous total supply value\"}},\"setStakingPool(address)\":{\"details\":\"Should be called only once right after the contract deployment to set the staking pool address. Throws AddressAlreadySet if called more than once.\",\"params\":{\"stakingPool_\":\"The address of the staking pool.\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"title\":\"stakeable ERC20 Token\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"burn(uint256)\":{\"notice\":\"Allows the liquidity manager to burn tokens from its account, adjusting the staking pool accordingly.\"},\"constructor\":{\"notice\":\"Constructor for the Kraiken token\"},\"minStake()\":{\"notice\":\"Calculates the minimum stake based on the previous total supply\"},\"mint(uint256)\":{\"notice\":\"Allows the liquidity manager to mint tokens for itself.\"},\"outstandingSupply()\":{\"notice\":\"Returns the outstanding supply, excluding the balances of the liquidity pool and liquidity manager\"},\"peripheryContracts()\":{\"notice\":\"Returns the addresses of the periphery contracts\"},\"setLiquidityManager(address)\":{\"notice\":\"Sets the address for the liquidityManager. Used once post-deployment to initialize the contract.\"},\"setPreviousTotalSupply(uint256)\":{\"notice\":\"Sets the previous total supply\"},\"setStakingPool(address)\":{\"notice\":\"Sets the address for the stakingPool. Used once post-deployment to initialize the contract.\"}},\"notice\":\"This contract implements an ERC20 token with mechanisms for minting and burning in which a single account (staking Pool) is proportionally receiving a share. Only the liquidity manager has permission to manage token supply.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Kraiken.sol\":\"Kraiken\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@abdk/=lib/abdk-libraries-solidity/\",\":@aperture/uni-v3-lib/=lib/uni-v3-lib/src/\",\":@openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":@uniswap-v3-core/=lib/uni-v3-lib/node_modules/@uniswap/v3-core/contracts/\",\":@uniswap-v3-periphery/=lib/uni-v3-lib/node_modules/@uniswap/v3-periphery/contracts/\",\":@uniswap/=lib/uni-v3-lib/node_modules/@uniswap/\",\":abdk-libraries-solidity/=lib/abdk-libraries-solidity/\",\":base64-sol/=lib/uni-v3-lib/node_modules/base64-sol/\",\":ds-test/=lib/solmate/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":pt-v5-twab-controller/=lib/pt-v5-twab-controller/src/\",\":ring-buffer-lib/=lib/pt-v5-twab-controller/lib/ring-buffer-lib/src/\",\":solady/=lib/uni-v3-lib/node_modules/solady/\",\":solmate/=lib/solmate/src/\",\":uni-v3-lib/=lib/uni-v3-lib/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xbb16110ffe0b625944fe7dd97adcf1158e514185c956a5628bc09be90d606174\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5b412e554a4dd37a50f89ffcd7b9a6ef2ae5064f37619f89343b23d58ce89ca\",\"dweb:/ipfs/QmPWMdBvdFk8WBVv625wd1Ar7aehnBWtj1XfFRrRL5KpxJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/Kraiken.sol\":{\"keccak256\":\"0x36e95626b3927127004954f77c3b6565e9dbda68d9ad41ca00d12188ca5c336d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d127878308d493074c4499c2cc42b5b357e609f65f83e93e682518113a789115\",\"dweb:/ipfs/QmbbRbjrmgkVX31XRmZ7ba8dL2YqYh9HkA8LQMVcLXRap1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AddressAlreadySet"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[],"type":"error","name":"ZeroAddressInSetter"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"outstandingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"peripheryContracts","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"previousTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"liquidityManager_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setLiquidityManager"},{"inputs":[{"internalType":"uint256","name":"_ts","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setPreviousTotalSupply"},{"inputs":[{"internalType":"address","name":"stakingPool_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setStakingPool"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"burn(uint256)":{"details":"When tokens are burned, the total supply shrinks, making excess tokens in the staking pool unnecessary. These excess tokens are burned to maintain the guaranteed fixed percentage of the total supply for stakers.","params":{"_amount":"The number of tokens to burn."}},"constructor":{"params":{"name_":"The name of the token","symbol_":"The symbol of the token"}},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"minStake()":{"returns":{"_0":"The minimum stake amount"}},"mint(uint256)":{"details":"Tokens minted are managed as community liquidity in the Uniswap pool to stabilize KRAIKEN prices. Only callable by the Liquidity Manager. Minting rules and limits are defined externally.","params":{"_amount":"The number of tokens to mint."}},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"outstandingSupply()":{"returns":{"_0":"The outstanding supply"}},"peripheryContracts()":{"returns":{"_0":"The addresses of the TWAB controller, liquidity manager, staking pool, and liquidity pool"}},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above."},"setLiquidityManager(address)":{"details":"Should be called only once right after the contract deployment to set the liquidity manager address. Throws AddressAlreadySet if called more than once.","params":{"liquidityManager_":"The address of the liquidity manager."}},"setPreviousTotalSupply(uint256)":{"params":{"_ts":"The previous total supply value"}},"setStakingPool(address)":{"details":"Should be called only once right after the contract deployment to set the staking pool address. Throws AddressAlreadySet if called more than once.","params":{"stakingPool_":"The address of the staking pool."}},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{"burn(uint256)":{"notice":"Allows the liquidity manager to burn tokens from its account, adjusting the staking pool accordingly."},"constructor":{"notice":"Constructor for the Kraiken token"},"minStake()":{"notice":"Calculates the minimum stake based on the previous total supply"},"mint(uint256)":{"notice":"Allows the liquidity manager to mint tokens for itself."},"outstandingSupply()":{"notice":"Returns the outstanding supply, excluding the balances of the liquidity pool and liquidity manager"},"peripheryContracts()":{"notice":"Returns the addresses of the periphery contracts"},"setLiquidityManager(address)":{"notice":"Sets the address for the liquidityManager. Used once post-deployment to initialize the contract."},"setPreviousTotalSupply(uint256)":{"notice":"Sets the previous total supply"},"setStakingPool(address)":{"notice":"Sets the address for the stakingPool. Used once post-deployment to initialize the contract."}},"version":1}},"settings":{"remappings":["@abdk/=lib/abdk-libraries-solidity/","@aperture/uni-v3-lib/=lib/uni-v3-lib/src/","@openzeppelin/=lib/openzeppelin-contracts/contracts/","@uniswap-v3-core/=lib/uni-v3-lib/node_modules/@uniswap/v3-core/contracts/","@uniswap-v3-periphery/=lib/uni-v3-lib/node_modules/@uniswap/v3-periphery/contracts/","@uniswap/=lib/uni-v3-lib/node_modules/@uniswap/","abdk-libraries-solidity/=lib/abdk-libraries-solidity/","base64-sol/=lib/uni-v3-lib/node_modules/base64-sol/","ds-test/=lib/solmate/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","pt-v5-twab-controller/=lib/pt-v5-twab-controller/src/","ring-buffer-lib/=lib/pt-v5-twab-controller/lib/ring-buffer-lib/src/","solady/=lib/uni-v3-lib/node_modules/solady/","solmate/=lib/solmate/src/","uni-v3-lib/=lib/uni-v3-lib/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/Kraiken.sol":"Kraiken"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0xbb16110ffe0b625944fe7dd97adcf1158e514185c956a5628bc09be90d606174","urls":["bzz-raw://b5b412e554a4dd37a50f89ffcd7b9a6ef2ae5064f37619f89343b23d58ce89ca","dweb:/ipfs/QmPWMdBvdFk8WBVv625wd1Ar7aehnBWtj1XfFRrRL5KpxJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/Kraiken.sol":{"keccak256":"0x36e95626b3927127004954f77c3b6565e9dbda68d9ad41ca00d12188ca5c336d","urls":["bzz-raw://d127878308d493074c4499c2cc42b5b357e609f65f83e93e682518113a789115","dweb:/ipfs/QmbbRbjrmgkVX31XRmZ7ba8dL2YqYh9HkA8LQMVcLXRap1"],"license":"GPL-3.0-or-later"}},"version":1},"id":74} \ No newline at end of file diff --git a/subgraph/base_sepolia/abis/Stake.json b/subgraph/base_sepolia/abis/Stake.json deleted file mode 100644 index 0854480..0000000 --- a/subgraph/base_sepolia/abis/Stake.json +++ /dev/null @@ -1 +0,0 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_kraiken","type":"address","internalType":"address"},{"name":"_taxReceiver","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"TAX_RATES","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"assetsToShares","inputs":[{"name":"assets","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"changeTax","inputs":[{"name":"positionId","type":"uint256","internalType":"uint256"},{"name":"taxRate","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"exitPosition","inputs":[{"name":"positionId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAverageTaxRate","inputs":[],"outputs":[{"name":"averageTaxRate","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPercentageStaked","inputs":[],"outputs":[{"name":"percentageStaked","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextPositionId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"outstandingStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"payTax","inputs":[{"name":"positionId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"permitAndSnatch","inputs":[{"name":"assets","type":"uint256","internalType":"uint256"},{"name":"receiver","type":"address","internalType":"address"},{"name":"taxRate","type":"uint32","internalType":"uint32"},{"name":"positionsToSnatch","type":"uint256[]","internalType":"uint256[]"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"positionId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"positions","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"share","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"},{"name":"creationTime","type":"uint32","internalType":"uint32"},{"name":"lastTaxTime","type":"uint32","internalType":"uint32"},{"name":"taxRate","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"sharesToAssets","inputs":[{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"snatch","inputs":[{"name":"assets","type":"uint256","internalType":"uint256"},{"name":"receiver","type":"address","internalType":"address"},{"name":"taxRate","type":"uint32","internalType":"uint32"},{"name":"positionsToSnatch","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"positionId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"taxDue","inputs":[{"name":"positionId","type":"uint256","internalType":"uint256"},{"name":"taxFloorDuration","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amountDue","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSharesAtTaxRate","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"PositionCreated","inputs":[{"name":"positionId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"kraikenDeposit","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"share","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"taxRate","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"PositionRateHiked","inputs":[{"name":"positionId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"newTaxRate","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PositionRemoved","inputs":[{"name":"positionId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"kraikenPayout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PositionShrunk","inputs":[{"name":"positionId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"newShares","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"kraikenPayout","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PositionTaxPaid","inputs":[{"name":"positionId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"taxPaid","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newShares","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"taxRate","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ExceededAvailableStake","inputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"stakeWanted","type":"uint256","internalType":"uint256"},{"name":"availableStake","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NoPermission","inputs":[{"name":"requester","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"PositionNotFound","inputs":[{"name":"positionId","type":"uint256","internalType":"uint256"},{"name":"requester","type":"address","internalType":"address"}]},{"type":"error","name":"StakeTooLow","inputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"assets","type":"uint256","internalType":"uint256"},{"name":"minStake","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"TaxTooLow","inputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"taxRateWanted","type":"uint64","internalType":"uint64"},{"name":"taxRateMet","type":"uint64","internalType":"uint64"},{"name":"positionId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"TooMuchSnatch","inputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"stakeWanted","type":"uint256","internalType":"uint256"},{"name":"availableStake","type":"uint256","internalType":"uint256"},{"name":"smallestShare","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60075f556104a0604052600160e08181526003610100526005610120526008610140908152600c6101605260126101805260186101a052601e6101c081905260286101e052603261020052603c6102205260506102405260646102605260826102805260b46102a05260fa6102c0526102e0919091526101a46103005261021c610320526102bc61034052610398610360526104b0610380526106406103a0526107d06103c052610a286103e052610d48610400526111306104205261164461044052611d4c610460526125e4610480526100db929190610200565b503480156100e7575f5ffd5b506040516122cb3803806122cb833981016040819052610106916102b7565b6001600160a01b03808316608081905290821660a0525f546040805163313ce56760e01b8152905191929163313ce567916004808201926020929091908290030181865afa15801561015a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061017e91906102e8565b60ff1661018b9190610323565b61019690600a61041f565b60c0526209fbf16003556001546001600160401b038111156101ba576101ba61042a565b6040519080825280602002602001820160405280156101e3578160200160208202803683370190505b5080516101f89160059160209091019061024f565b50505061043e565b828054828255905f5260205f2090810192821561023f579160200282015b8281111561023f578251829061ffff1690559160200191906001019061021e565b5061024b929150610288565b5090565b828054828255905f5260205f2090810192821561023f579160200282015b8281111561023f57825182559160200191906001019061026d565b5b8082111561024b575f8155600101610289565b80516001600160a01b03811681146102b2575f5ffd5b919050565b5f5f604083850312156102c8575f5ffd5b6102d18361029c565b91506102df6020840161029c565b90509250929050565b5f602082840312156102f8575f5ffd5b815160ff81168114610308575f5ffd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103365761033661030f565b92915050565b6001815b60018411156103775780850481111561035b5761035b61030f565b600184161561036957908102905b60019390931c928002610340565b935093915050565b5f8261038d57506001610336565b8161039957505f610336565b81600181146103af57600281146103b9576103d5565b6001915050610336565b60ff8411156103ca576103ca61030f565b50506001821b610336565b5060208310610133831016604e8410600b84101617156103f8575081810a610336565b6104045f19848461033c565b805f19048211156104175761041761030f565b029392505050565b5f610308838361037f565b634e487b7160e01b5f52604160045260245ffd5b60805160a05160c051611e166104b55f395f818161012a015281816105860152818161094201528181610b2801526115e301525f61144801525f81816103de015281816105040152818161096301528181610a1801528181610f58015281816114270152818161155001526117220152611e165ff3fe608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c806399fbab8811610093578063cbcebdba11610063578063cbcebdba14610268578063e0b231fa1461027b578063e95beb931461028e578063febf6b7b14610296575f5ffd5b806399fbab88146101a15780639d8e5ea71461022f578063a05aaf5014610242578063b8b1bc5114610255575f5ffd5b80635cb36034116100ce5780635cb360341461015d57806378dc9059146101705780637fe0c85014610185578063899346c714610198575f5ffd5b806313f5c726146100ff57806318160ddd1461012557806321139a011461014c5780635343275014610154575b5f5ffd5b61011261010d366004611abc565b6102a9565b6040519081526020015b60405180910390f35b6101127f000000000000000000000000000000000000000000000000000000000000000081565b6101126102c8565b61011260025481565b61011261016b366004611b49565b610392565b61018361017e366004611abc565b610452565b005b610112610193366004611abc565b6104fe565b61011260035481565b6101f46101af366004611abc565b60046020525f9081526040902080546001909101546001600160a01b0381169063ffffffff600160a01b8204811691600160c01b8104821691600160e01b9091041685565b604080519586526001600160a01b03909416602086015263ffffffff928316938501939093528116606084015216608082015260a00161011c565b61011261023d366004611be7565b6105b1565b610183610250366004611abc565b6106aa565b610183610263366004611c07565b6106ff565b610112610276366004611abc565b61092d565b610112610289366004611abc565b61093c565b6101126109ea565b6101126102a4366004611c31565b610a08565b600181815481106102b8575f80fd5b5f91825260209091200154905081565b6002545f901561038f575f5b60015481101561033457600581815481106102f1576102f1611c9b565b905f5260205f2001546001828154811061030d5761030d611c9b565b905f5260205f2001546103209190611cc3565b61032a9083611cda565b91506001016102d4565b506002546103429082611d01565b6001805491925090610355908290611d20565b8154811061036557610365611c9b565b905f5260205f20015481670de0b6b3a76400006103829190611cc3565b61038c9190611d01565b90505b90565b60405163d505accf60e01b81526001600160a01b038981166004830152306024830152604482018b90526064820186905260ff8516608483015260a4820184905260c482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063d505accf9060e4015f604051808303815f87803b158015610421575f5ffd5b505af1158015610433573d5f5f3e3d5ffd5b505050506104448a8a8a8a8a610a08565b9a9950505050505050505050565b5f81815260046020526040902060018101546001600160a01b031633146104a8576001810154604051637b653e7d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b6001810154600160a01b900463ffffffff165f036104e25760405163d37d088960e01b81526004810183905233602482015260440161049f565b6104f082826203f4806110fd565b6104fa8282611476565b5050565b5f6105ab7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105829190611d33565b83907f00000000000000000000000000000000000000000000000000000000000000005f61157c565b92915050565b5f8281526004602052604081206001810154829084906105de90600160a01b900463ffffffff1642611d20565b106105e95742610606565b6001820154610606908590600160a01b900463ffffffff16611cda565b60018301549091505f9061062790600160c01b900463ffffffff1683611d20565b90505f610636845f01546104fe565b905060646301e1338083600187600101601c9054906101000a900463ffffffff1663ffffffff168154811061066d5761066d611c9b565b905f5260205f200154846106819190611cc3565b61068b9190611cc3565b6106959190611d01565b61069f9190611d01565b979650505050505050565b5f81815260046020526040812060018101549091600160a01b90910463ffffffff1690036106f45760405163d37d088960e01b81526004810183905233602482015260440161049f565b6104fa82825f6110fd565b60015463ffffffff82161061074f5760405162461bcd60e51b81526020600482015260166024820152757461782072617465206f7574206f6620626f756e647360501b604482015260640161049f565b5f82815260046020526040812060018101549091600160a01b90910463ffffffff1690036107995760405163d37d088960e01b81526004810184905233602482015260440161049f565b60018101546001600160a01b031633146107dd576001810154604051637b653e7d60e11b81523360048201526001600160a01b03909116602482015260440161049f565b600181015463ffffffff600160e01b9091048116908316116108395760405162461bcd60e51b81526020600482015260156024820152740e8c2f040e8dede40d8deee40e8de40e6dcc2e8c6d605b1b604482015260640161049f565b61084483825f6110fd565b80546001820154600580549091600160e01b900463ffffffff1690811061086d5761086d611c9b565b905f5260205f20015f8282546108839190611d20565b909155505080546005805463ffffffff85169081106108a4576108a4611c9b565b905f5260205f20015f8282546108ba9190611cda565b90915550506001810180546001600160e01b038116600160e01b63ffffffff86169081029182179093556040519283526001600160a01b039182169116179084907fe6767cb515204f8d7033d356fa5c77de82ad12fc94271799b5b8b1c7663369449060200160405180910390a3505050565b600581815481106102b8575f80fd5b5f6105ab7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e19190611d33565b8491905f61157c565b5f6109f36115d9565b60025461038290670de0b6b3a7640000611cc3565b5f5f610a138761093c565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663375b3c0a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a72573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a969190611d33565b905080881015610ad257604051635fa7efd160e11b81526001600160a01b0388166004820152602481018990526044810182905260640161049f565b5060015463ffffffff861610610b235760405162461bcd60e51b81526020600482015260166024820152757461782072617465206f7574206f6620626f756e647360501b604482015260640161049f565b6002547f0000000000000000000000000000000000000000000000000000000000000000905f90610b526115d9565b610b5c9190611d20565b905060028510610cf8575f5b610b73600187611d20565b811015610cf6575f60045f898985818110610b9057610b90611c9b565b9050602002013581526020019081526020015f2090508060010160149054906101000a900463ffffffff1663ffffffff165f03610c0d57878783818110610bd957610bd9611c9b565b60405163d37d088960e01b8152602090910292909201356004830152506001600160a01b038b16602482015260440161049f565b600181015463ffffffff600160e01b9091048116908a1611610c9a5760018101548a908a90600160e01b900463ffffffff168a8a86818110610c5157610c51611c9b565b60405163aed9ae5960e01b81526001600160a01b0396909616600487015263ffffffff94851660248701529290931660448501526020909102013560648301525060840161049f565b8054841115610ca857805493505b610ccb888884818110610cbd57610cbd611c9b565b90506020020135825f6110fd565b610ced888884818110610ce057610ce0611c9b565b9050602002013582611476565b50600101610b68565b505b600254610d036115d9565b610d0d9190611d20565b90508415610eb8575f610d21600187611d20565b90505f60045f898985818110610d3957610d39611c9b565b9050602002013581526020019081526020015f2090508060010160149054906101000a900463ffffffff1663ffffffff165f03610d8257878783818110610bd957610bd9611c9b565b600181015463ffffffff600160e01b9091048116908a1611610dc65760018101548a908a90600160e01b900463ffffffff168a8a86818110610c5157610c51611c9b565b8054841115610dd457805493505b610dfa888884818110610de957610de9611c9b565b90506020020135826203f4806110fd565b84831115610e3b576040516378147d3360e01b81526001600160a01b038b16600482015260248101869052604481018490526064810185905260840161049f565b5f610e468487611d20565b8254909150606490610e59906050611cc3565b610e639190611d01565b811115610e9157610e8c898985818110610e7f57610e7f611c9b565b9050602002013583611476565b610eb4565b610eb4898985818110610ea657610ea6611c9b565b905060200201358383611607565b5050505b600254610ec36115d9565b610ecd9190611d20565b905080831115610f09576040516312797e8f60e11b81526001600160a01b0389166004820152602481018490526044810182905260640161049f565b81610f148483611d20565b1115610f53576040516378147d3360e01b81526001600160a01b038916600482015260248101849052604481018290526064810183905260840161049f565b610f7f7f000000000000000000000000000000000000000000000000000000000000000033308c611751565b60038054905f610f8e83611d4a565b9190505593505f60045f8681526020019081526020015f20905083815f018190555088816001015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550428160010160186101000a81548163ffffffff021916908363ffffffff160217905550428160010160146101000a81548163ffffffff021916908363ffffffff1602179055508781600101601c6101000a81548163ffffffff021916908363ffffffff1602179055508360058963ffffffff168154811061105b5761105b611c9b565b905f5260205f20015f8282546110719190611cda565b925050819055508360025f8282546110899190611cda565b909155505060018101548154604080518d8152602081019290925263ffffffff600160e01b840416908201526001600160a01b039091169086907f8f7598451bc034be2bd3fe6e2f06af052c2dc238bb90bc6fb426754f043014629060600160405180910390a35050505095945050505050565b60018201545f90829061111d90600160a01b900463ffffffff1642611d20565b106111285742611145565b6001830154611145908390600160a01b900463ffffffff16611cda565b60018401549091505f9061116690600160c01b900463ffffffff1683611d20565b90505f611175855f01546104fe565b90505f60646301e1338084600189600101601c9054906101000a900463ffffffff1663ffffffff16815481106111ad576111ad611c9b565b905f5260205f200154856111c19190611cc3565b6111cb9190611cc3565b6111d59190611d01565b6111df9190611d01565b90508181106111eb5750805b5f6111f68284611d20565b111561130c575f61120a6102898385611d20565b90505f81885f015461121c9190611d20565b905080600589600101601c9054906101000a900463ffffffff1663ffffffff168154811061124c5761124c611c9b565b905f5260205f20015f8282546112629190611d20565b925050819055508060025f82825461127a9190611d20565b909155505081885560018801805463ffffffff428116600160c01b0263ffffffff60c01b1983168117938490556040805188815260208101889052600160e01b909504909216918401919091526001600160a01b03908116911617908a907fb0b012792448969fc7ffc769b83b27cda55565d5a592a63209be2a6f1c5764a69060600160405180910390a35050611422565b85546001870154600580549091600160e01b900463ffffffff1690811061133557611335611c9b565b905f5260205f20015f82825461134b9190611d20565b90915550508554600280545f90611363908490611d20565b90915550506001860154604080518381525f602082015263ffffffff600160e01b8404168183015290516001600160a01b039092169189917fb0b012792448969fc7ffc769b83b27cda55565d5a592a63209be2a6f1c5764a6919081900360600190a360018601546040515f81526001600160a01b039091169088907f6f0b3e0cf1a11235226a949a12602f7cae95c342402ec2f4183fd70eab9921d79060200160405180910390a36001860180546001600160c01b03191690555f86555b61146d7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000836117bc565b50505050505050565b80546001820154600580549091600160e01b900463ffffffff1690811061149f5761149f611c9b565b905f5260205f20015f8282546114b59190611d20565b90915550508054600280545f906114cd908490611d20565b9091555050600181015481546001600160a01b03909116905f906114f0906104fe565b9050816001600160a01b0316847f6f0b3e0cf1a11235226a949a12602f7cae95c342402ec2f4183fd70eab9921d78360405161152e91815260200190565b60405180910390a36001830180546001600160c01b03191690555f83556115767f000000000000000000000000000000000000000000000000000000000000000083836117bc565b50505050565b5f5f6115898686866117f1565b9050600183600281111561159f5761159f611d62565b1480156115bb57505f84806115b6576115b6611ced565b868809115b156115ce576115cb600182611cda565b90505b90505b949350505050565b5f606461038260147f0000000000000000000000000000000000000000000000000000000000000000611cc3565b8154811061164c5760405162461bcd60e51b81526020600482015260126024820152711c1bdcda5d1a5bdb881d1bdbc81cdb585b1b60721b604482015260640161049f565b5f611656826104fe565b905081835f015f82825461166a9190611d20565b90915550506001830154600580548492600160e01b900463ffffffff1690811061169657611696611c9b565b905f5260205f20015f8282546116ac9190611d20565b925050819055508160025f8282546116c49190611d20565b90915550506001830154835460408051918252602082018490526001600160a01b039092169186917fa2d77705aa53a16a9bf1d72a714fcb5a94cc2decf59925f07ead504c92668ee2910160405180910390a36001830154611576907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b0316836117bc565b6040516001600160a01b03808516602483015283166044820152606481018290526115769085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526118dc565b6040516001600160a01b0383166024820152604481018290526117ec90849063a9059cbb60e01b90606401611785565b505050565b5f80805f19858709858702925082811083820303915050805f036118285783828161181e5761181e611ced565b04925050506118d5565b80841161186f5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640161049f565b5f848688098519600190810187169687900496828603819004959092119093035f82900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b5f611930826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119af9092919063ffffffff16565b905080515f14806119505750808060200190518101906119509190611d76565b6117ec5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161049f565b60606115d184845f85855f5f866001600160a01b031685876040516119d49190611d95565b5f6040518083038185875af1925050503d805f8114611a0e576040519150601f19603f3d011682016040523d82523d5f602084013e611a13565b606091505b509150915061069f8783838760608315611a8d5782515f03611a86576001600160a01b0385163b611a865760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161049f565b50816115d1565b6115d18383815115611aa25781518083602001fd5b8060405162461bcd60e51b815260040161049f9190611dab565b5f60208284031215611acc575f5ffd5b5035919050565b80356001600160a01b0381168114611ae9575f5ffd5b919050565b803563ffffffff81168114611ae9575f5ffd5b5f5f83601f840112611b11575f5ffd5b50813567ffffffffffffffff811115611b28575f5ffd5b6020830191508360208260051b8501011115611b42575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f6101008a8c031215611b62575f5ffd5b89359850611b7260208b01611ad3565b9750611b8060408b01611aee565b965060608a013567ffffffffffffffff811115611b9b575f5ffd5b611ba78c828d01611b01565b90975095505060808a0135935060a08a013560ff81168114611bc7575f5ffd5b989b979a50959894979396929550929360c0810135935060e00135919050565b5f5f60408385031215611bf8575f5ffd5b50508035926020909101359150565b5f5f60408385031215611c18575f5ffd5b82359150611c2860208401611aee565b90509250929050565b5f5f5f5f5f60808688031215611c45575f5ffd5b85359450611c5560208701611ad3565b9350611c6360408701611aee565b9250606086013567ffffffffffffffff811115611c7e575f5ffd5b611c8a88828901611b01565b969995985093965092949392505050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105ab576105ab611caf565b808201808211156105ab576105ab611caf565b634e487b7160e01b5f52601260045260245ffd5b5f82611d1b57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156105ab576105ab611caf565b5f60208284031215611d43575f5ffd5b5051919050565b5f60018201611d5b57611d5b611caf565b5060010190565b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215611d86575f5ffd5b815180151581146118d5575f5ffd5b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea264697066735822122098374021a393cce0ff30820fda72b3b8d4f50edf8c1b7f7b1daf2751405049c764736f6c634300081c0033","sourceMap":"1918:5:78:-:0;1884:39;;2314:418;1663:17901;2314:418;2353:1;1663:17901;2314:418;;;2364:1;2314:418;;2375:1;2314:418;;2386:1;2314:418;;;;2397:2;2314:418;;2409:2;2314:418;;2421:2;2314:418;;2433:2;2314:418;;;;2445:2;2314:418;;2457:2;2314:418;;2469:2;2314:418;;2481:2;2314:418;;2493:3;2314:418;;2506:3;2314:418;;2519:3;2314:418;;2532:3;2314:418;;;;;;;2558:3;2314:418;;2571:3;2314:418;;2584:3;2314:418;;2597:3;2314:418;;2610:4;2314:418;;2624:4;2314:418;;2638:4;2314:418;;2652:4;2314:418;;2666:4;2314:418;;2680:4;2314:418;;2694:4;2314:418;;2708:4;2314:418;;2722:4;2314:418;;;;2353:1;1663:17901;2314:418;:::i;:::-;;4749:381;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4811:27:78;;;;;;;4848:26;;;;;4926:14;;4905:18;;;-1:-1:-1;;;4905:18:78;;;;4926:14;;4811:27;4905:16;;:18;;;;;;;;;;;;;;;4811:27;4905:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:35;;;;;;:::i;:::-;4898:43;;:2;:43;:::i;:::-;4884:57;;5004:6;4987:14;:23;5106:9;:16;-1:-1:-1;;;;;5092:31:78;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5092:31:78;-1:-1:-1;5069:54:78;;;;:20;;:54;;;;;;:::i;:::-;;4749:381;;1663:17901;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1663:17901:78;;;-1:-1:-1;1663:17901:78;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:177:98;93:13;;-1:-1:-1;;;;;135:31:98;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;494:273::-;562:6;615:2;603:9;594:7;590:23;586:32;583:52;;;631:1;628;621:12;583:52;663:9;657:16;713:4;706:5;702:16;695:5;692:27;682:55;;733:1;730;723:12;682:55;756:5;494:273;-1:-1:-1;;;494:273:98:o;772:127::-;833:10;828:3;824:20;821:1;814:31;864:4;861:1;854:15;888:4;885:1;878:15;904:125;969:9;;;990:10;;;987:36;;;1003:18;;:::i;:::-;904:125;;;;:::o;1034:375::-;1122:1;1140:5;1154:249;1175:1;1165:8;1162:15;1154:249;;;1225:4;1220:3;1216:14;1210:4;1207:24;1204:50;;;1234:18;;:::i;:::-;1284:1;1274:8;1270:16;1267:49;;;1298:16;;;;1267:49;1381:1;1377:16;;;;;1337:15;;1154:249;;;1034:375;;;;;;:::o;1414:902::-;1463:5;1493:8;1483:80;;-1:-1:-1;1534:1:98;1548:5;;1483:80;1582:4;1572:76;;-1:-1:-1;1619:1:98;1633:5;;1572:76;1664:4;1682:1;1677:59;;;;1750:1;1745:174;;;;1657:262;;1677:59;1707:1;1698:10;;1721:5;;;1745:174;1782:3;1772:8;1769:17;1766:43;;;1789:18;;:::i;:::-;-1:-1:-1;;1845:1:98;1831:16;;1904:5;;1657:262;;2003:2;1993:8;1990:16;1984:3;1978:4;1975:13;1971:36;1965:2;1955:8;1952:16;1947:2;1941:4;1938:12;1934:35;1931:77;1928:203;;;-1:-1:-1;2040:19:98;;;2116:5;;1928:203;2163:42;-1:-1:-1;;2188:8:98;2182:4;2163:42;:::i;:::-;2241:6;2237:1;2233:6;2229:19;2220:7;2217:32;2214:58;;;2252:18;;:::i;:::-;2290:20;;1414:902;-1:-1:-1;;;1414:902:98:o;2321:131::-;2381:5;2410:36;2437:8;2431:4;2410:36;:::i;2457:127::-;2518:10;2513:3;2509:20;2506:1;2499:31;2549:4;2546:1;2539:15;2573:4;2570:1;2563:15;2457:127;1663:17901:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106100fb575f3560e01c806399fbab8811610093578063cbcebdba11610063578063cbcebdba14610268578063e0b231fa1461027b578063e95beb931461028e578063febf6b7b14610296575f5ffd5b806399fbab88146101a15780639d8e5ea71461022f578063a05aaf5014610242578063b8b1bc5114610255575f5ffd5b80635cb36034116100ce5780635cb360341461015d57806378dc9059146101705780637fe0c85014610185578063899346c714610198575f5ffd5b806313f5c726146100ff57806318160ddd1461012557806321139a011461014c5780635343275014610154575b5f5ffd5b61011261010d366004611abc565b6102a9565b6040519081526020015b60405180910390f35b6101127f000000000000000000000000000000000000000000000000000000000000000081565b6101126102c8565b61011260025481565b61011261016b366004611b49565b610392565b61018361017e366004611abc565b610452565b005b610112610193366004611abc565b6104fe565b61011260035481565b6101f46101af366004611abc565b60046020525f9081526040902080546001909101546001600160a01b0381169063ffffffff600160a01b8204811691600160c01b8104821691600160e01b9091041685565b604080519586526001600160a01b03909416602086015263ffffffff928316938501939093528116606084015216608082015260a00161011c565b61011261023d366004611be7565b6105b1565b610183610250366004611abc565b6106aa565b610183610263366004611c07565b6106ff565b610112610276366004611abc565b61092d565b610112610289366004611abc565b61093c565b6101126109ea565b6101126102a4366004611c31565b610a08565b600181815481106102b8575f80fd5b5f91825260209091200154905081565b6002545f901561038f575f5b60015481101561033457600581815481106102f1576102f1611c9b565b905f5260205f2001546001828154811061030d5761030d611c9b565b905f5260205f2001546103209190611cc3565b61032a9083611cda565b91506001016102d4565b506002546103429082611d01565b6001805491925090610355908290611d20565b8154811061036557610365611c9b565b905f5260205f20015481670de0b6b3a76400006103829190611cc3565b61038c9190611d01565b90505b90565b60405163d505accf60e01b81526001600160a01b038981166004830152306024830152604482018b90526064820186905260ff8516608483015260a4820184905260c482018390525f917f00000000000000000000000000000000000000000000000000000000000000009091169063d505accf9060e4015f604051808303815f87803b158015610421575f5ffd5b505af1158015610433573d5f5f3e3d5ffd5b505050506104448a8a8a8a8a610a08565b9a9950505050505050505050565b5f81815260046020526040902060018101546001600160a01b031633146104a8576001810154604051637b653e7d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b6001810154600160a01b900463ffffffff165f036104e25760405163d37d088960e01b81526004810183905233602482015260440161049f565b6104f082826203f4806110fd565b6104fa8282611476565b5050565b5f6105ab7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105829190611d33565b83907f00000000000000000000000000000000000000000000000000000000000000005f61157c565b92915050565b5f8281526004602052604081206001810154829084906105de90600160a01b900463ffffffff1642611d20565b106105e95742610606565b6001820154610606908590600160a01b900463ffffffff16611cda565b60018301549091505f9061062790600160c01b900463ffffffff1683611d20565b90505f610636845f01546104fe565b905060646301e1338083600187600101601c9054906101000a900463ffffffff1663ffffffff168154811061066d5761066d611c9b565b905f5260205f200154846106819190611cc3565b61068b9190611cc3565b6106959190611d01565b61069f9190611d01565b979650505050505050565b5f81815260046020526040812060018101549091600160a01b90910463ffffffff1690036106f45760405163d37d088960e01b81526004810183905233602482015260440161049f565b6104fa82825f6110fd565b60015463ffffffff82161061074f5760405162461bcd60e51b81526020600482015260166024820152757461782072617465206f7574206f6620626f756e647360501b604482015260640161049f565b5f82815260046020526040812060018101549091600160a01b90910463ffffffff1690036107995760405163d37d088960e01b81526004810184905233602482015260440161049f565b60018101546001600160a01b031633146107dd576001810154604051637b653e7d60e11b81523360048201526001600160a01b03909116602482015260440161049f565b600181015463ffffffff600160e01b9091048116908316116108395760405162461bcd60e51b81526020600482015260156024820152740e8c2f040e8dede40d8deee40e8de40e6dcc2e8c6d605b1b604482015260640161049f565b61084483825f6110fd565b80546001820154600580549091600160e01b900463ffffffff1690811061086d5761086d611c9b565b905f5260205f20015f8282546108839190611d20565b909155505080546005805463ffffffff85169081106108a4576108a4611c9b565b905f5260205f20015f8282546108ba9190611cda565b90915550506001810180546001600160e01b038116600160e01b63ffffffff86169081029182179093556040519283526001600160a01b039182169116179084907fe6767cb515204f8d7033d356fa5c77de82ad12fc94271799b5b8b1c7663369449060200160405180910390a3505050565b600581815481106102b8575f80fd5b5f6105ab7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e19190611d33565b8491905f61157c565b5f6109f36115d9565b60025461038290670de0b6b3a7640000611cc3565b5f5f610a138761093c565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663375b3c0a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a72573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a969190611d33565b905080881015610ad257604051635fa7efd160e11b81526001600160a01b0388166004820152602481018990526044810182905260640161049f565b5060015463ffffffff861610610b235760405162461bcd60e51b81526020600482015260166024820152757461782072617465206f7574206f6620626f756e647360501b604482015260640161049f565b6002547f0000000000000000000000000000000000000000000000000000000000000000905f90610b526115d9565b610b5c9190611d20565b905060028510610cf8575f5b610b73600187611d20565b811015610cf6575f60045f898985818110610b9057610b90611c9b565b9050602002013581526020019081526020015f2090508060010160149054906101000a900463ffffffff1663ffffffff165f03610c0d57878783818110610bd957610bd9611c9b565b60405163d37d088960e01b8152602090910292909201356004830152506001600160a01b038b16602482015260440161049f565b600181015463ffffffff600160e01b9091048116908a1611610c9a5760018101548a908a90600160e01b900463ffffffff168a8a86818110610c5157610c51611c9b565b60405163aed9ae5960e01b81526001600160a01b0396909616600487015263ffffffff94851660248701529290931660448501526020909102013560648301525060840161049f565b8054841115610ca857805493505b610ccb888884818110610cbd57610cbd611c9b565b90506020020135825f6110fd565b610ced888884818110610ce057610ce0611c9b565b9050602002013582611476565b50600101610b68565b505b600254610d036115d9565b610d0d9190611d20565b90508415610eb8575f610d21600187611d20565b90505f60045f898985818110610d3957610d39611c9b565b9050602002013581526020019081526020015f2090508060010160149054906101000a900463ffffffff1663ffffffff165f03610d8257878783818110610bd957610bd9611c9b565b600181015463ffffffff600160e01b9091048116908a1611610dc65760018101548a908a90600160e01b900463ffffffff168a8a86818110610c5157610c51611c9b565b8054841115610dd457805493505b610dfa888884818110610de957610de9611c9b565b90506020020135826203f4806110fd565b84831115610e3b576040516378147d3360e01b81526001600160a01b038b16600482015260248101869052604481018490526064810185905260840161049f565b5f610e468487611d20565b8254909150606490610e59906050611cc3565b610e639190611d01565b811115610e9157610e8c898985818110610e7f57610e7f611c9b565b9050602002013583611476565b610eb4565b610eb4898985818110610ea657610ea6611c9b565b905060200201358383611607565b5050505b600254610ec36115d9565b610ecd9190611d20565b905080831115610f09576040516312797e8f60e11b81526001600160a01b0389166004820152602481018490526044810182905260640161049f565b81610f148483611d20565b1115610f53576040516378147d3360e01b81526001600160a01b038916600482015260248101849052604481018290526064810183905260840161049f565b610f7f7f000000000000000000000000000000000000000000000000000000000000000033308c611751565b60038054905f610f8e83611d4a565b9190505593505f60045f8681526020019081526020015f20905083815f018190555088816001015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550428160010160186101000a81548163ffffffff021916908363ffffffff160217905550428160010160146101000a81548163ffffffff021916908363ffffffff1602179055508781600101601c6101000a81548163ffffffff021916908363ffffffff1602179055508360058963ffffffff168154811061105b5761105b611c9b565b905f5260205f20015f8282546110719190611cda565b925050819055508360025f8282546110899190611cda565b909155505060018101548154604080518d8152602081019290925263ffffffff600160e01b840416908201526001600160a01b039091169086907f8f7598451bc034be2bd3fe6e2f06af052c2dc238bb90bc6fb426754f043014629060600160405180910390a35050505095945050505050565b60018201545f90829061111d90600160a01b900463ffffffff1642611d20565b106111285742611145565b6001830154611145908390600160a01b900463ffffffff16611cda565b60018401549091505f9061116690600160c01b900463ffffffff1683611d20565b90505f611175855f01546104fe565b90505f60646301e1338084600189600101601c9054906101000a900463ffffffff1663ffffffff16815481106111ad576111ad611c9b565b905f5260205f200154856111c19190611cc3565b6111cb9190611cc3565b6111d59190611d01565b6111df9190611d01565b90508181106111eb5750805b5f6111f68284611d20565b111561130c575f61120a6102898385611d20565b90505f81885f015461121c9190611d20565b905080600589600101601c9054906101000a900463ffffffff1663ffffffff168154811061124c5761124c611c9b565b905f5260205f20015f8282546112629190611d20565b925050819055508060025f82825461127a9190611d20565b909155505081885560018801805463ffffffff428116600160c01b0263ffffffff60c01b1983168117938490556040805188815260208101889052600160e01b909504909216918401919091526001600160a01b03908116911617908a907fb0b012792448969fc7ffc769b83b27cda55565d5a592a63209be2a6f1c5764a69060600160405180910390a35050611422565b85546001870154600580549091600160e01b900463ffffffff1690811061133557611335611c9b565b905f5260205f20015f82825461134b9190611d20565b90915550508554600280545f90611363908490611d20565b90915550506001860154604080518381525f602082015263ffffffff600160e01b8404168183015290516001600160a01b039092169189917fb0b012792448969fc7ffc769b83b27cda55565d5a592a63209be2a6f1c5764a6919081900360600190a360018601546040515f81526001600160a01b039091169088907f6f0b3e0cf1a11235226a949a12602f7cae95c342402ec2f4183fd70eab9921d79060200160405180910390a36001860180546001600160c01b03191690555f86555b61146d7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000836117bc565b50505050505050565b80546001820154600580549091600160e01b900463ffffffff1690811061149f5761149f611c9b565b905f5260205f20015f8282546114b59190611d20565b90915550508054600280545f906114cd908490611d20565b9091555050600181015481546001600160a01b03909116905f906114f0906104fe565b9050816001600160a01b0316847f6f0b3e0cf1a11235226a949a12602f7cae95c342402ec2f4183fd70eab9921d78360405161152e91815260200190565b60405180910390a36001830180546001600160c01b03191690555f83556115767f000000000000000000000000000000000000000000000000000000000000000083836117bc565b50505050565b5f5f6115898686866117f1565b9050600183600281111561159f5761159f611d62565b1480156115bb57505f84806115b6576115b6611ced565b868809115b156115ce576115cb600182611cda565b90505b90505b949350505050565b5f606461038260147f0000000000000000000000000000000000000000000000000000000000000000611cc3565b8154811061164c5760405162461bcd60e51b81526020600482015260126024820152711c1bdcda5d1a5bdb881d1bdbc81cdb585b1b60721b604482015260640161049f565b5f611656826104fe565b905081835f015f82825461166a9190611d20565b90915550506001830154600580548492600160e01b900463ffffffff1690811061169657611696611c9b565b905f5260205f20015f8282546116ac9190611d20565b925050819055508160025f8282546116c49190611d20565b90915550506001830154835460408051918252602082018490526001600160a01b039092169186917fa2d77705aa53a16a9bf1d72a714fcb5a94cc2decf59925f07ead504c92668ee2910160405180910390a36001830154611576907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b0316836117bc565b6040516001600160a01b03808516602483015283166044820152606481018290526115769085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526118dc565b6040516001600160a01b0383166024820152604481018290526117ec90849063a9059cbb60e01b90606401611785565b505050565b5f80805f19858709858702925082811083820303915050805f036118285783828161181e5761181e611ced565b04925050506118d5565b80841161186f5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640161049f565b5f848688098519600190810187169687900496828603819004959092119093035f82900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b5f611930826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119af9092919063ffffffff16565b905080515f14806119505750808060200190518101906119509190611d76565b6117ec5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161049f565b60606115d184845f85855f5f866001600160a01b031685876040516119d49190611d95565b5f6040518083038185875af1925050503d805f8114611a0e576040519150601f19603f3d011682016040523d82523d5f602084013e611a13565b606091505b509150915061069f8783838760608315611a8d5782515f03611a86576001600160a01b0385163b611a865760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161049f565b50816115d1565b6115d18383815115611aa25781518083602001fd5b8060405162461bcd60e51b815260040161049f9190611dab565b5f60208284031215611acc575f5ffd5b5035919050565b80356001600160a01b0381168114611ae9575f5ffd5b919050565b803563ffffffff81168114611ae9575f5ffd5b5f5f83601f840112611b11575f5ffd5b50813567ffffffffffffffff811115611b28575f5ffd5b6020830191508360208260051b8501011115611b42575f5ffd5b9250929050565b5f5f5f5f5f5f5f5f5f6101008a8c031215611b62575f5ffd5b89359850611b7260208b01611ad3565b9750611b8060408b01611aee565b965060608a013567ffffffffffffffff811115611b9b575f5ffd5b611ba78c828d01611b01565b90975095505060808a0135935060a08a013560ff81168114611bc7575f5ffd5b989b979a50959894979396929550929360c0810135935060e00135919050565b5f5f60408385031215611bf8575f5ffd5b50508035926020909101359150565b5f5f60408385031215611c18575f5ffd5b82359150611c2860208401611aee565b90509250929050565b5f5f5f5f5f60808688031215611c45575f5ffd5b85359450611c5560208701611ad3565b9350611c6360408701611aee565b9250606086013567ffffffffffffffff811115611c7e575f5ffd5b611c8a88828901611b01565b969995985093965092949392505050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176105ab576105ab611caf565b808201808211156105ab576105ab611caf565b634e487b7160e01b5f52601260045260245ffd5b5f82611d1b57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156105ab576105ab611caf565b5f60208284031215611d43575f5ffd5b5051919050565b5f60018201611d5b57611d5b611caf565b5060010190565b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215611d86575f5ffd5b815180151581146118d5575f5ffd5b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea264697066735822122098374021a393cce0ff30820fda72b3b8d4f50edf8c1b7f7b1daf2751405049c764736f6c634300081c0033","sourceMap":"1663:17901:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2314:418;;;;;;:::i;:::-;;:::i;:::-;;;391:25:98;;;379:2;364:18;2314:418:78;;;;;;;;4150:36;;;;;18634:545;;;:::i;4192:31::-;;;;;;14647:524;;;;;;:::i;:::-;;:::i;16583:504::-;;;;;;:::i;:::-;;:::i;:::-;;9142:163;;;;;;:::i;:::-;;:::i;4229:29::-;;;;;;4265:52;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4265:52:78;;;;-1:-1:-1;;;4265:52:78;;;;;-1:-1:-1;;;4265:52:78;;;;;-1:-1:-1;;;4265:52:78;;;;;;;;;;2630:25:98;;;-1:-1:-1;;;;;2691:32:98;;;2686:2;2671:18;;2664:60;2772:10;2760:23;;;2740:18;;;2733:51;;;;2820:23;;2815:2;2800:18;;2793:51;2881:23;2875:3;2860:19;;2853:52;2617:3;2602:19;4265:52:78;2377:534:98;17931:605:78;;;;;;:::i;:::-;;:::i;17351:258::-;;;;;;:::i;:::-;;:::i;15497:801::-;;;;;;:::i;:::-;;:::i;4384:37::-;;;;;;:::i;:::-;;:::i;8756:163::-;;;;;;:::i;:::-;;:::i;19401:161::-;;;:::i;9923:4075::-;;;;;;:::i;:::-;;:::i;2314:418::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2314:418:78;:::o;18634:545::-;18807:16;;18686:22;;18807:20;18803:370;;18848:9;18843:136;18867:9;:16;18863:20;;18843:136;;;18941:20;18962:1;18941:23;;;;;;;;:::i;:::-;;;;;;;;;18926:9;18936:1;18926:12;;;;;;;;:::i;:::-;;;;;;;;;:38;;;;:::i;:::-;18908:56;;;;:::i;:::-;;-1:-1:-1;18885:3:78;;18843:136;;;-1:-1:-1;19026:16:78;;19009:33;;:14;:33;:::i;:::-;19131:9;19141:16;;18992:50;;-1:-1:-1;19131:9:78;19141:20;;19131:9;;19141:20;:::i;:::-;19131:31;;;;;;;;:::i;:::-;;;;;;;;;19107:14;19124:4;19107:21;;;;:::i;:::-;:55;;;;:::i;:::-;19090:72;;18803:370;18634:545;:::o;14647:524::-;15007:88;;-1:-1:-1;;;15007:88:78;;-1:-1:-1;;;;;5656:32:98;;;15007:88:78;;;5638:51:98;15062:4:78;5705:18:98;;;5698:60;5774:18;;;5767:34;;;5817:18;;;5810:34;;;5893:4;5881:17;;5860:19;;;5853:46;5915:19;;;5908:35;;;5959:19;;;5952:35;;;14977:18:78;;15027:7;15007:36;;;;;;5610:19:98;;15007:88:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15112:52;15119:6;15127:8;15137:7;15146:17;;15112:6;:52::i;:::-;15105:59;14647:524;-1:-1:-1;;;;;;;;;;14647:524:78:o;16583:504::-;16644:27;16674:21;;;:9;:21;;;;;16709:9;;;;-1:-1:-1;;;;;16709:9:78;16722:10;16709:23;16705:96;;16780:9;;;;16755:35;;-1:-1:-1;;;16755:35:78;;16768:10;16755:35;;;6172:51:98;-1:-1:-1;;;;;16780:9:78;;;6239:18:98;;;6232:60;6145:18;;16755:35:78;;;;;;;;16705:96;16814:16;;;;-1:-1:-1;;;16814:16:78;;;;16834:1;16814:21;16810:99;;16858:40;;-1:-1:-1;;;16858:40:78;;;;;6477:25:98;;;16887:10:78;6518:18:98;;;6511:60;6450:18;;16858:40:78;6303:274:98;16810:99:78;16996:44;17004:10;17016:3;2106:16;16996:7;:44::i;:::-;17050:30;17064:10;17076:3;17050:13;:30::i;:::-;16634:453;16583:504;:::o;9142:163::-;9203:7;9229:69;9243:7;-1:-1:-1;;;;;9243:19:78;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9229:6;;9266:11;9279:18;9229:13;:69::i;:::-;9222:76;9142:163;-1:-1:-1;;9142:163:78:o;17931:605::-;18014:17;18073:21;;;:9;:21;;;;;18189:16;;;;18014:17;;18208:16;;18171:34;;-1:-1:-1;;;18189:16:78;;;;18171:15;:34;:::i;:::-;:53;18170:135;;18290:15;18170:135;;;18240:16;;;;:35;;18259:16;;-1:-1:-1;;;18240:16:78;;;;:35;:::i;:::-;18344:15;;;;18155:150;;-1:-1:-1;18315:19:78;;18337:22;;-1:-1:-1;;;18344:15:78;;;;18155:150;18337:22;:::i;:::-;18315:44;;18369:20;18392:25;18407:3;:9;;;18392:14;:25::i;:::-;18369:48;;2855:3;18494:18;18479:11;18454:9;18464:3;:11;;;;;;;;;;;;18454:22;;;;;;;;;;:::i;:::-;;;;;;;;;18439:12;:37;;;;:::i;:::-;:51;;;;:::i;:::-;:74;;;;:::i;:::-;:90;;;;:::i;:::-;18427:102;17931:605;-1:-1:-1;;;;;;;17931:605:78:o;17351:258::-;17406:27;17436:21;;;:9;:21;;;;;17471:16;;;;17436:21;;-1:-1:-1;;;17471:16:78;;;;;:21;;17467:99;;17515:40;;-1:-1:-1;;;17515:40:78;;;;;6477:25:98;;;17544:10:78;6518:18:98;;;6511:60;6450:18;;17515:40:78;6303:274:98;17467:99:78;17575:27;17583:10;17595:3;17600:1;17575:7;:27::i;15497:801::-;15589:9;:16;15579:26;;;;15571:61;;;;-1:-1:-1;;;15571:61:78;;6973:2:98;15571:61:78;;;6955:21:98;7012:2;6992:18;;;6985:30;-1:-1:-1;;;7031:18:98;;;7024:52;7093:18;;15571:61:78;6771:346:98;15571:61:78;15642:27;15672:21;;;:9;:21;;;;;15707:16;;;;15672:21;;-1:-1:-1;;;15707:16:78;;;;;:21;;15703:99;;15751:40;;-1:-1:-1;;;15751:40:78;;;;;6477:25:98;;;15780:10:78;6518:18:98;;;6511:60;6450:18;;15751:40:78;6303:274:98;15703:99:78;15815:9;;;;-1:-1:-1;;;;;15815:9:78;15828:10;15815:23;15811:96;;15886:9;;;;15861:35;;-1:-1:-1;;;15861:35:78;;15874:10;15861:35;;;6172:51:98;-1:-1:-1;;;;;15886:9:78;;;6239:18:98;;;6232:60;6145:18;;15861:35:78;5998:300:98;15811:96:78;16014:11;;;;;-1:-1:-1;;;16014:11:78;;;;;16004:21;;;;15996:55;;;;-1:-1:-1;;;15996:55:78;;7324:2:98;15996:55:78;;;7306:21:98;7363:2;7343:18;;;7336:30;-1:-1:-1;;;7382:18:98;;;7375:51;7443:18;;15996:55:78;7122:345:98;15996:55:78;16061:27;16069:10;16081:3;16086:1;16061:7;:27::i;:::-;16135:9;;16119:11;;;;16098:20;:33;;:20;;-1:-1:-1;;;16119:11:78;;;;;16098:33;;;;;;:::i;:::-;;;;;;;;;:46;;;;;;;:::i;:::-;;;;-1:-1:-1;;16187:9:78;;16154:20;:29;;;;;;;;;;;;:::i;:::-;;;;;;;;;:42;;;;;;;:::i;:::-;;;;-1:-1:-1;;16206:11:78;;;:21;;-1:-1:-1;;;;;16206:21:78;;-1:-1:-1;;;16206:21:78;;;;;;;;;;;;16242:49;;7617:42:98;;;-1:-1:-1;;;;;16272:9:78;;;;;;;16260:10;;16242:49;;7605:2:98;7590:18;16242:49:78;;;;;;;15561:737;15497:801;;:::o;4384:37::-;;;;;;;;;;;;8756:163;8817:7;8843:69;8857:11;8870:7;-1:-1:-1;;;;;8870:19:78;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8843:6;;:69;8893:18;8843:13;:69::i;19401:161::-;19455:24;19538:17;:15;:17::i;:::-;19511:16;;:23;;19530:4;19511:23;:::i;9923:4075::-;10059:18;10125:20;10148:22;10163:6;10148:14;:22::i;:::-;10125:45;;10329:16;10348:7;-1:-1:-1;;;;;10348:16:78;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10329:37;;10393:8;10384:6;:17;10380:102;;;10428:39;;-1:-1:-1;;;10428:39:78;;-1:-1:-1;;;;;7890:32:98;;10428:39:78;;;7872:51:98;7939:18;;;7932:34;;;7982:18;;;7975:34;;;7845:18;;10428:39:78;7670:345:98;10380:102:78;-1:-1:-1;10519:9:78;:16;10509:26;;;;10501:61;;;;-1:-1:-1;;;10501:61:78;;6973:2:98;10501:61:78;;;6955:21:98;7012:2;6992:18;;;6985:30;-1:-1:-1;;;7031:18:98;;;7024:52;7093:18;;10501:61:78;6771:346:98;10501:61:78;10671:16;;10605:11;;10573:29;;10651:17;:15;:17::i;:::-;:36;;;;:::i;:::-;10626:61;-1:-1:-1;10730:1:78;10702:29;;10698:888;;10812:9;10807:769;10831:28;10858:1;10831:17;:28;:::i;:::-;10827:1;:32;10807:769;;;10884:27;10914:9;:31;10924:17;;10942:1;10924:20;;;;;;;:::i;:::-;;;;;;;10914:31;;;;;;;;;;;10884:61;;10967:3;:16;;;;;;;;;;;;:21;;10987:1;10967:21;10963:123;;11036:17;;11054:1;11036:20;;;;;;;:::i;:::-;11019:48;;-1:-1:-1;;;11019:48:78;;11036:20;;;;;;;;;11019:48;;;6477:25:98;-1:-1:-1;;;;;;6538:32:98;;6518:18;;;6511:60;6450:18;;11019:48:78;6303:274:98;10963:123:78;11158:11;;;;;-1:-1:-1;;;11158:11:78;;;;;11147:22;;;;11143:139;;11229:11;;;;11210:8;;11220:7;;-1:-1:-1;;;11229:11:78;;;;11242:17;;11260:1;11242:20;;;;;;;:::i;:::-;11200:63;;-1:-1:-1;;;11200:63:78;;-1:-1:-1;;;;;8265:32:98;;;;11200:63:78;;;8247:51:98;8346:10;8334:23;;;8314:18;;;8307:51;8394:23;;;;8374:18;;;8367:51;11242:20:78;;;;;;8434:18:98;;;8427:34;-1:-1:-1;8219:19:98;;11200:63:78;8020:447:98;11143:139:78;11303:9;;:33;-1:-1:-1;11299:113:78;;;11384:9;;;-1:-1:-1;11299:113:78;11466:37;11474:17;;11492:1;11474:20;;;;;;;:::i;:::-;;;;;;;11496:3;11501:1;11466:7;:37::i;:::-;11521:40;11535:17;;11553:1;11535:20;;;;;;;:::i;:::-;;;;;;;11557:3;11521:13;:40::i;:::-;-1:-1:-1;10861:3:78;;10807:769;;;;10698:888;11632:16;;11612:17;:15;:17::i;:::-;:36;;;;:::i;:::-;11595:53;-1:-1:-1;11663:28:78;;11659:1294;;11768:13;11784:28;11811:1;11784:17;:28;:::i;:::-;11768:44;;11826:31;11860:9;:35;11870:17;;11888:5;11870:24;;;;;;;:::i;:::-;;;;;;;11860:35;;;;;;;;;;;11826:69;;11913:7;:20;;;;;;;;;;;;:25;;11937:1;11913:25;11909:123;;11982:17;;12000:5;11982:24;;;;;;;:::i;11909:123::-;12096:15;;;;;-1:-1:-1;;;12096:15:78;;;;;12085:26;;;;12081:143;;12167:15;;;;12148:8;;12158:7;;-1:-1:-1;;;12167:15:78;;;;12184:17;;12202:5;12184:24;;;;;;;:::i;12081:143::-;12241:13;;:37;-1:-1:-1;12237:113:78;;;12322:13;;;-1:-1:-1;12237:113:78;12396:62;12404:17;;12422:5;12404:24;;;;;;;:::i;:::-;;;;;;;12430:7;2106:16;12396:7;:62::i;:::-;12493:12;12476:14;:29;12472:151;;;12532:76;;-1:-1:-1;;;12532:76:78;;-1:-1:-1;;;;;8721:32:98;;12532:76:78;;;8703:51:98;8770:18;;;8763:34;;;8813:18;;;8806:34;;;8856:18;;;8849:34;;;8675:19;;12532:76:78;8472:417:98;12472:151:78;12636:24;12663:29;12678:14;12663:12;:29;:::i;:::-;12729:13;;12636:56;;-1:-1:-1;12750:3:78;;12729:18;;12745:2;12729:18;:::i;:::-;:24;;;;:::i;:::-;12710:16;:43;12706:237;;;12773:48;12787:17;;12805:5;12787:24;;;;;;;:::i;:::-;;;;;;;12813:7;12773:13;:48::i;:::-;12706:237;;;12860:68;12876:17;;12894:5;12876:24;;;;;;;:::i;:::-;;;;;;;12902:7;12911:16;12860:15;:68::i;:::-;11693:1260;;;11659:1294;12999:16;;12979:17;:15;:17::i;:::-;:36;;;;:::i;:::-;12962:53;;13045:14;13030:12;:29;13026:129;;;13082:62;;-1:-1:-1;;;13082:62:78;;-1:-1:-1;;;;;7890:32:98;;13082:62:78;;;7872:51:98;7939:18;;;7932:34;;;7982:18;;;7975:34;;;7845:18;;13082:62:78;7670:345:98;13026:129:78;13271:21;13239:29;13256:12;13239:14;:29;:::i;:::-;:53;13235:167;;;13315:76;;-1:-1:-1;;;13315:76:78;;-1:-1:-1;;;;;8721:32:98;;13315:76:78;;;8703:51:98;8770:18;;;8763:34;;;8813:18;;;8806:34;;;8856:18;;;8849:34;;;8675:19;;13315:76:78;8472:417:98;13235:167:78;13432:70;13459:7;13468:10;13488:4;13495:6;13432:26;:70::i;:::-;13542:14;:16;;;:14;:16;;;:::i;:::-;;;;;13529:29;;13568:26;13597:9;:21;13607:10;13597:21;;;;;;;;;;;13568:50;;13639:12;13628:2;:8;;:23;;;;13672:8;13661:2;:8;;;:19;;;;;-1:-1:-1;;;;;13661:19:78;;;;;-1:-1:-1;;;;;13661:19:78;;;;;;13714:15;13690:2;:14;;;:40;;;;;;;;;;;;;;;;;;13765:15;13740:2;:15;;;:41;;;;;;;;;;;;;;;;;;13804:7;13791:2;:10;;;:20;;;;;;;;;;;;;;;;;;13855:12;13822:20;13843:7;13822:29;;;;;;;;;;:::i;:::-;;;;;;;;;:45;;;;;;;:::i;:::-;;;;;;;;13897:12;13877:16;;:32;;;;;;;:::i;:::-;;;;-1:-1:-1;;13952:8:78;;;;13970;;13924:67;;;9234:25:98;;;9290:2;9275:18;;9268:34;;;;13980:10:78;-1:-1:-1;;;13980:10:78;;;9318:18:98;;;9311:51;-1:-1:-1;;;;;13952:8:78;;;;13940:10;;13924:67;;9222:2:98;9207:18;13924:67:78;;;;;;;10083:3915;;;;9923:4075;;;;;;;:::o;5392:1815::-;5645:16;;;;5611:12;;5664:16;;5627:34;;-1:-1:-1;;;5645:16:78;;;;5627:15;:34;:::i;:::-;:53;5626:135;;5746:15;5626:135;;;5696:16;;;;:35;;5715:16;;-1:-1:-1;;;5696:16:78;;;;:35;:::i;:::-;5800:15;;;;5611:150;;-1:-1:-1;5771:19:78;;5793:22;;-1:-1:-1;;;5800:15:78;;;;5611:150;5793:22;:::i;:::-;5771:44;;5825:20;5848:25;5863:3;:9;;;5848:14;:25::i;:::-;5825:48;;5883:20;2855:3;5973:18;5958:11;5933:9;5943:3;:11;;;;;;;;;;;;5933:22;;;;;;;;;;:::i;:::-;;;;;;;;;5918:12;:37;;;;:::i;:::-;:51;;;;:::i;:::-;:74;;;;:::i;:::-;:90;;;;:::i;:::-;5883:125;;6038:12;6022;:28;6018:145;;-1:-1:-1;6140:12:78;6018:145;6206:1;6176:27;6191:12;6176;:27;:::i;:::-;:31;6172:961;;;6277:21;6301:43;6316:27;6331:12;6316;:27;:::i;6301:43::-;6277:67;;6358:18;6391:13;6379:3;:9;;;:25;;;;:::i;:::-;6358:46;;6455:10;6418:20;6439:3;:11;;;;;;;;;;;;6418:33;;;;;;;;;;:::i;:::-;;;;;;;;;:47;;;;;;;:::i;:::-;;;;;;;;6499:10;6479:16;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;;6523:25:78;;;6562:15;;;:41;;;6587:15;6562:41;;-1:-1:-1;;;6562:41:78;-1:-1:-1;;;;6562:41:78;;;;;;;;6622:80;;;9234:25:98;;;9290:2;9275:18;;9268:34;;;-1:-1:-1;;;6690:11:78;;;;;;9318:18:98;;;9311:51;;;;-1:-1:-1;;;;;6650:9:78;;;;;;;6638:10;;6622:80;;9222:2:98;9207:18;6622:80:78;;;;;;;6209:504;;6172:961;;;6826:9;;6810:11;;;;6789:20;:33;;:20;;-1:-1:-1;;;6810:11:78;;;;;6789:33;;;;;;:::i;:::-;;;;;;;;;:46;;;;;;;:::i;:::-;;;;-1:-1:-1;;6869:9:78;;6849:16;:29;;6869:9;;6849:29;;6869:9;;6849:29;:::i;:::-;;;;-1:-1:-1;;6925:9:78;;;;6897:68;;;9234:25:98;;;6925:9:78;9290:2:98;9275:18;;9268:34;6953:11:78;-1:-1:-1;;;6953:11:78;;;9318:18:98;;;9311:51;6897:68:78;;-1:-1:-1;;;;;6925:9:78;;;;6913:10;;6897:68;;;;;;9222:2:98;6897:68:78;;;7012:9;;;;6984:41;;7012:9;391:25:98;;-1:-1:-1;;;;;7012:9:78;;;;7000:10;;6984:41;;379:2:98;364:18;6984:41:78;;;;;;;7046:9;;;7039:16;;-1:-1:-1;;;;;;7069:23:78;;;7046:9;7106:16;;6172:961;7142:58;7165:7;7174:11;7187:12;7142:22;:58::i;:::-;5492:1715;;;;5392:1815;;;:::o;7352:467::-;7479:9;;7463:11;;;;7442:20;:33;;:20;;-1:-1:-1;;;7463:11:78;;;;;7442:33;;;;;;:::i;:::-;;;;;;;;;:46;;;;;;;:::i;:::-;;;;-1:-1:-1;;7518:9:78;;7498:16;:29;;7518:9;;7498:29;;7518:9;;7498:29;:::i;:::-;;;;-1:-1:-1;;7553:9:78;;;;7604;;-1:-1:-1;;;;;7553:9:78;;;;7537:13;;7589:25;;:14;:25::i;:::-;7572:42;;7657:5;-1:-1:-1;;;;;7629:42:78;7645:10;7629:42;7664:6;7629:42;;;;391:25:98;;379:2;364:18;;245:177;7629:42:78;;;;;;;;7688:9;;;7681:16;;-1:-1:-1;;;;;;7707:23:78;;;7688:9;7740:16;;7766:46;7789:7;7798:5;7805:6;7766:22;:46::i;:::-;7432:387;;7352:467;;:::o;6012:299:48:-;6113:7;6132:14;6149:25;6156:1;6159;6162:11;6149:6;:25::i;:::-;6132:42;-1:-1:-1;6200:11:48;6188:8;:23;;;;;;;;:::i;:::-;;:56;;;;;6243:1;6228:11;6215:25;;;;;:::i;:::-;6225:1;6222;6215:25;:29;6188:56;6184:98;;;6260:11;6270:1;6260:11;;:::i;:::-;;;6184:98;6298:6;-1:-1:-1;6012:299:48;;;;;;;:::o;5136:111:78:-;5185:7;5237:3;5211:23;2026:2;5211:11;:23;:::i;7990:498::-;8127:9;;8112:24;;8104:55;;;;-1:-1:-1;;;8104:55:78;;10585:2:98;8104:55:78;;;10567:21:98;10624:2;10604:18;;;10597:30;-1:-1:-1;;;10643:18:98;;;10636:48;10701:18;;8104:55:78;10383:342:98;8104:55:78;8169:14;8186:28;8201:12;8186:14;:28::i;:::-;8169:45;;8237:12;8224:3;:9;;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;8280:11:78;;;;8259:20;:33;;8296:12;;-1:-1:-1;;;8280:11:78;;;;;8259:33;;;;;;:::i;:::-;;;;;;;;;:49;;;;;;;:::i;:::-;;;;;;;;8338:12;8318:16;;:32;;;;;;;:::i;:::-;;;;-1:-1:-1;;8392:9:78;;;;8403;;8365:56;;;10904:25:98;;;10960:2;10945:18;;10938:34;;;-1:-1:-1;;;;;8392:9:78;;;;8380:10;;8365:56;;10877:18:98;8365:56:78;;;;;;;8463:9;;;;8431:50;;8454:7;;-1:-1:-1;;;;;8463:9:78;8474:6;8431:22;:50::i;1355:203:39:-;1482:68;;-1:-1:-1;;;;;11203:32:98;;;1482:68:39;;;11185:51:98;11272:32;;11252:18;;;11245:60;11321:18;;;11314:34;;;1455:96:39;;1475:5;;-1:-1:-1;;;1505:27:39;11158:18:98;;1482:68:39;;;;-1:-1:-1;;1482:68:39;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:39;-1:-1:-1;;;;;;1482:68:39;;;;;;;;;;1455:19;:96::i;941:175::-;1050:58;;-1:-1:-1;;;;;11551:32:98;;1050:58:39;;;11533:51:98;11600:18;;;11593:34;;;1023:86:39;;1043:5;;-1:-1:-1;;;1073:23:39;11506:18:98;;1050:58:39;11359:274:98;1023:86:39;941:175;;;:::o;1667:4213:48:-;1749:14;;;-1:-1:-1;;2286:1:48;2283;2276:20;2329:1;2326;2322:9;2313:18;;2384:5;2380:2;2377:13;2369:5;2365:2;2361:14;2357:34;2348:43;;;2486:5;2495:1;2486:10;2482:368;;2824:11;2816:5;:19;;;;;:::i;:::-;;2809:26;;;;;;2482:368;2974:5;2960:11;:19;2952:53;;;;-1:-1:-1;;;2952:53:48;;11840:2:98;2952:53:48;;;11822:21:98;11879:2;11859:18;;;11852:30;-1:-1:-1;;;11898:18:98;;;11891:51;11959:18;;2952:53:48;11638:345:98;2952:53:48;3261:17;3396:11;3393:1;3390;3383:25;3929:12;;3944:1;3929:16;;;3914:32;;4049:22;;;;;3557:21;;;4147:16;;;3510:20;;;;3499:32;;;3899:12;4294;;;4290:23;;;;4286:31;;;4406:12;;;;4397:21;;;;4755:1;:15;;4774:1;4754:21;;;5007;;;5003:25;;4992:36;5076:21;;;5072:25;;5061:36;5146:21;;;5142:25;;5131:36;5216:21;;;5212:25;;5201:36;5286:21;;;5282:25;;5271:36;5357:21;;;5353:25;;;5342:36;5821:15;;-1:-1:-1;;1667:4213:48;;;;;;:::o;5196:642:39:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;-1:-1:-1;;;;;5641:27:39;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;-1:-1:-1;;;5720:111:39;;12472:2:98;5720:111:39;;;12454:21:98;12511:2;12491:18;;;12484:30;12550:34;12530:18;;;12523:62;-1:-1:-1;;;12601:18:98;;;12594:40;12651:19;;5720:111:39;12270:406:98;4108:223:40;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4241;5446;5460:23;5487:6;-1:-1:-1;;;;;5487:11:40;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;7851;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1702:19:40;;;8113:60;;;;-1:-1:-1;;;8113:60:40;;13596:2:98;8113:60:40;;;13578:21:98;13635:2;13615:18;;;13608:30;13674:31;13654:18;;;13647:59;13723:18;;8113:60:40;13394:353:98;8113:60:40;-1:-1:-1;8208:10:40;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:40;;;;;;;;:::i;14:226:98:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;187:23:98;;14:226;-1:-1:-1;14:226:98:o;427:173::-;495:20;;-1:-1:-1;;;;;544:31:98;;534:42;;524:70;;590:1;587;580:12;524:70;427:173;;;:::o;605:163::-;672:20;;732:10;721:22;;711:33;;701:61;;758:1;755;748:12;773:367;836:8;846:6;900:3;893:4;885:6;881:17;877:27;867:55;;918:1;915;908:12;867:55;-1:-1:-1;941:20:98;;984:18;973:30;;970:50;;;1016:1;1013;1006:12;970:50;1053:4;1045:6;1041:17;1029:29;;1113:3;1106:4;1096:6;1093:1;1089:14;1081:6;1077:27;1073:38;1070:47;1067:67;;;1130:1;1127;1120:12;1067:67;773:367;;;;;:::o;1145:1227::-;1291:6;1299;1307;1315;1323;1331;1339;1347;1355;1408:3;1396:9;1387:7;1383:23;1379:33;1376:53;;;1425:1;1422;1415:12;1376:53;1470:23;;;-1:-1:-1;1536:38:98;1570:2;1555:18;;1536:38;:::i;:::-;1526:48;;1593:37;1626:2;1615:9;1611:18;1593:37;:::i;:::-;1583:47;;1681:2;1670:9;1666:18;1653:32;1708:18;1700:6;1697:30;1694:50;;;1740:1;1737;1730:12;1694:50;1779:70;1841:7;1832:6;1821:9;1817:22;1779:70;:::i;:::-;1868:8;;-1:-1:-1;1753:96:98;-1:-1:-1;;1976:3:98;1961:19;;1948:33;;-1:-1:-1;2059:3:98;2044:19;;2031:33;2108:4;2095:18;;2083:31;;2073:59;;2128:1;2125;2118:12;2073:59;1145:1227;;;;-1:-1:-1;1145:1227:98;;;;;;;;-1:-1:-1;2151:7:98;;2231:3;2216:19;;2203:33;;-1:-1:-1;2335:3:98;2320:19;2307:33;;1145:1227;-1:-1:-1;1145:1227:98:o;2916:346::-;2984:6;2992;3045:2;3033:9;3024:7;3020:23;3016:32;3013:52;;;3061:1;3058;3051:12;3013:52;-1:-1:-1;;3106:23:98;;;3226:2;3211:18;;;3198:32;;-1:-1:-1;2916:346:98:o;3267:298::-;3334:6;3342;3395:2;3383:9;3374:7;3370:23;3366:32;3363:52;;;3411:1;3408;3401:12;3363:52;3456:23;;;-1:-1:-1;3522:37:98;3555:2;3540:18;;3522:37;:::i;:::-;3512:47;;3267:298;;;;;:::o;3570:698::-;3682:6;3690;3698;3706;3714;3767:3;3755:9;3746:7;3742:23;3738:33;3735:53;;;3784:1;3781;3774:12;3735:53;3829:23;;;-1:-1:-1;3895:38:98;3929:2;3914:18;;3895:38;:::i;:::-;3885:48;;3952:37;3985:2;3974:9;3970:18;3952:37;:::i;:::-;3942:47;;4040:2;4029:9;4025:18;4012:32;4067:18;4059:6;4056:30;4053:50;;;4099:1;4096;4089:12;4053:50;4138:70;4200:7;4191:6;4180:9;4176:22;4138:70;:::i;:::-;3570:698;;;;-1:-1:-1;3570:698:98;;-1:-1:-1;4227:8:98;;4112:96;3570:698;-1:-1:-1;;;3570:698:98:o;4273:127::-;4334:10;4329:3;4325:20;4322:1;4315:31;4365:4;4362:1;4355:15;4389:4;4386:1;4379:15;4405:127;4466:10;4461:3;4457:20;4454:1;4447:31;4497:4;4494:1;4487:15;4521:4;4518:1;4511:15;4537:168;4610:9;;;4641;;4658:15;;;4652:22;;4638:37;4628:71;;4679:18;;:::i;4710:125::-;4775:9;;;4796:10;;;4793:36;;;4809:18;;:::i;4840:127::-;4901:10;4896:3;4892:20;4889:1;4882:31;4932:4;4929:1;4922:15;4956:4;4953:1;4946:15;4972:217;5012:1;5038;5028:132;;5082:10;5077:3;5073:20;5070:1;5063:31;5117:4;5114:1;5107:15;5145:4;5142:1;5135:15;5028:132;-1:-1:-1;5174:9:98;;4972:217::o;5194:128::-;5261:9;;;5282:11;;;5279:37;;;5296:18;;:::i;6582:184::-;6652:6;6705:2;6693:9;6684:7;6680:23;6676:32;6673:52;;;6721:1;6718;6711:12;6673:52;-1:-1:-1;6744:16:98;;6582:184;-1:-1:-1;6582:184:98:o;8894:135::-;8933:3;8954:17;;;8951:43;;8974:18;;:::i;:::-;-1:-1:-1;9021:1:98;9010:13;;8894:135::o;10251:127::-;10312:10;10307:3;10303:20;10300:1;10293:31;10343:4;10340:1;10333:15;10367:4;10364:1;10357:15;11988:277;12055:6;12108:2;12096:9;12087:7;12083:23;12079:32;12076:52;;;12124:1;12121;12114:12;12076:52;12156:9;12150:16;12209:5;12202:13;12195:21;12188:5;12185:32;12175:60;;12231:1;12228;12221:12;13088:301;13217:3;13255:6;13249:13;13301:6;13294:4;13286:6;13282:17;13277:3;13271:37;13363:1;13327:16;;13352:13;;;-1:-1:-1;13327:16:98;13088:301;-1:-1:-1;13088:301:98:o;13752:418::-;13901:2;13890:9;13883:21;13864:4;13933:6;13927:13;13976:6;13971:2;13960:9;13956:18;13949:34;14035:6;14030:2;14022:6;14018:15;14013:2;14002:9;13998:18;13992:50;14091:1;14086:2;14077:6;14066:9;14062:22;14058:31;14051:42;14161:2;14154;14150:7;14145:2;14137:6;14133:15;14129:29;14118:9;14114:45;14110:54;14102:62;;;13752:418;;;;:::o","linkReferences":{},"immutableReferences":{"61018":[{"start":990,"length":32},{"start":1284,"length":32},{"start":2403,"length":32},{"start":2584,"length":32},{"start":3928,"length":32},{"start":5159,"length":32},{"start":5456,"length":32},{"start":5922,"length":32}],"61020":[{"start":5192,"length":32}],"61022":[{"start":298,"length":32},{"start":1414,"length":32},{"start":2370,"length":32},{"start":2856,"length":32},{"start":5603,"length":32}]}},"methodIdentifiers":{"TAX_RATES(uint256)":"13f5c726","assetsToShares(uint256)":"e0b231fa","changeTax(uint256,uint32)":"b8b1bc51","exitPosition(uint256)":"78dc9059","getAverageTaxRate()":"21139a01","getPercentageStaked()":"e95beb93","nextPositionId()":"899346c7","outstandingStake()":"53432750","payTax(uint256)":"a05aaf50","permitAndSnatch(uint256,address,uint32,uint256[],uint256,uint8,bytes32,bytes32)":"5cb36034","positions(uint256)":"99fbab88","sharesToAssets(uint256)":"7fe0c850","snatch(uint256,address,uint32,uint256[])":"febf6b7b","taxDue(uint256,uint256)":"9d8e5ea7","totalSharesAtTaxRate(uint256)":"cbcebdba","totalSupply()":"18160ddd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_kraiken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_taxReceiver\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakeWanted\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"availableStake\",\"type\":\"uint256\"}],\"name\":\"ExceededAvailableStake\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"NoPermission\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"}],\"name\":\"PositionNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minStake\",\"type\":\"uint256\"}],\"name\":\"StakeTooLow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"taxRateWanted\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"taxRateMet\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"}],\"name\":\"TaxTooLow\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakeWanted\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"availableStake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"smallestShare\",\"type\":\"uint256\"}],\"name\":\"TooMuchSnatch\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"kraikenDeposit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"share\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"taxRate\",\"type\":\"uint32\"}],\"name\":\"PositionCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newTaxRate\",\"type\":\"uint256\"}],\"name\":\"PositionRateHiked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"kraikenPayout\",\"type\":\"uint256\"}],\"name\":\"PositionRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newShares\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"kraikenPayout\",\"type\":\"uint256\"}],\"name\":\"PositionShrunk\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"taxPaid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newShares\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"taxRate\",\"type\":\"uint256\"}],\"name\":\"PositionTaxPaid\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"TAX_RATES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"}],\"name\":\"assetsToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"taxRate\",\"type\":\"uint32\"}],\"name\":\"changeTax\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"}],\"name\":\"exitPosition\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAverageTaxRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"averageTaxRate\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPercentageStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"percentageStaked\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextPositionId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"outstandingStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"}],\"name\":\"payTax\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"taxRate\",\"type\":\"uint32\"},{\"internalType\":\"uint256[]\",\"name\":\"positionsToSnatch\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permitAndSnatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"share\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"creationTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"lastTaxTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"taxRate\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"sharesToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"taxRate\",\"type\":\"uint32\"},{\"internalType\":\"uint256[]\",\"name\":\"positionsToSnatch\",\"type\":\"uint256[]\"}],\"name\":\"snatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"positionId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"taxFloorDuration\",\"type\":\"uint256\"}],\"name\":\"taxDue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountDue\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"totalSharesAtTaxRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"TaxTooLow(address,uint64,uint64,uint256)\":[{\"details\":\"Attempted to deposit more assets than the max amount for `receiver`.\"}]},\"kind\":\"dev\",\"methods\":{\"assetsToShares(uint256)\":{\"params\":{\"assets\":\"Number of Harberg tokens to convert.\"},\"returns\":{\"_0\":\"Number of shares corresponding to the input assets based on the current total supply of Harberg tokens.\"}},\"changeTax(uint256,uint32)\":{\"details\":\"Ensures that the tax rate change is valid and applies the minimum tax based on the TAX_FLOOR_DURATION.\",\"params\":{\"positionId\":\"The ID of the staking position to update.\",\"taxRate\":\"The new tax rate to apply to the position.\"}},\"constructor\":{\"details\":\"Sets up the total supply based on the decimals of the Kraiken token plus a fixed offset.\",\"params\":{\"_kraiken\":\"Address of the Kraiken contract which this Stake contract interacts with.\"}},\"exitPosition(uint256)\":{\"details\":\"Pays the due taxes based on the TAX_FLOOR_DURATION and returns the remaining assets to the position owner.\",\"params\":{\"positionId\":\"The ID of the staking position to exit.\"}},\"getAverageTaxRate()\":{\"returns\":{\"averageTaxRate\":\"A number between 0 and 1e18 indicating the average tax rate.\"}},\"getPercentageStaked()\":{\"returns\":{\"percentageStaked\":\"A number between 0 and 1e18 indicating the percentage of Harberg supply staked.\"}},\"payTax(uint256)\":{\"details\":\"Calculates and pays the tax due, possibly adjusting the position's share count.\",\"params\":{\"positionId\":\"The ID of the staking position for which to pay taxes.\"}},\"permitAndSnatch(uint256,address,uint32,uint256[],uint256,uint8,bytes32,bytes32)\":{\"params\":{\"assets\":\"Number of Harberg tokens to stake.\",\"deadline\":\"Time until which the permit is valid.\",\"positionsToSnatch\":\"Array of position IDs that the new position will replace by snatching.\",\"receiver\":\"Address that will own the new staking position.\",\"taxRate\":\"The initial tax rate for the new staking position.\",\"v\":\", r, s Components of the signature for the permit.\"},\"returns\":{\"positionId\":\"The ID of the newly created staking position.\"}},\"sharesToAssets(uint256)\":{\"params\":{\"shares\":\"Number of shares to convert.\"},\"returns\":{\"_0\":\"The equivalent number of Harberg tokens for the given shares.\"}},\"snatch(uint256,address,uint32,uint256[])\":{\"details\":\"Handles staking logic, including tax rate validation and position merging or dissolving.\",\"params\":{\"assets\":\"Amount of Harberg tokens to convert into a staking position.\",\"positionsToSnatch\":\"Array of position IDs that the new position will replace by snatching.\",\"receiver\":\"Address that will own the new staking position.\",\"taxRate\":\"The initial tax rate for the new staking position.\"},\"returns\":{\"positionId\":\"The ID of the newly created staking position.\"}},\"taxDue(uint256,uint256)\":{\"details\":\"Calculates the tax due.\",\"params\":{\"positionId\":\"The ID of the staking position for which to pay taxes.\",\"taxFloorDuration\":\"if a minimum holding duration is applied to the position this value is > 0 in seconds.\"}}},\"title\":\"Stake Contract for Kraiken Token\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"assetsToShares(uint256)\":{\"notice\":\"Converts Harberg token assets to shares of the total staking pool.\"},\"changeTax(uint256,uint32)\":{\"notice\":\"Changes the tax rate of an existing staking position.\"},\"constructor\":{\"notice\":\"Initializes the stake contract with references to the Kraiken contract and sets the initial position ID.\"},\"exitPosition(uint256)\":{\"notice\":\"Allows the owner of a staking position to exit, returning the staked assets.\"},\"getPercentageStaked()\":{\"notice\":\"Computes the percentage of Harberg staked from outstanding Stake and authorized Stake.\"},\"payTax(uint256)\":{\"notice\":\"Manually triggers the tax payment for a specified staking position.\"},\"permitAndSnatch(uint256,address,uint32,uint256[],uint256,uint8,bytes32,bytes32)\":{\"notice\":\"Combines an ERC20 permit operation with the snatch function, allowing a staking position creation in one transaction.\"},\"sharesToAssets(uint256)\":{\"notice\":\"Converts shares of the total staking pool back to Harberg token assets.\"},\"snatch(uint256,address,uint32,uint256[])\":{\"notice\":\"Creates a new staking position by potentially snatching shares from existing positions.\"},\"taxDue(uint256,uint256)\":{\"notice\":\"Calculates the Tax that is due to be paid on specific positoin\"}},\"notice\":\"This contract manages the staking positions for the Kraiken token, allowing users to stake tokens in exchange for a share of the total supply. Stakers can set and adjust tax rates on their stakes, which affect the Universal Basic Income (UBI) paid from the tax pool. The contract handles: - Creation of staking positions with specific tax rates. - Snatching of existing positions under certain conditions to consolidate stakes. - Calculation and payment of taxes based on stake duration and tax rate. - Adjustment of tax rates with protections against griefing through rapid changes. - Exiting of positions, either partially or fully, returning the staked assets to the owner. Tax rates and staking positions are adjustable, with a mechanism to prevent snatch-grieving by enforcing a minimum tax payment duration.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Stake.sol\":\"Stake\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@abdk/=lib/abdk-libraries-solidity/\",\":@aperture/uni-v3-lib/=lib/uni-v3-lib/src/\",\":@openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":@uniswap-v3-core/=lib/uni-v3-lib/node_modules/@uniswap/v3-core/contracts/\",\":@uniswap-v3-periphery/=lib/uni-v3-lib/node_modules/@uniswap/v3-periphery/contracts/\",\":@uniswap/=lib/uni-v3-lib/node_modules/@uniswap/\",\":abdk-libraries-solidity/=lib/abdk-libraries-solidity/\",\":base64-sol/=lib/uni-v3-lib/node_modules/base64-sol/\",\":ds-test/=lib/solmate/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":pt-v5-twab-controller/=lib/pt-v5-twab-controller/src/\",\":ring-buffer-lib/=lib/pt-v5-twab-controller/lib/ring-buffer-lib/src/\",\":solady/=lib/uni-v3-lib/node_modules/solady/\",\":solmate/=lib/solmate/src/\",\":uni-v3-lib/=lib/uni-v3-lib/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xbb16110ffe0b625944fe7dd97adcf1158e514185c956a5628bc09be90d606174\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5b412e554a4dd37a50f89ffcd7b9a6ef2ae5064f37619f89343b23d58ce89ca\",\"dweb:/ipfs/QmPWMdBvdFk8WBVv625wd1Ar7aehnBWtj1XfFRrRL5KpxJ\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"src/Kraiken.sol\":{\"keccak256\":\"0x36e95626b3927127004954f77c3b6565e9dbda68d9ad41ca00d12188ca5c336d\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d127878308d493074c4499c2cc42b5b357e609f65f83e93e682518113a789115\",\"dweb:/ipfs/QmbbRbjrmgkVX31XRmZ7ba8dL2YqYh9HkA8LQMVcLXRap1\"]},\"src/Stake.sol\":{\"keccak256\":\"0x182c043d56dfe50d571e27c8d8eeed85e48cf81c2aaf6d2c89d05e513dac9cd8\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e71bed07050a1841faa49fc559c5e85bfbfab822093eb1371da0b632524f44e7\",\"dweb:/ipfs/QmQ8vwL7QSnheaYyAxM1wFWFkSVDxQAHEfVzhFw41nLuja\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_kraiken","type":"address"},{"internalType":"address","name":"_taxReceiver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"stakeWanted","type":"uint256"},{"internalType":"uint256","name":"availableStake","type":"uint256"}],"type":"error","name":"ExceededAvailableStake"},{"inputs":[{"internalType":"address","name":"requester","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"NoPermission"},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256"},{"internalType":"address","name":"requester","type":"address"}],"type":"error","name":"PositionNotFound"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"uint256","name":"minStake","type":"uint256"}],"type":"error","name":"StakeTooLow"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint64","name":"taxRateWanted","type":"uint64"},{"internalType":"uint64","name":"taxRateMet","type":"uint64"},{"internalType":"uint256","name":"positionId","type":"uint256"}],"type":"error","name":"TaxTooLow"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"stakeWanted","type":"uint256"},{"internalType":"uint256","name":"availableStake","type":"uint256"},{"internalType":"uint256","name":"smallestShare","type":"uint256"}],"type":"error","name":"TooMuchSnatch"},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"uint256","name":"kraikenDeposit","type":"uint256","indexed":false},{"internalType":"uint256","name":"share","type":"uint256","indexed":false},{"internalType":"uint32","name":"taxRate","type":"uint32","indexed":false}],"type":"event","name":"PositionCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"uint256","name":"newTaxRate","type":"uint256","indexed":false}],"type":"event","name":"PositionRateHiked","anonymous":false},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"uint256","name":"kraikenPayout","type":"uint256","indexed":false}],"type":"event","name":"PositionRemoved","anonymous":false},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"uint256","name":"newShares","type":"uint256","indexed":false},{"internalType":"uint256","name":"kraikenPayout","type":"uint256","indexed":false}],"type":"event","name":"PositionShrunk","anonymous":false},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"uint256","name":"taxPaid","type":"uint256","indexed":false},{"internalType":"uint256","name":"newShares","type":"uint256","indexed":false},{"internalType":"uint256","name":"taxRate","type":"uint256","indexed":false}],"type":"event","name":"PositionTaxPaid","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"TAX_RATES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"}],"stateMutability":"view","type":"function","name":"assetsToShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256"},{"internalType":"uint32","name":"taxRate","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"changeTax"},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"exitPosition"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAverageTaxRate","outputs":[{"internalType":"uint256","name":"averageTaxRate","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getPercentageStaked","outputs":[{"internalType":"uint256","name":"percentageStaked","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextPositionId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"outstandingStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"payTax"},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint32","name":"taxRate","type":"uint32"},{"internalType":"uint256[]","name":"positionsToSnatch","type":"uint256[]"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permitAndSnatch","outputs":[{"internalType":"uint256","name":"positionId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"positions","outputs":[{"internalType":"uint256","name":"share","type":"uint256"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint32","name":"creationTime","type":"uint32"},{"internalType":"uint32","name":"lastTaxTime","type":"uint32"},{"internalType":"uint32","name":"taxRate","type":"uint32"}]},{"inputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"view","type":"function","name":"sharesToAssets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"assets","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint32","name":"taxRate","type":"uint32"},{"internalType":"uint256[]","name":"positionsToSnatch","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"snatch","outputs":[{"internalType":"uint256","name":"positionId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"positionId","type":"uint256"},{"internalType":"uint256","name":"taxFloorDuration","type":"uint256"}],"stateMutability":"view","type":"function","name":"taxDue","outputs":[{"internalType":"uint256","name":"amountDue","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSharesAtTaxRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"assetsToShares(uint256)":{"params":{"assets":"Number of Harberg tokens to convert."},"returns":{"_0":"Number of shares corresponding to the input assets based on the current total supply of Harberg tokens."}},"changeTax(uint256,uint32)":{"details":"Ensures that the tax rate change is valid and applies the minimum tax based on the TAX_FLOOR_DURATION.","params":{"positionId":"The ID of the staking position to update.","taxRate":"The new tax rate to apply to the position."}},"constructor":{"details":"Sets up the total supply based on the decimals of the Kraiken token plus a fixed offset.","params":{"_kraiken":"Address of the Kraiken contract which this Stake contract interacts with."}},"exitPosition(uint256)":{"details":"Pays the due taxes based on the TAX_FLOOR_DURATION and returns the remaining assets to the position owner.","params":{"positionId":"The ID of the staking position to exit."}},"getAverageTaxRate()":{"returns":{"averageTaxRate":"A number between 0 and 1e18 indicating the average tax rate."}},"getPercentageStaked()":{"returns":{"percentageStaked":"A number between 0 and 1e18 indicating the percentage of Harberg supply staked."}},"payTax(uint256)":{"details":"Calculates and pays the tax due, possibly adjusting the position's share count.","params":{"positionId":"The ID of the staking position for which to pay taxes."}},"permitAndSnatch(uint256,address,uint32,uint256[],uint256,uint8,bytes32,bytes32)":{"params":{"assets":"Number of Harberg tokens to stake.","deadline":"Time until which the permit is valid.","positionsToSnatch":"Array of position IDs that the new position will replace by snatching.","receiver":"Address that will own the new staking position.","taxRate":"The initial tax rate for the new staking position.","v":", r, s Components of the signature for the permit."},"returns":{"positionId":"The ID of the newly created staking position."}},"sharesToAssets(uint256)":{"params":{"shares":"Number of shares to convert."},"returns":{"_0":"The equivalent number of Harberg tokens for the given shares."}},"snatch(uint256,address,uint32,uint256[])":{"details":"Handles staking logic, including tax rate validation and position merging or dissolving.","params":{"assets":"Amount of Harberg tokens to convert into a staking position.","positionsToSnatch":"Array of position IDs that the new position will replace by snatching.","receiver":"Address that will own the new staking position.","taxRate":"The initial tax rate for the new staking position."},"returns":{"positionId":"The ID of the newly created staking position."}},"taxDue(uint256,uint256)":{"details":"Calculates the tax due.","params":{"positionId":"The ID of the staking position for which to pay taxes.","taxFloorDuration":"if a minimum holding duration is applied to the position this value is > 0 in seconds."}}},"version":1},"userdoc":{"kind":"user","methods":{"assetsToShares(uint256)":{"notice":"Converts Harberg token assets to shares of the total staking pool."},"changeTax(uint256,uint32)":{"notice":"Changes the tax rate of an existing staking position."},"constructor":{"notice":"Initializes the stake contract with references to the Kraiken contract and sets the initial position ID."},"exitPosition(uint256)":{"notice":"Allows the owner of a staking position to exit, returning the staked assets."},"getPercentageStaked()":{"notice":"Computes the percentage of Harberg staked from outstanding Stake and authorized Stake."},"payTax(uint256)":{"notice":"Manually triggers the tax payment for a specified staking position."},"permitAndSnatch(uint256,address,uint32,uint256[],uint256,uint8,bytes32,bytes32)":{"notice":"Combines an ERC20 permit operation with the snatch function, allowing a staking position creation in one transaction."},"sharesToAssets(uint256)":{"notice":"Converts shares of the total staking pool back to Harberg token assets."},"snatch(uint256,address,uint32,uint256[])":{"notice":"Creates a new staking position by potentially snatching shares from existing positions."},"taxDue(uint256,uint256)":{"notice":"Calculates the Tax that is due to be paid on specific positoin"}},"version":1}},"settings":{"remappings":["@abdk/=lib/abdk-libraries-solidity/","@aperture/uni-v3-lib/=lib/uni-v3-lib/src/","@openzeppelin/=lib/openzeppelin-contracts/contracts/","@uniswap-v3-core/=lib/uni-v3-lib/node_modules/@uniswap/v3-core/contracts/","@uniswap-v3-periphery/=lib/uni-v3-lib/node_modules/@uniswap/v3-periphery/contracts/","@uniswap/=lib/uni-v3-lib/node_modules/@uniswap/","abdk-libraries-solidity/=lib/abdk-libraries-solidity/","base64-sol/=lib/uni-v3-lib/node_modules/base64-sol/","ds-test/=lib/solmate/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/","pt-v5-twab-controller/=lib/pt-v5-twab-controller/src/","ring-buffer-lib/=lib/pt-v5-twab-controller/lib/ring-buffer-lib/src/","solady/=lib/uni-v3-lib/node_modules/solady/","solmate/=lib/solmate/src/","uni-v3-lib/=lib/uni-v3-lib/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/Stake.sol":"Stake"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0xbb16110ffe0b625944fe7dd97adcf1158e514185c956a5628bc09be90d606174","urls":["bzz-raw://b5b412e554a4dd37a50f89ffcd7b9a6ef2ae5064f37619f89343b23d58ce89ca","dweb:/ipfs/QmPWMdBvdFk8WBVv625wd1Ar7aehnBWtj1XfFRrRL5KpxJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/Kraiken.sol":{"keccak256":"0x36e95626b3927127004954f77c3b6565e9dbda68d9ad41ca00d12188ca5c336d","urls":["bzz-raw://d127878308d493074c4499c2cc42b5b357e609f65f83e93e682518113a789115","dweb:/ipfs/QmbbRbjrmgkVX31XRmZ7ba8dL2YqYh9HkA8LQMVcLXRap1"],"license":"GPL-3.0-or-later"},"src/Stake.sol":{"keccak256":"0x182c043d56dfe50d571e27c8d8eeed85e48cf81c2aaf6d2c89d05e513dac9cd8","urls":["bzz-raw://e71bed07050a1841faa49fc559c5e85bfbfab822093eb1371da0b632524f44e7","dweb:/ipfs/QmQ8vwL7QSnheaYyAxM1wFWFkSVDxQAHEfVzhFw41nLuja"],"license":"GPL-3.0-or-later"}},"version":1},"id":78} \ No newline at end of file diff --git a/subgraph/base_sepolia/deploy.js b/subgraph/base_sepolia/deploy.js deleted file mode 100644 index 1d4c22c..0000000 --- a/subgraph/base_sepolia/deploy.js +++ /dev/null @@ -1,102 +0,0 @@ -const fs = require('fs'); -const { exec } = require("child_process"); -const readline = require("readline"); - -// Netzwerkspezifische Informationen -const networks = { - 'base-sepolia': { - NETWORK: 'base-sepolia', - CONTRACT_ADDRESS_HARB: '0x22c264Ecf8D4E49D1E3CabD8DD39b7C4Ab51C1B8', - CONTRACT_ADDRESS_STAKE: '0xe28020BCdEeAf2779dd47c670A8eFC2973316EE2', - START_BLOCK: 20940337, - SUBGRAPH_NAME: "harb-base-sepolia" - }, - 'sepolia': { - NETWORK: 'sepolia', - CONTRACT_ADDRESS_HARB: '0x087F256D11fe533b0c7d372e44Ee0F9e47C89dF9', - CONTRACT_ADDRESS_STAKE: '0xCd21a41a137BCAf8743E47D048F57D92398f7Da9', - START_BLOCK: 6746241, - SUBGRAPH_NAME: "harb" - }, - 'base': { - NETWORK: 'base', - CONTRACT_ADDRESS_HARB: '0x45caa5929f6ee038039984205bdecf968b954820', - CONTRACT_ADDRESS_STAKE: '0xed70707fab05d973ad41eae8d17e2bcd36192cfc', - START_BLOCK: 26038614, - // START_BLOCK: 25895309, - SUBGRAPH_NAME: "kraiken-base" - }, - 'base2': { - NETWORK: 'base', - CONTRACT_ADDRESS_HARB: '0x45caa5929f6ee038039984205bdecf968b954820', - CONTRACT_ADDRESS_STAKE: '0xed70707fab05d973ad41eae8d17e2bcd36192cfc', - START_BLOCK: 26038614, - // START_BLOCK: 25895309, - SUBGRAPH_NAME: "kraiken-base-test" - }, -}; - -// Netzwerk über Kommandozeilenargument auswählen -const args = process.argv.slice(2); -if (args.length === 0) { - console.error('Kein Netzwerk angegeben, z. B.: node deploy.js sepolia'); - process.exit(1); -} - -const selectedNetwork = networks[args[0]]; -if (!selectedNetwork) { - console.error(`Kein gülitges Netzwerk angegeben: ${args[0]}. Verfügbare Netzwerke: ${Object.keys(networks).join(', ')}`); - process.exit(1); -} - -// Template-Datei laden -const subgraphTemplate = fs.readFileSync('subgraph_template.yaml', 'utf-8'); - -// Platzhalter ersetzen -let subgraphConfig = subgraphTemplate.replace(/{{NETWORK}}/g, selectedNetwork.NETWORK); -subgraphConfig = subgraphConfig.replace(/{{CONTRACT_ADDRESS_STAKE}}/g, selectedNetwork.CONTRACT_ADDRESS_STAKE); -subgraphConfig = subgraphConfig.replace(/{{CONTRACT_ADDRESS_HARB}}/g, selectedNetwork.CONTRACT_ADDRESS_HARB); -subgraphConfig = subgraphConfig.replace(/{{START_BLOCK}}/g, selectedNetwork.START_BLOCK); - -// Neue Datei generieren -fs.writeFileSync('subgraph.yaml', subgraphConfig); - -console.log(`subgraph.yaml für das Netzwerk ${selectedNetwork.NETWORK} wurde erfolgreich generiert.`); - - - -const rl = readline.createInterface({ - input: process.stdin, - output: process.stdout, - }); - - rl.question('Which version label to use1? (e.g. "v0.0.1"): ', (versionLabel) => { - - if (!versionLabel) { - console.error("Kein Versionslabel angegeben. Abbruch."); - rl.close(); - process.exit(1); - } - - - const serverAdress = "https://api.studio.thegraph.com/deploy/"; - console.log(`Starte Deployment mit Versionslabel "${versionLabel}"...`); - - // Spawn-Prozess starten - // const deployProcess = spawn("graph", ["deploy", "--node", serverAdress, selectedNetwork.SUBGRAPH_NAME]); - - const command = `graph deploy --node ${serverAdress} ${selectedNetwork.SUBGRAPH_NAME} --version-label ${versionLabel}`; - console.log(`Auszuführender Befehl: ${command}`); - - exec(command, (error, stdout, stderr) => { - if (error) { - console.error(`Fehler: ${error.message}`); - return; - } - if (stderr) { - console.error(`stderr: ${stderr}`); - } - - console.log(`stdout: ${stdout}`); - }); - }); diff --git a/subgraph/base_sepolia/package-lock.json b/subgraph/base_sepolia/package-lock.json deleted file mode 100644 index 6723a79..0000000 --- a/subgraph/base_sepolia/package-lock.json +++ /dev/null @@ -1,5904 +0,0 @@ -{ - "name": "kraiken", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "kraiken", - "license": "UNLICENSED", - "dependencies": { - "@graphprotocol/graph-cli": "0.69.0", - "@graphprotocol/graph-ts": "0.34.0", - "assemblyscript": "0.27.25" - }, - "devDependencies": { - "@types/node": "^20.11.30", - "matchstick-as": "0.5.0", - "typescript": "^5.4.3" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.24.2", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz", - "integrity": "sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==", - "license": "MIT", - "dependencies": { - "@ethersproject/address": "^5.0.4", - "@ethersproject/bignumber": "^5.0.7", - "@ethersproject/bytes": "^5.0.4", - "@ethersproject/constants": "^5.0.4", - "@ethersproject/hash": "^5.0.4", - "@ethersproject/keccak256": "^5.0.3", - "@ethersproject/logger": "^5.0.5", - "@ethersproject/properties": "^5.0.3", - "@ethersproject/strings": "^5.0.4" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "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.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "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.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "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.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "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.7.0" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "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.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "node_modules/@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "funding": [ - { - "type": "individual", - "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.7.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "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.7.0" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "funding": [ - { - "type": "individual", - "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.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "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.7.0", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", - "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.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "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.7.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "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.7.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "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.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "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.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key/node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "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/@ethersproject/signing-key/node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "license": "MIT" - }, - "node_modules/@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "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.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "funding": [ - { - "type": "individual", - "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.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "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.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@float-capital/float-subgraph-uncrashable": { - "version": "0.0.0-internal-testing.5", - "resolved": "https://registry.npmjs.org/@float-capital/float-subgraph-uncrashable/-/float-subgraph-uncrashable-0.0.0-internal-testing.5.tgz", - "integrity": "sha512-yZ0H5e3EpAYKokX/AbtplzlvSxEJY7ZfpvQyDzyODkks0hakAAlDG6fQu1SlDJMWorY7bbq1j7fCiFeTWci6TA==", - "license": "MIT", - "dependencies": { - "@rescript/std": "9.0.0", - "graphql": "^16.6.0", - "graphql-import-node": "^0.0.5", - "js-yaml": "^4.1.0" - }, - "bin": { - "uncrashable": "bin/uncrashable" - } - }, - "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/@float-capital/float-subgraph-uncrashable/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@graphprotocol/graph-cli": { - "version": "0.69.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-cli/-/graph-cli-0.69.0.tgz", - "integrity": "sha512-DoneR0TRkZYumsygdi/RST+OB55TgwmhziredI21lYzfj0QNXGEHZOagTOKeFKDFEpP3KR6BAq6rQIrkprJ1IQ==", - "license": "(Apache-2.0 OR MIT)", - "dependencies": { - "@float-capital/float-subgraph-uncrashable": "^0.0.0-alpha.4", - "@oclif/core": "2.8.6", - "@oclif/plugin-autocomplete": "^2.3.6", - "@oclif/plugin-not-found": "^2.4.0", - "@whatwg-node/fetch": "^0.8.4", - "assemblyscript": "0.19.23", - "binary-install-raw": "0.0.13", - "chalk": "3.0.0", - "chokidar": "3.5.3", - "debug": "4.3.4", - "docker-compose": "0.23.19", - "dockerode": "2.5.8", - "fs-extra": "9.1.0", - "glob": "9.3.5", - "gluegun": "5.1.6", - "graphql": "15.5.0", - "immutable": "4.2.1", - "ipfs-http-client": "55.0.0", - "jayson": "4.0.0", - "js-yaml": "3.14.1", - "prettier": "3.0.3", - "semver": "7.4.0", - "sync-request": "6.1.0", - "tmp-promise": "3.0.3", - "web3-eth-abi": "1.7.0", - "which": "2.0.2", - "yaml": "1.10.2" - }, - "bin": { - "graph": "bin/run" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.8.6.tgz", - "integrity": "sha512-1QlPaHMhOORySCXkQyzjsIsy2GYTilOw3LkjeHkCgsPJQjAT4IclVytJusWktPbYNys9O+O4V23J44yomQvnBQ==", - "license": "MIT", - "dependencies": { - "@types/cli-progress": "^3.11.0", - "ansi-escapes": "^4.3.2", - "ansi-styles": "^4.3.0", - "cardinal": "^2.1.1", - "chalk": "^4.1.2", - "clean-stack": "^3.0.1", - "cli-progress": "^3.12.0", - "debug": "^4.3.4", - "ejs": "^3.1.8", - "fs-extra": "^9.1.0", - "get-package-type": "^0.1.0", - "globby": "^11.1.0", - "hyperlinker": "^1.0.0", - "indent-string": "^4.0.0", - "is-wsl": "^2.2.0", - "js-yaml": "^3.14.1", - "natural-orderby": "^2.0.3", - "object-treeify": "^1.1.33", - "password-prompt": "^1.1.2", - "semver": "^7.3.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "supports-color": "^8.1.1", - "supports-hyperlinks": "^2.2.0", - "ts-node": "^10.9.1", - "tslib": "^2.5.0", - "widest-line": "^3.1.0", - "wordwrap": "^1.0.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@graphprotocol/graph-cli/node_modules/@oclif/core/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/@oclif/core/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "license": "Apache-2.0", - "dependencies": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", - "license": "Apache-2.0", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/glob": { - "version": "9.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", - "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^8.0.2", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/graphql": { - "version": "15.5.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", - "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==", - "license": "MIT", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", - "license": "Apache-2.0" - }, - "node_modules/@graphprotocol/graph-cli/node_modules/minimatch": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@graphprotocol/graph-cli/node_modules/minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/@graphprotocol/graph-ts": { - "version": "0.34.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.34.0.tgz", - "integrity": "sha512-gnhjai65AV4YMYe9QHGz+HP/jdzI54z/nOfEXZFfh6m987EP2iy3ycLXrTi+ahcogHH7vtoWFdXbUzZbE8bCAg==", - "dependencies": { - "assemblyscript": "0.19.10" - } - }, - "node_modules/@graphprotocol/graph-ts/node_modules/assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "license": "Apache-2.0", - "dependencies": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/@graphprotocol/graph-ts/node_modules/binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", - "license": "Apache-2.0", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/@ipld/dag-cbor": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz", - "integrity": "sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==", - "license": "(Apache-2.0 AND MIT)", - "dependencies": { - "cborg": "^1.6.0", - "multiformats": "^9.5.4" - } - }, - "node_modules/@ipld/dag-json": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.11.tgz", - "integrity": "sha512-Pea7JXeYHTWXRTIhBqBlhw7G53PJ7yta3G/sizGEZyzdeEwhZRr0od5IQ0r2ZxOt1Do+2czddjeEPp+YTxDwCA==", - "license": "(Apache-2.0 AND MIT)", - "dependencies": { - "cborg": "^1.5.4", - "multiformats": "^9.5.4" - } - }, - "node_modules/@ipld/dag-pb": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.18.tgz", - "integrity": "sha512-ZBnf2fuX9y3KccADURG5vb9FaOeMjFkCrNysB0PtftME/4iCTjxfaLoNq/IAh5fTqUOMXvryN6Jyka4ZGuMLIg==", - "license": "(Apache-2.0 AND MIT)", - "dependencies": { - "multiformats": "^9.5.4" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", - "license": "MIT", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@oclif/core": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@oclif/core/-/core-2.16.0.tgz", - "integrity": "sha512-dL6atBH0zCZl1A1IXCKJgLPrM/wR7K+Wi401E/IvqsK8m2iCHW+0TEOGrans/cuN3oTW+uxIyJFHJ8Im0k4qBw==", - "license": "MIT", - "dependencies": { - "@types/cli-progress": "^3.11.0", - "ansi-escapes": "^4.3.2", - "ansi-styles": "^4.3.0", - "cardinal": "^2.1.1", - "chalk": "^4.1.2", - "clean-stack": "^3.0.1", - "cli-progress": "^3.12.0", - "debug": "^4.3.4", - "ejs": "^3.1.8", - "get-package-type": "^0.1.0", - "globby": "^11.1.0", - "hyperlinker": "^1.0.0", - "indent-string": "^4.0.0", - "is-wsl": "^2.2.0", - "js-yaml": "^3.14.1", - "natural-orderby": "^2.0.3", - "object-treeify": "^1.1.33", - "password-prompt": "^1.1.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "supports-color": "^8.1.1", - "supports-hyperlinks": "^2.2.0", - "ts-node": "^10.9.1", - "tslib": "^2.5.0", - "widest-line": "^3.1.0", - "wordwrap": "^1.0.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@oclif/core/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/@oclif/plugin-autocomplete": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/@oclif/plugin-autocomplete/-/plugin-autocomplete-2.3.10.tgz", - "integrity": "sha512-Ow1AR8WtjzlyCtiWWPgzMyT8SbcDJFr47009riLioHa+MHX2BCDtVn2DVnN/E6b9JlPV5ptQpjefoRSNWBesmg==", - "license": "MIT", - "dependencies": { - "@oclif/core": "^2.15.0", - "chalk": "^4.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@oclif/plugin-not-found": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-2.4.3.tgz", - "integrity": "sha512-nIyaR4y692frwh7wIHZ3fb+2L6XEecQwRDIb4zbEam0TvaVmBQWZoColQyWA84ljFBPZ8XWiQyTz+ixSwdRkqg==", - "license": "MIT", - "dependencies": { - "@oclif/core": "^2.15.0", - "chalk": "^4", - "fast-levenshtein": "^3.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@peculiar/asn1-schema": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.8.tgz", - "integrity": "sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==", - "license": "MIT", - "dependencies": { - "asn1js": "^3.0.5", - "pvtsutils": "^1.3.5", - "tslib": "^2.6.2" - } - }, - "node_modules/@peculiar/json-schema": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", - "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@peculiar/webcrypto": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.6.tgz", - "integrity": "sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.8", - "@peculiar/json-schema": "^1.1.12", - "pvtsutils": "^1.3.5", - "tslib": "^2.6.2", - "webcrypto-core": "^1.7.9" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "license": "BSD-3-Clause" - }, - "node_modules/@rescript/std": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@rescript/std/-/std-9.0.0.tgz", - "integrity": "sha512-zGzFsgtZ44mgL4Xef2gOy1hrRVdrs9mcxCOOKZrIPsmbZW14yTkaF591GXxpQvjXiHtgZ/iA9qLyWH6oSReIxQ==", - "license": "SEE LICENSE IN LICENSE" - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "license": "MIT" - }, - "node_modules/@types/bn.js": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", - "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cli-progress": { - "version": "3.11.5", - "resolved": "https://registry.npmjs.org/@types/cli-progress/-/cli-progress-3.11.5.tgz", - "integrity": "sha512-D4PbNRbviKyppS5ivBGyFO29POlySLmA2HyUFE4p5QGazAMM3CwkKWcvTl8gvElSuxRh6FPKL8XmidX873ou4g==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "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/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", - "license": "MIT" - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", - "license": "MIT", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "license": "MIT" - }, - "node_modules/@types/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", - "license": "MIT" - }, - "node_modules/@types/secp256k1": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.6.tgz", - "integrity": "sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "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/@whatwg-node/events": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz", - "integrity": "sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==", - "license": "MIT" - }, - "node_modules/@whatwg-node/fetch": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.8.tgz", - "integrity": "sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==", - "license": "MIT", - "dependencies": { - "@peculiar/webcrypto": "^1.4.0", - "@whatwg-node/node-fetch": "^0.3.6", - "busboy": "^1.6.0", - "urlpattern-polyfill": "^8.0.0", - "web-streams-polyfill": "^3.2.1" - } - }, - "node_modules/@whatwg-node/node-fetch": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", - "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", - "license": "MIT", - "dependencies": { - "@whatwg-node/events": "^0.0.3", - "busboy": "^1.6.0", - "fast-querystring": "^1.1.1", - "fast-url-parser": "^1.1.3", - "tslib": "^2.3.1" - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "license": "MIT", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "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==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", - "license": "MIT" - }, - "node_modules/any-signal": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-2.1.2.tgz", - "integrity": "sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ==", - "license": "MIT", - "dependencies": { - "abort-controller": "^3.0.0", - "native-abort-controller": "^1.0.3" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/apisauce": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/apisauce/-/apisauce-2.1.6.tgz", - "integrity": "sha512-MdxR391op/FucS2YQRfB/NMRyCnHEPDd4h17LRIuVYi0BpGmMhpxc0shbOpfs5ahABuBEffNCGal5EcsydbBWg==", - "license": "MIT", - "dependencies": { - "axios": "^0.21.4" - } - }, - "node_modules/app-module-path": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", - "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==", - "license": "BSD-2-Clause" - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "license": "MIT" - }, - "node_modules/asn1js": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", - "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", - "license": "BSD-3-Clause", - "dependencies": { - "pvtsutils": "^1.3.2", - "pvutils": "^1.1.3", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/assemblyscript": { - "version": "0.27.25", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.27.25.tgz", - "integrity": "sha512-hkx6Vz+EFVA2hqFfnTWfO14892scFIkJzdXyqfXUoBS76cLbar0PFJQ7yZuL9m/i5xpjFk9Bz2094uHLh7W5UA==", - "license": "Apache-2.0", - "dependencies": { - "binaryen": "116.0.0-nightly.20240114", - "long": "^5.2.1" - }, - "bin": { - "asc": "bin/asc.js", - "asinit": "bin/asinit.js" - }, - "engines": { - "node": ">=16", - "npm": ">=7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/assemblyscript/node_modules/long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", - "license": "Apache-2.0" - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "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/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/binary-install-raw": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/binary-install-raw/-/binary-install-raw-0.0.13.tgz", - "integrity": "sha512-v7ms6N/H7iciuk6QInon3/n2mu7oRX+6knJ9xFPsJ3rQePgAqcR3CRTwUheFd8SLbiq4LL7Z4G/44L9zscdt9A==", - "license": "MIT", - "dependencies": { - "axios": "^0.21.1", - "rimraf": "^3.0.2", - "tar": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/binaryen": { - "version": "116.0.0-nightly.20240114", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-116.0.0-nightly.20240114.tgz", - "integrity": "sha512-0GZrojJnuhoe+hiwji7QFaL3tBlJoA+KFUN7ouYSDGZLSo9CKM8swQX8n/UcbR0d1VuZKU+nhogNzv423JEu5A==", - "license": "Apache-2.0", - "bin": { - "wasm-opt": "bin/wasm-opt", - "wasm2js": "bin/wasm2js" - } - }, - "node_modules/bl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", - "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", - "license": "MIT", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", - "license": "MIT" - }, - "node_modules/blob-to-it": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", - "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", - "license": "ISC", - "dependencies": { - "browser-readablestream-to-it": "^1.0.3" - } - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "license": "MIT" - }, - "node_modules/browser-readablestream-to-it": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", - "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==", - "license": "ISC" - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "license": "MIT", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "license": "MIT", - "dependencies": { - "base-x": "^3.0.2" - } - }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "license": "MIT", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "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.2.1" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "license": "MIT", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "license": "MIT" - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", - "license": "MIT" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "license": "MIT" - }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", - "license": "MIT", - "dependencies": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - }, - "bin": { - "cdl": "bin/cdl.js" - } - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "license": "Apache-2.0" - }, - "node_modules/cborg": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.2.tgz", - "integrity": "sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==", - "license": "Apache-2.0", - "bin": { - "cborg": "cli.js" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "license": "ISC" - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/clean-stack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-3.0.1.tgz", - "integrity": "sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-progress": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", - "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", - "license": "MIT", - "dependencies": { - "string-width": "^4.2.3" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", - "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", - "license": "MIT", - "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "colors": "^1.1.2" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "license": "MIT", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delay": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", - "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-over-http-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz", - "integrity": "sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.1", - "native-fetch": "^3.0.0", - "receptacle": "^1.3.2" - } - }, - "node_modules/docker-compose": { - "version": "0.23.19", - "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.23.19.tgz", - "integrity": "sha512-v5vNLIdUqwj4my80wxFDkNH+4S85zsRuH29SO7dCWVWPCMt/ohZBsGN6g6KXWifT0pzQ7uOxqEKCYCDPJ8Vz4g==", - "license": "MIT", - "dependencies": { - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/docker-modem": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/docker-modem/-/docker-modem-1.0.9.tgz", - "integrity": "sha512-lVjqCSCIAUDZPAZIeyM125HXfNvOmYYInciphNrLrylUtKyW66meAjSPXWchKVzoIYZx69TPnAepVSSkeawoIw==", - "license": "Apache-2.0", - "dependencies": { - "debug": "^3.2.6", - "JSONStream": "1.3.2", - "readable-stream": "~1.0.26-4", - "split-ca": "^1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/docker-modem/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/docker-modem/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "license": "MIT" - }, - "node_modules/docker-modem/node_modules/JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha512-mn0KSip7N4e0UDPZHnqDsHECo5uGQrixQKnAskOM1BIB8hd7QKbd6il8IPRPudPHOeHiECoCFqhyMaRO9+nWyA==", - "license": "(MIT OR Apache-2.0)", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/docker-modem/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/docker-modem/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "license": "MIT" - }, - "node_modules/dockerode": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/dockerode/-/dockerode-2.5.8.tgz", - "integrity": "sha512-+7iOUYBeDTScmOmQqpUYQaE7F4vvIt6+gIZNHWhqAQEI887tiPFB9OvXI/HzQYqfUNvukMK+9myLW63oTJPZpw==", - "license": "Apache-2.0", - "dependencies": { - "concat-stream": "~1.6.2", - "docker-modem": "^1.0.8", - "tar-fs": "~1.16.3" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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/electron-fetch": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.9.1.tgz", - "integrity": "sha512-M9qw6oUILGVrcENMSRRefE1MbHPIz0h79EKIeJWK9v563aT9Qkh8aEHPO1H5vi970wPirNY+jO9OpFoLiMsMGA==", - "license": "MIT", - "dependencies": { - "encoding": "^0.1.13" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/elliptic": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", - "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", - "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/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "license": "MIT" - }, - "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/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "license": "MIT", - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/err-code": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz", - "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==", - "license": "MIT" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "license": "MIT" - }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", - "license": "MIT", - "dependencies": { - "es6-promise": "^4.0.3" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/ethereum-bloom-filters": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.1.0.tgz", - "integrity": "sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "^1.4.0" - } - }, - "node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "license": "MIT", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "license": "MPL-2.0", - "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "license": "MIT", - "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "license": "MIT" - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "license": "MIT", - "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==", - "engines": { - "node": "> 0.1.90" - } - }, - "node_modules/fast-decode-uri-component": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", - "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==", - "license": "MIT" - }, - "node_modules/fast-fifo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", - "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-levenshtein": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-3.0.0.tgz", - "integrity": "sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==", - "license": "MIT", - "dependencies": { - "fastest-levenshtein": "^1.0.7" - } - }, - "node_modules/fast-querystring": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", - "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", - "license": "MIT", - "dependencies": { - "fast-decode-uri-component": "^1.0.1" - } - }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "license": "MIT", - "dependencies": { - "punycode": "^1.3.2" - } - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "license": "MIT", - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "license": "Apache-2.0", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "license": "MIT" - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-jetpack": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-4.3.1.tgz", - "integrity": "sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ==", - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - } - }, - "node_modules/fs-jetpack/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-iterator": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz", - "integrity": "sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg==", - "license": "MIT" - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gluegun": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/gluegun/-/gluegun-5.1.6.tgz", - "integrity": "sha512-9zbi4EQWIVvSOftJWquWzr9gLX2kaDgPkNR5dYWbM53eVvCI3iKuxLlnKoHC0v4uPoq+Kr/+F569tjoFbA4DSA==", - "license": "MIT", - "dependencies": { - "apisauce": "^2.1.5", - "app-module-path": "^2.2.0", - "cli-table3": "0.6.0", - "colors": "1.4.0", - "cosmiconfig": "7.0.1", - "cross-spawn": "7.0.3", - "ejs": "3.1.8", - "enquirer": "2.3.6", - "execa": "5.1.1", - "fs-jetpack": "4.3.1", - "lodash.camelcase": "^4.3.0", - "lodash.kebabcase": "^4.1.1", - "lodash.lowercase": "^4.3.0", - "lodash.lowerfirst": "^4.3.1", - "lodash.pad": "^4.5.1", - "lodash.padend": "^4.6.1", - "lodash.padstart": "^4.6.1", - "lodash.repeat": "^4.1.0", - "lodash.snakecase": "^4.1.1", - "lodash.startcase": "^4.4.0", - "lodash.trim": "^4.5.1", - "lodash.trimend": "^4.5.1", - "lodash.trimstart": "^4.5.1", - "lodash.uppercase": "^4.3.0", - "lodash.upperfirst": "^4.3.1", - "ora": "4.0.2", - "pluralize": "^8.0.0", - "semver": "7.3.5", - "which": "2.0.2", - "yargs-parser": "^21.0.0" - }, - "bin": { - "gluegun": "bin/gluegun" - } - }, - "node_modules/gluegun/node_modules/ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "license": "Apache-2.0", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gluegun/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/graphql": { - "version": "16.8.1", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.8.1.tgz", - "integrity": "sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==", - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" - } - }, - "node_modules/graphql-import-node": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/graphql-import-node/-/graphql-import-node-0.0.5.tgz", - "integrity": "sha512-OXbou9fqh9/Lm7vwXT0XoRN9J5+WCYKnbiTalgFDvkQERITRmcfncZs6aVABedd5B85yQU5EULS4a5pnbpuI0Q==", - "license": "MIT", - "peerDependencies": { - "graphql": "*" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hash-base/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/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", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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/http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "license": "MIT", - "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "license": "MIT", - "dependencies": { - "@types/node": "^10.0.3" - } - }, - "node_modules/http-response-object/node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", - "license": "MIT" - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/hyperlinker": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz", - "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.1.tgz", - "integrity": "sha512-7WYV7Q5BTs0nlQm7tl92rDYYoyELLKHoDMBKhrxEoiV4mrfVdRz8hzPiYOzH7yWjzoVEamxRuAqhxL2PLRwZYQ==", - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "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/interface-datastore": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-6.1.1.tgz", - "integrity": "sha512-AmCS+9CT34pp2u0QQVXjKztkuq3y5T+BIciuiHDDtDZucZD8VudosnSdUyXJV6IsRkN5jc4RFDhCk1O6Q3Gxjg==", - "license": "MIT", - "dependencies": { - "interface-store": "^2.0.2", - "nanoid": "^3.0.2", - "uint8arrays": "^3.0.0" - } - }, - "node_modules/interface-store": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-2.0.2.tgz", - "integrity": "sha512-rScRlhDcz6k199EkHqT8NpM87ebN89ICOzILoBHgaG36/WX50N32BnU/kpZgCGPLhARRAWUUX5/cyaIjt7Kipg==", - "license": "(Apache-2.0 OR MIT)" - }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ipfs-core-types": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/ipfs-core-types/-/ipfs-core-types-0.9.0.tgz", - "integrity": "sha512-VJ8vJSHvI1Zm7/SxsZo03T+zzpsg8pkgiIi5hfwSJlsrJ1E2v68QPlnLshGHUSYw89Oxq0IbETYl2pGTFHTWfg==", - "license": "(Apache-2.0 OR MIT)", - "dependencies": { - "interface-datastore": "^6.0.2", - "multiaddr": "^10.0.0", - "multiformats": "^9.4.13" - } - }, - "node_modules/ipfs-core-utils": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/ipfs-core-utils/-/ipfs-core-utils-0.13.0.tgz", - "integrity": "sha512-HP5EafxU4/dLW3U13CFsgqVO5Ika8N4sRSIb/dTg16NjLOozMH31TXV0Grtu2ZWo1T10ahTzMvrfT5f4mhioXw==", - "license": "MIT", - "dependencies": { - "any-signal": "^2.1.2", - "blob-to-it": "^1.0.1", - "browser-readablestream-to-it": "^1.0.1", - "debug": "^4.1.1", - "err-code": "^3.0.1", - "ipfs-core-types": "^0.9.0", - "ipfs-unixfs": "^6.0.3", - "ipfs-utils": "^9.0.2", - "it-all": "^1.0.4", - "it-map": "^1.0.4", - "it-peekable": "^1.0.2", - "it-to-stream": "^1.0.0", - "merge-options": "^3.0.4", - "multiaddr": "^10.0.0", - "multiaddr-to-uri": "^8.0.0", - "multiformats": "^9.4.13", - "nanoid": "^3.1.23", - "parse-duration": "^1.0.0", - "timeout-abort-controller": "^2.0.0", - "uint8arrays": "^3.0.0" - } - }, - "node_modules/ipfs-http-client": { - "version": "55.0.0", - "resolved": "https://registry.npmjs.org/ipfs-http-client/-/ipfs-http-client-55.0.0.tgz", - "integrity": "sha512-GpvEs7C7WL9M6fN/kZbjeh4Y8YN7rY8b18tVWZnKxRsVwM25cIFrRI8CwNt3Ugin9yShieI3i9sPyzYGMrLNnQ==", - "license": "(Apache-2.0 OR MIT)", - "dependencies": { - "@ipld/dag-cbor": "^7.0.0", - "@ipld/dag-json": "^8.0.1", - "@ipld/dag-pb": "^2.1.3", - "abort-controller": "^3.0.0", - "any-signal": "^2.1.2", - "debug": "^4.1.1", - "err-code": "^3.0.1", - "ipfs-core-types": "^0.9.0", - "ipfs-core-utils": "^0.13.0", - "ipfs-utils": "^9.0.2", - "it-first": "^1.0.6", - "it-last": "^1.0.4", - "merge-options": "^3.0.4", - "multiaddr": "^10.0.0", - "multiformats": "^9.4.13", - "native-abort-controller": "^1.0.3", - "parse-duration": "^1.0.0", - "stream-to-it": "^0.2.2", - "uint8arrays": "^3.0.0" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=3.0.0" - } - }, - "node_modules/ipfs-unixfs": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-6.0.9.tgz", - "integrity": "sha512-0DQ7p0/9dRB6XCb0mVCTli33GzIzSVx5udpJuVM47tGcD+W+Bl4LsnoLswd3ggNnNEakMv1FdoFITiEnchXDqQ==", - "license": "Apache-2.0 OR MIT", - "dependencies": { - "err-code": "^3.0.1", - "protobufjs": "^6.10.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/ipfs-utils": { - "version": "9.0.14", - "resolved": "https://registry.npmjs.org/ipfs-utils/-/ipfs-utils-9.0.14.tgz", - "integrity": "sha512-zIaiEGX18QATxgaS0/EOQNoo33W0islREABAcxXE8n7y2MGAlB+hdsxXn4J0hGZge8IqVQhW8sWIb+oJz2yEvg==", - "license": "Apache-2.0 OR MIT", - "dependencies": { - "any-signal": "^3.0.0", - "browser-readablestream-to-it": "^1.0.0", - "buffer": "^6.0.1", - "electron-fetch": "^1.7.2", - "err-code": "^3.0.1", - "is-electron": "^2.2.0", - "iso-url": "^1.1.5", - "it-all": "^1.0.4", - "it-glob": "^1.0.1", - "it-to-stream": "^1.0.0", - "merge-options": "^3.0.4", - "nanoid": "^3.1.20", - "native-fetch": "^3.0.0", - "node-fetch": "^2.6.8", - "react-native-fetch-api": "^3.0.0", - "stream-to-it": "^0.2.2" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/ipfs-utils/node_modules/any-signal": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz", - "integrity": "sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg==", - "license": "MIT" - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-electron": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", - "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==", - "license": "MIT" - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "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", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", - "license": "MIT", - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-ip": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", - "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", - "license": "MIT", - "dependencies": { - "ip-regex": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/iso-url": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iso-url/-/iso-url-1.2.1.tgz", - "integrity": "sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/isomorphic-ws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz", - "integrity": "sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==", - "license": "MIT", - "peerDependencies": { - "ws": "*" - } - }, - "node_modules/it-all": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", - "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==", - "license": "ISC" - }, - "node_modules/it-first": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", - "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==", - "license": "ISC" - }, - "node_modules/it-glob": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-glob/-/it-glob-1.0.2.tgz", - "integrity": "sha512-Ch2Dzhw4URfB9L/0ZHyY+uqOnKvBNeS/SMcRiPmJfpHiM0TsUZn+GkpcZxAoF3dJVdPm/PuIk3A4wlV7SUo23Q==", - "license": "ISC", - "dependencies": { - "@types/minimatch": "^3.0.4", - "minimatch": "^3.0.4" - } - }, - "node_modules/it-last": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", - "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==", - "license": "ISC" - }, - "node_modules/it-map": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", - "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==", - "license": "ISC" - }, - "node_modules/it-peekable": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", - "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==", - "license": "ISC" - }, - "node_modules/it-to-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz", - "integrity": "sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA==", - "license": "MIT", - "dependencies": { - "buffer": "^6.0.3", - "fast-fifo": "^1.0.0", - "get-iterator": "^1.0.2", - "p-defer": "^3.0.0", - "p-fifo": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "node_modules/it-to-stream/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/it-to-stream/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/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "license": "Apache-2.0", - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jayson": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jayson/-/jayson-4.0.0.tgz", - "integrity": "sha512-v2RNpDCMu45fnLzSk47vx7I+QUaOsox6f5X0CUlabAFwxoP+8MfAY0NQRFwOEYXIxm8Ih5y6OaEa5KYiQMkyAA==", - "license": "MIT", - "dependencies": { - "@types/connect": "^3.4.33", - "@types/node": "^12.12.54", - "@types/ws": "^7.4.4", - "commander": "^2.20.3", - "delay": "^5.0.0", - "es6-promisify": "^5.0.0", - "eyes": "^0.1.8", - "isomorphic-ws": "^4.0.1", - "json-stringify-safe": "^5.0.1", - "JSONStream": "^1.3.5", - "uuid": "^8.3.2", - "ws": "^7.4.5" - }, - "bin": { - "jayson": "bin/jayson.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jayson/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "license": "MIT" - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", - "license": "MIT" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "license": "ISC" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "license": "(MIT OR Apache-2.0)", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/keccak": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", - "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/keccak/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/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "license": "MIT" - }, - "node_modules/lodash.kebabcase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", - "license": "MIT" - }, - "node_modules/lodash.lowercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.lowercase/-/lodash.lowercase-4.3.0.tgz", - "integrity": "sha512-UcvP1IZYyDKyEL64mmrwoA1AbFu5ahojhTtkOUr1K9dbuxzS9ev8i4TxMMGCqRC9TE8uDaSoufNAXxRPNTseVA==", - "license": "MIT" - }, - "node_modules/lodash.lowerfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.lowerfirst/-/lodash.lowerfirst-4.3.1.tgz", - "integrity": "sha512-UUKX7VhP1/JL54NXg2aq/E1Sfnjjes8fNYTNkPU8ZmsaVeBvPHKdbNaN79Re5XRL01u6wbq3j0cbYZj71Fcu5w==", - "license": "MIT" - }, - "node_modules/lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha512-mvUHifnLqM+03YNzeTBS1/Gr6JRFjd3rRx88FHWUvamVaT9k2O/kXha3yBSOwB9/DTQrSTLJNHvLBBt2FdX7Mg==", - "license": "MIT" - }, - "node_modules/lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==", - "license": "MIT" - }, - "node_modules/lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha512-sW73O6S8+Tg66eY56DBk85aQzzUJDtpoXFBgELMd5P/SotAguo+1kYO6RuYgXxA4HJH3LFTFPASX6ET6bjfriw==", - "license": "MIT" - }, - "node_modules/lodash.repeat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-4.1.0.tgz", - "integrity": "sha512-eWsgQW89IewS95ZOcr15HHCX6FVDxq3f2PNUIng3fyzsPev9imFQxIYdFZ6crl8L56UR6ZlGDLcEb3RZsCSSqw==", - "license": "MIT" - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "license": "MIT" - }, - "node_modules/lodash.startcase": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", - "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", - "license": "MIT" - }, - "node_modules/lodash.trim": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trim/-/lodash.trim-4.5.1.tgz", - "integrity": "sha512-nJAlRl/K+eiOehWKDzoBVrSMhK0K3A3YQsUNXHQa5yIrKBAhsZgSu3KoAFoFT+mEgiyBHddZ0pRk1ITpIp90Wg==", - "license": "MIT" - }, - "node_modules/lodash.trimend": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimend/-/lodash.trimend-4.5.1.tgz", - "integrity": "sha512-lsD+k73XztDsMBKPKvzHXRKFNMohTjoTKIIo4ADLn5dA65LZ1BqlAvSXhR2rPEC3BgAUQnzMnorqDtqn2z4IHA==", - "license": "MIT" - }, - "node_modules/lodash.trimstart": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.trimstart/-/lodash.trimstart-4.5.1.tgz", - "integrity": "sha512-b/+D6La8tU76L/61/aN0jULWHkT0EeJCmVstPBn/K9MtD2qBW83AsBNrr63dKuWYwVMO7ucv13QNO/Ek/2RKaQ==", - "license": "MIT" - }, - "node_modules/lodash.uppercase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.uppercase/-/lodash.uppercase-4.3.0.tgz", - "integrity": "sha512-+Nbnxkj7s8K5U8z6KnEYPGUOGp3woZbB7Ecs7v3LkkjLQSm2kP9SKIILitN1ktn2mB/tmM9oSlku06I+/lH7QA==", - "license": "MIT" - }, - "node_modules/lodash.upperfirst": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", - "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "license": "MIT", - "dependencies": { - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/log-symbols/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "license": "Apache-2.0" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "license": "ISC" - }, - "node_modules/matchstick-as": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/matchstick-as/-/matchstick-as-0.5.0.tgz", - "integrity": "sha512-4K619YDH+so129qt4RB4JCNxaFwJJYLXPc7drpG+/mIj86Cfzg6FKs/bA91cnajmS1CLHdhHl9vt6Kd6Oqvfkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@graphprotocol/graph-ts": "^0.27.0", - "assemblyscript": "^0.19.20", - "wabt": "1.0.24" - } - }, - "node_modules/matchstick-as/node_modules/@graphprotocol/graph-ts": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@graphprotocol/graph-ts/-/graph-ts-0.27.0.tgz", - "integrity": "sha512-r1SPDIZVQiGMxcY8rhFSM0y7d/xAbQf5vHMWUf59js1KgoyWpM6P3tczZqmQd7JTmeyNsDGIPzd9FeaxllsU4w==", - "dev": true, - "dependencies": { - "assemblyscript": "0.19.10" - } - }, - "node_modules/matchstick-as/node_modules/@graphprotocol/graph-ts/node_modules/assemblyscript": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.10.tgz", - "integrity": "sha512-HavcUBXB3mBTRGJcpvaQjmnmaqKHBGREjSPNsIvnAk2f9dj78y4BkMaSSdvBQYWcDDzsHQjyUC8stICFkD1Odg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "binaryen": "101.0.0-nightly.20210723", - "long": "^4.0.0" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/matchstick-as/node_modules/@graphprotocol/graph-ts/node_modules/binaryen": { - "version": "101.0.0-nightly.20210723", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-101.0.0-nightly.20210723.tgz", - "integrity": "sha512-eioJNqhHlkguVSbblHOtLqlhtC882SOEPKmNFZaDuz1hzQjolxZ+eu3/kaS10n3sGPONsIZsO7R9fR00UyhEUA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/matchstick-as/node_modules/@graphprotocol/graph-ts/node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/matchstick-as/node_modules/assemblyscript": { - "version": "0.19.23", - "resolved": "https://registry.npmjs.org/assemblyscript/-/assemblyscript-0.19.23.tgz", - "integrity": "sha512-fwOQNZVTMga5KRsfY80g7cpOl4PsFQczMwHzdtgoqLXaYhkhavufKb0sB0l3T1DUxpAufA0KNhlbpuuhZUwxMA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "binaryen": "102.0.0-nightly.20211028", - "long": "^5.2.0", - "source-map-support": "^0.5.20" - }, - "bin": { - "asc": "bin/asc", - "asinit": "bin/asinit" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/assemblyscript" - } - }, - "node_modules/matchstick-as/node_modules/binaryen": { - "version": "102.0.0-nightly.20211028", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz", - "integrity": "sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "wasm-opt": "bin/wasm-opt" - } - }, - "node_modules/matchstick-as/node_modules/long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "node_modules/merge-options": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", - "integrity": "sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ==", - "license": "MIT", - "dependencies": { - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "license": "ISC" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "license": "MIT" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "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/multiaddr": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.1.tgz", - "integrity": "sha512-G5upNcGzEGuTHkzxezPrrD6CaIHR9uo+7MwqhNVcXTs33IInon4y7nMiGxl2CY5hG7chvYQUQhz5V52/Qe3cbg==", - "license": "MIT", - "dependencies": { - "dns-over-http-resolver": "^1.2.3", - "err-code": "^3.0.1", - "is-ip": "^3.1.0", - "multiformats": "^9.4.5", - "uint8arrays": "^3.0.0", - "varint": "^6.0.0" - } - }, - "node_modules/multiaddr-to-uri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-8.0.0.tgz", - "integrity": "sha512-dq4p/vsOOUdVEd1J1gl+R2GFrXJQH8yjLtz4hodqdVbieg39LvBOdMQRdQnfbg5LSM/q1BYNVf5CBbwZFFqBgA==", - "license": "MIT", - "dependencies": { - "multiaddr": "^10.0.0" - } - }, - "node_modules/multiformats": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==", - "license": "(Apache-2.0 AND MIT)" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/native-abort-controller": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/native-abort-controller/-/native-abort-controller-1.0.4.tgz", - "integrity": "sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ==", - "license": "MIT", - "peerDependencies": { - "abort-controller": "*" - } - }, - "node_modules/native-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz", - "integrity": "sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw==", - "license": "MIT", - "peerDependencies": { - "node-fetch": "*" - } - }, - "node_modules/natural-orderby": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz", - "integrity": "sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", - "license": "MIT" - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-gyp-build": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", - "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "license": "MIT", - "dependencies": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/number-to-bn/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-treeify": { - "version": "1.1.33", - "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz", - "integrity": "sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz", - "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==", - "license": "MIT", - "dependencies": { - "chalk": "^2.4.2", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/ora/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ora/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/p-fifo": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz", - "integrity": "sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A==", - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.0.0", - "p-defer": "^3.0.0" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, - "node_modules/parse-duration": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.1.0.tgz", - "integrity": "sha512-z6t9dvSJYaPoQq7quMzdEagSFtpGu+utzHqqxmpVWNNZRIXnvqyCvn9XsTdh7c/w0Bqmdz3RB3YnRaKtpRtEXQ==", - "license": "MIT" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/password-prompt": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz", - "integrity": "sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==", - "license": "0BSD", - "dependencies": { - "ansi-escapes": "^4.3.2", - "cross-spawn": "^7.0.3" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", - "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "license": "ISC", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "license": "MIT", - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "license": "MIT", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/protobufjs": { - "version": "6.11.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.4.tgz", - "integrity": "sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw==", - "hasInstallScript": true, - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - }, - "bin": { - "pbjs": "bin/pbjs", - "pbts": "bin/pbts" - } - }, - "node_modules/pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "license": "MIT" - }, - "node_modules/pvtsutils": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", - "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.6.1" - } - }, - "node_modules/pvutils": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", - "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/qs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", - "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "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" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/react-native-fetch-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz", - "integrity": "sha512-g2rtqPjdroaboDKTsJCTlcmtw54E25OjyaunUP0anOZn4Fuo2IKs8BVfe02zVggA/UysbmfSnRJIqtNkAgggNA==", - "license": "MIT", - "dependencies": { - "p-defer": "^3.0.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/receptacle": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/receptacle/-/receptacle-1.3.2.tgz", - "integrity": "sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", - "license": "MIT", - "dependencies": { - "esprima": "~4.0.0" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/retimer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/retimer/-/retimer-3.0.0.tgz", - "integrity": "sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==", - "license": "MIT" - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "license": "MIT", - "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "node_modules/rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^5.2.0" - }, - "bin": { - "rlp": "bin/rlp" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "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": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", - "license": "MIT" - }, - "node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "license": "MIT" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "license": "(MIT AND BSD-3-Clause)", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/split-ca": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split-ca/-/split-ca-1.0.1.tgz", - "integrity": "sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==", - "license": "ISC" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/stream-to-it": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/stream-to-it/-/stream-to-it-0.2.4.tgz", - "integrity": "sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ==", - "license": "MIT", - "dependencies": { - "get-iterator": "^1.0.2" - } - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/string-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-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "license": "MIT", - "dependencies": { - "is-hex-prefixed": "1.0.0" - }, - "engines": { - "node": ">=6.5.0", - "npm": ">=3" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "license": "MIT", - "dependencies": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "license": "MIT", - "dependencies": { - "get-port": "^3.1.0" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", - "license": "MIT", - "dependencies": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - } - }, - "node_modules/tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "license": "MIT", - "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/tar/node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "license": "MIT", - "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/then-request/node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", - "license": "MIT" - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "license": "MIT" - }, - "node_modules/timeout-abort-controller": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/timeout-abort-controller/-/timeout-abort-controller-2.0.0.tgz", - "integrity": "sha512-2FAPXfzTPYEgw27bQGTHc0SzrbmnU2eso4qo172zMLZzaGqeu09PFa5B2FCUHM1tflgRqPgn5KQgp6+Vex4uNA==", - "license": "MIT", - "dependencies": { - "abort-controller": "^3.0.0", - "native-abort-controller": "^1.0.4", - "retimer": "^3.0.0" - } - }, - "node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "license": "MIT", - "engines": { - "node": ">=14.14" - } - }, - "node_modules/tmp-promise": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", - "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", - "license": "MIT", - "dependencies": { - "tmp": "^0.2.0" - } - }, - "node_modules/to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "license": "MIT" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "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/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "license": "0BSD" - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "license": "MIT" - }, - "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/uint8arrays": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", - "license": "MIT", - "dependencies": { - "multiformats": "^9.4.2" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "license": "MIT" - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/urlpattern-polyfill": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", - "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==", - "license": "MIT" - }, - "node_modules/utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "license": "MIT" - }, - "node_modules/util-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/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/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "license": "MIT" - }, - "node_modules/varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "license": "MIT" - }, - "node_modules/wabt": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/wabt/-/wabt-1.0.24.tgz", - "integrity": "sha512-8l7sIOd3i5GWfTWciPL0+ff/FK/deVK2Q6FN+MPz4vfUcD78i2M/49XJTwF6aml91uIiuXJEsLKWMB2cw/mtKg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "wasm-decompile": "bin/wasm-decompile", - "wasm-interp": "bin/wasm-interp", - "wasm-objdump": "bin/wasm-objdump", - "wasm-opcodecnt": "bin/wasm-opcodecnt", - "wasm-strip": "bin/wasm-strip", - "wasm-validate": "bin/wasm-validate", - "wasm2c": "bin/wasm2c", - "wasm2wat": "bin/wasm2wat", - "wat2wasm": "bin/wat2wasm" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web-streams-polyfill": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", - "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/web3-eth-abi": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz", - "integrity": "sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg==", - "license": "LGPL-3.0", - "dependencies": { - "@ethersproject/abi": "5.0.7", - "web3-utils": "1.7.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz", - "integrity": "sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w==", - "license": "LGPL-3.0", - "dependencies": { - "bn.js": "^4.11.9", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/web3-utils/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "license": "MIT" - }, - "node_modules/webcrypto-core": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.9.tgz", - "integrity": "sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==", - "license": "MIT", - "dependencies": { - "@peculiar/asn1-schema": "^2.3.8", - "@peculiar/json-schema": "^1.1.12", - "asn1js": "^3.0.1", - "pvtsutils": "^1.3.5", - "tslib": "^2.6.2" - } - }, - "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/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/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "license": "MIT", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "license": "MIT" - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "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/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - } - } -} diff --git a/subgraph/base_sepolia/package.json b/subgraph/base_sepolia/package.json deleted file mode 100644 index f14238e..0000000 --- a/subgraph/base_sepolia/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "kraiken", - "license": "UNLICENSED", - "scripts": { - "codegen": "graph codegen", - "build": "graph build", - "deploy": "graph deploy --node https://api.studio.thegraph.com/deploy/ kraiken-base-sepolia", - "create-local": "graph create --node http://localhost:8020/ kraiken", - "remove-local": "graph remove --node http://localhost:8020/ kraiken", - "deploy-local": "graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 kraiken", - "test": "graph test" - }, - "dependencies": { - "@graphprotocol/graph-cli": "0.69.0", - "@graphprotocol/graph-ts": "0.34.0", - "assemblyscript": "0.27.25" - }, - "devDependencies": { - "@types/node": "^20.11.30", - "matchstick-as": "0.5.0", - "typescript": "^5.4.3" - }, - "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" -} diff --git a/subgraph/base_sepolia/schema.graphql b/subgraph/base_sepolia/schema.graphql deleted file mode 100644 index 76ae56a..0000000 --- a/subgraph/base_sepolia/schema.graphql +++ /dev/null @@ -1,51 +0,0 @@ -# scalar Bytes -# scalar BigInt -# scalar BigDecimal - -type Stats @entity { - id: Bytes! - kraikenTotalSupply: BigInt! # uint256 - stakeTotalSupply: BigInt! # uint256 - outstandingStake: BigInt! # uint256 - ringBuffer: [BigInt!]! # Ring buffer to store daily totals - ringBufferPointer: Int! # Pointer to the current day in the ring buffer - lastUpdatedHour: Int! # The last updated day boundary (timestamp in days) - totalMinted: BigInt! - mintedLastWeek: BigInt! - mintedLastDay: BigInt! - mintNextHourProjected: BigInt! - - totalBurned: BigInt! - burnedLastWeek: BigInt! - burnedLastDay: BigInt! - burnNextHourProjected: BigInt! - -} - -enum PositionStatus { - Active - Closed -} - -type Position @entity { - id: Bytes! - owner: Bytes! # address - share: BigDecimal! - # harb at start - # current harb value - creationTime: Int! - lastTaxTime: Int - taxRate: BigDecimal! - taxPaid: BigInt! - kraikenDeposit: BigInt! - snatched: Int! - totalSupplyInit: BigInt! - totalSupplyEnd: BigInt - status: PositionStatus! - payout: BigInt! -} - -# type Query { -# stats: [Stats!] -# positions: [Position!] -#} diff --git a/subgraph/base_sepolia/src/chains.ts b/subgraph/base_sepolia/src/chains.ts deleted file mode 100644 index 45b4ae8..0000000 --- a/subgraph/base_sepolia/src/chains.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Address, dataSource } from '@graphprotocol/graph-ts' - -export enum ChainId { - BASE = 8453, - BASE_SEPOLIA = 84532, -} - -const BASE_NETWORK_NAME = 'base' -const BASE_SEPOLIA_NETWORK_NAME = 'base-sepolia' - - -export class SubgraphConfig { - - kraikenAddress: Address - - stakeAddress: Address - -} - -export function getSubgraphConfig(): SubgraphConfig { - // Update this value to the corresponding chain you want to deploy - const selectedNetwork = dataSource.network() - - // subgraph does not support case switch with strings, hence this if else block - if (selectedNetwork == BASE_NETWORK_NAME) { - return { - kraikenAddress: Address.fromString('0x45caa5929f6ee038039984205bdecf968b954820'), - stakeAddress: Address.fromString('0xed70707fab05d973ad41eae8d17e2bcd36192cfc'), - } - } else if (selectedNetwork == BASE_SEPOLIA_NETWORK_NAME) { - return { - kraikenAddress: Address.fromString('0x22c264Ecf8D4E49D1E3CabD8DD39b7C4Ab51C1B8'), - stakeAddress: Address.fromString('0xe28020BCdEeAf2779dd47c670A8eFC2973316EE2'), - } - } else { - throw new Error('Unsupported Network') - } -} \ No newline at end of file diff --git a/subgraph/base_sepolia/src/kraiken.ts b/subgraph/base_sepolia/src/kraiken.ts deleted file mode 100644 index b8a189b..0000000 --- a/subgraph/base_sepolia/src/kraiken.ts +++ /dev/null @@ -1,189 +0,0 @@ -import { - Approval as ApprovalEvent, - EIP712DomainChanged as EIP712DomainChangedEvent, - Transfer as TransferEvent, - Kraiken -} from "../generated/Kraiken/Kraiken"; -import { BigInt, Bytes, ethereum, Address, log } from "@graphprotocol/graph-ts"; -import { Stats } from "../generated/schema"; -import { getSubgraphConfig } from './chains'; - -let stakeTotalSupply: BigInt = BigInt.fromString("10000000000000000000000000"); - -// Helper function to get or create Stats entity -function getOrCreateStats(): Stats { - let stats = Stats.load(Bytes.fromHexString("0x01") as Bytes); - if (stats == null) { - log.info("Stats not found, creating a new one", []); - stats = new Stats(Bytes.fromHexString("0x01") as Bytes); - let kraiken = Kraiken.bind(getSubgraphConfig().kraikenAddress); - - - - stats.kraikenTotalSupply = kraiken.totalSupply(); - stats.stakeTotalSupply = stakeTotalSupply; - stats.outstandingStake = BigInt.zero(); - - // Minted - stats.totalMinted = BigInt.zero(); - stats.mintedLastWeek = BigInt.zero(); - stats.mintedLastDay = BigInt.zero(); - stats.mintNextHourProjected = BigInt.zero(); - - // Burned - stats.totalBurned = BigInt.zero(); - stats.burnedLastWeek = BigInt.zero(); - stats.burnedLastDay = BigInt.zero(); - stats.burnNextHourProjected = BigInt.zero(); - - - - stats.ringBuffer = new Array(168 * 4).fill(BigInt.zero()); - stats.ringBufferPointer = 0; - stats.lastUpdatedHour = 0; - } - return stats; -} - -export function handleTransfer(event: TransferEvent): void { - let ZERO_ADDRESS = Address.fromString("0x0000000000000000000000000000000000000000"); - let TAX_POOL_ADDR = Address.fromString("0x0000000000000000000000000000000000000002"); - - let stats = getOrCreateStats(); - - // Get a copy of the ring buffer - let ringBuffer = stats.ringBuffer; - - if (event.params.from == TAX_POOL_ADDR) { - - // Add the UBI amount to the current hour's total in the ring buffer - let ubiBufferIndex = (stats.ringBufferPointer * 4) + 0; // UBI is at index 0 - ringBuffer[ubiBufferIndex] = ringBuffer[ubiBufferIndex].plus(event.params.value); - - } else if (event.params.from == ZERO_ADDRESS) { - // Mint event - stats.totalMinted = stats.totalMinted.plus(event.params.value); - - // Add the minted amount to the current hour's total in the ring buffer - let mintBufferIndex = (stats.ringBufferPointer * 4) + 1; // Minted tokens are at index 1 - ringBuffer[mintBufferIndex] = ringBuffer[mintBufferIndex].plus(event.params.value); - - stats.kraikenTotalSupply = stats.kraikenTotalSupply.plus(event.params.value); - - } else if (event.params.to == ZERO_ADDRESS) { - // Burn event - stats.totalBurned = stats.totalBurned.plus(event.params.value); - - // Add the burned amount to the current hour's total in the ring buffer - let burnBufferIndex = (stats.ringBufferPointer * 4) + 2; // Burned tokens are at index 2 - ringBuffer[burnBufferIndex] = ringBuffer[burnBufferIndex].plus(event.params.value); - - stats.kraikenTotalSupply = stats.kraikenTotalSupply.minus(event.params.value); - - } else if (event.params.to == TAX_POOL_ADDR) { - - // Add the burned amount to the current hour's total in the ring buffer - let taxBufferIndex = (stats.ringBufferPointer * 4) + 3; // tax paid is at index 3 - ringBuffer[taxBufferIndex] = ringBuffer[taxBufferIndex].plus(event.params.value); - - } - - // Update the ring buffer in the stats entity - stats.ringBuffer = ringBuffer; - - // Save the updated Stats entity - stats.save(); -} - -// Block handler to aggregate stats -export function handleBlock(block: ethereum.Block): void { - // Update Stats entity - let stats = getOrCreateStats(); - - // Get a copy of the ring buffer - let ringBuffer = stats.ringBuffer; - - // Calculate the current hour - let currentHour = block.timestamp.toI32() / 3600; - - // Check if we've moved to a new hour - if (currentHour > stats.lastUpdatedHour) { - // Move the ring buffer pointer forward - stats.ringBufferPointer = (stats.ringBufferPointer + 1) % 168; - - // Reset the new current hour in the ring buffer - let baseIndex = stats.ringBufferPointer * 4; - ringBuffer[baseIndex] = BigInt.zero(); // UBI claimed - ringBuffer[baseIndex + 1] = BigInt.zero(); // Minted tokens - ringBuffer[baseIndex + 2] = BigInt.zero(); // Burned tokens - - // Update the last updated hour - stats.lastUpdatedHour = currentHour; - - // Recalculate the sum of the last 7 days and 24 hours - - let mintedLastWeek = BigInt.zero(); - let burnedLastWeek = BigInt.zero(); - - let mintedLastDay = BigInt.zero(); - let burnedLastDay = BigInt.zero(); - - - for (let i = 0; i < 168; i++) { - let index = ((stats.ringBufferPointer - i + 168) % 168) * 4; - mintedLastWeek = mintedLastWeek.plus(ringBuffer[index + 1]); - burnedLastWeek = burnedLastWeek.plus(ringBuffer[index + 2]); - - if (i < 24) { - mintedLastDay = mintedLastDay.plus(ringBuffer[index + 1]); - burnedLastDay = burnedLastDay.plus(ringBuffer[index + 2]); - } - } - - - stats.mintedLastWeek = mintedLastWeek; - stats.burnedLastWeek = burnedLastWeek; - - - stats.mintedLastDay = mintedLastDay; - stats.burnedLastDay = burnedLastDay; - - // Update the ring buffer in the stats entity - stats.ringBuffer = ringBuffer; - - } else { - // update projected stats with every block - - // Calculate the elapsed time in the current hour - let currentTimestamp = block.timestamp.toI32(); - let startOfHour = (currentTimestamp / 3600) * 3600; - let elapsedSeconds = currentTimestamp - startOfHour; - - for (var i = 0; i <= 3; i++) { - let bufferIndex = (stats.ringBufferPointer * 4) + i; - // Project the current hour's total based on the average rate of burned tokens in the current hour - let projectedTotal = ringBuffer[bufferIndex].times(BigInt.fromI32(3600)).div(BigInt.fromI32(elapsedSeconds)); - - // Calculate the medium between the previous hour and the projection - let previousHourTotal = ringBuffer[((stats.ringBufferPointer - 1 + 168) % 168) * 4 + i]; - - log.info("projecting stats : {} projected total: {}. previous hour Total: {}. medium: {}", [ - i.toString(), - projectedTotal.toString(), - previousHourTotal.toString(), - previousHourTotal.plus(projectedTotal).div(BigInt.fromI32(2)).toString(), - ]); - - let medium = previousHourTotal.plus(projectedTotal).div(BigInt.fromI32(2)); - - if (i == 1) { - stats.mintNextHourProjected = (medium > BigInt.zero()) ? medium : stats.mintedLastWeek.div(BigInt.fromI32(7)); - } else if (i == 2) { - stats.burnNextHourProjected = (medium > BigInt.zero()) ? medium : stats.burnedLastWeek.div(BigInt.fromI32(7)); - } - } - - } - // Save the updated Stats entity - stats.save(); -} diff --git a/subgraph/base_sepolia/src/queries/getPositions.graphql b/subgraph/base_sepolia/src/queries/getPositions.graphql deleted file mode 100644 index a700d7a..0000000 --- a/subgraph/base_sepolia/src/queries/getPositions.graphql +++ /dev/null @@ -1,11 +0,0 @@ -query GetPositions { - positions { - id - owner - share - creationTime - lastTaxTime - taxRate - status - } -} \ No newline at end of file diff --git a/subgraph/base_sepolia/src/stake.ts b/subgraph/base_sepolia/src/stake.ts deleted file mode 100644 index 5ebf895..0000000 --- a/subgraph/base_sepolia/src/stake.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { - PositionCreated as PositionCreatedEvent, - PositionRemoved as PositionRemovedEvent, - PositionTaxPaid as PositionTaxPaidEvent, - PositionShrunk as PositionShrunkEvent, - PositionRateHiked as PositionRateHikedEvent, -} from "../generated/Stake/Stake"; -import { Kraiken } from "../generated/Kraiken/Kraiken"; -import { Stake } from "../generated/Stake/Stake"; -import { getSubgraphConfig, SubgraphConfig } from './chains'; -import { BigDecimal, BigInt, Bytes } from "@graphprotocol/graph-ts"; -import { Position, Stats } from "../generated/schema"; - -let decimals: BigDecimal = BigDecimal.fromString("1000000000000000000"); -let totalSupply: BigDecimal = BigDecimal.fromString("10000000000000000000000000"); -let taxRates: Array = ["0.01", "0.03", "0.05", "0.08", "0.12", "0.18", "0.24", "0.30", "0.40", "0.50", "0.60", "0.80", "1", "1.3", "1.8", "2.5", "3.2", "4.2", "5.4", "7", "9.2", "12", "16", "20", "26", "34", "44", "57", "75", "97"]; - -export function handlePositionCreated(event: PositionCreatedEvent): void { - let position = new Position(Bytes.fromI32(event.params.positionId.toI32())); - position.owner = event.params.owner; - position.share = event.params.share.toBigDecimal().div(totalSupply); - position.creationTime = event.block.timestamp.toI32(); - position.lastTaxTime = event.block.timestamp.toI32(); - position.taxRate = BigDecimal.fromString(taxRates[event.params.taxRate.toI32()]); - position.kraikenDeposit = event.params.kraikenDeposit; - position.status = "Active"; - position.snatched = 0; - position.payout = BigInt.fromString("0"); - position.taxPaid = BigInt.fromString("0"); - let kraiken = Kraiken.bind(getSubgraphConfig().kraikenAddress); - position.totalSupplyInit = kraiken.totalSupply(); - position.save(); - let stake = Stake.bind(event.address); - let stats = Stats.load(Bytes.fromHexString("0x01") as Bytes); - if (stats != null) { - stats.outstandingStake = stake.outstandingStake(); - stats.save(); - } -} - -export function handlePositionRemoved(event: PositionRemovedEvent): void { - let position = Position.load(Bytes.fromI32(event.params.positionId.toI32())); - if (position != null) { - position.status = "Closed"; - let kraiken = Kraiken.bind(getSubgraphConfig().kraikenAddress); - position.totalSupplyEnd = kraiken.totalSupply(); - // position.payout = position.payout.plus(event.params.kraikenPayout); - position.save(); - } - let stake = Stake.bind(event.address); - let stats = Stats.load(Bytes.fromHexString("0x01") as Bytes); - if (stats != null) { - stats.outstandingStake = stake.outstandingStake(); - stats.save(); - } -} - -export function handlePositionShrunk(event: PositionShrunkEvent): void { - let position = Position.load(Bytes.fromI32(event.params.positionId.toI32())); - if (position != null) { - position.share = event.params.newShares.toBigDecimal().div(totalSupply); - position.kraikenDeposit = position.kraikenDeposit.minus(event.params.kraikenPayout); - position.snatched = position.snatched++; - - // position.payout = position.payout.plus(event.params.kraikenPayout); - position.save(); - } -} - -export function handleTaxPaid(event: PositionTaxPaidEvent): void { - let position = Position.load(Bytes.fromI32(event.params.positionId.toI32())); - if (position != null) { - position.taxPaid = position.taxPaid.plus(event.params.taxPaid); - position.taxRate = BigDecimal.fromString(taxRates[event.params.taxRate.toI32()]); - position.lastTaxTime = event.block.timestamp.toI32(); - position.save(); - } -} - -export function handlePositionRateHiked(event: PositionRateHikedEvent): void { - let position = Position.load(Bytes.fromI32(event.params.positionId.toI32())); - if (position != null) { - position.taxRate = BigDecimal.fromString(taxRates[event.params.newTaxRate.toI32()]); - position.save(); - } -} \ No newline at end of file diff --git a/subgraph/base_sepolia/subgraph.yaml b/subgraph/base_sepolia/subgraph.yaml deleted file mode 100644 index 81aaf01..0000000 --- a/subgraph/base_sepolia/subgraph.yaml +++ /dev/null @@ -1,59 +0,0 @@ -specVersion: 0.0.4 -repository: http://gitea.loseyourip.com:4000/dark-meme-society/harb.git -description: Kraiken Token -schema: - file: ./schema.graphql -dataSources: - - kind: ethereum - name: Kraiken - network: base - source: - address: "0x45caa5929f6ee038039984205bdecf968b954820" - abi: Kraiken - startBlock: 26038614 - mapping: - kind: ethereum/events - apiVersion: 0.0.7 - language: wasm/assemblyscript - entities: - - Stats - - UbiClaim - abis: - - name: Kraiken - file: ./abis/Kraiken.json - eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - blockHandlers: - - handler: handleBlock - file: ./src/kraiken.ts - - kind: ethereum - name: Stake - network: base - source: - address: "0xed70707fab05d973ad41eae8d17e2bcd36192cfc" - abi: Stake - startBlock: 26038614 - mapping: - kind: ethereum/events - apiVersion: 0.0.7 - language: wasm/assemblyscript - entities: - - Position - abis: - - name: Stake - file: ./abis/Stake.json - - name: Kraiken - file: ./abis/Kraiken.json - eventHandlers: - - event: PositionCreated(indexed uint256,indexed address,uint256,uint256,uint32) - handler: handlePositionCreated - - event: PositionRemoved(indexed uint256,indexed address,uint256) - handler: handlePositionRemoved - - event: PositionShrunk(indexed uint256,indexed address,uint256,uint256) - handler: handlePositionShrunk - - event: PositionTaxPaid(indexed uint256,indexed address,uint256,uint256,uint256) - handler: handleTaxPaid - - event: PositionRateHiked(indexed uint256,indexed address,uint256) - handler: handlePositionRateHiked - file: ./src/stake.ts diff --git a/subgraph/base_sepolia/subgraph_template.yaml b/subgraph/base_sepolia/subgraph_template.yaml deleted file mode 100644 index d5e0cdb..0000000 --- a/subgraph/base_sepolia/subgraph_template.yaml +++ /dev/null @@ -1,59 +0,0 @@ -specVersion: 0.0.4 -repository: http://gitea.loseyourip.com:4000/dark-meme-society/harb.git -description: Harberger Tax Token -schema: - file: ./schema.graphql -dataSources: - - kind: ethereum - name: Harb - network: {{NETWORK}} - source: - address: "{{CONTRACT_ADDRESS_HARB}}" - abi: Harb - startBlock: {{START_BLOCK}} - mapping: - kind: ethereum/events - apiVersion: 0.0.7 - language: wasm/assemblyscript - entities: - - Stats - - UbiClaim - abis: - - name: Harb - file: ./abis/Harb.json - eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - blockHandlers: - - handler: handleBlock - file: ./src/harb.ts - - kind: ethereum - name: Stake - network: {{NETWORK}} - source: - address: "{{CONTRACT_ADDRESS_STAKE}}" - abi: Stake - startBlock: {{START_BLOCK}} - mapping: - kind: ethereum/events - apiVersion: 0.0.7 - language: wasm/assemblyscript - entities: - - Position - abis: - - name: Stake - file: ./abis/Stake.json - - name: Harb - file: ./abis/Harb.json - eventHandlers: - - event: PositionCreated(indexed uint256,indexed address,uint256,uint256,uint32) - handler: handlePositionCreated - - event: PositionRemoved(indexed uint256,indexed address,uint256) - handler: handlePositionRemoved - - event: PositionShrunk(indexed uint256,indexed address,uint256,uint256) - handler: handlePositionShrunk - - event: PositionTaxPaid(indexed uint256,indexed address,uint256,uint256,uint256) - handler: handleTaxPaid - - event: PositionRateHiked(indexed uint256,indexed address,uint256) - handler: handlePositionRateHiked - file: ./src/stake.ts diff --git a/subgraph/base_sepolia/subgraphori.yaml b/subgraph/base_sepolia/subgraphori.yaml deleted file mode 100644 index 0ab0ce8..0000000 --- a/subgraph/base_sepolia/subgraphori.yaml +++ /dev/null @@ -1,59 +0,0 @@ -specVersion: 0.0.4 -repository: http://gitea.loseyourip.com:4000/dark-meme-society/harb.git -description: Harberger Tax Token -schema: - file: ./schema.graphql -dataSources: - - kind: ethereum - name: Harb - network: base-sepolia - source: - address: "0x54838DC097E7fC4736B801bF1c1FCf1597348265" - abi: Harb - startBlock: 15399960 - mapping: - kind: ethereum/events - apiVersion: 0.0.7 - language: wasm/assemblyscript - entities: - - Stats - - UbiClaim - abis: - - name: Harb - file: ./abis/Harb.json - eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - blockHandlers: - - handler: handleBlock - file: ./src/harb.ts - - kind: ethereum - name: Stake - network: base-sepolia - source: - address: "0xd7728173F73C748944d29EA77b56f09b8FEc8F33" - abi: Stake - startBlock: 15399960 - mapping: - kind: ethereum/events - apiVersion: 0.0.7 - language: wasm/assemblyscript - entities: - - Position - abis: - - name: Stake - file: ./abis/Stake.json - - name: Harb - file: ./abis/Harb.json - eventHandlers: - - event: PositionCreated(indexed uint256,indexed address,uint256,uint256,uint32) - handler: handlePositionCreated - - event: PositionRemoved(indexed uint256,indexed address,uint256) - handler: handlePositionRemoved - - event: PositionShrunk(indexed uint256,indexed address,uint256,uint256) - handler: handlePositionShrunk - - event: PositionTaxPaid(indexed uint256,indexed address,uint256,uint256,uint256) - handler: handleTaxPaid - - event: PositionRateHiked(indexed uint256,indexed address,uint256) - handler: handlePositionRateHiked - file: ./src/stake.ts diff --git a/subgraph/base_sepolia/tests/harb-utils.ts b/subgraph/base_sepolia/tests/harb-utils.ts deleted file mode 100644 index d91644a..0000000 --- a/subgraph/base_sepolia/tests/harb-utils.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { newMockEvent } from "matchstick-as" -import { ethereum, Address, BigInt } from "@graphprotocol/graph-ts" -import { Approval, EIP712DomainChanged, Transfer } from "../generated/Harb/Harb" - -export function createApprovalEvent( - owner: Address, - spender: Address, - value: BigInt -): Approval { - let approvalEvent = changetype(newMockEvent()) - - approvalEvent.parameters = new Array() - - approvalEvent.parameters.push( - new ethereum.EventParam("owner", ethereum.Value.fromAddress(owner)) - ) - approvalEvent.parameters.push( - new ethereum.EventParam("spender", ethereum.Value.fromAddress(spender)) - ) - approvalEvent.parameters.push( - new ethereum.EventParam("value", ethereum.Value.fromUnsignedBigInt(value)) - ) - - return approvalEvent -} - -export function createEIP712DomainChangedEvent(): EIP712DomainChanged { - let eip712DomainChangedEvent = changetype(newMockEvent()) - - eip712DomainChangedEvent.parameters = new Array() - - return eip712DomainChangedEvent -} - -export function createTransferEvent( - from: Address, - to: Address, - value: BigInt -): Transfer { - let transferEvent = changetype(newMockEvent()) - - transferEvent.parameters = new Array() - - transferEvent.parameters.push( - new ethereum.EventParam("from", ethereum.Value.fromAddress(from)) - ) - transferEvent.parameters.push( - new ethereum.EventParam("to", ethereum.Value.fromAddress(to)) - ) - transferEvent.parameters.push( - new ethereum.EventParam("value", ethereum.Value.fromUnsignedBigInt(value)) - ) - - return transferEvent -} diff --git a/subgraph/base_sepolia/tests/harb.test.ts b/subgraph/base_sepolia/tests/harb.test.ts deleted file mode 100644 index 0355603..0000000 --- a/subgraph/base_sepolia/tests/harb.test.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { - assert, - describe, - test, - clearStore, - beforeAll, - afterAll -} from "matchstick-as/assembly/index" -import { Address, BigInt } from "@graphprotocol/graph-ts" -import { Approval } from "../generated/schema" -import { Approval as ApprovalEvent } from "../generated/Harb/Harb" -import { handleApproval } from "../src/harb" -import { createApprovalEvent } from "./harb-utils" - -// Tests structure (matchstick-as >=0.5.0) -// https://thegraph.com/docs/en/developer/matchstick/#tests-structure-0-5-0 - -describe("Describe entity assertions", () => { - beforeAll(() => { - let owner = Address.fromString("0x0000000000000000000000000000000000000001") - let spender = Address.fromString( - "0x0000000000000000000000000000000000000001" - ) - let value = BigInt.fromI32(234) - let newApprovalEvent = createApprovalEvent(owner, spender, value) - handleApproval(newApprovalEvent) - }) - - afterAll(() => { - clearStore() - }) - - // For more test scenarios, see: - // https://thegraph.com/docs/en/developer/matchstick/#write-a-unit-test - - test("Approval created and stored", () => { - assert.entityCount("Approval", 1) - - // 0xa16081f360e3847006db660bae1c6d1b2e17ec2a is the default address used in newMockEvent() function - assert.fieldEquals( - "Approval", - "0xa16081f360e3847006db660bae1c6d1b2e17ec2a-1", - "owner", - "0x0000000000000000000000000000000000000001" - ) - assert.fieldEquals( - "Approval", - "0xa16081f360e3847006db660bae1c6d1b2e17ec2a-1", - "spender", - "0x0000000000000000000000000000000000000001" - ) - assert.fieldEquals( - "Approval", - "0xa16081f360e3847006db660bae1c6d1b2e17ec2a-1", - "value", - "234" - ) - - // More assert options: - // https://thegraph.com/docs/en/developer/matchstick/#asserts - }) -}) diff --git a/subgraph/base_sepolia/tests/stake-utils.ts b/subgraph/base_sepolia/tests/stake-utils.ts deleted file mode 100644 index c84f8e6..0000000 --- a/subgraph/base_sepolia/tests/stake-utils.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { newMockEvent } from "matchstick-as" -import { ethereum, BigInt, Address } from "@graphprotocol/graph-ts" -import { PositionCreated, PositionRemoved } from "../generated/Stake/Stake" - -export function createPositionCreatedEvent( - positionId: BigInt, - owner: Address, - share: BigInt, - creationTime: BigInt, - taxRate: BigInt -): PositionCreated { - let positionCreatedEvent = changetype(newMockEvent()) - - positionCreatedEvent.parameters = new Array() - - positionCreatedEvent.parameters.push( - new ethereum.EventParam( - "positionId", - ethereum.Value.fromUnsignedBigInt(positionId) - ) - ) - positionCreatedEvent.parameters.push( - new ethereum.EventParam("owner", ethereum.Value.fromAddress(owner)) - ) - positionCreatedEvent.parameters.push( - new ethereum.EventParam("share", ethereum.Value.fromUnsignedBigInt(share)) - ) - positionCreatedEvent.parameters.push( - new ethereum.EventParam( - "creationTime", - ethereum.Value.fromUnsignedBigInt(creationTime) - ) - ) - positionCreatedEvent.parameters.push( - new ethereum.EventParam( - "taxRate", - ethereum.Value.fromUnsignedBigInt(taxRate) - ) - ) - - return positionCreatedEvent -} - -export function createPositionRemovedEvent( - positionId: BigInt, - share: BigInt, - lastTaxTime: BigInt -): PositionRemoved { - let positionRemovedEvent = changetype(newMockEvent()) - - positionRemovedEvent.parameters = new Array() - - positionRemovedEvent.parameters.push( - new ethereum.EventParam( - "positionId", - ethereum.Value.fromUnsignedBigInt(positionId) - ) - ) - positionRemovedEvent.parameters.push( - new ethereum.EventParam("share", ethereum.Value.fromUnsignedBigInt(share)) - ) - positionRemovedEvent.parameters.push( - new ethereum.EventParam( - "lastTaxTime", - ethereum.Value.fromUnsignedBigInt(lastTaxTime) - ) - ) - - return positionRemovedEvent -} diff --git a/subgraph/base_sepolia/tests/stake.test.ts b/subgraph/base_sepolia/tests/stake.test.ts deleted file mode 100644 index cac77a6..0000000 --- a/subgraph/base_sepolia/tests/stake.test.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { - assert, - describe, - test, - clearStore, - beforeAll, - afterAll -} from "matchstick-as/assembly/index" -import { BigInt, Address } from "@graphprotocol/graph-ts" -import { PositionCreated } from "../generated/schema" -import { PositionCreated as PositionCreatedEvent } from "../generated/Stake/Stake" -import { handlePositionCreated } from "../src/stake" -import { createPositionCreatedEvent } from "./stake-utils" - -// Tests structure (matchstick-as >=0.5.0) -// https://thegraph.com/docs/en/developer/matchstick/#tests-structure-0-5-0 - -describe("Describe entity assertions", () => { - beforeAll(() => { - let positionId = BigInt.fromI32(234) - let owner = Address.fromString("0x0000000000000000000000000000000000000001") - let share = BigInt.fromI32(234) - let creationTime = BigInt.fromI32(234) - let taxRate = BigInt.fromI32(234) - let newPositionCreatedEvent = createPositionCreatedEvent( - positionId, - owner, - share, - creationTime, - taxRate - ) - handlePositionCreated(newPositionCreatedEvent) - }) - - afterAll(() => { - clearStore() - }) - - // For more test scenarios, see: - // https://thegraph.com/docs/en/developer/matchstick/#write-a-unit-test - - test("PositionCreated created and stored", () => { - assert.entityCount("PositionCreated", 1) - - // 0xa16081f360e3847006db660bae1c6d1b2e17ec2a is the default address used in newMockEvent() function - assert.fieldEquals( - "PositionCreated", - "0xa16081f360e3847006db660bae1c6d1b2e17ec2a-1", - "positionId", - "234" - ) - assert.fieldEquals( - "PositionCreated", - "0xa16081f360e3847006db660bae1c6d1b2e17ec2a-1", - "owner", - "0x0000000000000000000000000000000000000001" - ) - assert.fieldEquals( - "PositionCreated", - "0xa16081f360e3847006db660bae1c6d1b2e17ec2a-1", - "share", - "234" - ) - assert.fieldEquals( - "PositionCreated", - "0xa16081f360e3847006db660bae1c6d1b2e17ec2a-1", - "creationTime", - "234" - ) - assert.fieldEquals( - "PositionCreated", - "0xa16081f360e3847006db660bae1c6d1b2e17ec2a-1", - "taxRate", - "234" - ) - - // More assert options: - // https://thegraph.com/docs/en/developer/matchstick/#asserts - }) -}) diff --git a/subgraph/base_sepolia/tsconfig.json b/subgraph/base_sepolia/tsconfig.json deleted file mode 100644 index 4e86672..0000000 --- a/subgraph/base_sepolia/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "@graphprotocol/graph-ts/types/tsconfig.base.json", - "include": ["src", "tests"] -} diff --git a/web-app/src/components/StakeHolder.vue b/web-app/src/components/StakeHolder.vue index 8422011..943a001 100644 --- a/web-app/src/components/StakeHolder.vue +++ b/web-app/src/components/StakeHolder.vue @@ -211,16 +211,17 @@ watchEffect(() => { stakeSlots.value = (supplyFreeze.value * 1000)?.toFixed(2); }); -// const stakeAbleHarbAmount = computed(() => statCollection.harbTotalSupply / 5n); +// const stakeAbleHarbAmount = computed(() => statCollection.kraikenTotalSupply / 5n); //war das mal so, wurde das geändert --> funktioniert nicht mehr // const minStake = computed(() => stakeAbleHarbAmount.value / 600n); + const tokenIssuance = computed(() => { - if (statCollection.harbTotalSupply === 0n) { + if (statCollection.kraikenTotalSupply === 0n) { return 0n; } - return (statCollection.nettoToken7d / statCollection.harbTotalSupply) * 100n; + return (statCollection.nettoToken7d / statCollection.kraikenTotalSupply) * 100n; }); function getMinFloorTax() { @@ -280,7 +281,7 @@ onMounted(async () => { } }); // async function getGraphData(): Promise> { -// let res = await axios.post("https://api.studio.thegraph.com/query/47986/harb/version/latest", { +// let res = await axios.post("http://127.0.0.1:42069/graphql", { // query: "query MyQuery {\n positions {\n id\n lastTaxTime\n owner\n share\n status\n taxRate\n creationTime\n }\n}", // }); // return res.data.data.positions; diff --git a/web-app/src/components/chart/ChartComplete.vue b/web-app/src/components/chart/ChartComplete.vue index b978f25..71ec2bc 100644 --- a/web-app/src/components/chart/ChartComplete.vue +++ b/web-app/src/components/chart/ChartComplete.vue @@ -27,7 +27,7 @@ console.log("minStake", minStake.value); return formatBigIntDivision(minStake.value, 10n ** 18n); }); -const stakeAbleHarbAmount = computed(() => statCollection.harbTotalSupply / 5n); +const stakeAbleHarbAmount = computed(() => statCollection.kraikenTotalSupply / 5n); const minStake = computed(() => stakeAbleHarbAmount.value / 600n); @@ -36,7 +36,7 @@ const statCollection = useStatCollection(); const snatchPositions = computed(() => { if ( bigInt2Number(statCollection.outstandingStake, 18) + stake.stakingAmountNumber <= - bigInt2Number(statCollection.harbTotalSupply, 18) * 0.2 + bigInt2Number(statCollection.kraikenTotalSupply, 18) * 0.2 ) { return []; } @@ -44,7 +44,7 @@ if ( const difference = bigInt2Number(statCollection.outstandingStake, 18) + stake.stakingAmountNumber - - bigInt2Number(statCollection.harbTotalSupply, 18) * 0.2; + bigInt2Number(statCollection.kraikenTotalSupply, 18) * 0.2; console.log("difference", difference); //Division ohne Rest, um zu schauen wie viele Positionen gesnatched werden könnten diff --git a/web-app/src/components/collapse/CollapseActive.vue b/web-app/src/components/collapse/CollapseActive.vue index fa7b7e4..f5b2163 100644 --- a/web-app/src/components/collapse/CollapseActive.vue +++ b/web-app/src/components/collapse/CollapseActive.vue @@ -162,14 +162,14 @@ async function loadActivePositionData() { const multiplier = Number(formatUnits(props.position.totalSupplyInit, 18)) / - Number(formatUnits(statCollection.harbTotalSupply, 18)); + Number(formatUnits(statCollection.kraikenTotalSupply, 18)); console.log("props.position.totalSupplyInit", props.position.totalSupplyInit); console.log("multiplier", multiplier); profit.value = - Number(formatUnits(statCollection.harbTotalSupply, 18)) * multiplier - - Number(formatUnits(statCollection.harbTotalSupply, 18)); + Number(formatUnits(statCollection.kraikenTotalSupply, 18)) * multiplier - + Number(formatUnits(statCollection.kraikenTotalSupply, 18)); } onMounted(() => { diff --git a/web-app/src/composables/usePositions.ts b/web-app/src/composables/usePositions.ts index aa4dfbd..47d6a05 100644 --- a/web-app/src/composables/usePositions.ts +++ b/web-app/src/composables/usePositions.ts @@ -108,32 +108,37 @@ const tresholdValue = computed(() => { export async function loadActivePositions() { logger.info(`loadActivePositions for chain: ${chainData.value?.path}`); - if (!chainData.value?.thegraph) { + if (!chainData.value?.graphql) { return []; } - console.log("chainData.value?.thegraph", chainData.value?.thegraph); + console.log("chainData.value?.graphql", chainData.value?.graphql); - const res = await axios.post(chainData.value?.thegraph, { - query: `query MyQuery { - positions(where: {status: Active}, orderBy: taxRate, orderDirection: asc) { - id - lastTaxTime - owner - payout - share - harbDeposit - snatched - status - taxPaid - taxRate - totalSupplyEnd - totalSupplyInit - } - }`, + const res = await axios.post(chainData.value?.graphql, { + query: `query ActivePositions { + positionss(where: { status: "Active" }, orderBy: "taxRate", orderDirection: "asc", limit: 1000) { + items { + id + lastTaxTime + owner + payout + share + kraikenDeposit + snatched + status + taxPaid + taxRate + totalSupplyEnd + totalSupplyInit + } + } + }`, }); - console.log("res", res.data); - return res.data.data.positions as Position[]; + const items = res.data?.data?.positionss?.items ?? []; + return items.map((item: any) => ({ + ...item, + harbDeposit: item.kraikenDeposit ?? "0", + })) as Position[]; } function formatId(id: Hex) { @@ -144,33 +149,38 @@ function formatId(id: Hex) { export async function loadMyClosedPositions(account: GetAccountReturnType) { logger.info(`loadMyClosedPositions for chain: ${chainData.value?.path}`); - if (!chainData.value?.thegraph) { + if (!chainData.value?.graphql) { return []; } - const res = await axios.post(chainData.value?.thegraph, { - query: `query MyQuery { - positions(where: {status: Closed, owner: "${account.address?.toLowerCase()}"}) { - id - lastTaxTime - owner - payout - share - harbDeposit - snatched - status - taxPaid - taxRate - totalSupplyEnd - totalSupplyInit - } - }`, + const res = await axios.post(chainData.value?.graphql, { + query: `query ClosedPositions { + positionss(where: { status: "Closed", owner: "${account.address?.toLowerCase()}" }, limit: 1000) { + items { + id + lastTaxTime + owner + payout + share + kraikenDeposit + snatched + status + taxPaid + taxRate + totalSupplyEnd + totalSupplyInit + } + } + }`, }); if (res.data.errors?.length > 0) { console.error("todo nur laden, wenn eingeloggt"); return []; } - const positions: Position[] = res.data.data.positions; - return positions; + const items = res.data?.data?.positionss?.items ?? []; + return items.map((item: any) => ({ + ...item, + harbDeposit: item.kraikenDeposit ?? "0", + })) as Position[]; } export async function loadPositions() { diff --git a/web-app/src/composables/useStatCollection.ts b/web-app/src/composables/useStatCollection.ts index 507b901..761c749 100644 --- a/web-app/src/composables/useStatCollection.ts +++ b/web-app/src/composables/useStatCollection.ts @@ -8,72 +8,80 @@ import type { WatchBlocksReturnType } from "viem"; import { bigInt2Number } from "@/utils/helper"; const demo = sessionStorage.getItem("demo") === "true"; -interface statsCollection { - burnNextHourProjected: bigint; - burnedLastDay: bigint; - burnedLastWeek: bigint; +interface StatsRecord { + burnNextHourProjected: string; + burnedLastDay: string; + burnedLastWeek: string; id: string; - lastUpdatedHour: number; - mintNextHourProjected: bigint; - mintedLastDay: bigint; - mintedLastWeek: bigint; - outstandingStake: bigint; - harbTotalSupply: bigint; - stakeTotalSupply: bigint; + mintNextHourProjected: string; + mintedLastDay: string; + mintedLastWeek: string; + outstandingStake: string; + kraikenTotalSupply: string; + stakeTotalSupply: string; ringBufferPointer: number; - totalBurned: bigint; - totalMinted: bigint; + totalBurned: string; + totalMinted: string; } -const rawStatsCollections = ref>([]); +const rawStatsCollections = ref>([]); const loading = ref(false); const initialized = ref(false); export async function loadStatsCollection() { logger.info(`loadStatsCollection for chain: ${chainData.value?.path}`); - if (!chainData.value?.thegraph) { + if (!chainData.value?.graphql) { return []; } - const res = await axios.post(chainData.value?.thegraph, { - query: `query MyQuery { - stats_collection { - burnNextHourProjected - burnedLastDay - burnedLastWeek - id - lastUpdatedHour - mintNextHourProjected - mintedLastDay - mintedLastWeek - outstandingStake - harbTotalSupply - stakeTotalSupply - ringBufferPointer - totalBurned - totalMinted - } - }`, + const res = await axios.post(chainData.value?.graphql, { + query: `query StatsQuery { + stats(id: "0x01") { + burnNextHourProjected + burnedLastDay + burnedLastWeek + id + mintNextHourProjected + mintedLastDay + mintedLastWeek + outstandingStake + kraikenTotalSupply + stakeTotalSupply + ringBufferPointer + totalBurned + totalMinted + } + }`, }); - console.groupEnd(); - return res.data?.data?.stats_collection; + + const stats = res.data?.data?.stats as StatsRecord | undefined; + if (!stats) { + return []; + } + + return [{ ...stats, kraikenTotalSupply: stats.kraikenTotalSupply }]; } const profit7d = computed(() => { if (!statsCollection.value) { return 0n; } - return ( - (BigInt(statsCollection.value?.mintedLastWeek) - BigInt(statsCollection.value?.burnedLastWeek)) / - (BigInt(statsCollection.value?.totalMinted) - BigInt(statsCollection.value?.totalBurned)) - ); + const mintedLastWeek = BigInt(statsCollection.value.mintedLastWeek); + const burnedLastWeek = BigInt(statsCollection.value.burnedLastWeek); + const totalMinted = BigInt(statsCollection.value.totalMinted); + const totalBurned = BigInt(statsCollection.value.totalBurned); + const denominator = totalMinted - totalBurned; + if (denominator === 0n) { + return 0n; + } + return (mintedLastWeek - burnedLastWeek) / denominator; }); const nettoToken7d = computed(() => { if (!statsCollection.value) { return 0n; } - return BigInt(statsCollection.value?.mintedLastWeek) - BigInt(statsCollection.value.burnedLastWeek); + return BigInt(statsCollection.value.mintedLastWeek) - BigInt(statsCollection.value.burnedLastWeek); }); const statsCollection = computed(() => { @@ -96,9 +104,9 @@ const outstandingStake = computed(() => { } }); -const harbTotalSupply = computed(() => { +const kraikenTotalSupply = computed(() => { if (rawStatsCollections.value?.length > 0) { - return BigInt(rawStatsCollections.value[0].harbTotalSupply); + return BigInt(rawStatsCollections.value[0].kraikenTotalSupply); } else { return 0n; } @@ -115,7 +123,10 @@ const stakeTotalSupply = computed(() => { //Total Supply Change / 7d=mintedLastWeek−burnedLastWeek const totalSupplyChange7d = computed(() => { if (rawStatsCollections.value?.length > 0) { - return BigInt(rawStatsCollections.value[0].mintedLastWeek - rawStatsCollections.value[0].burnedLastWeek); + return ( + BigInt(rawStatsCollections.value[0].mintedLastWeek) - + BigInt(rawStatsCollections.value[0].burnedLastWeek) + ); } else { return 0n; } @@ -123,15 +134,18 @@ const totalSupplyChange7d = computed(() => { //totalsupply Change7d / harbtotalsupply const inflation7d = computed(() => { - if (rawStatsCollections.value?.length > 0 && rawStatsCollections.value[0].harbTotalSupply > 0) { - return BigInt(rawStatsCollections.value[0].mintedLastWeek - rawStatsCollections.value[0].burnedLastWeek); + if (rawStatsCollections.value?.length > 0 && BigInt(rawStatsCollections.value[0].kraikenTotalSupply) > 0n) { + return ( + BigInt(rawStatsCollections.value[0].mintedLastWeek) - + BigInt(rawStatsCollections.value[0].burnedLastWeek) + ); } else { return 0n; } }); const stakeableSupply = computed(() => { - if (rawStatsCollections.value?.length > 0 && rawStatsCollections.value[0].harbTotalSupply > 0) { + if (rawStatsCollections.value?.length > 0 && BigInt(rawStatsCollections.value[0].kraikenTotalSupply) > 0n) { console.log("rawStatsCollections.value[0]", rawStatsCollections.value[0]); return stakeTotalSupply.value / 5n; @@ -142,7 +156,7 @@ const stakeableSupply = computed(() => { //maxSlots const maxSlots = computed(() => { - if (rawStatsCollections.value?.length > 0 && rawStatsCollections.value[0].harbTotalSupply > 0) { + if (rawStatsCollections.value?.length > 0 && BigInt(rawStatsCollections.value[0].kraikenTotalSupply) > 0n) { console.log("rawStatsCollections.value[0]", rawStatsCollections.value[0]); return (bigInt2Number(stakeTotalSupply.value, 18) * 0.2) / 100; @@ -206,7 +220,7 @@ export function useStatCollection() { nettoToken7d, inflation7d, outstandingStake, - harbTotalSupply, + kraikenTotalSupply, stakeTotalSupply, totalSupplyChange7d, initialized, diff --git a/web-app/src/composables/useWallet.ts b/web-app/src/composables/useWallet.ts index 214e045..b3296c9 100644 --- a/web-app/src/composables/useWallet.ts +++ b/web-app/src/composables/useWallet.ts @@ -7,7 +7,7 @@ import { getAllowance, HarbContract, getNonce } from "@/contracts/harb"; import logger from "@/utils/logger"; import { setHarbContract } from "@/contracts/harb"; import { setStakeContract } from "@/contracts/stake"; -import {chainsData} from "@/config" +import {chainsData, DEFAULT_CHAIN_ID} from "@/config" const balance = ref({ value: 0n, @@ -28,8 +28,10 @@ const account = ref({ status: "disconnected", }); +const selectedChainId = computed(() => account.value.chainId ?? DEFAULT_CHAIN_ID); + export const chainData = computed(() => { - return chainsData.find((obj) => obj.id === account.value.chainId) + return chainsData.find((obj) => obj.id === selectedChainId.value) }) let unwatch: any = null; diff --git a/web-app/src/config.ts b/web-app/src/config.ts index 262fa6a..0db846d 100644 --- a/web-app/src/config.ts +++ b/web-app/src/config.ts @@ -1,31 +1,35 @@ +const LOCAL_PONDER_URL = "http://127.0.0.1:42069/graphql"; + +export const DEFAULT_CHAIN_ID = Number(import.meta.env.VITE_DEFAULT_CHAIN_ID ?? 84532); + export const chainsData = [ { - //sepolia + // sepolia id: 11155111, - thegraph: "https://api.studio.thegraph.com/query/71271/harb/v0.0.50", + graphql: import.meta.env.VITE_PONDER_SEPOLIA ?? "", path: "sepolia", stake: "0xCd21a41a137BCAf8743E47D048F57D92398f7Da9", harb: "0x087F256D11fe533b0c7d372e44Ee0F9e47C89dF9", uniswap: "https://app.uniswap.org/swap?chain=mainnet&inputCurrency=NATIVE" }, { - //base-sepolia + // base-sepolia (local dev default) id: 84532, - thegraph: "https://api.studio.thegraph.com/query/71271/harb-base-sepolia/v0.0.12", + graphql: import.meta.env.VITE_PONDER_BASE_SEPOLIA_LOCAL_FORK ?? LOCAL_PONDER_URL, path: "sepoliabase", stake: "0xe28020BCdEeAf2779dd47c670A8eFC2973316EE2", harb: "0x22c264Ecf8D4E49D1E3CabD8DD39b7C4Ab51C1B8", uniswap: "https://app.uniswap.org/swap?chain=mainnet&inputCurrency=NATIVE" }, { - //base + // base mainnet id: 8453, - thegraph: import.meta.env.VITE_BASE_URL, + graphql: import.meta.env.VITE_PONDER_BASE ?? "", path: "base", stake: "0xed70707fab05d973ad41eae8d17e2bcd36192cfc", harb: "0x45caa5929f6ee038039984205bdecf968b954820", uniswap: "https://app.uniswap.org/swap?chain=mainnet&inputCurrency=NATIVE" }, -] +]; export function getChain(id:number){ return chainsData.find((obj) => obj.id === id) diff --git a/web-app/src/views/GraphView.vue b/web-app/src/views/GraphView.vue index c7c92a7..e3e19f2 100644 --- a/web-app/src/views/GraphView.vue +++ b/web-app/src/views/GraphView.vue @@ -27,7 +27,7 @@ const minStakeAmount = computed(() => { return formatBigIntDivision(minStake.value, 10n ** 18n); }); -const stakeAbleHarbAmount = computed(() => statCollection.harbTotalSupply / 5n); +const stakeAbleHarbAmount = computed(() => statCollection.kraikenTotalSupply / 5n); const minStake = computed(() => stakeAbleHarbAmount.value / 600n); @@ -36,7 +36,7 @@ const statCollection = useStatCollection(); const snatchPositions = computed(() => { if ( bigInt2Number(statCollection.outstandingStake, 18) + stake.stakingAmountNumber <= - bigInt2Number(statCollection.harbTotalSupply, 18) * 0.2 + bigInt2Number(statCollection.kraikenTotalSupply, 18) * 0.2 ) { return []; } @@ -44,7 +44,7 @@ const snatchPositions = computed(() => { const difference = bigInt2Number(statCollection.outstandingStake, 18) + stake.stakingAmountNumber - - bigInt2Number(statCollection.harbTotalSupply, 18) * 0.2; + bigInt2Number(statCollection.kraikenTotalSupply, 18) * 0.2; console.log("difference", difference); //Division ohne Rest, um zu schauen wie viele Positionen gesnatched werden könnten