From 7ee732d38ad90c31ba562f37bc5a21876ef1b667 Mon Sep 17 00:00:00 2001 From: nsjames Date: Thu, 27 Nov 2025 09:22:10 -0500 Subject: [PATCH 1/8] optimized tokenapi quickstart --- nginx.conf | 1 + website/bun.lock | 2946 +++++++++++++++++ website/src/components/CodeTabs.tsx | 38 + website/src/layout/Layout.tsx | 3 + website/src/pages/ar/token-api/_meta.js | 6 +- .../src/pages/ar/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../ar/token-api/guides/_meta-titles.json | 4 + .../src/pages/ar/token-api/guides/_meta.js | 4 + website/src/pages/ar/token-api/guides/gpt.mdx | 121 + .../token-api/{ => guides}/upgrade-to-v1.mdx | 122 +- .../pages/ar/token-api/svm-tokens/_meta.js | 2 +- website/src/pages/cs/token-api/_meta.js | 6 +- .../src/pages/cs/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../cs/token-api/guides/_meta-titles.json | 4 + .../src/pages/cs/token-api/guides/_meta.js | 4 + website/src/pages/cs/token-api/guides/gpt.mdx | 121 + .../token-api/{ => guides}/upgrade-to-v1.mdx | 122 +- .../pages/cs/token-api/svm-tokens/_meta.js | 2 +- website/src/pages/de/token-api/_meta.js | 6 +- .../src/pages/de/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../de/token-api/guides/_meta-titles.json | 4 + .../src/pages/de/token-api/guides/_meta.js | 4 + website/src/pages/de/token-api/guides/gpt.mdx | 121 + .../token-api/{ => guides}/upgrade-to-v1.mdx | 122 +- .../pages/de/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/en/token-api/_meta-titles.json | 3 +- website/src/pages/en/token-api/_meta.js | 6 +- .../src/pages/en/token-api/endpoints/_meta.js | 4 + .../pricing.mdx} | 1 + .../pages/en/token-api/endpoints/support.mdx | 24 + .../src/pages/en/token-api/quick-start.mdx | 199 +- .../pages/en/token-api/svm-tokens/_meta.js | 2 +- website/src/pages/es/token-api/_meta.js | 6 +- .../src/pages/es/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../es/token-api/guides/_meta-titles.json | 4 + .../src/pages/es/token-api/guides/_meta.js | 4 + website/src/pages/es/token-api/guides/gpt.mdx | 121 + .../token-api/{ => guides}/upgrade-to-v1.mdx | 122 +- .../pages/es/token-api/svm-tokens/_meta.js | 2 +- website/src/pages/fr/token-api/_meta.js | 6 +- .../src/pages/fr/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../fr/token-api/guides/_meta-titles.json | 4 + .../src/pages/fr/token-api/guides/_meta.js | 4 + website/src/pages/fr/token-api/guides/gpt.mdx | 121 + .../fr/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/fr/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/fr/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/hi/token-api/_meta.js | 6 +- .../src/pages/hi/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../hi/token-api/guides/_meta-titles.json | 4 + .../src/pages/hi/token-api/guides/_meta.js | 4 + website/src/pages/hi/token-api/guides/gpt.mdx | 121 + .../hi/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/hi/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/hi/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/it/token-api/_meta.js | 6 +- .../src/pages/it/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../it/token-api/guides/_meta-titles.json | 4 + .../src/pages/it/token-api/guides/_meta.js | 4 + website/src/pages/it/token-api/guides/gpt.mdx | 121 + .../it/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/it/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/it/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/ja/token-api/_meta.js | 6 +- .../src/pages/ja/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../ja/token-api/guides/_meta-titles.json | 4 + .../src/pages/ja/token-api/guides/_meta.js | 4 + website/src/pages/ja/token-api/guides/gpt.mdx | 121 + .../ja/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/ja/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/ja/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/ko/token-api/_meta.js | 6 +- .../src/pages/ko/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../ko/token-api/guides/_meta-titles.json | 4 + .../src/pages/ko/token-api/guides/_meta.js | 4 + website/src/pages/ko/token-api/guides/gpt.mdx | 121 + .../ko/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/ko/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/ko/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/mr/token-api/_meta.js | 6 +- .../src/pages/mr/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../mr/token-api/guides/_meta-titles.json | 4 + .../src/pages/mr/token-api/guides/_meta.js | 4 + website/src/pages/mr/token-api/guides/gpt.mdx | 121 + .../mr/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/mr/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/mr/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/nl/token-api/_meta.js | 6 +- .../src/pages/nl/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../nl/token-api/guides/_meta-titles.json | 4 + .../src/pages/nl/token-api/guides/_meta.js | 4 + website/src/pages/nl/token-api/guides/gpt.mdx | 121 + .../nl/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/nl/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/nl/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/pl/token-api/_meta.js | 6 +- .../src/pages/pl/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../pl/token-api/guides/_meta-titles.json | 4 + .../src/pages/pl/token-api/guides/_meta.js | 4 + website/src/pages/pl/token-api/guides/gpt.mdx | 121 + .../pl/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/pl/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/pl/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/pt/token-api/_meta.js | 6 +- .../src/pages/pt/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../pt/token-api/guides/_meta-titles.json | 4 + .../src/pages/pt/token-api/guides/_meta.js | 4 + website/src/pages/pt/token-api/guides/gpt.mdx | 121 + .../pt/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/pt/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/pt/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/ro/token-api/_meta.js | 6 +- .../src/pages/ro/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../ro/token-api/guides/_meta-titles.json | 4 + .../src/pages/ro/token-api/guides/_meta.js | 4 + website/src/pages/ro/token-api/guides/gpt.mdx | 121 + .../ro/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/ro/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/ro/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/ru/token-api/_meta.js | 6 +- .../src/pages/ru/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../ru/token-api/guides/_meta-titles.json | 4 + .../src/pages/ru/token-api/guides/_meta.js | 4 + website/src/pages/ru/token-api/guides/gpt.mdx | 121 + .../ru/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/ru/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/ru/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/sv/token-api/_meta.js | 6 +- .../src/pages/sv/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../sv/token-api/guides/_meta-titles.json | 4 + .../src/pages/sv/token-api/guides/_meta.js | 4 + website/src/pages/sv/token-api/guides/gpt.mdx | 121 + .../sv/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/sv/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/sv/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/tr/token-api/_meta.js | 6 +- .../src/pages/tr/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../tr/token-api/guides/_meta-titles.json | 4 + .../src/pages/tr/token-api/guides/_meta.js | 4 + website/src/pages/tr/token-api/guides/gpt.mdx | 121 + .../tr/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/tr/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/tr/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/uk/token-api/_meta.js | 6 +- .../src/pages/uk/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../uk/token-api/guides/_meta-titles.json | 4 + .../src/pages/uk/token-api/guides/_meta.js | 4 + website/src/pages/uk/token-api/guides/gpt.mdx | 121 + .../uk/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/uk/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/uk/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/ur/token-api/_meta.js | 6 +- .../src/pages/ur/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../ur/token-api/guides/_meta-titles.json | 4 + .../src/pages/ur/token-api/guides/_meta.js | 4 + website/src/pages/ur/token-api/guides/gpt.mdx | 121 + .../ur/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/ur/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/ur/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/vi/token-api/_meta.js | 6 +- .../src/pages/vi/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../vi/token-api/guides/_meta-titles.json | 4 + .../src/pages/vi/token-api/guides/_meta.js | 4 + website/src/pages/vi/token-api/guides/gpt.mdx | 121 + .../vi/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/vi/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/vi/token-api/upgrade-to-v1.mdx | 254 -- website/src/pages/zh/token-api/_meta.js | 6 +- .../src/pages/zh/token-api/endpoints/_meta.js | 4 + .../{ => endpoints}/endpoint-pricing.mdx | 0 .../token-api/endpoints/endpoint-support.msx | 0 .../zh/token-api/guides/_meta-titles.json | 4 + .../src/pages/zh/token-api/guides/_meta.js | 4 + website/src/pages/zh/token-api/guides/gpt.mdx | 121 + .../zh/token-api/guides/upgrade-to-v1.mdx | 346 ++ .../pages/zh/token-api/svm-tokens/_meta.js | 2 +- .../src/pages/zh/token-api/upgrade-to-v1.mdx | 254 -- 217 files changed, 12315 insertions(+), 4561 deletions(-) create mode 100644 website/bun.lock create mode 100644 website/src/components/CodeTabs.tsx create mode 100644 website/src/pages/ar/token-api/endpoints/_meta.js rename website/src/pages/ar/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/ar/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ar/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/ar/token-api/guides/_meta.js create mode 100644 website/src/pages/ar/token-api/guides/gpt.mdx rename website/src/pages/ar/token-api/{ => guides}/upgrade-to-v1.mdx (74%) create mode 100644 website/src/pages/cs/token-api/endpoints/_meta.js rename website/src/pages/cs/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/cs/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/cs/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/cs/token-api/guides/_meta.js create mode 100644 website/src/pages/cs/token-api/guides/gpt.mdx rename website/src/pages/cs/token-api/{ => guides}/upgrade-to-v1.mdx (74%) create mode 100644 website/src/pages/de/token-api/endpoints/_meta.js rename website/src/pages/de/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/de/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/de/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/de/token-api/guides/_meta.js create mode 100644 website/src/pages/de/token-api/guides/gpt.mdx rename website/src/pages/de/token-api/{ => guides}/upgrade-to-v1.mdx (74%) create mode 100644 website/src/pages/en/token-api/endpoints/_meta.js rename website/src/pages/en/token-api/{endpoint-pricing.mdx => endpoints/pricing.mdx} (99%) create mode 100644 website/src/pages/en/token-api/endpoints/support.mdx create mode 100644 website/src/pages/es/token-api/endpoints/_meta.js rename website/src/pages/es/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/es/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/es/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/es/token-api/guides/_meta.js create mode 100644 website/src/pages/es/token-api/guides/gpt.mdx rename website/src/pages/es/token-api/{ => guides}/upgrade-to-v1.mdx (74%) create mode 100644 website/src/pages/fr/token-api/endpoints/_meta.js rename website/src/pages/fr/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/fr/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/fr/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/fr/token-api/guides/_meta.js create mode 100644 website/src/pages/fr/token-api/guides/gpt.mdx create mode 100644 website/src/pages/fr/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/fr/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/hi/token-api/endpoints/_meta.js rename website/src/pages/hi/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/hi/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/hi/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/hi/token-api/guides/_meta.js create mode 100644 website/src/pages/hi/token-api/guides/gpt.mdx create mode 100644 website/src/pages/hi/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/hi/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/it/token-api/endpoints/_meta.js rename website/src/pages/it/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/it/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/it/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/it/token-api/guides/_meta.js create mode 100644 website/src/pages/it/token-api/guides/gpt.mdx create mode 100644 website/src/pages/it/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/it/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/ja/token-api/endpoints/_meta.js rename website/src/pages/ja/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/ja/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ja/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/ja/token-api/guides/_meta.js create mode 100644 website/src/pages/ja/token-api/guides/gpt.mdx create mode 100644 website/src/pages/ja/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/ja/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/ko/token-api/endpoints/_meta.js rename website/src/pages/ko/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/ko/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ko/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/ko/token-api/guides/_meta.js create mode 100644 website/src/pages/ko/token-api/guides/gpt.mdx create mode 100644 website/src/pages/ko/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/ko/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/mr/token-api/endpoints/_meta.js rename website/src/pages/mr/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/mr/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/mr/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/mr/token-api/guides/_meta.js create mode 100644 website/src/pages/mr/token-api/guides/gpt.mdx create mode 100644 website/src/pages/mr/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/mr/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/nl/token-api/endpoints/_meta.js rename website/src/pages/nl/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/nl/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/nl/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/nl/token-api/guides/_meta.js create mode 100644 website/src/pages/nl/token-api/guides/gpt.mdx create mode 100644 website/src/pages/nl/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/nl/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/pl/token-api/endpoints/_meta.js rename website/src/pages/pl/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/pl/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/pl/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/pl/token-api/guides/_meta.js create mode 100644 website/src/pages/pl/token-api/guides/gpt.mdx create mode 100644 website/src/pages/pl/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/pl/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/pt/token-api/endpoints/_meta.js rename website/src/pages/pt/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/pt/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/pt/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/pt/token-api/guides/_meta.js create mode 100644 website/src/pages/pt/token-api/guides/gpt.mdx create mode 100644 website/src/pages/pt/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/pt/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/ro/token-api/endpoints/_meta.js rename website/src/pages/ro/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/ro/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ro/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/ro/token-api/guides/_meta.js create mode 100644 website/src/pages/ro/token-api/guides/gpt.mdx create mode 100644 website/src/pages/ro/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/ro/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/ru/token-api/endpoints/_meta.js rename website/src/pages/ru/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/ru/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ru/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/ru/token-api/guides/_meta.js create mode 100644 website/src/pages/ru/token-api/guides/gpt.mdx create mode 100644 website/src/pages/ru/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/ru/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/sv/token-api/endpoints/_meta.js rename website/src/pages/sv/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/sv/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/sv/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/sv/token-api/guides/_meta.js create mode 100644 website/src/pages/sv/token-api/guides/gpt.mdx create mode 100644 website/src/pages/sv/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/sv/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/tr/token-api/endpoints/_meta.js rename website/src/pages/tr/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/tr/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/tr/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/tr/token-api/guides/_meta.js create mode 100644 website/src/pages/tr/token-api/guides/gpt.mdx create mode 100644 website/src/pages/tr/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/tr/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/uk/token-api/endpoints/_meta.js rename website/src/pages/uk/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/uk/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/uk/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/uk/token-api/guides/_meta.js create mode 100644 website/src/pages/uk/token-api/guides/gpt.mdx create mode 100644 website/src/pages/uk/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/uk/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/ur/token-api/endpoints/_meta.js rename website/src/pages/ur/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/ur/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ur/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/ur/token-api/guides/_meta.js create mode 100644 website/src/pages/ur/token-api/guides/gpt.mdx create mode 100644 website/src/pages/ur/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/ur/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/vi/token-api/endpoints/_meta.js rename website/src/pages/vi/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/vi/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/vi/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/vi/token-api/guides/_meta.js create mode 100644 website/src/pages/vi/token-api/guides/gpt.mdx create mode 100644 website/src/pages/vi/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/vi/token-api/upgrade-to-v1.mdx create mode 100644 website/src/pages/zh/token-api/endpoints/_meta.js rename website/src/pages/zh/token-api/{ => endpoints}/endpoint-pricing.mdx (100%) create mode 100644 website/src/pages/zh/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/zh/token-api/guides/_meta-titles.json create mode 100644 website/src/pages/zh/token-api/guides/_meta.js create mode 100644 website/src/pages/zh/token-api/guides/gpt.mdx create mode 100644 website/src/pages/zh/token-api/guides/upgrade-to-v1.mdx delete mode 100644 website/src/pages/zh/token-api/upgrade-to-v1.mdx diff --git a/nginx.conf b/nginx.conf index 577930b78772..dcd96f3bc584 100644 --- a/nginx.conf +++ b/nginx.conf @@ -169,6 +169,7 @@ http { rewrite ^/docs/([a-zA-Z][a-zA-Z])/token-api/mcp/cline/$ $scheme://$http_host/docs/$1/ai-suite/token-api-mcp/ permanent; rewrite ^/docs/([a-zA-Z][a-zA-Z])/token-api/mcp/cline/$ $scheme://$http_host/docs/$1/ai-suite/token-api-mcp/ permanent; rewrite ^/docs/([a-zA-Z][a-zA-Z])/token-api/mcp/cline/$ $scheme://$http_host/docs/$1/ai-suite/token-api-mcp/ permanent; + rewrite ^/docs/([a-zA-Z][a-zA-Z])/token-api/endpoint-pricing/$ $scheme://$http_host/docs/$1/token-api/endpoints/pricing/ permanent; # Temporary redirects (302) rewrite ^/docs/en/querying/graph-client/$ $scheme://$http_host/docs/en/subgraphs/querying/graph-client/README/ redirect; rewrite ^/docs/en/developing/graph-ts/$ $scheme://$http_host/docs/en/subgraphs/developing/creating/graph-ts/README/ redirect; diff --git a/website/bun.lock b/website/bun.lock new file mode 100644 index 000000000000..9a3bf41821e2 --- /dev/null +++ b/website/bun.lock @@ -0,0 +1,2946 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "name": "@graphprotocol/docs", + "dependencies": { + "@docsearch/react": "^3.9.0", + "@edgeandnode/common": "^7.0.4", + "@edgeandnode/gds": "^6.7.8", + "@edgeandnode/go": "^10.3.12", + "@emotion/react": "^11.14.0", + "@graphprotocol/contracts": "^7.3.0", + "@pinax/graph-networks-registry": "^0.7.1", + "@react-hookz/web": "^25.2.0", + "@readme/httpsnippet": "^11.0.0", + "@readme/openapi-parser": "^4.1.2", + "fetch-har": "^11.1.1", + "hast": "^1.0.0", + "hast-util-whitespace": "^3.0.0", + "lodash": "^4.17.21", + "mdast-util-mdx-jsx": "^3.2.0", + "mdast-util-to-hast": "^13.2.0", + "mixpanel-browser": "^2.72.0", + "motion": "^12.23.24", + "next": "^14.2.33", + "next-seo": "^6.8.0", + "next-sitemap": "^4.2.3", + "nextra": "^3.3.1", + "openapi-types": "^12.1.3", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-ga4": "^2.1.0", + "react-intersection-observer": "^9.16.0", + "react-markdown": "^10.1.0", + "rehype-mdx-code-props": "^3.0.1", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.1", + "theme-ui": "^0.17.2", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.3", + "zod": "^3.25.76", + }, + "devDependencies": { + "@types/hast": "^3.0.4", + "@types/lodash": "^4.17.20", + "@types/mdast": "^4.0.4", + "@types/mixpanel-browser": "^2.66.0", + "@types/node": "^22.19.1", + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.7", + "@types/vfile": "^4.0.0", + "autoprefixer": "^10.4.22", + "fast-xml-parser": "^5.3.2", + "postcss": "^8.5.6", + "tailwindcss": "^3.4.18", + "tsup": "^8.5.1", + "tsx": "4.20.4", + }, + }, + }, + "packages": { + "@adraffy/ens-normalize": ["@adraffy/ens-normalize@1.10.1", "", {}, "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw=="], + + "@algolia/abtesting": ["@algolia/abtesting@1.11.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-a7oQ8dwiyoyVmzLY0FcuBqyqcNSq78qlcOtHmNBumRlHCSnXDcuoYGBGPN1F6n8JoGhviDDsIaF/oQrzTzs6Lg=="], + + "@algolia/autocomplete-core": ["@algolia/autocomplete-core@1.17.9", "", { "dependencies": { "@algolia/autocomplete-plugin-algolia-insights": "1.17.9", "@algolia/autocomplete-shared": "1.17.9" } }, "sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ=="], + + "@algolia/autocomplete-plugin-algolia-insights": ["@algolia/autocomplete-plugin-algolia-insights@1.17.9", "", { "dependencies": { "@algolia/autocomplete-shared": "1.17.9" }, "peerDependencies": { "search-insights": ">= 1 < 3" } }, "sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ=="], + + "@algolia/autocomplete-preset-algolia": ["@algolia/autocomplete-preset-algolia@1.17.9", "", { "dependencies": { "@algolia/autocomplete-shared": "1.17.9" }, "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" } }, "sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ=="], + + "@algolia/autocomplete-shared": ["@algolia/autocomplete-shared@1.17.9", "", { "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" } }, "sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ=="], + + "@algolia/client-abtesting": ["@algolia/client-abtesting@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-WTW0VZA8xHMbzuQD5b3f41ovKZ0MNTIXkWfm0F2PU+XGcLxmxX15UqODzF2sWab0vSbi3URM1xLhJx+bXbd1eQ=="], + + "@algolia/client-analytics": ["@algolia/client-analytics@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-I3g7VtvG/QJOH3tQO7E7zWTwBfK/nIQXShFLR8RvPgWburZ626JNj332M3wHCYcaAMivN9WJG66S2JNXhm6+Xg=="], + + "@algolia/client-common": ["@algolia/client-common@5.45.0", "", {}, "sha512-/nTqm1tLiPtbUr+8kHKyFiCOfhRfgC+JxLvOCq471gFZZOlsh6VtFRiKI60/zGmHTojFC6B0mD80PB7KeK94og=="], + + "@algolia/client-insights": ["@algolia/client-insights@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-suQTx/1bRL1g/K2hRtbK3ANmbzaZCi13487sxxmqok+alBDKKw0/TI73ZiHjjFXM2NV52inwwcmW4fUR45206Q=="], + + "@algolia/client-personalization": ["@algolia/client-personalization@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-CId/dbjpzI3eoUhPU6rt/z4GrRsDesqFISEMOwrqWNSrf4FJhiUIzN42Ac+Gzg69uC0RnzRYy60K1y4Na5VSMw=="], + + "@algolia/client-query-suggestions": ["@algolia/client-query-suggestions@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-tjbBKfA8fjAiFtvl9g/MpIPiD6pf3fj7rirVfh1eMIUi8ybHP4ovDzIaE216vHuRXoePQVCkMd2CokKvYq1CLw=="], + + "@algolia/client-search": ["@algolia/client-search@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-nxuCid+Nszs4xqwIMDw11pRJPes2c+Th1yup/+LtpjFH8QWXkr3SirNYSD3OXAeM060HgWWPLA8/Fxk+vwxQOA=="], + + "@algolia/ingestion": ["@algolia/ingestion@1.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-t+1doBzhkQTeOOjLHMlm4slmXBhvgtEGQhOmNpMPTnIgWOyZyESWdm+XD984qM4Ej1i9FRh8VttOGrdGnAjAng=="], + + "@algolia/monitoring": ["@algolia/monitoring@1.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-IaX3ZX1A/0wlgWZue+1BNWlq5xtJgsRo7uUk/aSiYD7lPbJ7dFuZ+yTLFLKgbl4O0QcyHTj1/mSBj9ryF1Lizg=="], + + "@algolia/recommend": ["@algolia/recommend@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-1jeMLoOhkgezCCPsOqkScwYzAAc1Jr5T2hisZl0s32D94ZV7d1OHozBukgOjf8Dw+6Hgi6j52jlAdUWTtkX9Mg=="], + + "@algolia/requester-browser-xhr": ["@algolia/requester-browser-xhr@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0" } }, "sha512-46FIoUkQ9N7wq4/YkHS5/W9Yjm4Ab+q5kfbahdyMpkBPJ7IBlwuNEGnWUZIQ6JfUZuJVojRujPRHMihX4awUMg=="], + + "@algolia/requester-fetch": ["@algolia/requester-fetch@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0" } }, "sha512-XFTSAtCwy4HdBhSReN2rhSyH/nZOM3q3qe5ERG2FLbYId62heIlJBGVyAPRbltRwNlotlydbvSJ+SQ0ruWC2cw=="], + + "@algolia/requester-node-http": ["@algolia/requester-node-http@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0" } }, "sha512-8mTg6lHx5i44raCU52APsu0EqMsdm4+7Hch/e4ZsYZw0hzwkuaMFh826ngnkYf9XOl58nHoou63aZ874m8AbpQ=="], + + "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], + + "@antfu/install-pkg": ["@antfu/install-pkg@1.1.0", "", { "dependencies": { "package-manager-detector": "^1.3.0", "tinyexec": "^1.0.1" } }, "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ=="], + + "@antfu/utils": ["@antfu/utils@9.3.0", "", {}, "sha512-9hFT4RauhcUzqOE4f1+frMKLZrgNog5b06I7VmZQV1BkvwvqrbC8EBZf3L1eEL2AKb6rNKjER0sEvJiSP1FXEA=="], + + "@apidevtools/json-schema-ref-parser": ["@apidevtools/json-schema-ref-parser@13.0.5", "", { "dependencies": { "@types/json-schema": "^7.0.15", "js-yaml": "^4.1.0" } }, "sha512-xfh4xVJD62gG6spIc7lwxoWT+l16nZu1ELyU8FkjaP/oD2yP09EvLAU6KhtudN9aML2Khhs9pY6Slr7KGTES3w=="], + + "@asamuzakjp/css-color": ["@asamuzakjp/css-color@3.2.0", "", { "dependencies": { "@csstools/css-calc": "^2.1.3", "@csstools/css-color-parser": "^3.0.9", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "lru-cache": "^10.4.3" } }, "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw=="], + + "@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], + + "@babel/generator": ["@babel/generator@7.28.5", "", { "dependencies": { "@babel/parser": "^7.28.5", "@babel/types": "^7.28.5", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ=="], + + "@babel/helper-globals": ["@babel/helper-globals@7.28.0", "", {}, "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw=="], + + "@babel/helper-module-imports": ["@babel/helper-module-imports@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w=="], + + "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], + + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.28.5", "", {}, "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="], + + "@babel/parser": ["@babel/parser@7.28.5", "", { "dependencies": { "@babel/types": "^7.28.5" }, "bin": "./bin/babel-parser.js" }, "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ=="], + + "@babel/runtime": ["@babel/runtime@7.28.4", "", {}, "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ=="], + + "@babel/template": ["@babel/template@7.27.2", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/parser": "^7.27.2", "@babel/types": "^7.27.1" } }, "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw=="], + + "@babel/traverse": ["@babel/traverse@7.28.5", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.5", "@babel/template": "^7.27.2", "@babel/types": "^7.28.5", "debug": "^4.3.1" } }, "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ=="], + + "@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="], + + "@base-ui-components/react": ["@base-ui-components/react@1.0.0-alpha.7", "", { "dependencies": { "@babel/runtime": "^7.26.10", "@floating-ui/react": "^0.27.5", "@floating-ui/utils": "^0.2.9", "@react-aria/overlays": "^3.26.1", "prop-types": "^15.8.1", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "@types/react": "^17 || ^18 || ^19", "react": "^17 || ^18 || ^19", "react-dom": "^17 || ^18 || ^19" }, "optionalPeers": ["@types/react"] }, "sha512-M4MxUvwAfERYSMqrUmTSf4J5yHXXGHqXw5wE7WLz8eCIhFmVWog4j5hYRU6QZ0VhqlyVPhs9KqSnts+FFyPmew=="], + + "@braintree/sanitize-url": ["@braintree/sanitize-url@7.1.1", "", {}, "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw=="], + + "@bramus/style-observer": ["@bramus/style-observer@2.0.2", "", {}, "sha512-oRKamZ9Z637pAZgNGJIbNGiFoYQSeA47PpU4K8hXZq9lQcPu35BCqMG9d9J/ab2CB/0XlXq6ToMnVhHF8mLNqg=="], + + "@chevrotain/cst-dts-gen": ["@chevrotain/cst-dts-gen@11.0.3", "", { "dependencies": { "@chevrotain/gast": "11.0.3", "@chevrotain/types": "11.0.3", "lodash-es": "4.17.21" } }, "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ=="], + + "@chevrotain/gast": ["@chevrotain/gast@11.0.3", "", { "dependencies": { "@chevrotain/types": "11.0.3", "lodash-es": "4.17.21" } }, "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q=="], + + "@chevrotain/regexp-to-ast": ["@chevrotain/regexp-to-ast@11.0.3", "", {}, "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA=="], + + "@chevrotain/types": ["@chevrotain/types@11.0.3", "", {}, "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ=="], + + "@chevrotain/utils": ["@chevrotain/utils@11.0.3", "", {}, "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ=="], + + "@corex/deepmerge": ["@corex/deepmerge@4.0.43", "", {}, "sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ=="], + + "@csstools/color-helpers": ["@csstools/color-helpers@5.1.0", "", {}, "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA=="], + + "@csstools/css-calc": ["@csstools/css-calc@2.1.4", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ=="], + + "@csstools/css-color-parser": ["@csstools/css-color-parser@3.1.0", "", { "dependencies": { "@csstools/color-helpers": "^5.1.0", "@csstools/css-calc": "^2.1.4" }, "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA=="], + + "@csstools/css-parser-algorithms": ["@csstools/css-parser-algorithms@3.0.5", "", { "peerDependencies": { "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ=="], + + "@csstools/css-tokenizer": ["@csstools/css-tokenizer@3.0.4", "", {}, "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw=="], + + "@docsearch/css": ["@docsearch/css@3.9.0", "", {}, "sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA=="], + + "@docsearch/react": ["@docsearch/react@3.9.0", "", { "dependencies": { "@algolia/autocomplete-core": "1.17.9", "@algolia/autocomplete-preset-algolia": "1.17.9", "@docsearch/css": "3.9.0", "algoliasearch": "^5.14.2" }, "peerDependencies": { "@types/react": ">= 16.8.0 < 20.0.0", "react": ">= 16.8.0 < 20.0.0", "react-dom": ">= 16.8.0 < 20.0.0", "search-insights": ">= 1 < 3" }, "optionalPeers": ["@types/react", "react", "react-dom", "search-insights"] }, "sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ=="], + + "@edgeandnode/common": ["@edgeandnode/common@7.0.4", "", { "dependencies": { "@ethersproject/providers": "^5.8.0", "@pinax/graph-networks-registry": "^0.6.7", "@uniswap/sdk-core": "^7.7.2", "@uniswap/v3-core": "^1.0.1", "@uniswap/v3-sdk": "^3.25.2", "dataloader": "^2.2.3", "dayjs": "^1.11.13", "decimal.js": "^10.5.0", "ethers": "^5.8.0", "graphql": "^16.10.0", "graphql-tag": "^2.12.6", "numeral": "^2.0.6", "pluralize": "^8.0.0" } }, "sha512-R5i6tPnmUY00nbaWKvrLlfToFciJSm7Kk5boql16f+NzZnvsk6+SxFWi7b/hmQfEbaXm74isD/yfVcLPX6h+Aw=="], + + "@edgeandnode/ens": ["@edgeandnode/ens@2.3.1", "", { "dependencies": { "@ensdomains/ensjs": "^4.0.2", "graphql": "^16.11.0", "graphql-request": "^7.2.0", "zod": "^4.1.11" }, "peerDependencies": { "viem": "^2.37" } }, "sha512-NGwFZ+Imnea8ao7m4vHywZDbcqGXzij8+PCPS5t9t1elWfykkDf6lUP8xopcYkJkYjD9hgUydmlZ0BYH6nrKTQ=="], + + "@edgeandnode/gds": ["@edgeandnode/gds@6.7.8", "", { "dependencies": { "@base-ui-components/react": "1.0.0-alpha.7", "@bramus/style-observer": "^2.0.2", "@edgeandnode/common": "^7.0.4", "@figma/code-connect": "^1.3.2", "@floating-ui/react-dom": "^2.1.2", "@headlessui/react": "^2.2.1", "@phosphor-icons/react": "^2.1.7", "@radix-ui/react-accordion": "^1.2.3", "@radix-ui/react-alert-dialog": "^1.1.6", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-direction": "^1.1.0", "@radix-ui/react-dropdown-menu": "^2.1.6", "@radix-ui/react-label": "^2.1.2", "@radix-ui/react-popover": "^1.1.6", "@radix-ui/react-slider": "^1.2.3", "@radix-ui/react-slot": "^1.1.2", "@radix-ui/react-switch": "^1.1.3", "@radix-ui/react-toast": "^1.2.6", "@radix-ui/react-tooltip": "^1.1.8", "@react-aria/utils": "^3.28.1", "@react-hookz/web": "^25.1.0", "@tailwindcss/container-queries": "^0.1.1", "@tanem/react-nprogress": "^5.0.55", "@theme-ui/css": "^0.17.2", "@theme-ui/match-media": "^0.17.2", "@web3icons/react": "^4.0.28", "@xstate/react": "^3.2.2", "color": "^5.0.0", "escape-string-regexp": "^5.0.0", "ethers": "^5.8.0", "lodash": "^4.17.21", "md5": "^2.3.0", "motion": "^12.6.3", "numeral": "^2.0.6", "prism-react-renderer": "^2.4.1", "prismjs": "^1.30.0", "react-aria": "^3.38.1", "react-device-detect": "^2.2.3", "react-dropzone": "^14.3.8", "react-ga4": "^2.1.0", "react-image-crop": "^11.0.7", "react-keyed-flatten-children": "^5.0.0", "react-transition-group": "^4.4.5", "react-virtuoso": "^4.12.6", "recharts": "^2.15.2", "shiki": "^3.2.1", "tailwindcss": "^3.4.17", "typy": "^3.3.0", "universal-cookie": "^7.2.2", "xstate": "^4.38.3" }, "peerDependencies": { "@emotion/react": "^11", "dayjs": "^1.11", "next": ">=13", "react": "^18", "react-dom": "^18", "theme-ui": ">=0.16" }, "optionalPeers": ["next"] }, "sha512-2tqMNFAIT5tW2SMxjWGci9bQcLyvzOSeHs9RL6iSe6keTVHfnQCyefnQ58FjCEOhwv32Ki3dulN2xM6TGR6++A=="], + + "@edgeandnode/go": ["@edgeandnode/go@10.3.12", "", { "dependencies": { "@graphql-typed-document-node/core": "^3.2.0", "@radix-ui/react-collapsible": "^1.1.3", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-navigation-menu": "^1.2.5", "@radix-ui/react-portal": "^1.1.4", "@react-aria/utils": "^3.28.1", "@theme-ui/css": "^0.17.2", "@web3icons/react": "^4.0.28", "escape-string-regexp": "^5.0.0", "motion": "^12.6.3", "tailwindcss": "^3.4.17" }, "peerDependencies": { "@edgeandnode/common": "^7.0.4", "@edgeandnode/ens": "^2.3.1", "@edgeandnode/gds": "^6.7.8", "@emotion/react": "^11", "@tanstack/react-query": "^5", "graphql": ">=16.9", "graphql-request": ">=7", "next": ">=13", "react": "^18", "react-dom": "^18", "theme-ui": ">=0.16" }, "optionalPeers": ["next"] }, "sha512-6B+Fo9TNYxqdrJ/cmsn9arhcxCTyz9rUPaXsw9dxDjJB5KMciIFphj5RH3BGzF27kJEydDHEaqLKQmyUsWEQeg=="], + + "@emotion/babel-plugin": ["@emotion/babel-plugin@11.13.5", "", { "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/runtime": "^7.18.3", "@emotion/hash": "^0.9.2", "@emotion/memoize": "^0.9.0", "@emotion/serialize": "^1.3.3", "babel-plugin-macros": "^3.1.0", "convert-source-map": "^1.5.0", "escape-string-regexp": "^4.0.0", "find-root": "^1.1.0", "source-map": "^0.5.7", "stylis": "4.2.0" } }, "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ=="], + + "@emotion/cache": ["@emotion/cache@11.14.0", "", { "dependencies": { "@emotion/memoize": "^0.9.0", "@emotion/sheet": "^1.4.0", "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "stylis": "4.2.0" } }, "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA=="], + + "@emotion/hash": ["@emotion/hash@0.9.2", "", {}, "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g=="], + + "@emotion/is-prop-valid": ["@emotion/is-prop-valid@0.8.8", "", { "dependencies": { "@emotion/memoize": "0.7.4" } }, "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA=="], + + "@emotion/memoize": ["@emotion/memoize@0.9.0", "", {}, "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ=="], + + "@emotion/react": ["@emotion/react@11.14.0", "", { "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.13.5", "@emotion/cache": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA=="], + + "@emotion/serialize": ["@emotion/serialize@1.3.3", "", { "dependencies": { "@emotion/hash": "^0.9.2", "@emotion/memoize": "^0.9.0", "@emotion/unitless": "^0.10.0", "@emotion/utils": "^1.4.2", "csstype": "^3.0.2" } }, "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA=="], + + "@emotion/sheet": ["@emotion/sheet@1.4.0", "", {}, "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg=="], + + "@emotion/unitless": ["@emotion/unitless@0.10.0", "", {}, "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg=="], + + "@emotion/use-insertion-effect-with-fallbacks": ["@emotion/use-insertion-effect-with-fallbacks@1.2.0", "", { "peerDependencies": { "react": ">=16.8.0" } }, "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg=="], + + "@emotion/utils": ["@emotion/utils@1.4.2", "", {}, "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA=="], + + "@emotion/weak-memoize": ["@emotion/weak-memoize@0.4.0", "", {}, "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg=="], + + "@ensdomains/address-encoder": ["@ensdomains/address-encoder@1.1.3", "", { "dependencies": { "@noble/curves": "^1.2.0", "@noble/hashes": "^1.3.2", "@scure/base": "^1.1.5" } }, "sha512-QS4ax0YkA8tsbQcWgBNmLLtb3aG0jsOQtED9SRyX9Ixflt1jDMuC/0i3ONMnNJNG5HTIko0Te4Y1JIGXjNcnUg=="], + + "@ensdomains/content-hash": ["@ensdomains/content-hash@3.1.0-rc.1", "", { "dependencies": { "@ensdomains/address-encoder": "1.0.0-rc.3", "@noble/curves": "^1.2.0", "@scure/base": "^1.1.5" } }, "sha512-OzdkXgdFmduzcJKU4KRkkJkQHnm5p7m7FkX8k+bHOEoOIzc0ueGT/Jay4nnb60wNk1wSHRmzY+hHBMpFDiGReg=="], + + "@ensdomains/dnsprovejs": ["@ensdomains/dnsprovejs@0.5.2", "", { "dependencies": { "@noble/hashes": "^1.3.2", "dns-packet": "^5.6.1", "typescript-logging": "^1.0.1" } }, "sha512-lSuYnUvUV+kBviQ82XUldtpiE0lA4gWrCilsoCWbTKtc/fH6re9NaTkhbPEy/7OF96MMAG1BDnuoTsfSMAzFBg=="], + + "@ensdomains/ensjs": ["@ensdomains/ensjs@4.2.0", "", { "dependencies": { "@adraffy/ens-normalize": "1.10.1", "@ensdomains/address-encoder": "1.1.3", "@ensdomains/content-hash": "3.1.0-rc.1", "@ensdomains/dnsprovejs": "^0.5.2", "abitype": "^1.0.0", "dns-packet": "^5.3.1", "graphql": "^16.11.0", "graphql-request": "7.1.2", "pako": "^2.1.0", "ts-pattern": "^5.4.0" }, "peerDependencies": { "viem": "^2.9.2" } }, "sha512-6E8LnKCJ45HySx8PSlepL8VfHJg0PgQRmP1xM8Snu9IcOkSpwI1LEiGOUYfEHX/I7yEglGSYMyGgeiqk0LeCcw=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.0", "", { "os": "aix", "cpu": "ppc64" }, "sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.27.0", "", { "os": "android", "cpu": "arm" }, "sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.0", "", { "os": "android", "cpu": "arm64" }, "sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.27.0", "", { "os": "android", "cpu": "x64" }, "sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.0", "", { "os": "linux", "cpu": "arm" }, "sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.0", "", { "os": "linux", "cpu": "ia32" }, "sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.0", "", { "os": "linux", "cpu": "none" }, "sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.0", "", { "os": "linux", "cpu": "none" }, "sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.0", "", { "os": "linux", "cpu": "none" }, "sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.0", "", { "os": "linux", "cpu": "x64" }, "sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.0", "", { "os": "none", "cpu": "arm64" }, "sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.0", "", { "os": "none", "cpu": "x64" }, "sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.0", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.0", "", { "os": "openbsd", "cpu": "x64" }, "sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A=="], + + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.0", "", { "os": "none", "cpu": "arm64" }, "sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.0", "", { "os": "sunos", "cpu": "x64" }, "sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.0", "", { "os": "win32", "cpu": "x64" }, "sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg=="], + + "@ethereumjs/rlp": ["@ethereumjs/rlp@5.0.2", "", { "bin": { "rlp": "bin/rlp.cjs" } }, "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA=="], + + "@ethereumjs/util": ["@ethereumjs/util@9.1.0", "", { "dependencies": { "@ethereumjs/rlp": "^5.0.2", "ethereum-cryptography": "^2.2.1" } }, "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog=="], + + "@ethersproject/abi": ["@ethersproject/abi@5.8.0", "", { "dependencies": { "@ethersproject/address": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/hash": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/strings": "^5.8.0" } }, "sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q=="], + + "@ethersproject/abstract-provider": ["@ethersproject/abstract-provider@5.8.0", "", { "dependencies": { "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/networks": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/transactions": "^5.8.0", "@ethersproject/web": "^5.8.0" } }, "sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg=="], + + "@ethersproject/abstract-signer": ["@ethersproject/abstract-signer@5.8.0", "", { "dependencies": { "@ethersproject/abstract-provider": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0" } }, "sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA=="], + + "@ethersproject/address": ["@ethersproject/address@5.8.0", "", { "dependencies": { "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/rlp": "^5.8.0" } }, "sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA=="], + + "@ethersproject/base64": ["@ethersproject/base64@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0" } }, "sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ=="], + + "@ethersproject/basex": ["@ethersproject/basex@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/properties": "^5.8.0" } }, "sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q=="], + + "@ethersproject/bignumber": ["@ethersproject/bignumber@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "bn.js": "^5.2.1" } }, "sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA=="], + + "@ethersproject/bytes": ["@ethersproject/bytes@5.8.0", "", { "dependencies": { "@ethersproject/logger": "^5.8.0" } }, "sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A=="], + + "@ethersproject/constants": ["@ethersproject/constants@5.8.0", "", { "dependencies": { "@ethersproject/bignumber": "^5.8.0" } }, "sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg=="], + + "@ethersproject/contracts": ["@ethersproject/contracts@5.8.0", "", { "dependencies": { "@ethersproject/abi": "^5.8.0", "@ethersproject/abstract-provider": "^5.8.0", "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/address": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/transactions": "^5.8.0" } }, "sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ=="], + + "@ethersproject/hash": ["@ethersproject/hash@5.8.0", "", { "dependencies": { "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/address": "^5.8.0", "@ethersproject/base64": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/strings": "^5.8.0" } }, "sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA=="], + + "@ethersproject/hdnode": ["@ethersproject/hdnode@5.8.0", "", { "dependencies": { "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/basex": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/pbkdf2": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/sha2": "^5.8.0", "@ethersproject/signing-key": "^5.8.0", "@ethersproject/strings": "^5.8.0", "@ethersproject/transactions": "^5.8.0", "@ethersproject/wordlists": "^5.8.0" } }, "sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA=="], + + "@ethersproject/json-wallets": ["@ethersproject/json-wallets@5.8.0", "", { "dependencies": { "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/address": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/hdnode": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/pbkdf2": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/random": "^5.8.0", "@ethersproject/strings": "^5.8.0", "@ethersproject/transactions": "^5.8.0", "aes-js": "3.0.0", "scrypt-js": "3.0.1" } }, "sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w=="], + + "@ethersproject/keccak256": ["@ethersproject/keccak256@5.7.0", "", { "dependencies": { "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" } }, "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg=="], + + "@ethersproject/logger": ["@ethersproject/logger@5.8.0", "", {}, "sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA=="], + + "@ethersproject/networks": ["@ethersproject/networks@5.8.0", "", { "dependencies": { "@ethersproject/logger": "^5.8.0" } }, "sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg=="], + + "@ethersproject/pbkdf2": ["@ethersproject/pbkdf2@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/sha2": "^5.8.0" } }, "sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg=="], + + "@ethersproject/properties": ["@ethersproject/properties@5.8.0", "", { "dependencies": { "@ethersproject/logger": "^5.8.0" } }, "sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw=="], + + "@ethersproject/providers": ["@ethersproject/providers@5.8.0", "", { "dependencies": { "@ethersproject/abstract-provider": "^5.8.0", "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/address": "^5.8.0", "@ethersproject/base64": "^5.8.0", "@ethersproject/basex": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/hash": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/networks": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/random": "^5.8.0", "@ethersproject/rlp": "^5.8.0", "@ethersproject/sha2": "^5.8.0", "@ethersproject/strings": "^5.8.0", "@ethersproject/transactions": "^5.8.0", "@ethersproject/web": "^5.8.0", "bech32": "1.1.4", "ws": "8.18.0" } }, "sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw=="], + + "@ethersproject/random": ["@ethersproject/random@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0" } }, "sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A=="], + + "@ethersproject/rlp": ["@ethersproject/rlp@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0" } }, "sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q=="], + + "@ethersproject/sha2": ["@ethersproject/sha2@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "hash.js": "1.1.7" } }, "sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A=="], + + "@ethersproject/signing-key": ["@ethersproject/signing-key@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "bn.js": "^5.2.1", "elliptic": "6.6.1", "hash.js": "1.1.7" } }, "sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w=="], + + "@ethersproject/solidity": ["@ethersproject/solidity@5.8.0", "", { "dependencies": { "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/sha2": "^5.8.0", "@ethersproject/strings": "^5.8.0" } }, "sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA=="], + + "@ethersproject/strings": ["@ethersproject/strings@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/logger": "^5.8.0" } }, "sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg=="], + + "@ethersproject/transactions": ["@ethersproject/transactions@5.8.0", "", { "dependencies": { "@ethersproject/address": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/rlp": "^5.8.0", "@ethersproject/signing-key": "^5.8.0" } }, "sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg=="], + + "@ethersproject/units": ["@ethersproject/units@5.8.0", "", { "dependencies": { "@ethersproject/bignumber": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/logger": "^5.8.0" } }, "sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ=="], + + "@ethersproject/wallet": ["@ethersproject/wallet@5.8.0", "", { "dependencies": { "@ethersproject/abstract-provider": "^5.8.0", "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/address": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/hash": "^5.8.0", "@ethersproject/hdnode": "^5.8.0", "@ethersproject/json-wallets": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/random": "^5.8.0", "@ethersproject/signing-key": "^5.8.0", "@ethersproject/transactions": "^5.8.0", "@ethersproject/wordlists": "^5.8.0" } }, "sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA=="], + + "@ethersproject/web": ["@ethersproject/web@5.8.0", "", { "dependencies": { "@ethersproject/base64": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/strings": "^5.8.0" } }, "sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw=="], + + "@ethersproject/wordlists": ["@ethersproject/wordlists@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/hash": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/strings": "^5.8.0" } }, "sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg=="], + + "@fastify/busboy": ["@fastify/busboy@2.1.1", "", {}, "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA=="], + + "@figma/code-connect": ["@figma/code-connect@1.3.11", "", { "dependencies": { "boxen": "5.1.1", "chalk": "^4.1.2", "commander": "^11.1.0", "compare-versions": "^6.1.0", "cross-spawn": "^7.0.3", "dotenv": "^16.3.1", "fast-fuzzy": "^1.12.0", "find-up": "^5.0.0", "glob": "^11.0.4", "jsdom": "^24.1.1", "lodash": "4.17.21", "minimatch": "^9.0.3", "ora": "^5.4.1", "parse5": "^7.1.2", "prettier": "^2.8.8", "prompts": "^2.4.2", "strip-ansi": "^6.0.0", "ts-morph": "^27.0.0", "typescript": "5.9.3", "undici": "^5.29.0", "zod": "3.25.58", "zod-validation-error": "^3.2.0" }, "bin": { "figma": "bin/figma" } }, "sha512-JhQwWGX8Jr6aGGUsQlX4Wuq2RKEym7es6QUXzvQkZM5ZiYAHhOpqbsTSSH+w771UTi2nQahTbQsHkxlFX5MTJg=="], + + "@floating-ui/core": ["@floating-ui/core@1.7.3", "", { "dependencies": { "@floating-ui/utils": "^0.2.10" } }, "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w=="], + + "@floating-ui/dom": ["@floating-ui/dom@1.7.4", "", { "dependencies": { "@floating-ui/core": "^1.7.3", "@floating-ui/utils": "^0.2.10" } }, "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA=="], + + "@floating-ui/react": ["@floating-ui/react@0.27.16", "", { "dependencies": { "@floating-ui/react-dom": "^2.1.6", "@floating-ui/utils": "^0.2.10", "tabbable": "^6.0.0" }, "peerDependencies": { "react": ">=17.0.0", "react-dom": ">=17.0.0" } }, "sha512-9O8N4SeG2z++TSM8QA/KTeKFBVCNEz/AGS7gWPJf6KFRzmRWixFRnCnkPHRDwSVZW6QPDO6uT0P2SpWNKCc9/g=="], + + "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.6", "", { "dependencies": { "@floating-ui/dom": "^1.7.4" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw=="], + + "@floating-ui/utils": ["@floating-ui/utils@0.2.10", "", {}, "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="], + + "@formatjs/ecma402-abstract": ["@formatjs/ecma402-abstract@2.3.6", "", { "dependencies": { "@formatjs/fast-memoize": "2.2.7", "@formatjs/intl-localematcher": "0.6.2", "decimal.js": "^10.4.3", "tslib": "^2.8.0" } }, "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw=="], + + "@formatjs/fast-memoize": ["@formatjs/fast-memoize@2.2.7", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ=="], + + "@formatjs/icu-messageformat-parser": ["@formatjs/icu-messageformat-parser@2.11.4", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/icu-skeleton-parser": "1.8.16", "tslib": "^2.8.0" } }, "sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw=="], + + "@formatjs/icu-skeleton-parser": ["@formatjs/icu-skeleton-parser@1.8.16", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "tslib": "^2.8.0" } }, "sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ=="], + + "@formatjs/intl-localematcher": ["@formatjs/intl-localematcher@0.5.10", "", { "dependencies": { "tslib": "2" } }, "sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q=="], + + "@graphprotocol/contracts": ["@graphprotocol/contracts@7.3.0", "", {}, "sha512-uEjgrBN4WCkJhSrUi5O64cNbU5OWI7iwy/03Er9n+J7o3WEspizpLJvSGXql8E0XtI0ygBaHBTwJfPo7SUphkg=="], + + "@graphql-typed-document-node/core": ["@graphql-typed-document-node/core@3.2.0", "", { "peerDependencies": { "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ=="], + + "@headlessui/react": ["@headlessui/react@2.2.9", "", { "dependencies": { "@floating-ui/react": "^0.26.16", "@react-aria/focus": "^3.20.2", "@react-aria/interactions": "^3.25.0", "@tanstack/react-virtual": "^3.13.9", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "react-dom": "^18 || ^19 || ^19.0.0-rc" } }, "sha512-Mb+Un58gwBn0/yWZfyrCh0TJyurtT+dETj7YHleylHk5od3dv2XqETPGWMyQ5/7sYN7oWdyM1u9MvC0OC8UmzQ=="], + + "@humanwhocodes/momoa": ["@humanwhocodes/momoa@2.0.4", "", {}, "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA=="], + + "@iconify/types": ["@iconify/types@2.0.0", "", {}, "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="], + + "@iconify/utils": ["@iconify/utils@3.0.2", "", { "dependencies": { "@antfu/install-pkg": "^1.1.0", "@antfu/utils": "^9.2.0", "@iconify/types": "^2.0.0", "debug": "^4.4.1", "globals": "^15.15.0", "kolorist": "^1.8.0", "local-pkg": "^1.1.1", "mlly": "^1.7.4" } }, "sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ=="], + + "@internationalized/date": ["@internationalized/date@3.10.0", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw=="], + + "@internationalized/message": ["@internationalized/message@3.1.8", "", { "dependencies": { "@swc/helpers": "^0.5.0", "intl-messageformat": "^10.1.0" } }, "sha512-Rwk3j/TlYZhn3HQ6PyXUV0XP9Uv42jqZGNegt0BXlxjE6G3+LwHjbQZAGHhCnCPdaA6Tvd3ma/7QzLlLkJxAWA=="], + + "@internationalized/number": ["@internationalized/number@3.6.5", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g=="], + + "@internationalized/string": ["@internationalized/string@3.2.7", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-D4OHBjrinH+PFZPvfCXvG28n2LSykWcJ7GIioQL+ok0LON15SdfoUssoHzzOUmVZLbRoREsQXVzA6r8JKsbP6A=="], + + "@isaacs/balanced-match": ["@isaacs/balanced-match@4.0.1", "", {}, "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="], + + "@isaacs/brace-expansion": ["@isaacs/brace-expansion@5.0.0", "", { "dependencies": { "@isaacs/balanced-match": "^4.0.1" } }, "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA=="], + + "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + + "@leichtgewicht/ip-codec": ["@leichtgewicht/ip-codec@2.0.5", "", {}, "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw=="], + + "@mdx-js/mdx": ["@mdx-js/mdx@3.1.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "acorn": "^8.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ=="], + + "@mdx-js/react": ["@mdx-js/react@3.1.1", "", { "dependencies": { "@types/mdx": "^2.0.0" }, "peerDependencies": { "@types/react": ">=16", "react": ">=16" } }, "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw=="], + + "@mermaid-js/parser": ["@mermaid-js/parser@0.6.3", "", { "dependencies": { "langium": "3.3.1" } }, "sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA=="], + + "@mixpanel/rrdom": ["@mixpanel/rrdom@2.0.0-alpha.18.2", "", { "dependencies": { "@mixpanel/rrweb-snapshot": "^2.0.0-alpha.18" } }, "sha512-vX/tbnS14ZzzatC7vOyvAm9tOLU8tof0BuppBlphzEx1YHTSw8DQiAmyAc0AmXidchLV0W+cUHV/WsehPLh2hQ=="], + + "@mixpanel/rrweb": ["@mixpanel/rrweb@2.0.0-alpha.18.2", "", { "dependencies": { "@mixpanel/rrdom": "^2.0.0-alpha.18", "@mixpanel/rrweb-snapshot": "^2.0.0-alpha.18", "@mixpanel/rrweb-types": "^2.0.0-alpha.18", "@mixpanel/rrweb-utils": "^2.0.0-alpha.18", "@types/css-font-loading-module": "0.0.7", "@xstate/fsm": "^1.4.0", "base64-arraybuffer": "^1.0.1", "mitt": "^3.0.0" } }, "sha512-J3dVTEu6Z4p8di7y9KKvUooNuBjX97DdG6XGWoPEPi07A9512h9M8MEtvlY3mK0PGfuC0Mz5Pv/Ws6gjGYfKQg=="], + + "@mixpanel/rrweb-plugin-console-record": ["@mixpanel/rrweb-plugin-console-record@2.0.0-alpha.18.2", "", { "peerDependencies": { "@mixpanel/rrweb": "^2.0.0-alpha.18", "@mixpanel/rrweb-utils": "^2.0.0-alpha.18" } }, "sha512-Xkwh2gSdLqHRkWSXv8CPVCPQj5L85KnWc5DZQ0CXNRFgm2hTl5/YP6zfUubVs2JVXZHGcSGU+g7JVO2WcFJyyg=="], + + "@mixpanel/rrweb-snapshot": ["@mixpanel/rrweb-snapshot@2.0.0-alpha.18.2", "", { "dependencies": { "postcss": "^8.4.38" } }, "sha512-2kSnjZZ3QZ9zOz/isOt8s54mXUUDgXk/u0eEi/rE0xBWDeuA0NHrBcqiMc+w4F/yWWUpo5F5zcuPeYpc6ufAsw=="], + + "@mixpanel/rrweb-types": ["@mixpanel/rrweb-types@2.0.0-alpha.18.2", "", {}, "sha512-ucIYe1mfJ2UksvXW+d3bOySTB2/0yUSqQJlUydvbBz6OO2Bhq3nJHyLXV9ExkgUMZm1ZyDcvvmNUd1+5tAXlpA=="], + + "@mixpanel/rrweb-utils": ["@mixpanel/rrweb-utils@2.0.0-alpha.18.2", "", {}, "sha512-OomKIB6GTx5xvCLJ7iic2khT/t/tnCJUex13aEqsbSqIT/UzUUsqf+LTrgUK5ex+f6odmkCNjre2y5jvpNqn+g=="], + + "@napi-rs/simple-git": ["@napi-rs/simple-git@0.1.22", "", { "optionalDependencies": { "@napi-rs/simple-git-android-arm-eabi": "0.1.22", "@napi-rs/simple-git-android-arm64": "0.1.22", "@napi-rs/simple-git-darwin-arm64": "0.1.22", "@napi-rs/simple-git-darwin-x64": "0.1.22", "@napi-rs/simple-git-freebsd-x64": "0.1.22", "@napi-rs/simple-git-linux-arm-gnueabihf": "0.1.22", "@napi-rs/simple-git-linux-arm64-gnu": "0.1.22", "@napi-rs/simple-git-linux-arm64-musl": "0.1.22", "@napi-rs/simple-git-linux-ppc64-gnu": "0.1.22", "@napi-rs/simple-git-linux-s390x-gnu": "0.1.22", "@napi-rs/simple-git-linux-x64-gnu": "0.1.22", "@napi-rs/simple-git-linux-x64-musl": "0.1.22", "@napi-rs/simple-git-win32-arm64-msvc": "0.1.22", "@napi-rs/simple-git-win32-ia32-msvc": "0.1.22", "@napi-rs/simple-git-win32-x64-msvc": "0.1.22" } }, "sha512-bMVoAKhpjTOPHkW/lprDPwv5aD4R4C3Irt8vn+SKA9wudLe9COLxOhurrKRsxmZccUbWXRF7vukNeGUAj5P8kA=="], + + "@napi-rs/simple-git-android-arm-eabi": ["@napi-rs/simple-git-android-arm-eabi@0.1.22", "", { "os": "android", "cpu": "arm" }, "sha512-JQZdnDNm8o43A5GOzwN/0Tz3CDBQtBUNqzVwEopm32uayjdjxev1Csp1JeaqF3v9djLDIvsSE39ecsN2LhCKKQ=="], + + "@napi-rs/simple-git-android-arm64": ["@napi-rs/simple-git-android-arm64@0.1.22", "", { "os": "android", "cpu": "arm64" }, "sha512-46OZ0SkhnvM+fapWjzg/eqbJvClxynUpWYyYBn4jAj7GQs1/Yyc8431spzDmkA8mL0M7Xo8SmbkzTDE7WwYAfg=="], + + "@napi-rs/simple-git-darwin-arm64": ["@napi-rs/simple-git-darwin-arm64@0.1.22", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zH3h0C8Mkn9//MajPI6kHnttywjsBmZ37fhLX/Fiw5XKu84eHA6dRyVtMzoZxj6s+bjNTgaMgMUucxPn9ktxTQ=="], + + "@napi-rs/simple-git-darwin-x64": ["@napi-rs/simple-git-darwin-x64@0.1.22", "", { "os": "darwin", "cpu": "x64" }, "sha512-GZN7lRAkGKB6PJxWsoyeYJhh85oOOjVNyl+/uipNX8bR+mFDCqRsCE3rRCFGV9WrZUHXkcuRL2laIRn7lLi3ag=="], + + "@napi-rs/simple-git-freebsd-x64": ["@napi-rs/simple-git-freebsd-x64@0.1.22", "", { "os": "freebsd", "cpu": "x64" }, "sha512-xyqX1C5I0WBrUgZONxHjZH5a4LqQ9oki3SKFAVpercVYAcx3pq6BkZy1YUOP4qx78WxU1CCNfHBN7V+XO7D99A=="], + + "@napi-rs/simple-git-linux-arm-gnueabihf": ["@napi-rs/simple-git-linux-arm-gnueabihf@0.1.22", "", { "os": "linux", "cpu": "arm" }, "sha512-4LOtbp9ll93B9fxRvXiUJd1/RM3uafMJE7dGBZGKWBMGM76+BAcCEUv2BY85EfsU/IgopXI6n09TycRfPWOjxA=="], + + "@napi-rs/simple-git-linux-arm64-gnu": ["@napi-rs/simple-git-linux-arm64-gnu@0.1.22", "", { "os": "linux", "cpu": "arm64" }, "sha512-GVOjP/JjCzbQ0kSqao7ctC/1sodVtv5VF57rW9BFpo2y6tEYPCqHnkQkTpieuwMNe+TVOhBUC1+wH0d9/knIHg=="], + + "@napi-rs/simple-git-linux-arm64-musl": ["@napi-rs/simple-git-linux-arm64-musl@0.1.22", "", { "os": "linux", "cpu": "arm64" }, "sha512-MOs7fPyJiU/wqOpKzAOmOpxJ/TZfP4JwmvPad/cXTOWYwwyppMlXFRms3i98EU3HOazI/wMU2Ksfda3+TBluWA=="], + + "@napi-rs/simple-git-linux-ppc64-gnu": ["@napi-rs/simple-git-linux-ppc64-gnu@0.1.22", "", { "os": "linux", "cpu": "ppc64" }, "sha512-L59dR30VBShRUIZ5/cQHU25upNgKS0AMQ7537J6LCIUEFwwXrKORZKJ8ceR+s3Sr/4jempWVvMdjEpFDE4HYww=="], + + "@napi-rs/simple-git-linux-s390x-gnu": ["@napi-rs/simple-git-linux-s390x-gnu@0.1.22", "", { "os": "linux", "cpu": "s390x" }, "sha512-4FHkPlCSIZUGC6HiADffbe6NVoTBMd65pIwcd40IDbtFKOgFMBA+pWRqKiQ21FERGH16Zed7XHJJoY3jpOqtmQ=="], + + "@napi-rs/simple-git-linux-x64-gnu": ["@napi-rs/simple-git-linux-x64-gnu@0.1.22", "", { "os": "linux", "cpu": "x64" }, "sha512-Ei1tM5Ho/dwknF3pOzqkNW9Iv8oFzRxE8uOhrITcdlpxRxVrBVptUF6/0WPdvd7R9747D/q61QG/AVyWsWLFKw=="], + + "@napi-rs/simple-git-linux-x64-musl": ["@napi-rs/simple-git-linux-x64-musl@0.1.22", "", { "os": "linux", "cpu": "x64" }, "sha512-zRYxg7it0p3rLyEJYoCoL2PQJNgArVLyNavHW03TFUAYkYi5bxQ/UFNVpgxMaXohr5yu7qCBqeo9j4DWeysalg=="], + + "@napi-rs/simple-git-win32-arm64-msvc": ["@napi-rs/simple-git-win32-arm64-msvc@0.1.22", "", { "os": "win32", "cpu": "arm64" }, "sha512-XGFR1fj+Y9cWACcovV2Ey/R2xQOZKs8t+7KHPerYdJ4PtjVzGznI4c2EBHXtdOIYvkw7tL5rZ7FN1HJKdD5Quw=="], + + "@napi-rs/simple-git-win32-ia32-msvc": ["@napi-rs/simple-git-win32-ia32-msvc@0.1.22", "", { "os": "win32", "cpu": "ia32" }, "sha512-Gqr9Y0gs6hcNBA1IXBpoqTFnnIoHuZGhrYqaZzEvGMLrTrpbXrXVEtX3DAAD2RLc1b87CPcJ49a7sre3PU3Rfw=="], + + "@napi-rs/simple-git-win32-x64-msvc": ["@napi-rs/simple-git-win32-x64-msvc@0.1.22", "", { "os": "win32", "cpu": "x64" }, "sha512-hQjcreHmUcpw4UrtkOron1/TQObfe484lxiXFLLUj7aWnnnOVs1mnXq5/Bo9+3NYZldFpFRJPdPBeHCisXkKJg=="], + + "@next/env": ["@next/env@14.2.33", "", {}, "sha512-CgVHNZ1fRIlxkLhIX22flAZI/HmpDaZ8vwyJ/B0SDPTBuLZ1PJ+DWMjCHhqnExfmSQzA/PbZi8OAc7PAq2w9IA=="], + + "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@14.2.33", "", { "os": "darwin", "cpu": "arm64" }, "sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA=="], + + "@next/swc-darwin-x64": ["@next/swc-darwin-x64@14.2.33", "", { "os": "darwin", "cpu": "x64" }, "sha512-8HGBeAE5rX3jzKvF593XTTFg3gxeU4f+UWnswa6JPhzaR6+zblO5+fjltJWIZc4aUalqTclvN2QtTC37LxvZAA=="], + + "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@14.2.33", "", { "os": "linux", "cpu": "arm64" }, "sha512-JXMBka6lNNmqbkvcTtaX8Gu5by9547bukHQvPoLe9VRBx1gHwzf5tdt4AaezW85HAB3pikcvyqBToRTDA4DeLw=="], + + "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@14.2.33", "", { "os": "linux", "cpu": "arm64" }, "sha512-Bm+QulsAItD/x6Ih8wGIMfRJy4G73tu1HJsrccPW6AfqdZd0Sfm5Imhgkgq2+kly065rYMnCOxTBvmvFY1BKfg=="], + + "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@14.2.33", "", { "os": "linux", "cpu": "x64" }, "sha512-FnFn+ZBgsVMbGDsTqo8zsnRzydvsGV8vfiWwUo1LD8FTmPTdV+otGSWKc4LJec0oSexFnCYVO4hX8P8qQKaSlg=="], + + "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@14.2.33", "", { "os": "linux", "cpu": "x64" }, "sha512-345tsIWMzoXaQndUTDv1qypDRiebFxGYx9pYkhwY4hBRaOLt8UGfiWKr9FSSHs25dFIf8ZqIFaPdy5MljdoawA=="], + + "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@14.2.33", "", { "os": "win32", "cpu": "arm64" }, "sha512-nscpt0G6UCTkrT2ppnJnFsYbPDQwmum4GNXYTeoTIdsmMydSKFz9Iny2jpaRupTb+Wl298+Rh82WKzt9LCcqSQ=="], + + "@next/swc-win32-ia32-msvc": ["@next/swc-win32-ia32-msvc@14.2.33", "", { "os": "win32", "cpu": "ia32" }, "sha512-pc9LpGNKhJ0dXQhZ5QMmYxtARwwmWLpeocFmVG5Z0DzWq5Uf0izcI8tLc+qOpqxO1PWqZ5A7J1blrUIKrIFc7Q=="], + + "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@14.2.33", "", { "os": "win32", "cpu": "x64" }, "sha512-nOjfZMy8B94MdisuzZo9/57xuFVLHJaDj5e/xrduJp9CV2/HrfxTRH2fbyLe+K9QT41WBLUd4iXX3R7jBp0EUg=="], + + "@noble/ciphers": ["@noble/ciphers@1.3.0", "", {}, "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw=="], + + "@noble/curves": ["@noble/curves@1.9.1", "", { "dependencies": { "@noble/hashes": "1.8.0" } }, "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA=="], + + "@noble/hashes": ["@noble/hashes@1.8.0", "", {}, "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A=="], + + "@noble/secp256k1": ["@noble/secp256k1@1.7.1", "", {}, "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw=="], + + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + + "@nomicfoundation/edr": ["@nomicfoundation/edr@0.12.0-next.16", "", { "dependencies": { "@nomicfoundation/edr-darwin-arm64": "0.12.0-next.16", "@nomicfoundation/edr-darwin-x64": "0.12.0-next.16", "@nomicfoundation/edr-linux-arm64-gnu": "0.12.0-next.16", "@nomicfoundation/edr-linux-arm64-musl": "0.12.0-next.16", "@nomicfoundation/edr-linux-x64-gnu": "0.12.0-next.16", "@nomicfoundation/edr-linux-x64-musl": "0.12.0-next.16", "@nomicfoundation/edr-win32-x64-msvc": "0.12.0-next.16" } }, "sha512-bBL/nHmQwL1WCveALwg01VhJcpVVklJyunG1d/bhJbHgbjzAn6kohVJc7A6gFZegw+Rx38vdxpBkeCDjAEprzw=="], + + "@nomicfoundation/edr-darwin-arm64": ["@nomicfoundation/edr-darwin-arm64@0.12.0-next.16", "", {}, "sha512-no/8BPVBzVxDGGbDba0zsAxQmVNIq6SLjKzzhCxVKt4tatArXa6+24mr4jXJEmhVBvTNpQsNBO+MMpuEDVaTzQ=="], + + "@nomicfoundation/edr-darwin-x64": ["@nomicfoundation/edr-darwin-x64@0.12.0-next.16", "", {}, "sha512-tf36YbcC6po3XYRbi+v0gjwzqg1MvyRqVUujNMXPHgjNWATXNRNOLyjwt2qDn+RD15qtzk70SHVnz9n9mPWzwg=="], + + "@nomicfoundation/edr-linux-arm64-gnu": ["@nomicfoundation/edr-linux-arm64-gnu@0.12.0-next.16", "", {}, "sha512-Kr6t9icKSaKtPVbb0TjUcbn3XHqXOGIn+KjKKSSpm6542OkL0HyOi06amh6/8CNke9Gf6Lwion8UJ0aGQhnFwA=="], + + "@nomicfoundation/edr-linux-arm64-musl": ["@nomicfoundation/edr-linux-arm64-musl@0.12.0-next.16", "", {}, "sha512-HaStgfxctSg5PYF+6ooDICL1O59KrgM4XEUsIqoRrjrQax9HnMBXcB8eAj+0O52FWiO9FlchBni2dzh4RjQR2g=="], + + "@nomicfoundation/edr-linux-x64-gnu": ["@nomicfoundation/edr-linux-x64-gnu@0.12.0-next.16", "", {}, "sha512-8JPTxEZkwOPTgnN4uTWut9ze9R8rp7+T4IfmsKK9i+lDtdbJIxkrFY275YHG2BEYLd7Y5jTa/I4nC74ZpTAvpA=="], + + "@nomicfoundation/edr-linux-x64-musl": ["@nomicfoundation/edr-linux-x64-musl@0.12.0-next.16", "", {}, "sha512-KugTrq3iHukbG64DuCYg8uPgiBtrrtX4oZSLba5sjocp0Ul6WWI1FeP1Qule+vClUrHSpJ+wR1G6SE7G0lyS/Q=="], + + "@nomicfoundation/edr-win32-x64-msvc": ["@nomicfoundation/edr-win32-x64-msvc@0.12.0-next.16", "", {}, "sha512-Idy0ZjurxElfSmepUKXh6QdptLbW5vUNeIaydvqNogWoTbkJIM6miqZd9lXUy1TYxY7G4Rx5O50c52xc4pFwXQ=="], + + "@nomicfoundation/solidity-analyzer": ["@nomicfoundation/solidity-analyzer@0.1.2", "", { "optionalDependencies": { "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.2", "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.2", "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.2", "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.2", "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.2" } }, "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA=="], + + "@nomicfoundation/solidity-analyzer-darwin-arm64": ["@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2", "", {}, "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw=="], + + "@nomicfoundation/solidity-analyzer-darwin-x64": ["@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2", "", {}, "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw=="], + + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": ["@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2", "", {}, "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA=="], + + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": ["@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2", "", {}, "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA=="], + + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": ["@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2", "", {}, "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g=="], + + "@nomicfoundation/solidity-analyzer-linux-x64-musl": ["@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2", "", {}, "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg=="], + + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": ["@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2", "", {}, "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA=="], + + "@openzeppelin/contracts": ["@openzeppelin/contracts@3.4.2-solc-0.7", "", {}, "sha512-W6QmqgkADuFcTLzHL8vVoNBtkwjvQRpYIAom7KiUNoLKghyx3FgH0GBjt8NRvigV1ZmMOBllvE1By1C+bi8WpA=="], + + "@phosphor-icons/react": ["@phosphor-icons/react@2.1.10", "", { "peerDependencies": { "react": ">= 16.8", "react-dom": ">= 16.8" } }, "sha512-vt8Tvq8GLjheAZZYa+YG/pW7HDbov8El/MANW8pOAz4eGxrwhnbfrQZq0Cp4q8zBEu8NIhHdnr+r8thnfRSNYA=="], + + "@pinax/graph-networks-registry": ["@pinax/graph-networks-registry@0.7.1", "", {}, "sha512-Gn2kXRiEd5COAaMY/aDCRO0V+zfb1uQKCu5HFPoWka+EsZW27AlTINA7JctYYYEMuCbjMia5FBOzskjgEvj6LA=="], + + "@radix-ui/number": ["@radix-ui/number@1.1.1", "", {}, "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g=="], + + "@radix-ui/primitive": ["@radix-ui/primitive@1.1.3", "", {}, "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg=="], + + "@radix-ui/react-accordion": ["@radix-ui/react-accordion@1.2.12", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collapsible": "1.1.12", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA=="], + + "@radix-ui/react-alert-dialog": ["@radix-ui/react-alert-dialog@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dialog": "1.1.15", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw=="], + + "@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w=="], + + "@radix-ui/react-collapsible": ["@radix-ui/react-collapsible@1.1.12", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA=="], + + "@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw=="], + + "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="], + + "@radix-ui/react-context": ["@radix-ui/react-context@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA=="], + + "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw=="], + + "@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw=="], + + "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg=="], + + "@radix-ui/react-dropdown-menu": ["@radix-ui/react-dropdown-menu@2.1.16", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-menu": "2.1.16", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw=="], + + "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.3", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw=="], + + "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw=="], + + "@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="], + + "@radix-ui/react-label": ["@radix-ui/react-label@2.1.8", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A=="], + + "@radix-ui/react-menu": ["@radix-ui/react-menu@2.1.16", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.11", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-callback-ref": "1.1.1", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg=="], + + "@radix-ui/react-navigation-menu": ["@radix-ui/react-navigation-menu@1.2.14", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w=="], + + "@radix-ui/react-popover": ["@radix-ui/react-popover@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA=="], + + "@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.8", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", "@radix-ui/react-use-size": "1.1.1", "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw=="], + + "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.10", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.4", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-4kY9IVa6+9nJPsYmngK5Uk2kUmZnv7ChhHAFeQ5oaj8jrR1bIi3xww8nH71pz1/Ve4d/cXO3YxT8eikt1B0a8w=="], + + "@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.5", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ=="], + + "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="], + + "@radix-ui/react-roving-focus": ["@radix-ui/react-roving-focus@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA=="], + + "@radix-ui/react-slider": ["@radix-ui/react-slider@1.3.6", "", { "dependencies": { "@radix-ui/number": "1.1.1", "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw=="], + + "@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.4", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA=="], + + "@radix-ui/react-switch": ["@radix-ui/react-switch@1.2.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ=="], + + "@radix-ui/react-toast": ["@radix-ui/react-toast@1.2.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g=="], + + "@radix-ui/react-tooltip": ["@radix-ui/react-tooltip@1.2.8", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg=="], + + "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + + "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.2", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg=="], + + "@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA=="], + + "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.1", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g=="], + + "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ=="], + + "@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.1", "", { "dependencies": { "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w=="], + + "@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], + + "@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.2.3", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug=="], + + "@radix-ui/rect": ["@radix-ui/rect@1.1.1", "", {}, "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="], + + "@react-aria/breadcrumbs": ["@react-aria/breadcrumbs@3.5.29", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/link": "^3.8.6", "@react-aria/utils": "^3.31.0", "@react-types/breadcrumbs": "^3.7.17", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-rKS0dryllaZJqrr3f/EAf2liz8CBEfmL5XACj+Z1TAig6GIYe1QuA3BtkX0cV9OkMugXdX8e3cbA7nD10ORRqg=="], + + "@react-aria/button": ["@react-aria/button@3.14.2", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/toolbar": "3.0.0-beta.21", "@react-aria/utils": "^3.31.0", "@react-stately/toggle": "^3.9.2", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-VbLIA+Kd6f/MDjd+TJBUg2+vNDw66pnvsj2E4RLomjI9dfBuN7d+Yo2UnsqKVyhePjCUZ6xxa2yDuD63IOSIYA=="], + + "@react-aria/calendar": ["@react-aria/calendar@3.9.2", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.31.0", "@react-stately/calendar": "^3.9.0", "@react-types/button": "^3.14.1", "@react-types/calendar": "^3.8.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-uSLxLgOPRnEU4Jg59lAhUVA+uDx/55NBg4lpfsP2ynazyiJ5LCXmYceJi+VuOqMml7d9W0dB87OldOeLdIxYVA=="], + + "@react-aria/checkbox": ["@react-aria/checkbox@3.16.2", "", { "dependencies": { "@react-aria/form": "^3.1.2", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/toggle": "^3.12.2", "@react-aria/utils": "^3.31.0", "@react-stately/checkbox": "^3.7.2", "@react-stately/form": "^3.2.2", "@react-stately/toggle": "^3.9.2", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-29Mj9ZqXioJ0bcMnNGooHztnTau5pikZqX3qCRj5bYR3by/ZFFavYoMroh9F7s/MbFm/tsKX+Sf02lYFEdXRjA=="], + + "@react-aria/color": ["@react-aria/color@3.1.2", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/numberfield": "^3.12.2", "@react-aria/slider": "^3.8.2", "@react-aria/spinbutton": "^3.6.19", "@react-aria/textfield": "^3.18.2", "@react-aria/utils": "^3.31.0", "@react-aria/visually-hidden": "^3.8.28", "@react-stately/color": "^3.9.2", "@react-stately/form": "^3.2.2", "@react-types/color": "^3.1.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-jCC+Q7rAQGLQBkHjkPAeDuGYuMbc4neifjlNRiyZ9as1z4gg63H8MteoWYYk6K4vCKKxSixgt8MfI29XWMOWPQ=="], + + "@react-aria/combobox": ["@react-aria/combobox@3.14.0", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/listbox": "^3.15.0", "@react-aria/live-announcer": "^3.4.4", "@react-aria/menu": "^3.19.3", "@react-aria/overlays": "^3.30.0", "@react-aria/selection": "^3.26.0", "@react-aria/textfield": "^3.18.2", "@react-aria/utils": "^3.31.0", "@react-stately/collections": "^3.12.8", "@react-stately/combobox": "^3.12.0", "@react-stately/form": "^3.2.2", "@react-types/button": "^3.14.1", "@react-types/combobox": "^3.13.9", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-z4ro0Hma//p4nL2IJx5iUa7NwxeXbzSoZ0se5uTYjG1rUUMszg+wqQh/AQoL+eiULn7rs18JY9wwNbVIkRNKWA=="], + + "@react-aria/datepicker": ["@react-aria/datepicker@3.15.2", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-aria/focus": "^3.21.2", "@react-aria/form": "^3.1.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/spinbutton": "^3.6.19", "@react-aria/utils": "^3.31.0", "@react-stately/datepicker": "^3.15.2", "@react-stately/form": "^3.2.2", "@react-types/button": "^3.14.1", "@react-types/calendar": "^3.8.0", "@react-types/datepicker": "^3.13.2", "@react-types/dialog": "^3.5.22", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-th078hyNqPf4P2K10su/y32zPDjs3lOYVdHvsL9/+5K1dnTvLHCK5vgUyLuyn8FchhF7cmHV49D+LZVv65PEpQ=="], + + "@react-aria/dialog": ["@react-aria/dialog@3.5.31", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/overlays": "^3.30.0", "@react-aria/utils": "^3.31.0", "@react-types/dialog": "^3.5.22", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-inxQMyrzX0UBW9Mhraq0nZ4HjHdygQvllzloT1E/RlDd61lr3RbmJR6pLsrbKOTtSvDIBJpCso1xEdHCFNmA0Q=="], + + "@react-aria/disclosure": ["@react-aria/disclosure@3.1.0", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.31.0", "@react-stately/disclosure": "^3.0.8", "@react-types/button": "^3.14.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-5996BeBpnj+yKXYysz+UuhFQxGFPvaZZ3zNBd052wz/i+TVFVGSqqYJ6cwZyO1AfBR8zOT0ZIiK4EC3ETwSvtQ=="], + + "@react-aria/dnd": ["@react-aria/dnd@3.11.3", "", { "dependencies": { "@internationalized/string": "^3.2.7", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/live-announcer": "^3.4.4", "@react-aria/overlays": "^3.30.0", "@react-aria/utils": "^3.31.0", "@react-stately/collections": "^3.12.8", "@react-stately/dnd": "^3.7.1", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-MyTziciik1Owz3rqDghu0K3ZtTFvmj/R2ZsLDwbU9N4hKqGX/BKnrI8SytTn8RDqVv5LmA/GhApLngiupTAsXw=="], + + "@react-aria/focus": ["@react-aria/focus@3.21.2", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-JWaCR7wJVggj+ldmM/cb/DXFg47CXR55lznJhZBh4XVqJjMKwaOOqpT5vNN7kpC1wUpXicGNuDnJDN1S/+6dhQ=="], + + "@react-aria/form": ["@react-aria/form@3.1.2", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-stately/form": "^3.2.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-R3i7L7Ci61PqZQvOrnL9xJeWEbh28UkTVgkj72EvBBn39y4h7ReH++0stv7rRs8p5ozETSKezBbGfu4UsBewWw=="], + + "@react-aria/grid": ["@react-aria/grid@3.14.5", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/live-announcer": "^3.4.4", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/collections": "^3.12.8", "@react-stately/grid": "^3.11.6", "@react-stately/selection": "^3.20.6", "@react-types/checkbox": "^3.10.2", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-XHw6rgjlTqc85e3zjsWo3U0EVwjN5MOYtrolCKc/lc2ItNdcY3OlMhpsU9+6jHwg/U3VCSWkGvwAz9hg7krd8Q=="], + + "@react-aria/gridlist": ["@react-aria/gridlist@3.14.1", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/grid": "^3.14.5", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/list": "^3.13.1", "@react-stately/tree": "^3.9.3", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-keS03Am07aOn7RuNaRsMOyh0jscyhDn95asCVy4lxhl9A9TFk1Jw0o2L6q6cWRj1gFiKeacj/otG5H8ZKQQ2Wg=="], + + "@react-aria/i18n": ["@react-aria/i18n@3.12.13", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@internationalized/message": "^3.1.8", "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-YTM2BPg0v1RvmP8keHenJBmlx8FXUKsdYIEX7x6QWRd1hKlcDwphfjzvt0InX9wiLiPHsT5EoBTpuUk8SXc0Mg=="], + + "@react-aria/interactions": ["@react-aria/interactions@3.25.6", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.31.0", "@react-stately/flags": "^3.1.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-5UgwZmohpixwNMVkMvn9K1ceJe6TzlRlAfuYoQDUuOkk62/JVJNDLAPKIf5YMRc7d2B0rmfgaZLMtbREb0Zvkw=="], + + "@react-aria/label": ["@react-aria/label@3.7.22", "", { "dependencies": { "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-jLquJeA5ZNqDT64UpTc9XJ7kQYltUlNcgxZ37/v4mHe0UZ7QohCKdKQhXHONb0h2jjNUpp2HOZI8J9++jOpzxA=="], + + "@react-aria/landmark": ["@react-aria/landmark@3.0.7", "", { "dependencies": { "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-t8c610b8hPLS6Vwv+rbuSyljZosI1s5+Tosfa0Fk4q7d+Ex6Yj7hLfUFy59GxZAufhUYfGX396fT0gPqAbU1tg=="], + + "@react-aria/link": ["@react-aria/link@3.8.6", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-types/link": "^3.6.5", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-7F7UDJnwbU9IjfoAdl6f3Hho5/WB7rwcydUOjUux0p7YVWh/fTjIFjfAGyIir7MJhPapun1D0t97QQ3+8jXVcg=="], + + "@react-aria/listbox": ["@react-aria/listbox@3.15.0", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/collections": "^3.12.8", "@react-stately/list": "^3.13.1", "@react-types/listbox": "^3.7.4", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Ub1Wu79R9sgxM7h4HeEdjOgOKDHwduvYcnDqsSddGXgpkL8ADjsy2YUQ0hHY5VnzA4BxK36bLp4mzSna8Qvj1w=="], + + "@react-aria/live-announcer": ["@react-aria/live-announcer@3.4.4", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-PTTBIjNRnrdJOIRTDGNifY2d//kA7GUAwRFJNOEwSNG4FW+Bq9awqLiflw0JkpyB0VNIwou6lqKPHZVLsGWOXA=="], + + "@react-aria/menu": ["@react-aria/menu@3.19.3", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/overlays": "^3.30.0", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/collections": "^3.12.8", "@react-stately/menu": "^3.9.8", "@react-stately/selection": "^3.20.6", "@react-stately/tree": "^3.9.3", "@react-types/button": "^3.14.1", "@react-types/menu": "^3.10.5", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-52fh8y8b2776R2VrfZPpUBJYC9oTP7XDy+zZuZTxPEd7Ywk0JNUl5F92y6ru22yPkS13sdhrNM/Op+V/KulmAg=="], + + "@react-aria/meter": ["@react-aria/meter@3.4.27", "", { "dependencies": { "@react-aria/progress": "^3.4.27", "@react-types/meter": "^3.4.13", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-andOOdJkgRJF9vBi5VWRmFodK+GT+5X1lLeNUmb4qOX8/MVfX/RbK72LDeIhd7xC7rSCFHj3WvZ198rK4q0k3w=="], + + "@react-aria/numberfield": ["@react-aria/numberfield@3.12.2", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/spinbutton": "^3.6.19", "@react-aria/textfield": "^3.18.2", "@react-aria/utils": "^3.31.0", "@react-stately/form": "^3.2.2", "@react-stately/numberfield": "^3.10.2", "@react-types/button": "^3.14.1", "@react-types/numberfield": "^3.8.15", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-M2b+z0HIXiXpGAWOQkO2kpIjaLNUXJ5Q3/GMa3Fkr+B1piFX0VuOynYrtddKVrmXCe+r5t+XcGb0KS29uqv7nQ=="], + + "@react-aria/overlays": ["@react-aria/overlays@3.30.0", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.31.0", "@react-aria/visually-hidden": "^3.8.28", "@react-stately/overlays": "^3.6.20", "@react-types/button": "^3.14.1", "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-UpjqSjYZx5FAhceWCRVsW6fX1sEwya1fQ/TKkL53FAlLFR8QKuoKqFlmiL43YUFTcGK3UdEOy3cWTleLQwdSmQ=="], + + "@react-aria/progress": ["@react-aria/progress@3.4.27", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/label": "^3.7.22", "@react-aria/utils": "^3.31.0", "@react-types/progress": "^3.5.16", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-0OA1shs1575g1zmO8+rWozdbTnxThFFhOfuoL1m7UV5Dley6FHpueoKB1ECv7B+Qm4dQt6DoEqLg7wsbbQDhmg=="], + + "@react-aria/radio": ["@react-aria/radio@3.12.2", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/form": "^3.1.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/utils": "^3.31.0", "@react-stately/radio": "^3.11.2", "@react-types/radio": "^3.9.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-I11f6I90neCh56rT/6ieAs3XyDKvEfbj/QmbU5cX3p+SJpRRPN0vxQi5D1hkh0uxDpeClxygSr31NmZsd4sqfg=="], + + "@react-aria/searchfield": ["@react-aria/searchfield@3.8.9", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/textfield": "^3.18.2", "@react-aria/utils": "^3.31.0", "@react-stately/searchfield": "^3.5.16", "@react-types/button": "^3.14.1", "@react-types/searchfield": "^3.6.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Yt2pj8Wb5/XsUr2T0DQqFv+DlFpzzWIWnNr9cJATUcWV/xw6ok7YFEg9+7EHtBmsCQxFFJtock1QfZzBw6qLtQ=="], + + "@react-aria/select": ["@react-aria/select@3.17.0", "", { "dependencies": { "@react-aria/form": "^3.1.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/listbox": "^3.15.0", "@react-aria/menu": "^3.19.3", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-aria/visually-hidden": "^3.8.28", "@react-stately/select": "^3.8.0", "@react-types/button": "^3.14.1", "@react-types/select": "^3.11.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-q5ZuyAn5jSOeI0Ys99951TaGcF4O7u1SSBVxPMwVVXOU8ZhToCNx+WG3n/JDYHEjqdo7sbsVRaPA7LkBzBGf5w=="], + + "@react-aria/selection": ["@react-aria/selection@3.26.0", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-stately/selection": "^3.20.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ZBH3EfWZ+RfhTj01dH8L17uT7iNbXWS8u77/fUpHgtrm0pwNVhx0TYVnLU1YpazQ/3WVpvWhmBB8sWwD1FlD/g=="], + + "@react-aria/separator": ["@react-aria/separator@3.4.13", "", { "dependencies": { "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-0NlcrdBfQbcjWEXdHl3+uSY1272n2ljT1gWL2RIf6aQsQWTZ0gz0rTgRHy0MTXN+y+tICItUERJT4vmTLtIzVg=="], + + "@react-aria/slider": ["@react-aria/slider@3.8.2", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/utils": "^3.31.0", "@react-stately/slider": "^3.7.2", "@react-types/shared": "^3.32.1", "@react-types/slider": "^3.8.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-6KyUGaVzRE4xAz1LKHbNh1q5wzxe58pdTHFSnxNe6nk1SCoHw7NfI4h2s2m6LgJ0megFxsT0Ir8aHaFyyxmbgg=="], + + "@react-aria/spinbutton": ["@react-aria/spinbutton@3.6.19", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.31.0", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-xOIXegDpts9t3RSHdIN0iYQpdts0FZ3LbpYJIYVvdEHo9OpDS+ElnDzCGtwZLguvZlwc5s1LAKuKopDUsAEMkw=="], + + "@react-aria/ssr": ["@react-aria/ssr@3.9.10", "", { "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ=="], + + "@react-aria/switch": ["@react-aria/switch@3.7.8", "", { "dependencies": { "@react-aria/toggle": "^3.12.2", "@react-stately/toggle": "^3.9.2", "@react-types/shared": "^3.32.1", "@react-types/switch": "^3.5.15", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-AfsUq1/YiuoprhcBUD9vDPyWaigAwctQNW1fMb8dROL+i/12B+Zekj8Ml+jbU69/kIVtfL0Jl7/0Bo9KK3X0xQ=="], + + "@react-aria/table": ["@react-aria/table@3.17.8", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/grid": "^3.14.5", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.31.0", "@react-aria/visually-hidden": "^3.8.28", "@react-stately/collections": "^3.12.8", "@react-stately/flags": "^3.1.2", "@react-stately/table": "^3.15.1", "@react-types/checkbox": "^3.10.2", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@react-types/table": "^3.13.4", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-bXiZoxTMbsqUJsYDhHPzKc3jw0HFJ/xMsJ49a0f7mp5r9zACxNLeIU0wJ4Uvx37dnYOHKzGliG+rj5l4sph7MA=="], + + "@react-aria/tabs": ["@react-aria/tabs@3.10.8", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/tabs": "^3.8.6", "@react-types/shared": "^3.32.1", "@react-types/tabs": "^3.3.19", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-sPPJyTyoAqsBh76JinBAxStOcbjZvyWFYKpJ9Uqw+XT0ObshAPPFSGeh8DiQemPs02RwJdrfARPMhyqiX8t59A=="], + + "@react-aria/tag": ["@react-aria/tag@3.7.2", "", { "dependencies": { "@react-aria/gridlist": "^3.14.1", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/list": "^3.13.1", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-JV679P5r4DftbqyNBRt7Nw9mP7dxaKPfikjyQuvUoEOa06wBLbM/hU9RJUPRvqK+Un6lgBDAmXD9NNf4N2xpdw=="], + + "@react-aria/textfield": ["@react-aria/textfield@3.18.2", "", { "dependencies": { "@react-aria/form": "^3.1.2", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/utils": "^3.31.0", "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@react-types/textfield": "^3.12.6", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-G+lM8VYSor6g9Yptc6hLZ6BF+0cq0pYol1z6wdQUQgJN8tg4HPtzq75lsZtlCSIznL3amgRAxJtd0dUrsAnvaQ=="], + + "@react-aria/toast": ["@react-aria/toast@3.0.8", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/landmark": "^3.0.7", "@react-aria/utils": "^3.31.0", "@react-stately/toast": "^3.1.2", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-rfJIms6AkMyQ7ZgKrMZgGfPwGcB/t1JoEwbc1PAmXcAvFI/hzF6YF7ZFDXiq38ucFsP9PnHmbXIzM9w4ccl18A=="], + + "@react-aria/toggle": ["@react-aria/toggle@3.12.2", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-stately/toggle": "^3.9.2", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-g25XLYqJuJpt0/YoYz2Rab8ax+hBfbssllcEFh0v0jiwfk2gwTWfRU9KAZUvxIqbV8Nm8EBmrYychDpDcvW1kw=="], + + "@react-aria/toolbar": ["@react-aria/toolbar@3.0.0-beta.21", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-yRCk/GD8g+BhdDgxd3I0a0c8Ni4Wyo6ERzfSoBkPkwQ4X2E2nkopmraM9D0fXw4UcIr4bnmvADzkHXtBN0XrBg=="], + + "@react-aria/tooltip": ["@react-aria/tooltip@3.8.8", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-stately/tooltip": "^3.5.8", "@react-types/shared": "^3.32.1", "@react-types/tooltip": "^3.4.21", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-CmHUqtXtFWmG4AHMEr9hIVex+oscK6xcM2V47gq9ijNInxe3M6UBu/dBdkgGP/jYv9N7tzCAjTR8nNIHQXwvWw=="], + + "@react-aria/tree": ["@react-aria/tree@3.1.4", "", { "dependencies": { "@react-aria/gridlist": "^3.14.1", "@react-aria/i18n": "^3.12.13", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/tree": "^3.9.3", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-6pbFeN0dAsCOrFGUKU39CNjft20zCAjLfMqfkRWisL+JkUHI2nq6odUJF5jJTsU1C+1951+3oFOmVxPX+K+akQ=="], + + "@react-aria/utils": ["@react-aria/utils@3.31.0", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-stately/flags": "^3.1.2", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ABOzCsZrWzf78ysswmguJbx3McQUja7yeGj6/vZo4JVsZNlxAN+E9rs381ExBRI0KzVo6iBTeX5De8eMZPJXig=="], + + "@react-aria/visually-hidden": ["@react-aria/visually-hidden@3.8.28", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-KRRjbVVob2CeBidF24dzufMxBveEUtUu7IM+hpdZKB+gxVROoh4XRLPv9SFmaH89Z7D9To3QoykVZoWD0lan6Q=="], + + "@react-hookz/web": ["@react-hookz/web@25.2.0", "", { "dependencies": { "@ver0/deep-equal": "^1.0.0" }, "peerDependencies": { "js-cookie": "^3.0.5", "react": "^16.8 || ^17 || ^18 || ^19", "react-dom": "^16.8 || ^17 || ^18 || ^19" }, "optionalPeers": ["js-cookie"] }, "sha512-60iU7lGnZOjdkNVpu/8xNEnTPVQQ5ckauIEvsh9S+58v2j/mY1lhgNas+w+9UF8VoUhWC4/cpaxT64EUC6DgsQ=="], + + "@react-stately/calendar": ["@react-stately/calendar@3.9.0", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@react-stately/utils": "^3.10.8", "@react-types/calendar": "^3.8.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-U5Nf2kx9gDhJRxdDUm5gjfyUlt/uUfOvM1vDW2UA62cA6+2k2cavMLc2wNlXOb/twFtl6p0joYKHG7T4xnEFkg=="], + + "@react-stately/checkbox": ["@react-stately/checkbox@3.7.2", "", { "dependencies": { "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.10.8", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-j1ycUVz5JmqhaL6mDZgDNZqBilOB8PBW096sDPFaTtuYreDx2HOd1igxiIvwlvPESZwsJP7FVM3mYnaoXtpKPA=="], + + "@react-stately/collections": ["@react-stately/collections@3.12.8", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-AceJYLLXt1Y2XIcOPi6LEJSs4G/ubeYW3LqOCQbhfIgMaNqKfQMIfagDnPeJX9FVmPFSlgoCBxb1pTJW2vjCAQ=="], + + "@react-stately/color": ["@react-stately/color@3.9.2", "", { "dependencies": { "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-stately/form": "^3.2.2", "@react-stately/numberfield": "^3.10.2", "@react-stately/slider": "^3.7.2", "@react-stately/utils": "^3.10.8", "@react-types/color": "^3.1.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-F+6Do8W3yu/4n7MpzZtbXwVukcLTFYYDIUtpoR+Jl52UmAr9Hf1CQgkyTI2azv1ZMzj1mVrTBhpBL0q27kFZig=="], + + "@react-stately/combobox": ["@react-stately/combobox@3.12.0", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/form": "^3.2.2", "@react-stately/list": "^3.13.1", "@react-stately/overlays": "^3.6.20", "@react-stately/utils": "^3.10.8", "@react-types/combobox": "^3.13.9", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-A6q9R/7cEa/qoQsBkdslXWvD7ztNLLQ9AhBhVN9QvzrmrH5B4ymUwcTU8lWl22ykH7RRwfonLeLXJL4C+/L2oQ=="], + + "@react-stately/datepicker": ["@react-stately/datepicker@3.15.2", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@internationalized/string": "^3.2.7", "@react-stately/form": "^3.2.2", "@react-stately/overlays": "^3.6.20", "@react-stately/utils": "^3.10.8", "@react-types/datepicker": "^3.13.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-S5GL+W37chvV8knv9v0JRv0L6hKo732qqabCCHXzOpYxkLIkV4f/y3cHdEzFWzpZ0O0Gkg7WgeYo160xOdBKYg=="], + + "@react-stately/disclosure": ["@react-stately/disclosure@3.0.8", "", { "dependencies": { "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-/Ce/Z76y85eSBZiemfU/uEyXkBBa1RdfLRaKD13rnfUV7/nS3ae1VtNlsXgmwQjWv2pmAiSuEKYMbZfVL7q/lQ=="], + + "@react-stately/dnd": ["@react-stately/dnd@3.7.1", "", { "dependencies": { "@react-stately/selection": "^3.20.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-O1JBJ4HI1rVNKuoa5NXiC5FCrCEkr9KVBoKNlTZU8/cnQselhbEsUfMglAakO2EuwIaM1tIXoNF5J/N5P+6lTA=="], + + "@react-stately/flags": ["@react-stately/flags@3.1.2", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg=="], + + "@react-stately/form": ["@react-stately/form@3.2.2", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-soAheOd7oaTO6eNs6LXnfn0tTqvOoe3zN9FvtIhhrErKz9XPc5sUmh3QWwR45+zKbitOi1HOjfA/gifKhZcfWw=="], + + "@react-stately/grid": ["@react-stately/grid@3.11.6", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/selection": "^3.20.6", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-vWPAkzpeTIsrurHfMubzMuqEw7vKzFhIJeEK5sEcLunyr1rlADwTzeWrHNbPMl66NAIAi70Dr1yNq+kahQyvMA=="], + + "@react-stately/list": ["@react-stately/list@3.13.1", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/selection": "^3.20.6", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-eHaoauh21twbcl0kkwULhVJ+CzYcy1jUjMikNVMHOQdhr4WIBdExf7PmSgKHKqsSPhpGg6IpTCY2dUX3RycjDg=="], + + "@react-stately/menu": ["@react-stately/menu@3.9.8", "", { "dependencies": { "@react-stately/overlays": "^3.6.20", "@react-types/menu": "^3.10.5", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-bo0NOhofnTHLESiYfsSSw6gyXiPVJJ0UlN2igUXtJk5PmyhWjFzUzTzcnd7B028OB0si9w3LIWM3stqz5271Eg=="], + + "@react-stately/numberfield": ["@react-stately/numberfield@3.10.2", "", { "dependencies": { "@internationalized/number": "^3.6.5", "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.10.8", "@react-types/numberfield": "^3.8.15", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-jlKVFYaH3RX5KvQ7a+SAMQuPccZCzxLkeYkBE64u1Zvi7YhJ8hkTMHG/fmZMbk1rHlseE2wfBdk0Rlya3MvoNQ=="], + + "@react-stately/overlays": ["@react-stately/overlays@3.6.20", "", { "dependencies": { "@react-stately/utils": "^3.10.8", "@react-types/overlays": "^3.9.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-YAIe+uI8GUXX8F/0Pzr53YeC5c/bjqbzDFlV8NKfdlCPa6+Jp4B/IlYVjIooBj9+94QvbQdjylegvYWK/iPwlg=="], + + "@react-stately/radio": ["@react-stately/radio@3.11.2", "", { "dependencies": { "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.10.8", "@react-types/radio": "^3.9.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-UM7L6AW+k8edhSBUEPZAqiWNRNadfOKK7BrCXyBiG79zTz0zPcXRR+N+gzkDn7EMSawDeyK1SHYUuoSltTactg=="], + + "@react-stately/searchfield": ["@react-stately/searchfield@3.5.16", "", { "dependencies": { "@react-stately/utils": "^3.10.8", "@react-types/searchfield": "^3.6.6", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-MRfqT1lZ24r94GuFNcGJXsfijZoWjSMySCT60T6NXtbOzVPuAF3K+pL70Rayq/EWLJjS2NPHND11VTs0VdcE0Q=="], + + "@react-stately/select": ["@react-stately/select@3.8.0", "", { "dependencies": { "@react-stately/form": "^3.2.2", "@react-stately/list": "^3.13.1", "@react-stately/overlays": "^3.6.20", "@react-stately/utils": "^3.10.8", "@react-types/select": "^3.11.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-A721nlt0DSCDit0wKvhcrXFTG5Vv1qkEVkeKvobmETZy6piKvwh0aaN8iQno5AFuZaj1iOZeNjZ/20TsDJR/4A=="], + + "@react-stately/selection": ["@react-stately/selection@3.20.6", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-a0bjuP2pJYPKEiedz2Us1W1aSz0iHRuyeQEdBOyL6Z6VUa6hIMq9H60kvseir2T85cOa4QggizuRV7mcO6bU5w=="], + + "@react-stately/slider": ["@react-stately/slider@3.7.2", "", { "dependencies": { "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@react-types/slider": "^3.8.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-EVBHUdUYwj++XqAEiQg2fGi8Reccznba0uyQ3gPejF0pAc390Q/J5aqiTEDfiCM7uJ6WHxTM6lcCqHQBISk2dQ=="], + + "@react-stately/table": ["@react-stately/table@3.15.1", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/flags": "^3.1.2", "@react-stately/grid": "^3.11.6", "@react-stately/selection": "^3.20.6", "@react-stately/utils": "^3.10.8", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@react-types/table": "^3.13.4", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-MhMAgE/LgAzHcAn1P3p/nQErzJ6DiixSJ1AOt2JlnAKEb5YJg4ATKWCb2IjBLwywt9ZCzfm3KMUzkctZqAoxwA=="], + + "@react-stately/tabs": ["@react-stately/tabs@3.8.6", "", { "dependencies": { "@react-stately/list": "^3.13.1", "@react-types/shared": "^3.32.1", "@react-types/tabs": "^3.3.19", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-9RYxmgjVIxUpIsGKPIF7uRoHWOEz8muwaYiStCVeyiYBPmarvZoIYtTXcwSMN/vEs7heVN5uGCL6/bfdY4+WiA=="], + + "@react-stately/toast": ["@react-stately/toast@3.1.2", "", { "dependencies": { "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-HiInm7bck32khFBHZThTQaAF6e6/qm57F4mYRWdTq8IVeGDzpkbUYibnLxRhk0UZ5ybc6me+nqqPkG/lVmM42Q=="], + + "@react-stately/toggle": ["@react-stately/toggle@3.9.2", "", { "dependencies": { "@react-stately/utils": "^3.10.8", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-dOxs9wrVXHUmA7lc8l+N9NbTJMAaXcYsnNGsMwfXIXQ3rdq+IjWGNYJ52UmNQyRYFcg0jrzRrU16TyGbNjOdNQ=="], + + "@react-stately/tooltip": ["@react-stately/tooltip@3.5.8", "", { "dependencies": { "@react-stately/overlays": "^3.6.20", "@react-types/tooltip": "^3.4.21", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-gkcUx2ROhCiGNAYd2BaTejakXUUNLPnnoJ5+V/mN480pN+OrO8/2V9pqb/IQmpqxLsso93zkM3A4wFHHLBBmPQ=="], + + "@react-stately/tree": ["@react-stately/tree@3.9.3", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/selection": "^3.20.6", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ZngG79nLFxE/GYmpwX6E/Rma2MMkzdoJPRI3iWk3dgqnGMMzpPnUp/cvjDsU3UHF7xDVusC5BT6pjWN0uxCIFQ=="], + + "@react-stately/utils": ["@react-stately/utils@3.10.8", "", { "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-SN3/h7SzRsusVQjQ4v10LaVsDc81jyyR0DD5HnsQitm/I5WDpaSr2nRHtyloPFU48jlql1XX/S04T2DLQM7Y3g=="], + + "@react-types/breadcrumbs": ["@react-types/breadcrumbs@3.7.17", "", { "dependencies": { "@react-types/link": "^3.6.5", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-IhvVTcfli5o/UDlGACXxjlor2afGlMQA8pNR3faH0bBUay1Fmm3IWktVw9Xwmk+KraV2RTAg9e+E6p8DOQZfiw=="], + + "@react-types/button": ["@react-types/button@3.14.1", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-D8C4IEwKB7zEtiWYVJ3WE/5HDcWlze9mLWQ5hfsBfpePyWCgO3bT/+wjb/7pJvcAocrkXo90QrMm85LcpBtrpg=="], + + "@react-types/calendar": ["@react-types/calendar@3.8.0", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ZDZgfZgbz1ydWOFs1mH7QFfX3ioJrmb3Y/lkoubQE0HWXLZzyYNvhhKyFJRS1QJ40IofLSBHriwbQb/tsUnGlw=="], + + "@react-types/checkbox": ["@react-types/checkbox@3.10.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ktPkl6ZfIdGS1tIaGSU/2S5Agf2NvXI9qAgtdMDNva0oLyAZ4RLQb6WecPvofw1J7YKXu0VA5Mu7nlX+FM2weQ=="], + + "@react-types/color": ["@react-types/color@3.1.2", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@react-types/slider": "^3.8.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-NP0TAY3j4tlMztOp/bBfMlPwC9AQKTjSiTFmc2oQNkx5M4sl3QpPqFPosdt7jZ8M4nItvfCWZrlZGjST4SB83A=="], + + "@react-types/combobox": ["@react-types/combobox@3.13.9", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-G6GmLbzVkLW6VScxPAr/RtliEyPhBClfYaIllK1IZv+Z42SVnOpKzhnoe79BpmiFqy1AaC3+LjZX783mrsHCwA=="], + + "@react-types/datepicker": ["@react-types/datepicker@3.13.2", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@react-types/calendar": "^3.8.0", "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-+M6UZxJnejYY8kz0spbY/hP08QJ5rsZ3aNarRQQHc48xV2oelFLX5MhAqizfLEsvyfb0JYrhWoh4z1xZtAmYCg=="], + + "@react-types/dialog": ["@react-types/dialog@3.5.22", "", { "dependencies": { "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-smSvzOcqKE196rWk0oqJDnz+ox5JM5+OT0PmmJXiUD4q7P5g32O6W5Bg7hMIFUI9clBtngo8kLaX2iMg+GqAzg=="], + + "@react-types/grid": ["@react-types/grid@3.3.6", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-vIZJlYTii2n1We9nAugXwM2wpcpsC6JigJFBd6vGhStRdRWRoU4yv1Gc98Usbx0FQ/J7GLVIgeG8+1VMTKBdxw=="], + + "@react-types/link": ["@react-types/link@3.6.5", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-+I2s3XWBEvLrzts0GnNeA84mUkwo+a7kLUWoaJkW0TOBDG7my95HFYxF9WnqKye7NgpOkCqz4s3oW96xPdIniQ=="], + + "@react-types/listbox": ["@react-types/listbox@3.7.4", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-p4YEpTl/VQGrqVE8GIfqTS5LkT5jtjDTbVeZgrkPnX/fiPhsfbTPiZ6g0FNap4+aOGJFGEEZUv2q4vx+rCORww=="], + + "@react-types/menu": ["@react-types/menu@3.10.5", "", { "dependencies": { "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-HBTrKll2hm0VKJNM4ubIv1L9MNo8JuOnm2G3M+wXvb6EYIyDNxxJkhjsqsGpUXJdAOSkacHBDcNh2HsZABNX4A=="], + + "@react-types/meter": ["@react-types/meter@3.4.13", "", { "dependencies": { "@react-types/progress": "^3.5.16" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-EiarfbpHcvmeyXvXcr6XLaHkNHuGc4g7fBVEiDPwssFJKKfbUzqnnknDxPjyspqUVRcXC08CokS98J1jYobqDg=="], + + "@react-types/numberfield": ["@react-types/numberfield@3.8.15", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-97r92D23GKCOjGIGMeW9nt+/KlfM3GeWH39Czcmd2/D5y3k6z4j0avbsfx2OttCtJszrnENjw3GraYGYI2KosQ=="], + + "@react-types/overlays": ["@react-types/overlays@3.9.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Q0cRPcBGzNGmC8dBuHyoPR7N3057KTS5g+vZfQ53k8WwmilXBtemFJPLsogJbspuewQ/QJ3o2HYsp2pne7/iNw=="], + + "@react-types/progress": ["@react-types/progress@3.5.16", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-I9tSdCFfvQ7gHJtm90VAKgwdTWXQgVNvLRStEc0z9h+bXBxdvZb+QuiRPERChwFQ9VkK4p4rDqaFo69nDqWkpw=="], + + "@react-types/radio": ["@react-types/radio@3.9.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-3UcJXu37JrTkRyP4GJPDBU7NmDTInrEdOe+bVzA1j4EegzdkJmLBkLg5cLDAbpiEHB+xIsvbJdx6dxeMuc+H3g=="], + + "@react-types/searchfield": ["@react-types/searchfield@3.6.6", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@react-types/textfield": "^3.12.6" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-cl3itr/fk7wbIQc2Gz5Ie8aVeUmPjVX/mRGS5/EXlmzycAKNYTvqf2mlxwObLndtLISmt7IgNjRRhbUUDI8Ang=="], + + "@react-types/select": ["@react-types/select@3.11.0", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-SzIsMFVPCbXE1Z1TLfpdfiwJ1xnIkcL1/CjGilmUKkNk5uT7rYX1xCJqWCjXI0vAU1xM4Qn+T3n8de4fw6HRBg=="], + + "@react-types/shared": ["@react-types/shared@3.32.1", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-famxyD5emrGGpFuUlgOP6fVW2h/ZaF405G5KDi3zPHzyjAWys/8W6NAVJtNbkCkhedmvL0xOhvt8feGXyXaw5w=="], + + "@react-types/slider": ["@react-types/slider@3.8.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-MQYZP76OEOYe7/yA2To+Dl0LNb0cKKnvh5JtvNvDnAvEprn1RuLiay8Oi/rTtXmc2KmBa4VdTcsXsmkbbkeN2Q=="], + + "@react-types/switch": ["@react-types/switch@3.5.15", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-r/ouGWQmIeHyYSP1e5luET+oiR7N7cLrAlWsrAfYRWHxqXOSNQloQnZJ3PLHrKFT02fsrQhx2rHaK2LfKeyN3A=="], + + "@react-types/table": ["@react-types/table@3.13.4", "", { "dependencies": { "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-I/DYiZQl6aNbMmjk90J9SOhkzVDZvyA3Vn3wMWCiajkMNjvubFhTfda5DDf2SgFP5l0Yh6TGGH5XumRv9LqL5Q=="], + + "@react-types/tabs": ["@react-types/tabs@3.3.19", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-fE+qI43yR5pAMpeqPxGqQq9jDHXEPqXskuxNHERMW0PYMdPyem2Cw6goc5F4qeZO3Hf6uPZgHkvJz2OAq7TbBw=="], + + "@react-types/textfield": ["@react-types/textfield@3.12.6", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-hpEVKE+M3uUkTjw2WrX1NrH/B3rqDJFUa+ViNK2eVranLY4ZwFqbqaYXSzHupOF3ecSjJJv2C103JrwFvx6TPQ=="], + + "@react-types/tooltip": ["@react-types/tooltip@3.4.21", "", { "dependencies": { "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ugGHOZU6WbOdeTdbjnaEc+Ms7/WhsUCg+T3PCOIeOT9FG02Ce189yJ/+hd7oqL/tVwIhEMYJIqSCgSELFox+QA=="], + + "@readme/better-ajv-errors": ["@readme/better-ajv-errors@2.4.0", "", { "dependencies": { "@babel/code-frame": "^7.22.5", "@babel/runtime": "^7.22.5", "@humanwhocodes/momoa": "^2.0.3", "jsonpointer": "^5.0.0", "leven": "^3.1.0", "picocolors": "^1.1.1" }, "peerDependencies": { "ajv": "4.11.8 - 8" } }, "sha512-9WODaOAKSl/mU+MYNZ2aHCrkoRSvmQ+1YkLj589OEqqjOAhbn8j7Z+ilYoiTu/he6X63/clsxxAB4qny9/dDzg=="], + + "@readme/data-urls": ["@readme/data-urls@3.0.1", "", {}, "sha512-N0JGQe7cmD3hqHwfsvkIsUOdUyUMVl3ezVFkMRuvYakNx47wGSkS83EiZR2gpidceOb9xZ3FVnst2D1sCqpRIg=="], + + "@readme/httpsnippet": ["@readme/httpsnippet@11.0.0", "", { "dependencies": { "qs": "^6.11.2", "stringify-object": "^3.3.0" } }, "sha512-XSyaAsJkZfmMO9R4WDlVJARZgd4wlImftSkMkKclidniXA1h6DTya9iTqJenQo9mHQLh3u6kAC3CDRaIV+LbLw=="], + + "@readme/openapi-parser": ["@readme/openapi-parser@4.1.2", "", { "dependencies": { "@apidevtools/json-schema-ref-parser": "^13.0.5", "@readme/better-ajv-errors": "^2.3.2", "@readme/openapi-schemas": "^3.1.0", "@types/json-schema": "^7.0.15", "ajv": "^8.12.0", "ajv-draft-04": "^1.0.0" }, "peerDependencies": { "openapi-types": ">=7" } }, "sha512-lAFH88r/CHs5VZDUocEda0OSMSQsr6801sziIjOKyVA+0hSFN+BPuelPF5XvkMROHecnPd+XEJN1iNQqCgER/g=="], + + "@readme/openapi-schemas": ["@readme/openapi-schemas@3.1.0", "", {}, "sha512-9FC/6ho8uFa8fV50+FPy/ngWN53jaUu4GRXlAjcxIRrzhltJnpKkBG2Tp0IDraFJeWrOpk84RJ9EMEEYzaI1Bw=="], + + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.53.3", "", { "os": "android", "cpu": "arm" }, "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.53.3", "", { "os": "android", "cpu": "arm64" }, "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.53.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.53.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.53.3", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.53.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.53.3", "", { "os": "linux", "cpu": "arm" }, "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.53.3", "", { "os": "linux", "cpu": "arm" }, "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.53.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.53.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A=="], + + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g=="], + + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.53.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.53.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.53.3", "", { "os": "linux", "cpu": "x64" }, "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.53.3", "", { "os": "linux", "cpu": "x64" }, "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q=="], + + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.53.3", "", { "os": "none", "cpu": "arm64" }, "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.53.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.53.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA=="], + + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.53.3", "", { "os": "win32", "cpu": "x64" }, "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.53.3", "", { "os": "win32", "cpu": "x64" }, "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ=="], + + "@scure/base": ["@scure/base@1.2.6", "", {}, "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg=="], + + "@scure/bip32": ["@scure/bip32@1.7.0", "", { "dependencies": { "@noble/curves": "~1.9.0", "@noble/hashes": "~1.8.0", "@scure/base": "~1.2.5" } }, "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw=="], + + "@scure/bip39": ["@scure/bip39@1.6.0", "", { "dependencies": { "@noble/hashes": "~1.8.0", "@scure/base": "~1.2.5" } }, "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A=="], + + "@sentry/core": ["@sentry/core@5.30.0", "", { "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "tslib": "^1.9.3" } }, "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg=="], + + "@sentry/hub": ["@sentry/hub@5.30.0", "", { "dependencies": { "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "tslib": "^1.9.3" } }, "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ=="], + + "@sentry/minimal": ["@sentry/minimal@5.30.0", "", { "dependencies": { "@sentry/hub": "5.30.0", "@sentry/types": "5.30.0", "tslib": "^1.9.3" } }, "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw=="], + + "@sentry/node": ["@sentry/node@5.30.0", "", { "dependencies": { "@sentry/core": "5.30.0", "@sentry/hub": "5.30.0", "@sentry/tracing": "5.30.0", "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "cookie": "^0.4.1", "https-proxy-agent": "^5.0.0", "lru_map": "^0.3.3", "tslib": "^1.9.3" } }, "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg=="], + + "@sentry/tracing": ["@sentry/tracing@5.30.0", "", { "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "tslib": "^1.9.3" } }, "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw=="], + + "@sentry/types": ["@sentry/types@5.30.0", "", {}, "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw=="], + + "@sentry/utils": ["@sentry/utils@5.30.0", "", { "dependencies": { "@sentry/types": "5.30.0", "tslib": "^1.9.3" } }, "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww=="], + + "@shikijs/core": ["@shikijs/core@3.15.0", "", { "dependencies": { "@shikijs/types": "3.15.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-8TOG6yG557q+fMsSVa8nkEDOZNTSxjbbR8l6lF2gyr6Np+jrPlslqDxQkN6rMXCECQ3isNPZAGszAfYoJOPGlg=="], + + "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.15.0", "", { "dependencies": { "@shikijs/types": "3.15.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.3" } }, "sha512-ZedbOFpopibdLmvTz2sJPJgns8Xvyabe2QbmqMTz07kt1pTzfEvKZc5IqPVO/XFiEbbNyaOpjPBkkr1vlwS+qg=="], + + "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.15.0", "", { "dependencies": { "@shikijs/types": "3.15.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-HnqFsV11skAHvOArMZdLBZZApRSYS4LSztk2K3016Y9VCyZISnlYUYsL2hzlS7tPqKHvNqmI5JSUJZprXloMvA=="], + + "@shikijs/langs": ["@shikijs/langs@3.15.0", "", { "dependencies": { "@shikijs/types": "3.15.0" } }, "sha512-WpRvEFvkVvO65uKYW4Rzxs+IG0gToyM8SARQMtGGsH4GDMNZrr60qdggXrFOsdfOVssG/QQGEl3FnJ3EZ+8w8A=="], + + "@shikijs/themes": ["@shikijs/themes@3.15.0", "", { "dependencies": { "@shikijs/types": "3.15.0" } }, "sha512-8ow2zWb1IDvCKjYb0KiLNrK4offFdkfNVPXb1OZykpLCzRU6j+efkY+Y7VQjNlNFXonSw+4AOdGYtmqykDbRiQ=="], + + "@shikijs/twoslash": ["@shikijs/twoslash@1.29.2", "", { "dependencies": { "@shikijs/core": "1.29.2", "@shikijs/types": "1.29.2", "twoslash": "^0.2.12" } }, "sha512-2S04ppAEa477tiaLfGEn1QJWbZUmbk8UoPbAEw4PifsrxkBXtAtOflIZJNtuCwz8ptc/TPxy7CO7gW4Uoi6o/g=="], + + "@shikijs/types": ["@shikijs/types@3.15.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-BnP+y/EQnhihgHy4oIAN+6FFtmfTekwOLsQbRw9hOKwqgNy8Bdsjq8B05oAt/ZgvIWWFrshV71ytOrlPfYjIJw=="], + + "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="], + + "@styled-system/background": ["@styled-system/background@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-jtwH2C/U6ssuGSvwTN3ri/IyjdHb8W9X/g8Y0JLcrH02G+BW3OS8kZdHphF1/YyRklnrKrBT2ngwGUK6aqqV3A=="], + + "@styled-system/border": ["@styled-system/border@5.1.5", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-JvddhNrnhGigtzWRCVuAHepniyVi6hBlimxWDVAdcTuk7aRn9BYJUwfHslURtwYFsF5FoEs8Zmr1oZq2M1AP0A=="], + + "@styled-system/color": ["@styled-system/color@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-1kCkeKDZkt4GYkuFNKc7vJQMcOmTl3bJY3YBUs7fCNM6mMYJeT1pViQ2LwBSBJytj3AB0o4IdLBoepgSgGl5MA=="], + + "@styled-system/core": ["@styled-system/core@5.1.2", "", { "dependencies": { "object-assign": "^4.1.1" } }, "sha512-XclBDdNIy7OPOsN4HBsawG2eiWfCcuFt6gxKn1x4QfMIgeO6TOlA2pZZ5GWZtIhCUqEPTgIBta6JXsGyCkLBYw=="], + + "@styled-system/css": ["@styled-system/css@5.1.5", "", {}, "sha512-XkORZdS5kypzcBotAMPBoeckDs9aSZVkvrAlq5K3xP8IMAUek+x2O4NtwoSgkYkWWzVBu6DGdFZLR790QWGG+A=="], + + "@styled-system/flexbox": ["@styled-system/flexbox@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-6hHV52+eUk654Y1J2v77B8iLeBNtc+SA3R4necsu2VVinSD7+XY5PCCEzBFaWs42dtOEDIa2lMrgL0YBC01mDQ=="], + + "@styled-system/grid": ["@styled-system/grid@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-K3YiV1KyHHzgdNuNlaw8oW2ktMuGga99o1e/NAfTEi5Zsa7JXxzwEnVSDSBdJC+z6R8WYTCYRQC6bkVFcvdTeg=="], + + "@styled-system/layout": ["@styled-system/layout@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-wUhkMBqSeacPFhoE9S6UF3fsMEKFv91gF4AdDWp0Aym1yeMPpqz9l9qS/6vjSsDPF7zOb5cOKC3tcKKOMuDCPw=="], + + "@styled-system/position": ["@styled-system/position@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-60IZfMXEOOZe3l1mCu6sj/2NAyUmES2kR9Kzp7s2D3P4qKsZWxD1Se1+wJvevb+1TP+ZMkGPEYYXRyU8M1aF5A=="], + + "@styled-system/shadow": ["@styled-system/shadow@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-wqniqYb7XuZM7K7C0d1Euxc4eGtqEe/lvM0WjuAFsQVImiq6KGT7s7is+0bNI8O4Dwg27jyu4Lfqo/oIQXNzAg=="], + + "@styled-system/should-forward-prop": ["@styled-system/should-forward-prop@5.1.5", "", { "dependencies": { "@emotion/is-prop-valid": "^0.8.1", "@emotion/memoize": "^0.7.1", "styled-system": "^5.1.5" } }, "sha512-+rPRomgCGYnUIaFabDoOgpSDc4UUJ1KsmlnzcEp0tu5lFrBQKgZclSo18Z1URhaZm7a6agGtS5Xif7tuC2s52Q=="], + + "@styled-system/space": ["@styled-system/space@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-+zzYpR8uvfhcAbaPXhH8QgDAV//flxqxSjHiS9cDFQQUSznXMQmxJegbhcdEF7/eNnJgHeIXv1jmny78kipgBA=="], + + "@styled-system/typography": ["@styled-system/typography@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-BxbVUnN8N7hJ4aaPOd7wEsudeT7CxarR+2hns8XCX1zp0DFfbWw4xYa/olA0oQaqx7F1hzDg+eRaGzAJbF+jOg=="], + + "@styled-system/variant": ["@styled-system/variant@5.1.5", "", { "dependencies": { "@styled-system/core": "^5.1.2", "@styled-system/css": "^5.1.5" } }, "sha512-Yn8hXAFoWIro8+Q5J8YJd/mP85Teiut3fsGVR9CAxwgNfIAiqlYxsk5iHU7VHJks/0KjL4ATSjmbtCDC/4l1qw=="], + + "@swc/counter": ["@swc/counter@0.1.3", "", {}, "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="], + + "@swc/helpers": ["@swc/helpers@0.5.5", "", { "dependencies": { "@swc/counter": "^0.1.3", "tslib": "^2.4.0" } }, "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A=="], + + "@tailwindcss/container-queries": ["@tailwindcss/container-queries@0.1.1", "", { "peerDependencies": { "tailwindcss": ">=3.2.0" } }, "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA=="], + + "@tanem/react-nprogress": ["@tanem/react-nprogress@5.0.56", "", { "dependencies": { "@babel/runtime": "^7.28.4", "hoist-non-react-statics": "^3.3.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-OI5rXB6jxC/RLJqnIuaKNXu3qQ6Lf3+g1HqkqGz01E25iV3pZFYBihMdGsEeg/4pAm0O7xo/umcAA3jsdeibHA=="], + + "@tanstack/query-core": ["@tanstack/query-core@5.90.11", "", {}, "sha512-f9z/nXhCgWDF4lHqgIE30jxLe4sYv15QodfdPDKYAk7nAEjNcndy4dHz3ezhdUaR23BpWa4I2EH4/DZ0//Uf8A=="], + + "@tanstack/react-query": ["@tanstack/react-query@5.90.11", "", { "dependencies": { "@tanstack/query-core": "5.90.11" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-3uyzz01D1fkTLXuxF3JfoJoHQMU2fxsfJwE+6N5hHy0dVNoZOvwKP8Z2k7k1KDeD54N20apcJnG75TBAStIrBA=="], + + "@tanstack/react-virtual": ["@tanstack/react-virtual@3.13.12", "", { "dependencies": { "@tanstack/virtual-core": "3.13.12" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Gd13QdxPSukP8ZrkbgS2RwoZseTTbQPLnQEn7HY/rqtM+8Zt95f7xKC7N0EsKs7aoz0WzZ+fditZux+F8EzYxA=="], + + "@tanstack/virtual-core": ["@tanstack/virtual-core@3.13.12", "", {}, "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA=="], + + "@theguild/remark-mermaid": ["@theguild/remark-mermaid@0.1.3", "", { "dependencies": { "mermaid": "^11.0.0", "unist-util-visit": "^5.0.0" }, "peerDependencies": { "react": "^18.2.0" } }, "sha512-2FjVlaaKXK7Zj7UJAgOVTyaahn/3/EAfqYhyXg0BfDBVUl+lXcoIWRaxzqfnDr2rv8ax6GsC5mNh6hAaT86PDw=="], + + "@theguild/remark-npm2yarn": ["@theguild/remark-npm2yarn@0.3.3", "", { "dependencies": { "npm-to-yarn": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-ma6DvR03gdbvwqfKx1omqhg9May/VYGdMHvTzB4VuxkyS7KzfZ/lzrj43hmcsggpMje0x7SADA/pcMph0ejRnA=="], + + "@theme-ui/color-modes": ["@theme-ui/color-modes@0.17.2", "", { "dependencies": { "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2", "deepmerge": "^4.2.2" }, "peerDependencies": { "@emotion/react": "^11.13.3", "react": ">=18" } }, "sha512-VSycDWzmEPZwZyJGbA83yKPzjzWzE88FQPRKT3QMHsvoD5dUXlF5tFOg0gEPu2cMhKbSWLCFi/Rtj7ANJDSF/w=="], + + "@theme-ui/components": ["@theme-ui/components@0.17.2", "", { "dependencies": { "@styled-system/color": "^5.1.2", "@styled-system/should-forward-prop": "^5.1.2", "@styled-system/space": "^5.1.2", "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2", "@types/styled-system": "^5.1.13" }, "peerDependencies": { "@emotion/react": "^11.13.3", "@theme-ui/theme-provider": "^0.17.2", "react": ">=18" } }, "sha512-CJeflLU2P6g+B7xn0NsAaWBiRlN3BknYX8lozTBlRwg53sHlHsbQzumtVerlWUlIa+muMx8kCxJYypYBAiaHhg=="], + + "@theme-ui/core": ["@theme-ui/core@0.17.2", "", { "dependencies": { "@theme-ui/css": "^0.17.2", "deepmerge": "^4.2.2" }, "peerDependencies": { "@emotion/react": "^11.13.3", "react": ">=18" } }, "sha512-PMBaFCh/9HTlUZJFZRxZJoy+w/SVOJCr7v3s7XF5qyGcCuAB5tLv+fjcKpALaZ6QBT1SkHWd07AyTHrs0V2uRw=="], + + "@theme-ui/css": ["@theme-ui/css@0.17.2", "", { "dependencies": { "csstype": "^3.0.10" }, "peerDependencies": { "@emotion/react": "^11.11.1" } }, "sha512-sYeurC8WbZBLumt8qO7rM6ZDyvneMh6JojeZov3uwu4Ty2iis8rhqGGK8LD1SfwsWcV8pu3AivQ9xyvWZeaQrw=="], + + "@theme-ui/global": ["@theme-ui/global@0.17.2", "", { "dependencies": { "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2" }, "peerDependencies": { "@emotion/react": "^11.13.3", "react": ">=18" } }, "sha512-yH4Gv/ESDKlxDLz0u5lR3EWAZLfnb4T0Zn1d1LnO7mHv/9dVbF+MA/ogCWLi8Xvs5/u1+RMSJkPfHWfw+Xp5AQ=="], + + "@theme-ui/match-media": ["@theme-ui/match-media@0.17.2", "", { "peerDependencies": { "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2", "react": ">=18" } }, "sha512-kfCcSh35OQ/oPlKYnmipW3ZdgxgbNdejwjtYnKaQtGBQrE/Z/IiSg5MJuztI7w35dfOPtbbUZMTe8JMa34C/iA=="], + + "@theme-ui/theme-provider": ["@theme-ui/theme-provider@0.17.2", "", { "dependencies": { "@theme-ui/color-modes": "^0.17.2", "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2" }, "peerDependencies": { "@emotion/react": "^11.13.3", "react": ">=18" } }, "sha512-Y454eONQU42xHaA6oyWmc3+ViRnKjpi0SAh9zFcz+WmJ2SJVZQ4A8XWXnJHjpq38DFju/AyeEfI4puZRHTkgjQ=="], + + "@ts-morph/common": ["@ts-morph/common@0.28.1", "", { "dependencies": { "minimatch": "^10.0.1", "path-browserify": "^1.0.1", "tinyglobby": "^0.2.14" } }, "sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g=="], + + "@types/cookie": ["@types/cookie@0.6.0", "", {}, "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="], + + "@types/css-font-loading-module": ["@types/css-font-loading-module@0.0.7", "", {}, "sha512-nl09VhutdjINdWyXxHWN/w9zlNCfr60JUqJbd24YXUuCwgeL0TpFSdElCwb6cxfB6ybE19Gjj4g0jsgkXxKv1Q=="], + + "@types/d3": ["@types/d3@7.4.3", "", { "dependencies": { "@types/d3-array": "*", "@types/d3-axis": "*", "@types/d3-brush": "*", "@types/d3-chord": "*", "@types/d3-color": "*", "@types/d3-contour": "*", "@types/d3-delaunay": "*", "@types/d3-dispatch": "*", "@types/d3-drag": "*", "@types/d3-dsv": "*", "@types/d3-ease": "*", "@types/d3-fetch": "*", "@types/d3-force": "*", "@types/d3-format": "*", "@types/d3-geo": "*", "@types/d3-hierarchy": "*", "@types/d3-interpolate": "*", "@types/d3-path": "*", "@types/d3-polygon": "*", "@types/d3-quadtree": "*", "@types/d3-random": "*", "@types/d3-scale": "*", "@types/d3-scale-chromatic": "*", "@types/d3-selection": "*", "@types/d3-shape": "*", "@types/d3-time": "*", "@types/d3-time-format": "*", "@types/d3-timer": "*", "@types/d3-transition": "*", "@types/d3-zoom": "*" } }, "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww=="], + + "@types/d3-array": ["@types/d3-array@3.2.2", "", {}, "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw=="], + + "@types/d3-axis": ["@types/d3-axis@3.0.6", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw=="], + + "@types/d3-brush": ["@types/d3-brush@3.0.6", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A=="], + + "@types/d3-chord": ["@types/d3-chord@3.0.6", "", {}, "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg=="], + + "@types/d3-color": ["@types/d3-color@3.1.3", "", {}, "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A=="], + + "@types/d3-contour": ["@types/d3-contour@3.0.6", "", { "dependencies": { "@types/d3-array": "*", "@types/geojson": "*" } }, "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg=="], + + "@types/d3-delaunay": ["@types/d3-delaunay@6.0.4", "", {}, "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw=="], + + "@types/d3-dispatch": ["@types/d3-dispatch@3.0.7", "", {}, "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA=="], + + "@types/d3-drag": ["@types/d3-drag@3.0.7", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ=="], + + "@types/d3-dsv": ["@types/d3-dsv@3.0.7", "", {}, "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g=="], + + "@types/d3-ease": ["@types/d3-ease@3.0.2", "", {}, "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA=="], + + "@types/d3-fetch": ["@types/d3-fetch@3.0.7", "", { "dependencies": { "@types/d3-dsv": "*" } }, "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA=="], + + "@types/d3-force": ["@types/d3-force@3.0.10", "", {}, "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw=="], + + "@types/d3-format": ["@types/d3-format@3.0.4", "", {}, "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g=="], + + "@types/d3-geo": ["@types/d3-geo@3.1.0", "", { "dependencies": { "@types/geojson": "*" } }, "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ=="], + + "@types/d3-hierarchy": ["@types/d3-hierarchy@3.1.7", "", {}, "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg=="], + + "@types/d3-interpolate": ["@types/d3-interpolate@3.0.4", "", { "dependencies": { "@types/d3-color": "*" } }, "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA=="], + + "@types/d3-path": ["@types/d3-path@3.1.1", "", {}, "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg=="], + + "@types/d3-polygon": ["@types/d3-polygon@3.0.2", "", {}, "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA=="], + + "@types/d3-quadtree": ["@types/d3-quadtree@3.0.6", "", {}, "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg=="], + + "@types/d3-random": ["@types/d3-random@3.0.3", "", {}, "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ=="], + + "@types/d3-scale": ["@types/d3-scale@4.0.9", "", { "dependencies": { "@types/d3-time": "*" } }, "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw=="], + + "@types/d3-scale-chromatic": ["@types/d3-scale-chromatic@3.1.0", "", {}, "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ=="], + + "@types/d3-selection": ["@types/d3-selection@3.0.11", "", {}, "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w=="], + + "@types/d3-shape": ["@types/d3-shape@3.1.7", "", { "dependencies": { "@types/d3-path": "*" } }, "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg=="], + + "@types/d3-time": ["@types/d3-time@3.0.4", "", {}, "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g=="], + + "@types/d3-time-format": ["@types/d3-time-format@4.0.3", "", {}, "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg=="], + + "@types/d3-timer": ["@types/d3-timer@3.0.2", "", {}, "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw=="], + + "@types/d3-transition": ["@types/d3-transition@3.0.9", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg=="], + + "@types/d3-zoom": ["@types/d3-zoom@3.0.8", "", { "dependencies": { "@types/d3-interpolate": "*", "@types/d3-selection": "*" } }, "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw=="], + + "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="], + + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "@types/estree-jsx": ["@types/estree-jsx@1.0.5", "", { "dependencies": { "@types/estree": "*" } }, "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg=="], + + "@types/geojson": ["@types/geojson@7946.0.16", "", {}, "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg=="], + + "@types/har-format": ["@types/har-format@1.2.16", "", {}, "sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A=="], + + "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/katex": ["@types/katex@0.16.7", "", {}, "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ=="], + + "@types/lodash": ["@types/lodash@4.17.21", "", {}, "sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ=="], + + "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], + + "@types/mdx": ["@types/mdx@2.0.13", "", {}, "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw=="], + + "@types/mixpanel-browser": ["@types/mixpanel-browser@2.66.0", "", { "dependencies": { "mixpanel-browser": "*" } }, "sha512-07zYZZ9ZVHc7R4ktM+3a2clZvKkj+EJcYZ/FevTs011Fr9tdp59lVgAskMf6ZQUp3lOHLqi7K3f+9QtmEsqh1w=="], + + "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], + + "@types/nlcst": ["@types/nlcst@2.0.3", "", { "dependencies": { "@types/unist": "*" } }, "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA=="], + + "@types/node": ["@types/node@22.19.1", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ=="], + + "@types/parse-json": ["@types/parse-json@4.0.2", "", {}, "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="], + + "@types/prismjs": ["@types/prismjs@1.26.5", "", {}, "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ=="], + + "@types/prop-types": ["@types/prop-types@15.7.15", "", {}, "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw=="], + + "@types/react": ["@types/react@18.3.27", "", { "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" } }, "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w=="], + + "@types/react-dom": ["@types/react-dom@18.3.7", "", { "peerDependencies": { "@types/react": "^18.0.0" } }, "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ=="], + + "@types/styled-system": ["@types/styled-system@5.1.25", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-B1oyjE4oeAbVnkigcB0WqU2gPFuTwLV/KkLa/uJZWFB9JWVKq1Fs0QwodZXZ9Sq6cb9ngY4kDqRY/dictIchjA=="], + + "@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="], + + "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], + + "@types/vfile": ["@types/vfile@4.0.0", "", { "dependencies": { "vfile": "*" } }, "sha512-eleP0/Cz8uVWxARDLi3Axq2+fDdN4ibAXoC6Pv8p6s7znXaUL7XvhgeIhjCiNMnvlLNP+tmCLd+RuCryGgmtEg=="], + + "@typescript/vfs": ["@typescript/vfs@1.6.2", "", { "dependencies": { "debug": "^4.1.1" }, "peerDependencies": { "typescript": "*" } }, "sha512-hoBwJwcbKHmvd2QVebiytN1aELvpk9B74B4L1mFm/XT1Q/VOYAWl2vQ9AWRFtQq8zmz6enTpfTV8WRc4ATjW/g=="], + + "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="], + + "@uniswap/lib": ["@uniswap/lib@4.0.1-alpha", "", {}, "sha512-f6UIliwBbRsgVLxIaBANF6w09tYqc6Y/qXdsrbEmXHyFA7ILiKrIwRFXe1yOg8M3cksgVsO9N7yuL2DdCGQKBA=="], + + "@uniswap/sdk-core": ["@uniswap/sdk-core@7.9.0", "", { "dependencies": { "@ethersproject/address": "^5.0.2", "@ethersproject/bytes": "^5.7.0", "@ethersproject/keccak256": "5.7.0", "@ethersproject/strings": "5.7.0", "big.js": "^5.2.2", "decimal.js-light": "^2.5.0", "jsbi": "^3.1.4", "tiny-invariant": "^1.1.0", "toformat": "^2.0.0" } }, "sha512-HHUFNK3LMi4KMQCAiHkdUyL62g/nrZLvNT44CY8RN4p8kWO6XYWzqdQt6OcjCsIbhMZ/Ifhe6Py5oOoccg/jUQ=="], + + "@uniswap/swap-router-contracts": ["@uniswap/swap-router-contracts@1.3.1", "", { "dependencies": { "@openzeppelin/contracts": "3.4.2-solc-0.7", "@uniswap/v2-core": "^1.0.1", "@uniswap/v3-core": "^1.0.0", "@uniswap/v3-periphery": "^1.4.4", "dotenv": "^14.2.0", "hardhat-watcher": "^2.1.1" } }, "sha512-mh/YNbwKb7Mut96VuEtL+Z5bRe0xVIbjjiryn+iMMrK2sFKhR4duk/86mEz0UO5gSx4pQIw9G5276P5heY/7Rg=="], + + "@uniswap/v2-core": ["@uniswap/v2-core@1.0.1", "", {}, "sha512-MtybtkUPSyysqLY2U210NBDeCHX+ltHt3oADGdjqoThZaFRDKwM6k1Nb3F0A3hk5hwuQvytFWhrWHOEq6nVJ8Q=="], + + "@uniswap/v3-core": ["@uniswap/v3-core@1.0.1", "", {}, "sha512-7pVk4hEm00j9tc71Y9+ssYpO6ytkeI0y7WE9P6UcmNzhxPePwyAxImuhVsTqWK9YFvzgtvzJHi64pBl4jUzKMQ=="], + + "@uniswap/v3-periphery": ["@uniswap/v3-periphery@1.4.4", "", { "dependencies": { "@openzeppelin/contracts": "3.4.2-solc-0.7", "@uniswap/lib": "^4.0.1-alpha", "@uniswap/v2-core": "^1.0.1", "@uniswap/v3-core": "^1.0.0", "base64-sol": "1.0.1" } }, "sha512-S4+m+wh8HbWSO3DKk4LwUCPZJTpCugIsHrWR86m/OrUyvSqGDTXKFfc2sMuGXCZrD1ZqO3rhQsKgdWg3Hbb2Kw=="], + + "@uniswap/v3-sdk": ["@uniswap/v3-sdk@3.26.0", "", { "dependencies": { "@ethersproject/abi": "^5.5.0", "@ethersproject/solidity": "^5.0.9", "@uniswap/sdk-core": "^7.8.0", "@uniswap/swap-router-contracts": "^1.3.0", "@uniswap/v3-periphery": "^1.1.1", "@uniswap/v3-staker": "1.0.0", "tiny-invariant": "^1.1.0", "tiny-warning": "^1.0.3" } }, "sha512-bcoWNE7ntNNTHMOnDPscIqtIN67fUyrbBKr6eswI2gD2wm5b0YYFBDeh+Qc5Q3117o9i8S7QdftqrU8YSMQUfQ=="], + + "@uniswap/v3-staker": ["@uniswap/v3-staker@1.0.0", "", { "dependencies": { "@openzeppelin/contracts": "3.4.1-solc-0.7-2", "@uniswap/v3-core": "1.0.0", "@uniswap/v3-periphery": "^1.0.1" } }, "sha512-JV0Qc46Px5alvg6YWd+UIaGH9lDuYG/Js7ngxPit1SPaIP30AlVer1UYB7BRYeUVVxE+byUyIeN5jeQ7LLDjIw=="], + + "@ver0/deep-equal": ["@ver0/deep-equal@1.0.1", "", {}, "sha512-XSvL5wKXBZIv7fflMqhQx936sRpEtzxeV25xAEt0rLLXzbF6RCQaRA1jrVIn8JCubMyn/y0TaidphUtilLzl1A=="], + + "@web3icons/common": ["@web3icons/common@0.11.31", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-POTnYcB+yuKVY65C1+hSu5LViRgS1hs8njx6gFLKdjMquyNfWWvwQtKMDjz0Y509yiZDeT93QFV8U/clr1Jwcw=="], + + "@web3icons/react": ["@web3icons/react@4.1.1", "", { "dependencies": { "@web3icons/common": "0.11.31" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0" } }, "sha512-6vqi3w2J22WBJJG0EHS/6SauM72c9qyLwjy767FKdT6l60rPD43sBAxvE1fncOleiSlxNA/vY3L1c5kDTjmP+w=="], + + "@xmldom/xmldom": ["@xmldom/xmldom@0.9.8", "", {}, "sha512-p96FSY54r+WJ50FIOsCOjyj/wavs8921hG5+kVMmZgKcvIKxMXHTrjNJvRgWa/zuX3B6t2lijLNFaOyuxUH+2A=="], + + "@xstate/fsm": ["@xstate/fsm@1.6.5", "", {}, "sha512-b5o1I6aLNeYlU/3CPlj/Z91ybk1gUsKT+5NAJI+2W4UjvS5KLG28K9v5UvNoFVjHV8PajVZ00RH3vnjyQO7ZAw=="], + + "@xstate/react": ["@xstate/react@3.2.2", "", { "dependencies": { "use-isomorphic-layout-effect": "^1.1.2", "use-sync-external-store": "^1.0.0" }, "peerDependencies": { "@xstate/fsm": "^2.0.0", "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "xstate": "^4.37.2" }, "optionalPeers": ["@xstate/fsm", "xstate"] }, "sha512-feghXWLedyq8JeL13yda3XnHPZKwYDN5HPBLykpLeuNpr9178tQd2/3d0NrH6gSd0sG5mLuLeuD+ck830fgzLQ=="], + + "abitype": ["abitype@1.1.0", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A=="], + + "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], + + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + + "adm-zip": ["adm-zip@0.4.16", "", {}, "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg=="], + + "aes-js": ["aes-js@3.0.0", "", {}, "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw=="], + + "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], + + "aggregate-error": ["aggregate-error@3.1.0", "", { "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" } }, "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA=="], + + "ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], + + "ajv-draft-04": ["ajv-draft-04@1.0.0", "", { "peerDependencies": { "ajv": "^8.5.0" }, "optionalPeers": ["ajv"] }, "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw=="], + + "algoliasearch": ["algoliasearch@5.45.0", "", { "dependencies": { "@algolia/abtesting": "1.11.0", "@algolia/client-abtesting": "5.45.0", "@algolia/client-analytics": "5.45.0", "@algolia/client-common": "5.45.0", "@algolia/client-insights": "5.45.0", "@algolia/client-personalization": "5.45.0", "@algolia/client-query-suggestions": "5.45.0", "@algolia/client-search": "5.45.0", "@algolia/ingestion": "1.45.0", "@algolia/monitoring": "1.45.0", "@algolia/recommend": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-wrj4FGr14heLOYkBKV3Fbq5ZBGuIFeDJkTilYq/G+hH1CSlQBtYvG2X1j67flwv0fUeQJwnWxxRIunSemAZirA=="], + + "ansi-align": ["ansi-align@3.0.1", "", { "dependencies": { "string-width": "^4.1.0" } }, "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w=="], + + "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="], + + "ansi-escapes": ["ansi-escapes@4.3.2", "", { "dependencies": { "type-fest": "^0.21.3" } }, "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ=="], + + "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="], + + "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], + + "arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], + + "array-iterate": ["array-iterate@2.0.1", "", {}, "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg=="], + + "astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="], + + "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], + + "attr-accept": ["attr-accept@2.2.5", "", {}, "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ=="], + + "autoprefixer": ["autoprefixer@10.4.22", "", { "dependencies": { "browserslist": "^4.27.0", "caniuse-lite": "^1.0.30001754", "fraction.js": "^5.3.4", "normalize-range": "^0.1.2", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg=="], + + "babel-plugin-macros": ["babel-plugin-macros@3.1.0", "", { "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", "resolve": "^1.19.0" } }, "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg=="], + + "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="], + + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + + "base64-arraybuffer": ["base64-arraybuffer@1.0.2", "", {}, "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="], + + "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + + "base64-sol": ["base64-sol@1.0.1", "", {}, "sha512-ld3cCNMeXt4uJXmLZBHFGMvVpK9KsLVEhPpFRXnvSVAqABKbuNZg/+dsq3NuM+wxFLb/UrVkz7m1ciWmkMfTbg=="], + + "baseline-browser-mapping": ["baseline-browser-mapping@2.8.31", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw=="], + + "bech32": ["bech32@1.1.4", "", {}, "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="], + + "better-react-mathjax": ["better-react-mathjax@2.3.0", "", { "dependencies": { "mathjax-full": "^3.2.2" }, "peerDependencies": { "react": ">=16.8" } }, "sha512-K0ceQC+jQmB+NLDogO5HCpqmYf18AU2FxDbLdduYgkHYWZApFggkHE4dIaXCV1NqeoscESYXXo1GSkY6fA295w=="], + + "big.js": ["big.js@5.2.2", "", {}, "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="], + + "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], + + "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], + + "bn.js": ["bn.js@5.2.2", "", {}, "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw=="], + + "boxen": ["boxen@5.1.1", "", { "dependencies": { "ansi-align": "^3.0.0", "camelcase": "^6.2.0", "chalk": "^4.1.0", "cli-boxes": "^2.2.1", "string-width": "^4.2.2", "type-fest": "^0.20.2", "widest-line": "^3.1.0", "wrap-ansi": "^7.0.0" } }, "sha512-JtIQYts08AFAYGF4eSh3pUt3NQkYV/e75pRtQmAVTLNWR/1L7Bsswxlgzgk8nmLEM+gFszsIlA9BgD3XnSqp3g=="], + + "brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "brorand": ["brorand@1.1.0", "", {}, "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="], + + "browser-stdout": ["browser-stdout@1.3.1", "", {}, "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="], + + "browserslist": ["browserslist@4.28.0", "", { "dependencies": { "baseline-browser-mapping": "^2.8.25", "caniuse-lite": "^1.0.30001754", "electron-to-chromium": "^1.5.249", "node-releases": "^2.0.27", "update-browserslist-db": "^1.1.4" }, "bin": { "browserslist": "cli.js" } }, "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ=="], + + "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], + + "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], + + "bundle-require": ["bundle-require@5.1.0", "", { "dependencies": { "load-tsconfig": "^0.2.3" }, "peerDependencies": { "esbuild": ">=0.18" } }, "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA=="], + + "busboy": ["busboy@1.6.0", "", { "dependencies": { "streamsearch": "^1.1.0" } }, "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA=="], + + "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], + + "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], + + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], + + "camelcase": ["camelcase@6.3.0", "", {}, "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="], + + "camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001757", "", {}, "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ=="], + + "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], + + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + + "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="], + + "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="], + + "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="], + + "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="], + + "charenc": ["charenc@0.0.2", "", {}, "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="], + + "chevrotain": ["chevrotain@11.0.3", "", { "dependencies": { "@chevrotain/cst-dts-gen": "11.0.3", "@chevrotain/gast": "11.0.3", "@chevrotain/regexp-to-ast": "11.0.3", "@chevrotain/types": "11.0.3", "@chevrotain/utils": "11.0.3", "lodash-es": "4.17.21" } }, "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw=="], + + "chevrotain-allstar": ["chevrotain-allstar@0.3.1", "", { "dependencies": { "lodash-es": "^4.17.21" }, "peerDependencies": { "chevrotain": "^11.0.0" } }, "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw=="], + + "chokidar": ["chokidar@3.6.0", "", { "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" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], + + "ci-info": ["ci-info@2.0.0", "", {}, "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="], + + "clean-stack": ["clean-stack@2.2.0", "", {}, "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="], + + "cli-boxes": ["cli-boxes@2.2.1", "", {}, "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw=="], + + "cli-cursor": ["cli-cursor@3.1.0", "", { "dependencies": { "restore-cursor": "^3.1.0" } }, "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw=="], + + "cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="], + + "client-only": ["client-only@0.0.1", "", {}, "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="], + + "clipboardy": ["clipboardy@4.0.0", "", { "dependencies": { "execa": "^8.0.1", "is-wsl": "^3.1.0", "is64bit": "^2.0.0" } }, "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w=="], + + "cliui": ["cliui@7.0.4", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ=="], + + "clone": ["clone@1.0.4", "", {}, "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="], + + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + + "code-block-writer": ["code-block-writer@13.0.3", "", {}, "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg=="], + + "collapse-white-space": ["collapse-white-space@2.1.0", "", {}, "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw=="], + + "color": ["color@5.0.3", "", { "dependencies": { "color-convert": "^3.1.3", "color-string": "^2.1.3" } }, "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA=="], + + "color-convert": ["color-convert@3.1.3", "", { "dependencies": { "color-name": "^2.0.0" } }, "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg=="], + + "color-name": ["color-name@2.1.0", "", {}, "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg=="], + + "color-string": ["color-string@2.1.4", "", { "dependencies": { "color-name": "^2.0.0" } }, "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg=="], + + "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], + + "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="], + + "command-exists": ["command-exists@1.2.9", "", {}, "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w=="], + + "commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], + + "compare-versions": ["compare-versions@6.1.1", "", {}, "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg=="], + + "confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + + "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], + + "convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], + + "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], + + "cose-base": ["cose-base@1.0.3", "", { "dependencies": { "layout-base": "^1.0.0" } }, "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg=="], + + "cosmiconfig": ["cosmiconfig@7.1.0", "", { "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" } }, "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA=="], + + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], + + "crypt": ["crypt@0.0.2", "", {}, "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow=="], + + "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], + + "cssstyle": ["cssstyle@4.6.0", "", { "dependencies": { "@asamuzakjp/css-color": "^3.2.0", "rrweb-cssom": "^0.8.0" } }, "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg=="], + + "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], + + "cytoscape": ["cytoscape@3.33.1", "", {}, "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ=="], + + "cytoscape-cose-bilkent": ["cytoscape-cose-bilkent@4.1.0", "", { "dependencies": { "cose-base": "^1.0.0" }, "peerDependencies": { "cytoscape": "^3.2.0" } }, "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ=="], + + "cytoscape-fcose": ["cytoscape-fcose@2.2.0", "", { "dependencies": { "cose-base": "^2.2.0" }, "peerDependencies": { "cytoscape": "^3.2.0" } }, "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ=="], + + "d3": ["d3@7.9.0", "", { "dependencies": { "d3-array": "3", "d3-axis": "3", "d3-brush": "3", "d3-chord": "3", "d3-color": "3", "d3-contour": "4", "d3-delaunay": "6", "d3-dispatch": "3", "d3-drag": "3", "d3-dsv": "3", "d3-ease": "3", "d3-fetch": "3", "d3-force": "3", "d3-format": "3", "d3-geo": "3", "d3-hierarchy": "3", "d3-interpolate": "3", "d3-path": "3", "d3-polygon": "3", "d3-quadtree": "3", "d3-random": "3", "d3-scale": "4", "d3-scale-chromatic": "3", "d3-selection": "3", "d3-shape": "3", "d3-time": "3", "d3-time-format": "4", "d3-timer": "3", "d3-transition": "3", "d3-zoom": "3" } }, "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA=="], + + "d3-array": ["d3-array@3.2.4", "", { "dependencies": { "internmap": "1 - 2" } }, "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg=="], + + "d3-axis": ["d3-axis@3.0.0", "", {}, "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw=="], + + "d3-brush": ["d3-brush@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", "d3-interpolate": "1 - 3", "d3-selection": "3", "d3-transition": "3" } }, "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ=="], + + "d3-chord": ["d3-chord@3.0.1", "", { "dependencies": { "d3-path": "1 - 3" } }, "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g=="], + + "d3-color": ["d3-color@3.1.0", "", {}, "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="], + + "d3-contour": ["d3-contour@4.0.2", "", { "dependencies": { "d3-array": "^3.2.0" } }, "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA=="], + + "d3-delaunay": ["d3-delaunay@6.0.4", "", { "dependencies": { "delaunator": "5" } }, "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A=="], + + "d3-dispatch": ["d3-dispatch@3.0.1", "", {}, "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="], + + "d3-drag": ["d3-drag@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-selection": "3" } }, "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg=="], + + "d3-dsv": ["d3-dsv@3.0.1", "", { "dependencies": { "commander": "7", "iconv-lite": "0.6", "rw": "1" }, "bin": { "csv2json": "bin/dsv2json.js", "csv2tsv": "bin/dsv2dsv.js", "dsv2dsv": "bin/dsv2dsv.js", "dsv2json": "bin/dsv2json.js", "json2csv": "bin/json2dsv.js", "json2dsv": "bin/json2dsv.js", "json2tsv": "bin/json2dsv.js", "tsv2csv": "bin/dsv2dsv.js", "tsv2json": "bin/dsv2json.js" } }, "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q=="], + + "d3-ease": ["d3-ease@3.0.1", "", {}, "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="], + + "d3-fetch": ["d3-fetch@3.0.1", "", { "dependencies": { "d3-dsv": "1 - 3" } }, "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw=="], + + "d3-force": ["d3-force@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-quadtree": "1 - 3", "d3-timer": "1 - 3" } }, "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg=="], + + "d3-format": ["d3-format@3.1.0", "", {}, "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="], + + "d3-geo": ["d3-geo@3.1.1", "", { "dependencies": { "d3-array": "2.5.0 - 3" } }, "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q=="], + + "d3-hierarchy": ["d3-hierarchy@3.1.2", "", {}, "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA=="], + + "d3-interpolate": ["d3-interpolate@3.0.1", "", { "dependencies": { "d3-color": "1 - 3" } }, "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g=="], + + "d3-path": ["d3-path@3.1.0", "", {}, "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ=="], + + "d3-polygon": ["d3-polygon@3.0.1", "", {}, "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg=="], + + "d3-quadtree": ["d3-quadtree@3.0.1", "", {}, "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw=="], + + "d3-random": ["d3-random@3.0.1", "", {}, "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ=="], + + "d3-sankey": ["d3-sankey@0.12.3", "", { "dependencies": { "d3-array": "1 - 2", "d3-shape": "^1.2.0" } }, "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ=="], + + "d3-scale": ["d3-scale@4.0.2", "", { "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", "d3-interpolate": "1.2.0 - 3", "d3-time": "2.1.1 - 3", "d3-time-format": "2 - 4" } }, "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ=="], + + "d3-scale-chromatic": ["d3-scale-chromatic@3.1.0", "", { "dependencies": { "d3-color": "1 - 3", "d3-interpolate": "1 - 3" } }, "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ=="], + + "d3-selection": ["d3-selection@3.0.0", "", {}, "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ=="], + + "d3-shape": ["d3-shape@3.2.0", "", { "dependencies": { "d3-path": "^3.1.0" } }, "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA=="], + + "d3-time": ["d3-time@3.1.0", "", { "dependencies": { "d3-array": "2 - 3" } }, "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q=="], + + "d3-time-format": ["d3-time-format@4.1.0", "", { "dependencies": { "d3-time": "1 - 3" } }, "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg=="], + + "d3-timer": ["d3-timer@3.0.1", "", {}, "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="], + + "d3-transition": ["d3-transition@3.0.1", "", { "dependencies": { "d3-color": "1 - 3", "d3-dispatch": "1 - 3", "d3-ease": "1 - 3", "d3-interpolate": "1 - 3", "d3-timer": "1 - 3" }, "peerDependencies": { "d3-selection": "2 - 3" } }, "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w=="], + + "d3-zoom": ["d3-zoom@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", "d3-interpolate": "1 - 3", "d3-selection": "2 - 3", "d3-transition": "2 - 3" } }, "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw=="], + + "dagre-d3-es": ["dagre-d3-es@7.0.13", "", { "dependencies": { "d3": "^7.9.0", "lodash-es": "^4.17.21" } }, "sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q=="], + + "data-urls": ["data-urls@5.0.0", "", { "dependencies": { "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.0.0" } }, "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg=="], + + "dataloader": ["dataloader@2.2.3", "", {}, "sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA=="], + + "dayjs": ["dayjs@1.11.19", "", {}, "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw=="], + + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "decamelize": ["decamelize@4.0.0", "", {}, "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ=="], + + "decimal.js": ["decimal.js@10.6.0", "", {}, "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="], + + "decimal.js-light": ["decimal.js-light@2.5.1", "", {}, "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg=="], + + "decode-named-character-reference": ["decode-named-character-reference@1.2.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q=="], + + "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], + + "defaults": ["defaults@1.0.4", "", { "dependencies": { "clone": "^1.0.2" } }, "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A=="], + + "delaunator": ["delaunator@5.0.1", "", { "dependencies": { "robust-predicates": "^3.0.2" } }, "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw=="], + + "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], + + "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], + + "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], + + "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], + + "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], + + "didyoumean": ["didyoumean@1.2.2", "", {}, "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="], + + "diff": ["diff@5.2.0", "", {}, "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A=="], + + "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="], + + "dns-packet": ["dns-packet@5.6.1", "", { "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" } }, "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw=="], + + "dom-helpers": ["dom-helpers@5.2.1", "", { "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" } }, "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA=="], + + "dompurify": ["dompurify@3.3.0", "", { "optionalDependencies": { "@types/trusted-types": "^2.0.7" } }, "sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ=="], + + "dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], + + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + + "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], + + "electron-to-chromium": ["electron-to-chromium@1.5.260", "", {}, "sha512-ov8rBoOBhVawpzdre+Cmz4FB+y66Eqrk6Gwqd8NGxuhv99GQ8XqMAr351KEkOt7gukXWDg6gJWEMKgL2RLMPtA=="], + + "elliptic": ["elliptic@6.6.1", "", { "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" } }, "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g=="], + + "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "emoji-regex-xs": ["emoji-regex-xs@1.0.0", "", {}, "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg=="], + + "enquirer": ["enquirer@2.4.1", "", { "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" } }, "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ=="], + + "entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], + + "env-paths": ["env-paths@2.2.1", "", {}, "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="], + + "error-ex": ["error-ex@1.3.4", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ=="], + + "error-stack-parser": ["error-stack-parser@1.3.6", "", { "dependencies": { "stackframe": "^0.3.1" } }, "sha512-xhuSYd8wLgOXwNgjcPeXMPL/IiiA1Huck+OPvClpJViVNNlJVtM41o+1emp7bPvlCJwCatFX2DWc05/DgfbWzA=="], + + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + + "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], + + "esast-util-from-estree": ["esast-util-from-estree@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "unist-util-position-from-estree": "^2.0.0" } }, "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ=="], + + "esast-util-from-js": ["esast-util-from-js@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "acorn": "^8.0.0", "esast-util-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw=="], + + "esbuild": ["esbuild@0.27.0", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.0", "@esbuild/android-arm": "0.27.0", "@esbuild/android-arm64": "0.27.0", "@esbuild/android-x64": "0.27.0", "@esbuild/darwin-arm64": "0.27.0", "@esbuild/darwin-x64": "0.27.0", "@esbuild/freebsd-arm64": "0.27.0", "@esbuild/freebsd-x64": "0.27.0", "@esbuild/linux-arm": "0.27.0", "@esbuild/linux-arm64": "0.27.0", "@esbuild/linux-ia32": "0.27.0", "@esbuild/linux-loong64": "0.27.0", "@esbuild/linux-mips64el": "0.27.0", "@esbuild/linux-ppc64": "0.27.0", "@esbuild/linux-riscv64": "0.27.0", "@esbuild/linux-s390x": "0.27.0", "@esbuild/linux-x64": "0.27.0", "@esbuild/netbsd-arm64": "0.27.0", "@esbuild/netbsd-x64": "0.27.0", "@esbuild/openbsd-arm64": "0.27.0", "@esbuild/openbsd-x64": "0.27.0", "@esbuild/openharmony-arm64": "0.27.0", "@esbuild/sunos-x64": "0.27.0", "@esbuild/win32-arm64": "0.27.0", "@esbuild/win32-ia32": "0.27.0", "@esbuild/win32-x64": "0.27.0" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA=="], + + "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], + + "escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + + "esm": ["esm@3.2.25", "", {}, "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="], + + "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], + + "estree-util-attach-comments": ["estree-util-attach-comments@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw=="], + + "estree-util-build-jsx": ["estree-util-build-jsx@3.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-walker": "^3.0.0" } }, "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ=="], + + "estree-util-is-identifier-name": ["estree-util-is-identifier-name@3.0.0", "", {}, "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg=="], + + "estree-util-scope": ["estree-util-scope@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0" } }, "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ=="], + + "estree-util-to-js": ["estree-util-to-js@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "astring": "^1.8.0", "source-map": "^0.7.0" } }, "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg=="], + + "estree-util-value-to-estree": ["estree-util-value-to-estree@3.5.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ=="], + + "estree-util-visit": ["estree-util-visit@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/unist": "^3.0.0" } }, "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww=="], + + "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "ethereum-cryptography": ["ethereum-cryptography@1.2.0", "", { "dependencies": { "@noble/hashes": "1.2.0", "@noble/secp256k1": "1.7.1", "@scure/bip32": "1.1.5", "@scure/bip39": "1.1.1" } }, "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw=="], + + "ethers": ["ethers@5.8.0", "", { "dependencies": { "@ethersproject/abi": "5.8.0", "@ethersproject/abstract-provider": "5.8.0", "@ethersproject/abstract-signer": "5.8.0", "@ethersproject/address": "5.8.0", "@ethersproject/base64": "5.8.0", "@ethersproject/basex": "5.8.0", "@ethersproject/bignumber": "5.8.0", "@ethersproject/bytes": "5.8.0", "@ethersproject/constants": "5.8.0", "@ethersproject/contracts": "5.8.0", "@ethersproject/hash": "5.8.0", "@ethersproject/hdnode": "5.8.0", "@ethersproject/json-wallets": "5.8.0", "@ethersproject/keccak256": "5.8.0", "@ethersproject/logger": "5.8.0", "@ethersproject/networks": "5.8.0", "@ethersproject/pbkdf2": "5.8.0", "@ethersproject/properties": "5.8.0", "@ethersproject/providers": "5.8.0", "@ethersproject/random": "5.8.0", "@ethersproject/rlp": "5.8.0", "@ethersproject/sha2": "5.8.0", "@ethersproject/signing-key": "5.8.0", "@ethersproject/solidity": "5.8.0", "@ethersproject/strings": "5.8.0", "@ethersproject/transactions": "5.8.0", "@ethersproject/units": "5.8.0", "@ethersproject/wallet": "5.8.0", "@ethersproject/web": "5.8.0", "@ethersproject/wordlists": "5.8.0" } }, "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg=="], + + "eventemitter3": ["eventemitter3@4.0.7", "", {}, "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="], + + "execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="], + + "exsolve": ["exsolve@1.0.8", "", {}, "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA=="], + + "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], + + "extend-shallow": ["extend-shallow@2.0.1", "", { "dependencies": { "is-extendable": "^0.1.0" } }, "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-equals": ["fast-equals@5.3.3", "", {}, "sha512-/boTcHZeIAQ2r/tL11voclBHDeP9WPxLt+tyAbVSyyXuUFyh0Tne7gJZTqGbxnvj79TjLdCXLOY7UIPhyG5MTw=="], + + "fast-fuzzy": ["fast-fuzzy@1.12.0", "", { "dependencies": { "graphemesplit": "^2.4.1" } }, "sha512-sXxGgHS+ubYpsdLnvOvJ9w5GYYZrtL9mkosG3nfuD446ahvoWEsSKBP7ieGmWIKVLnaxRDgUJkZMdxRgA2Ni+Q=="], + + "fast-glob": ["fast-glob@3.3.3", "", { "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.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "fast-uri": ["fast-uri@3.1.0", "", {}, "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA=="], + + "fast-xml-parser": ["fast-xml-parser@5.3.2", "", { "dependencies": { "strnum": "^2.1.0" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-n8v8b6p4Z1sMgqRmqLJm3awW4NX7NkaKPfb3uJIBTSH7Pdvufi3PQ3/lJLQrvxcMYl7JI2jnDO90siPEpD8JBA=="], + + "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], + + "fault": ["fault@2.0.1", "", { "dependencies": { "format": "^0.2.0" } }, "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ=="], + + "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], + + "fetch-har": ["fetch-har@11.1.1", "", { "dependencies": { "@readme/data-urls": "^3.0.0", "@types/har-format": "^1.2.13" } }, "sha512-FXmC4o6bqnMJ/ru/F1R+ik7QqYq8aWx7NZk6Xx4iQ/4jiVb4N/HUtd3BDBP8RT+UXFEndei4diHVqUd4vwsKGA=="], + + "file-selector": ["file-selector@2.1.2", "", { "dependencies": { "tslib": "^2.7.0" } }, "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "find-root": ["find-root@1.1.0", "", {}, "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="], + + "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + + "fix-dts-default-cjs-exports": ["fix-dts-default-cjs-exports@1.0.1", "", { "dependencies": { "magic-string": "^0.30.17", "mlly": "^1.7.4", "rollup": "^4.34.8" } }, "sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg=="], + + "flat": ["flat@5.0.2", "", { "bin": { "flat": "cli.js" } }, "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="], + + "follow-redirects": ["follow-redirects@1.15.11", "", {}, "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ=="], + + "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], + + "form-data": ["form-data@4.0.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="], + + "format": ["format@0.2.2", "", {}, "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww=="], + + "fp-ts": ["fp-ts@1.19.3", "", {}, "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg=="], + + "fraction.js": ["fraction.js@5.3.4", "", {}, "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ=="], + + "framer-motion": ["framer-motion@12.23.24", "", { "dependencies": { "motion-dom": "^12.23.23", "motion-utils": "^12.23.6", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-HMi5HRoRCTou+3fb3h9oTLyJGBxHfW+HnNE25tAXOvVx/IvwMHK0cx7IR4a2ZU6sh3IX1Z+4ts32PcYBOqka8w=="], + + "fs-extra": ["fs-extra@7.0.1", "", { "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw=="], + + "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], + + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], + + "get-own-enumerable-property-symbols": ["get-own-enumerable-property-symbols@3.0.2", "", {}, "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g=="], + + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + + "get-stream": ["get-stream@8.0.1", "", {}, "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="], + + "get-tsconfig": ["get-tsconfig@4.13.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ=="], + + "github-slugger": ["github-slugger@2.0.0", "", {}, "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw=="], + + "glob": ["glob@11.1.0", "", { "dependencies": { "foreground-child": "^3.3.1", "jackspeak": "^4.1.1", "minimatch": "^10.1.1", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw=="], + + "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + + "globals": ["globals@15.15.0", "", {}, "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg=="], + + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "graphemesplit": ["graphemesplit@2.6.0", "", { "dependencies": { "js-base64": "^3.6.0", "unicode-trie": "^2.0.0" } }, "sha512-rG9w2wAfkpg0DILa1pjnjNfucng3usON360shisqIMUBw/87pojcBSrHmeE4UwryAuBih7g8m1oilf5/u8EWdQ=="], + + "graphql": ["graphql@16.12.0", "", {}, "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ=="], + + "graphql-request": ["graphql-request@7.3.5", "", { "dependencies": { "@graphql-typed-document-node/core": "^3.2.0" }, "peerDependencies": { "graphql": "14 - 16" } }, "sha512-yrikPPBQFrHTCEw+Nr89vcKkhSOaKk1a4i1aoK0q2pJp0TkkH+HxJXKeVDqzHSYAEoFoNqKmNuqda1tubgaGZQ=="], + + "graphql-tag": ["graphql-tag@2.12.6", "", { "dependencies": { "tslib": "^2.1.0" }, "peerDependencies": { "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg=="], + + "gray-matter": ["gray-matter@4.0.3", "", { "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" } }, "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q=="], + + "hachure-fill": ["hachure-fill@0.5.2", "", {}, "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg=="], + + "hardhat": ["hardhat@2.27.0", "", { "dependencies": { "@ethereumjs/util": "^9.1.0", "@ethersproject/abi": "^5.1.2", "@nomicfoundation/edr": "^0.12.0-next.7", "@nomicfoundation/solidity-analyzer": "^0.1.0", "@sentry/node": "^5.18.1", "adm-zip": "^0.4.16", "aggregate-error": "^3.0.0", "ansi-escapes": "^4.3.0", "boxen": "^5.1.2", "chokidar": "^4.0.0", "ci-info": "^2.0.0", "debug": "^4.1.1", "enquirer": "^2.3.0", "env-paths": "^2.2.0", "ethereum-cryptography": "^1.0.3", "find-up": "^5.0.0", "fp-ts": "1.19.3", "fs-extra": "^7.0.1", "immutable": "^4.0.0-rc.12", "io-ts": "1.10.4", "json-stream-stringify": "^3.1.4", "keccak": "^3.0.2", "lodash": "^4.17.11", "micro-eth-signer": "^0.14.0", "mnemonist": "^0.38.0", "mocha": "^10.0.0", "p-map": "^4.0.0", "picocolors": "^1.1.0", "raw-body": "^2.4.1", "resolve": "1.17.0", "semver": "^6.3.0", "solc": "0.8.26", "source-map-support": "^0.5.13", "stacktrace-parser": "^0.1.10", "tinyglobby": "^0.2.6", "tsort": "0.0.1", "undici": "^5.14.0", "uuid": "^8.3.2", "ws": "^7.4.6" }, "peerDependencies": { "ts-node": "*", "typescript": "*" }, "optionalPeers": ["ts-node", "typescript"], "bin": { "hardhat": "internal/cli/bootstrap.js" } }, "sha512-du7ecjx1/ueAUjvtZhVkJvWytPCjlagG3ZktYTphfzAbc1Flc6sRolw5mhKL/Loub1EIFRaflutM4bdB/YsUUw=="], + + "hardhat-watcher": ["hardhat-watcher@2.5.0", "", { "dependencies": { "chokidar": "^3.5.3" }, "peerDependencies": { "hardhat": "^2.0.0" } }, "sha512-Su2qcSMIo2YO2PrmJ0/tdkf+6pSt8zf9+4URR5edMVti6+ShI8T3xhPrwugdyTOFuyj8lKHrcTZNKUFYowYiyA=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], + + "hash.js": ["hash.js@1.1.7", "", { "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA=="], + + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "hast": ["hast@1.0.0", "", {}, "sha512-vFUqlRV5C+xqP76Wwq2SrM0kipnmpxJm7OfvVXpB35Fp+Fn4MV+ozr+JZr5qFvyR1q/U+Foim2x+3P+x9S1PLA=="], + + "hast-util-from-dom": ["hast-util-from-dom@5.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hastscript": "^9.0.0", "web-namespaces": "^2.0.0" } }, "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q=="], + + "hast-util-from-html": ["hast-util-from-html@2.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.1.0", "hast-util-from-parse5": "^8.0.0", "parse5": "^7.0.0", "vfile": "^6.0.0", "vfile-message": "^4.0.0" } }, "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw=="], + + "hast-util-from-html-isomorphic": ["hast-util-from-html-isomorphic@2.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-dom": "^5.0.0", "hast-util-from-html": "^2.0.0", "unist-util-remove-position": "^5.0.0" } }, "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw=="], + + "hast-util-from-parse5": ["hast-util-from-parse5@8.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "hastscript": "^9.0.0", "property-information": "^7.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" } }, "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg=="], + + "hast-util-is-element": ["hast-util-is-element@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g=="], + + "hast-util-parse-selector": ["hast-util-parse-selector@4.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A=="], + + "hast-util-properties-to-mdx-jsx-attributes": ["hast-util-properties-to-mdx-jsx-attributes@1.0.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "estree-util-value-to-estree": "^3.0.0", "mdast-util-mdx-jsx": "^3.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0" } }, "sha512-ZzxhjHZ+gyxaPIFp/nuRpVL4GIFoqzfH6vNgjaA3CuUAV6XCxYwAQfRczrZRkgL6msi6DdOl+/QEduOdzszvbg=="], + + "hast-util-raw": ["hast-util-raw@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-from-parse5": "^8.0.0", "hast-util-to-parse5": "^8.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "parse5": "^7.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw=="], + + "hast-util-to-estree": ["hast-util-to-estree@3.1.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-attach-comments": "^3.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w=="], + + "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="], + + "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.6", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg=="], + + "hast-util-to-parse5": ["hast-util-to-parse5@8.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw=="], + + "hast-util-to-string": ["hast-util-to-string@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A=="], + + "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="], + + "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="], + + "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="], + + "he": ["he@1.2.0", "", { "bin": { "he": "bin/he" } }, "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="], + + "hmac-drbg": ["hmac-drbg@1.0.1", "", { "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.1" } }, "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg=="], + + "hoist-non-react-statics": ["hoist-non-react-statics@3.3.2", "", { "dependencies": { "react-is": "^16.7.0" } }, "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw=="], + + "html-encoding-sniffer": ["html-encoding-sniffer@4.0.0", "", { "dependencies": { "whatwg-encoding": "^3.1.1" } }, "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ=="], + + "html-url-attributes": ["html-url-attributes@3.0.1", "", {}, "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ=="], + + "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="], + + "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], + + "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], + + "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], + + "human-signals": ["human-signals@5.0.0", "", {}, "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="], + + "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + + "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], + + "immutable": ["immutable@4.3.7", "", {}, "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw=="], + + "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], + + "indent-string": ["indent-string@4.0.0", "", {}, "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="], + + "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], + + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "inline-style-parser": ["inline-style-parser@0.2.7", "", {}, "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="], + + "internmap": ["internmap@2.0.3", "", {}, "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="], + + "intl-messageformat": ["intl-messageformat@10.7.18", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/fast-memoize": "2.2.7", "@formatjs/icu-messageformat-parser": "2.11.4", "tslib": "^2.8.0" } }, "sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g=="], + + "io-ts": ["io-ts@1.10.4", "", { "dependencies": { "fp-ts": "^1.0.0" } }, "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g=="], + + "is-alphabetical": ["is-alphabetical@2.0.1", "", {}, "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="], + + "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="], + + "is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], + + "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="], + + "is-buffer": ["is-buffer@1.1.6", "", {}, "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="], + + "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], + + "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="], + + "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + + "is-extendable": ["is-extendable@0.1.1", "", {}, "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="], + + "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], + + "is-interactive": ["is-interactive@1.0.0", "", {}, "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "is-obj": ["is-obj@1.0.1", "", {}, "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg=="], + + "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + + "is-potential-custom-element-name": ["is-potential-custom-element-name@1.0.1", "", {}, "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="], + + "is-regexp": ["is-regexp@1.0.0", "", {}, "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA=="], + + "is-stream": ["is-stream@3.0.0", "", {}, "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA=="], + + "is-unicode-supported": ["is-unicode-supported@0.1.0", "", {}, "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="], + + "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], + + "is64bit": ["is64bit@2.0.0", "", { "dependencies": { "system-architecture": "^0.1.0" } }, "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw=="], + + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "isows": ["isows@1.0.7", "", { "peerDependencies": { "ws": "*" } }, "sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg=="], + + "jackspeak": ["jackspeak@4.1.1", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" } }, "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ=="], + + "jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], + + "joycon": ["joycon@3.1.1", "", {}, "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw=="], + + "js-base64": ["js-base64@3.7.8", "", {}, "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow=="], + + "js-sha3": ["js-sha3@0.8.0", "", {}, "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q=="], + + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], + + "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], + + "jsbi": ["jsbi@3.2.5", "", {}, "sha512-aBE4n43IPvjaddScbvWRA2YlTzKEynHzu7MqOyTipdHucf/VxS63ViCjxYRg86M8Rxwbt/GfzHl1kKERkt45fQ=="], + + "jsdom": ["jsdom@24.1.3", "", { "dependencies": { "cssstyle": "^4.0.1", "data-urls": "^5.0.0", "decimal.js": "^10.4.3", "form-data": "^4.0.0", "html-encoding-sniffer": "^4.0.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.5", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.12", "parse5": "^7.1.2", "rrweb-cssom": "^0.7.1", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^4.1.4", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.0.0", "ws": "^8.18.0", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^2.11.2" }, "optionalPeers": ["canvas"] }, "sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ=="], + + "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + + "json-parse-even-better-errors": ["json-parse-even-better-errors@2.3.1", "", {}, "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="], + + "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + + "json-stream-stringify": ["json-stream-stringify@3.1.6", "", {}, "sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog=="], + + "jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], + + "jsonpointer": ["jsonpointer@5.0.1", "", {}, "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ=="], + + "katex": ["katex@0.16.25", "", { "dependencies": { "commander": "^8.3.0" }, "bin": { "katex": "cli.js" } }, "sha512-woHRUZ/iF23GBP1dkDQMh1QBad9dmr8/PAwNA54VrSOVYgI12MAcE14TqnDdQOdzyEonGzMepYnqBMYdsoAr8Q=="], + + "keccak": ["keccak@3.0.4", "", { "dependencies": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", "readable-stream": "^3.6.0" } }, "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q=="], + + "khroma": ["khroma@2.1.0", "", {}, "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw=="], + + "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], + + "kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="], + + "kolorist": ["kolorist@1.8.0", "", {}, "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="], + + "langium": ["langium@3.3.1", "", { "dependencies": { "chevrotain": "~11.0.3", "chevrotain-allstar": "~0.3.0", "vscode-languageserver": "~9.0.1", "vscode-languageserver-textdocument": "~1.0.11", "vscode-uri": "~3.0.8" } }, "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w=="], + + "layout-base": ["layout-base@1.0.2", "", {}, "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg=="], + + "leven": ["leven@3.1.0", "", {}, "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A=="], + + "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], + + "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], + + "load-tsconfig": ["load-tsconfig@0.2.5", "", {}, "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg=="], + + "local-pkg": ["local-pkg@1.1.2", "", { "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.3.0", "quansync": "^0.2.11" } }, "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A=="], + + "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + + "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], + + "lodash-es": ["lodash-es@4.17.21", "", {}, "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="], + + "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="], + + "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], + + "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], + + "lru-cache": ["lru-cache@11.2.2", "", {}, "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg=="], + + "lru_map": ["lru_map@0.3.3", "", {}, "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ=="], + + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + + "markdown-extensions": ["markdown-extensions@2.0.0", "", {}, "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q=="], + + "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="], + + "marked": ["marked@16.4.2", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA=="], + + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + + "mathjax-full": ["mathjax-full@3.2.2", "", { "dependencies": { "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", "speech-rule-engine": "^4.0.6" } }, "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w=="], + + "md5": ["md5@2.3.0", "", { "dependencies": { "charenc": "0.0.2", "crypt": "0.0.2", "is-buffer": "~1.1.6" } }, "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g=="], + + "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="], + + "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA=="], + + "mdast-util-frontmatter": ["mdast-util-frontmatter@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "escape-string-regexp": "^5.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-extension-frontmatter": "^2.0.0" } }, "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA=="], + + "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="], + + "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-find-and-replace": "^3.0.0", "micromark-util-character": "^2.0.0" } }, "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ=="], + + "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@2.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0" } }, "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ=="], + + "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg=="], + + "mdast-util-gfm-table": ["mdast-util-gfm-table@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg=="], + + "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="], + + "mdast-util-math": ["mdast-util-math@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "longest-streak": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.1.0", "unist-util-remove-position": "^5.0.0" } }, "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w=="], + + "mdast-util-mdx": ["mdast-util-mdx@3.0.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w=="], + + "mdast-util-mdx-expression": ["mdast-util-mdx-expression@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ=="], + + "mdast-util-mdx-jsx": ["mdast-util-mdx-jsx@3.2.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" } }, "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q=="], + + "mdast-util-mdxjs-esm": ["mdast-util-mdxjs-esm@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg=="], + + "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="], + + "mdast-util-to-hast": ["mdast-util-to-hast@13.2.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA=="], + + "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="], + + "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="], + + "memorystream": ["memorystream@0.3.1", "", {}, "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw=="], + + "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], + + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + + "mermaid": ["mermaid@11.12.1", "", { "dependencies": { "@braintree/sanitize-url": "^7.1.1", "@iconify/utils": "^3.0.1", "@mermaid-js/parser": "^0.6.3", "@types/d3": "^7.4.3", "cytoscape": "^3.29.3", "cytoscape-cose-bilkent": "^4.1.0", "cytoscape-fcose": "^2.2.0", "d3": "^7.9.0", "d3-sankey": "^0.12.3", "dagre-d3-es": "7.0.13", "dayjs": "^1.11.18", "dompurify": "^3.2.5", "katex": "^0.16.22", "khroma": "^2.1.0", "lodash-es": "^4.17.21", "marked": "^16.2.1", "roughjs": "^4.6.6", "stylis": "^4.3.6", "ts-dedent": "^2.2.0", "uuid": "^11.1.0" } }, "sha512-UlIZrRariB11TY1RtTgUWp65tphtBv4CSq7vyS2ZZ2TgoMjs2nloq+wFqxiwcxlhHUvs7DPGgMjs2aeQxz5h9g=="], + + "mhchemparser": ["mhchemparser@4.2.1", "", {}, "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ=="], + + "micro-eth-signer": ["micro-eth-signer@0.14.0", "", { "dependencies": { "@noble/curves": "~1.8.1", "@noble/hashes": "~1.7.1", "micro-packed": "~0.7.2" } }, "sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw=="], + + "micro-packed": ["micro-packed@0.7.3", "", { "dependencies": { "@scure/base": "~1.2.5" } }, "sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg=="], + + "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="], + + "micromark-core-commonmark": ["micromark-core-commonmark@2.0.3", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-destination": "^2.0.0", "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-title": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-html-tag-name": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg=="], + + "micromark-extension-frontmatter": ["micromark-extension-frontmatter@2.0.0", "", { "dependencies": { "fault": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg=="], + + "micromark-extension-gfm": ["micromark-extension-gfm@3.0.0", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", "micromark-extension-gfm-strikethrough": "^2.0.0", "micromark-extension-gfm-table": "^2.0.0", "micromark-extension-gfm-tagfilter": "^2.0.0", "micromark-extension-gfm-task-list-item": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w=="], + + "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@2.1.0", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw=="], + + "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw=="], + + "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw=="], + + "micromark-extension-gfm-table": ["micromark-extension-gfm-table@2.1.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg=="], + + "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg=="], + + "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="], + + "micromark-extension-math": ["micromark-extension-math@3.1.0", "", { "dependencies": { "@types/katex": "^0.16.0", "devlop": "^1.0.0", "katex": "^0.16.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg=="], + + "micromark-extension-mdx-expression": ["micromark-extension-mdx-expression@3.0.1", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q=="], + + "micromark-extension-mdx-jsx": ["micromark-extension-mdx-jsx@3.0.2", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ=="], + + "micromark-extension-mdx-md": ["micromark-extension-mdx-md@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ=="], + + "micromark-extension-mdxjs": ["micromark-extension-mdxjs@3.0.0", "", { "dependencies": { "acorn": "^8.0.0", "acorn-jsx": "^5.0.0", "micromark-extension-mdx-expression": "^3.0.0", "micromark-extension-mdx-jsx": "^3.0.0", "micromark-extension-mdx-md": "^2.0.0", "micromark-extension-mdxjs-esm": "^3.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ=="], + + "micromark-extension-mdxjs-esm": ["micromark-extension-mdxjs-esm@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A=="], + + "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="], + + "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="], + + "micromark-factory-mdx-expression": ["micromark-factory-mdx-expression@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ=="], + + "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="], + + "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="], + + "micromark-factory-whitespace": ["micromark-factory-whitespace@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ=="], + + "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="], + + "micromark-util-chunked": ["micromark-util-chunked@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA=="], + + "micromark-util-classify-character": ["micromark-util-classify-character@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q=="], + + "micromark-util-combine-extensions": ["micromark-util-combine-extensions@2.0.1", "", { "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg=="], + + "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@2.0.2", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw=="], + + "micromark-util-decode-string": ["micromark-util-decode-string@2.0.1", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ=="], + + "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="], + + "micromark-util-events-to-acorn": ["micromark-util-events-to-acorn@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg=="], + + "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="], + + "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="], + + "micromark-util-resolve-all": ["micromark-util-resolve-all@2.0.1", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg=="], + + "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="], + + "micromark-util-subtokenize": ["micromark-util-subtokenize@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA=="], + + "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="], + + "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + + "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "mimic-fn": ["mimic-fn@4.0.0", "", {}, "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="], + + "minimalistic-assert": ["minimalistic-assert@1.0.1", "", {}, "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="], + + "minimalistic-crypto-utils": ["minimalistic-crypto-utils@1.0.1", "", {}, "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="], + + "minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + + "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + + "mitt": ["mitt@3.0.1", "", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="], + + "mixpanel-browser": ["mixpanel-browser@2.72.0", "", { "dependencies": { "@mixpanel/rrweb": "2.0.0-alpha.18.2", "@mixpanel/rrweb-plugin-console-record": "2.0.0-alpha.18.2" } }, "sha512-Olc+1ebVBSVBjtR/Pp4t8Pc1wAI9AfA5e668B0MsI/gKJ43QcndzfQ/AT/TiP1Klup8O1C9vwykoWjvPqX+SRA=="], + + "mj-context-menu": ["mj-context-menu@0.6.1", "", {}, "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA=="], + + "mlly": ["mlly@1.8.0", "", { "dependencies": { "acorn": "^8.15.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", "ufo": "^1.6.1" } }, "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g=="], + + "mnemonist": ["mnemonist@0.38.5", "", { "dependencies": { "obliterator": "^2.0.0" } }, "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg=="], + + "mocha": ["mocha@10.8.2", "", { "dependencies": { "ansi-colors": "^4.1.3", "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", "debug": "^4.3.5", "diff": "^5.2.0", "escape-string-regexp": "^4.0.0", "find-up": "^5.0.0", "glob": "^8.1.0", "he": "^1.2.0", "js-yaml": "^4.1.0", "log-symbols": "^4.1.0", "minimatch": "^5.1.6", "ms": "^2.1.3", "serialize-javascript": "^6.0.2", "strip-json-comments": "^3.1.1", "supports-color": "^8.1.1", "workerpool": "^6.5.1", "yargs": "^16.2.0", "yargs-parser": "^20.2.9", "yargs-unparser": "^2.0.0" }, "bin": { "mocha": "bin/mocha.js", "_mocha": "bin/_mocha" } }, "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg=="], + + "motion": ["motion@12.23.24", "", { "dependencies": { "framer-motion": "^12.23.24", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-Rc5E7oe2YZ72N//S3QXGzbnXgqNrTESv8KKxABR20q2FLch9gHLo0JLyYo2hZ238bZ9Gx6cWhj9VO0IgwbMjCw=="], + + "motion-dom": ["motion-dom@12.23.23", "", { "dependencies": { "motion-utils": "^12.23.6" } }, "sha512-n5yolOs0TQQBRUFImrRfs/+6X4p3Q4n1dUEqt/H58Vx7OW6RF+foWEgmTVDhIWJIMXOuNNL0apKH2S16en9eiA=="], + + "motion-utils": ["motion-utils@12.23.6", "", {}, "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], + + "next": ["next@14.2.33", "", { "dependencies": { "@next/env": "14.2.33", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", "graceful-fs": "^4.2.11", "postcss": "8.4.31", "styled-jsx": "5.1.1" }, "optionalDependencies": { "@next/swc-darwin-arm64": "14.2.33", "@next/swc-darwin-x64": "14.2.33", "@next/swc-linux-arm64-gnu": "14.2.33", "@next/swc-linux-arm64-musl": "14.2.33", "@next/swc-linux-x64-gnu": "14.2.33", "@next/swc-linux-x64-musl": "14.2.33", "@next/swc-win32-arm64-msvc": "14.2.33", "@next/swc-win32-ia32-msvc": "14.2.33", "@next/swc-win32-x64-msvc": "14.2.33" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.41.2", "react": "^18.2.0", "react-dom": "^18.2.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-GiKHLsD00t4ACm1p00VgrI0rUFAC9cRDGReKyERlM57aeEZkOQGcZTpIbsGn0b562FTPJWmYfKwplfO9EaT6ng=="], + + "next-seo": ["next-seo@6.8.0", "", { "peerDependencies": { "next": "^8.1.1-canary.54 || >=9.0.0", "react": ">=16.0.0", "react-dom": ">=16.0.0" } }, "sha512-zcxaV67PFXCSf8e6SXxbxPaOTgc8St/esxfsYXfQXMM24UESUVSXFm7f2A9HMkAwa0Gqn4s64HxYZAGfdF4Vhg=="], + + "next-sitemap": ["next-sitemap@4.2.3", "", { "dependencies": { "@corex/deepmerge": "^4.0.43", "@next/env": "^13.4.3", "fast-glob": "^3.2.12", "minimist": "^1.2.8" }, "peerDependencies": { "next": "*" }, "bin": { "next-sitemap": "bin/next-sitemap.mjs", "next-sitemap-cjs": "bin/next-sitemap.cjs" } }, "sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ=="], + + "nextra": ["nextra@3.3.1", "", { "dependencies": { "@formatjs/intl-localematcher": "^0.5.4", "@headlessui/react": "^2.1.2", "@mdx-js/mdx": "^3.0.0", "@mdx-js/react": "^3.0.0", "@napi-rs/simple-git": "^0.1.9", "@shikijs/twoslash": "^1.0.0", "@theguild/remark-mermaid": "^0.1.3", "@theguild/remark-npm2yarn": "^0.3.2", "better-react-mathjax": "^2.0.3", "clsx": "^2.0.0", "estree-util-to-js": "^2.0.0", "estree-util-value-to-estree": "^3.0.1", "github-slugger": "^2.0.0", "graceful-fs": "^4.2.11", "gray-matter": "^4.0.3", "hast-util-to-estree": "^3.1.0", "katex": "^0.16.9", "mdast-util-from-markdown": "^2.0.1", "mdast-util-gfm": "^3.0.0", "mdast-util-to-hast": "^13.2.0", "negotiator": "^1.0.0", "p-limit": "^6.0.0", "react-medium-image-zoom": "^5.2.12", "rehype-katex": "^7.0.0", "rehype-pretty-code": "0.14.0", "rehype-raw": "^7.0.0", "remark-frontmatter": "^5.0.0", "remark-gfm": "^4.0.0", "remark-math": "^6.0.0", "remark-reading-time": "^2.0.1", "remark-smartypants": "^3.0.0", "shiki": "^1.0.0", "slash": "^5.1.0", "title": "^4.0.0", "unist-util-remove": "^4.0.0", "unist-util-visit": "^5.0.0", "yaml": "^2.3.2", "zod": "^3.22.3", "zod-validation-error": "^3.0.0" }, "peerDependencies": { "next": ">=13", "react": ">=18", "react-dom": ">=18" } }, "sha512-jiwj+LfUPHHeAxJAEqFuglxnbjFgzAOnDWFsjv7iv3BWiX8OksDwd3I2Sv3j2zba00iIBDEPdNeylfzTtTLZVg=="], + + "nlcst-to-string": ["nlcst-to-string@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0" } }, "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA=="], + + "node-addon-api": ["node-addon-api@2.0.2", "", {}, "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA=="], + + "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="], + + "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], + + "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], + + "normalize-range": ["normalize-range@0.1.2", "", {}, "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="], + + "npm-run-path": ["npm-run-path@5.3.0", "", { "dependencies": { "path-key": "^4.0.0" } }, "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ=="], + + "npm-to-yarn": ["npm-to-yarn@3.0.1", "", {}, "sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A=="], + + "numeral": ["numeral@2.0.6", "", {}, "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA=="], + + "nwsapi": ["nwsapi@2.2.22", "", {}, "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ=="], + + "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], + + "object-hash": ["object-hash@3.0.0", "", {}, "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="], + + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], + + "obliterator": ["obliterator@2.0.5", "", {}, "sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw=="], + + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + + "onetime": ["onetime@6.0.0", "", { "dependencies": { "mimic-fn": "^4.0.0" } }, "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ=="], + + "oniguruma-parser": ["oniguruma-parser@0.12.1", "", {}, "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w=="], + + "oniguruma-to-es": ["oniguruma-to-es@4.3.4", "", { "dependencies": { "oniguruma-parser": "^0.12.1", "regex": "^6.0.1", "regex-recursion": "^6.0.2" } }, "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA=="], + + "openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="], + + "ora": ["ora@5.4.1", "", { "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", "is-unicode-supported": "^0.1.0", "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" } }, "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ=="], + + "os-tmpdir": ["os-tmpdir@1.0.2", "", {}, "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g=="], + + "ox": ["ox@0.9.6", "", { "dependencies": { "@adraffy/ens-normalize": "^1.11.0", "@noble/ciphers": "^1.3.0", "@noble/curves": "1.9.1", "@noble/hashes": "^1.8.0", "@scure/bip32": "^1.7.0", "@scure/bip39": "^1.6.0", "abitype": "^1.0.9", "eventemitter3": "5.0.1" }, "peerDependencies": { "typescript": ">=5.4.0" }, "optionalPeers": ["typescript"] }, "sha512-8SuCbHPvv2eZLYXrNmC0EC12rdzXQLdhnOMlHDW2wiCPLxBrOOJwX5L5E61by+UjTPOryqQiRSnjIKCI+GykKg=="], + + "p-limit": ["p-limit@6.2.0", "", { "dependencies": { "yocto-queue": "^1.1.1" } }, "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA=="], + + "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + + "p-map": ["p-map@4.0.0", "", { "dependencies": { "aggregate-error": "^3.0.0" } }, "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ=="], + + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + + "package-manager-detector": ["package-manager-detector@1.5.0", "", {}, "sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw=="], + + "pako": ["pako@2.1.0", "", {}, "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="], + + "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], + + "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="], + + "parse-json": ["parse-json@5.2.0", "", { "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" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], + + "parse-latin": ["parse-latin@7.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "@types/unist": "^3.0.0", "nlcst-to-string": "^4.0.0", "unist-util-modify-children": "^4.0.0", "unist-util-visit-children": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ=="], + + "parse-numeric-range": ["parse-numeric-range@1.3.0", "", {}, "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ=="], + + "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], + + "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], + + "path-data-parser": ["path-data-parser@0.1.0", "", {}, "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w=="], + + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], + + "path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + + "path-type": ["path-type@4.0.0", "", {}, "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="], + + "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], + + "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="], + + "pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], + + "pluralize": ["pluralize@8.0.0", "", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="], + + "points-on-curve": ["points-on-curve@0.2.0", "", {}, "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A=="], + + "points-on-path": ["points-on-path@0.2.1", "", { "dependencies": { "path-data-parser": "0.1.0", "points-on-curve": "0.2.0" } }, "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g=="], + + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "postcss-import": ["postcss-import@15.1.0", "", { "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew=="], + + "postcss-js": ["postcss-js@4.1.0", "", { "dependencies": { "camelcase-css": "^2.0.1" }, "peerDependencies": { "postcss": "^8.4.21" } }, "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw=="], + + "postcss-load-config": ["postcss-load-config@6.0.1", "", { "dependencies": { "lilconfig": "^3.1.1" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["jiti", "postcss", "tsx", "yaml"] }, "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g=="], + + "postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "^6.1.1" }, "peerDependencies": { "postcss": "^8.2.14" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="], + + "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], + + "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], + + "prettier": ["prettier@2.8.8", "", { "bin": { "prettier": "bin-prettier.js" } }, "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="], + + "prism-react-renderer": ["prism-react-renderer@2.4.1", "", { "dependencies": { "@types/prismjs": "^1.26.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": ">=16.0.0" } }, "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig=="], + + "prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="], + + "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="], + + "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="], + + "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], + + "psl": ["psl@1.15.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w=="], + + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "qs": ["qs@6.14.0", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w=="], + + "quansync": ["quansync@0.2.11", "", {}, "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA=="], + + "querystringify": ["querystringify@2.2.0", "", {}, "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + + "randombytes": ["randombytes@2.1.0", "", { "dependencies": { "safe-buffer": "^5.1.0" } }, "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="], + + "raw-body": ["raw-body@2.5.3", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "unpipe": "~1.0.0" } }, "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA=="], + + "react": ["react@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ=="], + + "react-aria": ["react-aria@3.44.0", "", { "dependencies": { "@internationalized/string": "^3.2.7", "@react-aria/breadcrumbs": "^3.5.29", "@react-aria/button": "^3.14.2", "@react-aria/calendar": "^3.9.2", "@react-aria/checkbox": "^3.16.2", "@react-aria/color": "^3.1.2", "@react-aria/combobox": "^3.14.0", "@react-aria/datepicker": "^3.15.2", "@react-aria/dialog": "^3.5.31", "@react-aria/disclosure": "^3.1.0", "@react-aria/dnd": "^3.11.3", "@react-aria/focus": "^3.21.2", "@react-aria/gridlist": "^3.14.1", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/landmark": "^3.0.7", "@react-aria/link": "^3.8.6", "@react-aria/listbox": "^3.15.0", "@react-aria/menu": "^3.19.3", "@react-aria/meter": "^3.4.27", "@react-aria/numberfield": "^3.12.2", "@react-aria/overlays": "^3.30.0", "@react-aria/progress": "^3.4.27", "@react-aria/radio": "^3.12.2", "@react-aria/searchfield": "^3.8.9", "@react-aria/select": "^3.17.0", "@react-aria/selection": "^3.26.0", "@react-aria/separator": "^3.4.13", "@react-aria/slider": "^3.8.2", "@react-aria/ssr": "^3.9.10", "@react-aria/switch": "^3.7.8", "@react-aria/table": "^3.17.8", "@react-aria/tabs": "^3.10.8", "@react-aria/tag": "^3.7.2", "@react-aria/textfield": "^3.18.2", "@react-aria/toast": "^3.0.8", "@react-aria/tooltip": "^3.8.8", "@react-aria/tree": "^3.1.4", "@react-aria/utils": "^3.31.0", "@react-aria/visually-hidden": "^3.8.28", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-2Pq3GQxBgM4/2BlpKYXeaZ47a3tdIcYSW/AYvKgypE3XipxOdQMDG5Sr/NBn7zuJq+thzmtfRb0lB9bTbsmaRw=="], + + "react-device-detect": ["react-device-detect@2.2.3", "", { "dependencies": { "ua-parser-js": "^1.0.33" }, "peerDependencies": { "react": ">= 0.14.0", "react-dom": ">= 0.14.0" } }, "sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw=="], + + "react-dom": ["react-dom@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" }, "peerDependencies": { "react": "^18.3.1" } }, "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw=="], + + "react-dropzone": ["react-dropzone@14.3.8", "", { "dependencies": { "attr-accept": "^2.2.4", "file-selector": "^2.1.0", "prop-types": "^15.8.1" }, "peerDependencies": { "react": ">= 16.8 || 18.0.0" } }, "sha512-sBgODnq+lcA4P296DY4wacOZz3JFpD99fp+hb//iBO2HHnyeZU3FwWyXJ6salNpqQdsZrgMrotuko/BdJMV8Ug=="], + + "react-ga4": ["react-ga4@2.1.0", "", {}, "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ=="], + + "react-image-crop": ["react-image-crop@11.0.10", "", { "peerDependencies": { "react": ">=16.13.1" } }, "sha512-+5FfDXUgYLLqBh1Y/uQhIycpHCbXkI50a+nbfkB1C0xXXUTwkisHDo2QCB1SQJyHCqIuia4FeyReqXuMDKWQTQ=="], + + "react-intersection-observer": ["react-intersection-observer@9.16.0", "", { "peerDependencies": { "react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["react-dom"] }, "sha512-w9nJSEp+DrW9KmQmeWHQyfaP6b03v+TdXynaoA964Wxt7mdR3An11z4NNCQgL4gKSK7y1ver2Fq+JKH6CWEzUA=="], + + "react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], + + "react-keyed-flatten-children": ["react-keyed-flatten-children@5.0.1", "", { "peerDependencies": { "react": ">=18.0.0", "react-is": ">=18.0.0" } }, "sha512-bZhTocogwo+q6zz3+HAQexckXhm+Ko8CaujKO6A138kVpRtF4xN8OmLE7F1Qv9YcDJrZ8gPXkJdM/VgcKjJimg=="], + + "react-markdown": ["react-markdown@10.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "html-url-attributes": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "unified": "^11.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" }, "peerDependencies": { "@types/react": ">=18", "react": ">=18" } }, "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ=="], + + "react-medium-image-zoom": ["react-medium-image-zoom@5.4.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-BsE+EnFVQzFIlyuuQrZ9iTwyKpKkqdFZV1ImEQN573QPqGrIUuNni7aF+sZwDcxlsuOMayCr6oO/PZR/yJnbRg=="], + + "react-remove-scroll": ["react-remove-scroll@2.7.1", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA=="], + + "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], + + "react-smooth": ["react-smooth@4.0.4", "", { "dependencies": { "fast-equals": "^5.0.1", "prop-types": "^15.8.1", "react-transition-group": "^4.4.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q=="], + + "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], + + "react-transition-group": ["react-transition-group@4.4.5", "", { "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", "loose-envify": "^1.4.0", "prop-types": "^15.6.2" }, "peerDependencies": { "react": ">=16.6.0", "react-dom": ">=16.6.0" } }, "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g=="], + + "react-virtuoso": ["react-virtuoso@4.15.0", "", { "peerDependencies": { "react": ">=16 || >=17 || >= 18 || >= 19", "react-dom": ">=16 || >=17 || >= 18 || >=19" } }, "sha512-yDVJqOXf3N1GlSoXj/hMhslA6EyUmgCUVzS9u8MpdZs/KIwdTtbQnttZ0yzx8ZKdKeVdd0NPJG4pTINHbAyhyw=="], + + "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="], + + "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], + + "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], + + "reading-time": ["reading-time@1.5.0", "", {}, "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg=="], + + "recharts": ["recharts@2.15.4", "", { "dependencies": { "clsx": "^2.0.0", "eventemitter3": "^4.0.1", "lodash": "^4.17.21", "react-is": "^18.3.1", "react-smooth": "^4.0.4", "recharts-scale": "^0.4.4", "tiny-invariant": "^1.3.1", "victory-vendor": "^36.6.8" }, "peerDependencies": { "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw=="], + + "recharts-scale": ["recharts-scale@0.4.5", "", { "dependencies": { "decimal.js-light": "^2.4.1" } }, "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w=="], + + "recma-build-jsx": ["recma-build-jsx@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-build-jsx": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew=="], + + "recma-jsx": ["recma-jsx@1.0.1", "", { "dependencies": { "acorn-jsx": "^5.0.0", "estree-util-to-js": "^2.0.0", "recma-parse": "^1.0.0", "recma-stringify": "^1.0.0", "unified": "^11.0.0" }, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w=="], + + "recma-parse": ["recma-parse@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "esast-util-from-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ=="], + + "recma-stringify": ["recma-stringify@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-to-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g=="], + + "regex": ["regex@6.0.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA=="], + + "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="], + + "regex-utilities": ["regex-utilities@2.3.0", "", {}, "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng=="], + + "rehype-katex": ["rehype-katex@7.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/katex": "^0.16.0", "hast-util-from-html-isomorphic": "^2.0.0", "hast-util-to-text": "^4.0.0", "katex": "^0.16.0", "unist-util-visit-parents": "^6.0.0", "vfile": "^6.0.0" } }, "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA=="], + + "rehype-mdx-code-props": ["rehype-mdx-code-props@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-properties-to-mdx-jsx-attributes": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0", "unified": "^11.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-BWWKn0N6r7/qd7lbLgv5J8of7imz1l1PyCNoY7BH0AOR9JdJlQIfA9cKqTZVEb2h2GPKh473qrBajF0i01fq3A=="], + + "rehype-parse": ["rehype-parse@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-html": "^2.0.0", "unified": "^11.0.0" } }, "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag=="], + + "rehype-pretty-code": ["rehype-pretty-code@0.14.0", "", { "dependencies": { "@types/hast": "^3.0.4", "hast-util-to-string": "^3.0.0", "parse-numeric-range": "^1.3.0", "rehype-parse": "^9.0.0", "unified": "^11.0.5", "unist-util-visit": "^5.0.0" }, "peerDependencies": { "shiki": "^1.3.0" } }, "sha512-hBeKF/Wkkf3zyUS8lal9RCUuhypDWLQc+h9UrP9Pav25FUm/AQAVh4m5gdvJxh4Oz+U+xKvdsV01p1LdvsZTiQ=="], + + "rehype-raw": ["rehype-raw@7.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", "vfile": "^6.0.0" } }, "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww=="], + + "rehype-recma": ["rehype-recma@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "hast-util-to-estree": "^3.0.0" } }, "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw=="], + + "remark-frontmatter": ["remark-frontmatter@5.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-frontmatter": "^2.0.0", "micromark-extension-frontmatter": "^2.0.0", "unified": "^11.0.0" } }, "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ=="], + + "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="], + + "remark-math": ["remark-math@6.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-math": "^3.0.0", "micromark-extension-math": "^3.0.0", "unified": "^11.0.0" } }, "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA=="], + + "remark-mdx": ["remark-mdx@3.1.1", "", { "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" } }, "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg=="], + + "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="], + + "remark-reading-time": ["remark-reading-time@2.0.2", "", { "dependencies": { "estree-util-is-identifier-name": "^2.0.0", "estree-util-value-to-estree": "^3.3.3", "reading-time": "^1.3.0", "unist-util-visit": "^3.1.0" } }, "sha512-ILjIuR0dQQ8pELPgaFvz7ralcSN62rD/L1pTUJgWb4gfua3ZwYEI8mnKGxEQCbrXSUF/OvycTkcUbifGOtOn5A=="], + + "remark-rehype": ["remark-rehype@11.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw=="], + + "remark-smartypants": ["remark-smartypants@3.0.2", "", { "dependencies": { "retext": "^9.0.0", "retext-smartypants": "^6.0.0", "unified": "^11.0.4", "unist-util-visit": "^5.0.0" } }, "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA=="], + + "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="], + + "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], + + "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], + + "requires-port": ["requires-port@1.0.0", "", {}, "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="], + + "resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], + + "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], + + "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], + + "restore-cursor": ["restore-cursor@3.1.0", "", { "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA=="], + + "retext": ["retext@9.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "retext-latin": "^4.0.0", "retext-stringify": "^4.0.0", "unified": "^11.0.0" } }, "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA=="], + + "retext-latin": ["retext-latin@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "parse-latin": "^7.0.0", "unified": "^11.0.0" } }, "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA=="], + + "retext-smartypants": ["retext-smartypants@6.2.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ=="], + + "retext-stringify": ["retext-stringify@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unified": "^11.0.0" } }, "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA=="], + + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + + "robust-predicates": ["robust-predicates@3.0.2", "", {}, "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg=="], + + "rollup": ["rollup@4.53.3", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.53.3", "@rollup/rollup-android-arm64": "4.53.3", "@rollup/rollup-darwin-arm64": "4.53.3", "@rollup/rollup-darwin-x64": "4.53.3", "@rollup/rollup-freebsd-arm64": "4.53.3", "@rollup/rollup-freebsd-x64": "4.53.3", "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", "@rollup/rollup-linux-arm-musleabihf": "4.53.3", "@rollup/rollup-linux-arm64-gnu": "4.53.3", "@rollup/rollup-linux-arm64-musl": "4.53.3", "@rollup/rollup-linux-loong64-gnu": "4.53.3", "@rollup/rollup-linux-ppc64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-musl": "4.53.3", "@rollup/rollup-linux-s390x-gnu": "4.53.3", "@rollup/rollup-linux-x64-gnu": "4.53.3", "@rollup/rollup-linux-x64-musl": "4.53.3", "@rollup/rollup-openharmony-arm64": "4.53.3", "@rollup/rollup-win32-arm64-msvc": "4.53.3", "@rollup/rollup-win32-ia32-msvc": "4.53.3", "@rollup/rollup-win32-x64-gnu": "4.53.3", "@rollup/rollup-win32-x64-msvc": "4.53.3", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA=="], + + "roughjs": ["roughjs@4.6.6", "", { "dependencies": { "hachure-fill": "^0.5.2", "path-data-parser": "^0.1.0", "points-on-curve": "^0.2.0", "points-on-path": "^0.2.1" } }, "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ=="], + + "rrweb-cssom": ["rrweb-cssom@0.7.1", "", {}, "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg=="], + + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + + "rw": ["rw@1.3.3", "", {}, "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], + + "saxes": ["saxes@6.0.0", "", { "dependencies": { "xmlchars": "^2.2.0" } }, "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA=="], + + "scheduler": ["scheduler@0.23.2", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ=="], + + "scrypt-js": ["scrypt-js@3.0.1", "", {}, "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA=="], + + "search-insights": ["search-insights@2.17.3", "", {}, "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ=="], + + "section-matter": ["section-matter@1.0.0", "", { "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" } }, "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA=="], + + "semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + + "serialize-javascript": ["serialize-javascript@6.0.2", "", { "dependencies": { "randombytes": "^2.1.0" } }, "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g=="], + + "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "shiki": ["shiki@3.15.0", "", { "dependencies": { "@shikijs/core": "3.15.0", "@shikijs/engine-javascript": "3.15.0", "@shikijs/engine-oniguruma": "3.15.0", "@shikijs/langs": "3.15.0", "@shikijs/themes": "3.15.0", "@shikijs/types": "3.15.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw=="], + + "side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], + + "side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], + + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], + + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], + + "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="], + + "slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="], + + "solc": ["solc@0.8.26", "", { "dependencies": { "command-exists": "^1.2.8", "commander": "^8.1.0", "follow-redirects": "^1.12.1", "js-sha3": "0.8.0", "memorystream": "^0.3.1", "semver": "^5.5.0", "tmp": "0.0.33" }, "bin": { "solcjs": "solc.js" } }, "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g=="], + + "source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], + + "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], + + "speech-rule-engine": ["speech-rule-engine@4.1.2", "", { "dependencies": { "@xmldom/xmldom": "0.9.8", "commander": "13.1.0", "wicked-good-xpath": "1.3.0" }, "bin": { "sre": "bin/sre" } }, "sha512-S6ji+flMEga+1QU79NDbwZ8Ivf0S/MpupQQiIC0rTpU/ZTKgcajijJJb1OcByBQDjrXCN1/DJtGz4ZJeBMPGJw=="], + + "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], + + "stack-generator": ["stack-generator@1.1.0", "", { "dependencies": { "stackframe": "^1.0.2" } }, "sha512-sZDVjwC56vZoo+a5t0LH/1sMQLWYLi/r+Z2ztyCAOhOX3QBP34GWxK0FWf2eU1TIU2CJKCKBAtDZycUh/ZKMlw=="], + + "stackframe": ["stackframe@0.3.1", "", {}, "sha512-XmoiF4T5nuWEp2x2w92WdGjdHGY/cZa6LIbRsDRQR/Xlk4uW0PAUlH1zJYVffocwKpCdwyuypIp25xsSXEtZHw=="], + + "stacktrace-gps": ["stacktrace-gps@2.4.4", "", { "dependencies": { "source-map": "0.5.6", "stackframe": "~0.3" } }, "sha512-msFhuMEEklQLUtaJ+GeCDjzUN+PamfHWQiK3C1LnbHjoxSeF5dAxiE+aJkptNMmMNOropGFJ7G3ZT7dPZHgDaQ=="], + + "stacktrace-js": ["stacktrace-js@1.3.1", "", { "dependencies": { "error-stack-parser": "^1.3.6", "stack-generator": "^1.0.7", "stacktrace-gps": "^2.4.3" } }, "sha512-b+5voFnXqg9TWdOE50soXL+WuOreYUm1Ukg9U7rzEWGL4+gcVxIcFasNBtOffVX0I1lYqVZj0PZXZvTt5e3YRQ=="], + + "stacktrace-parser": ["stacktrace-parser@0.1.11", "", { "dependencies": { "type-fest": "^0.7.1" } }, "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg=="], + + "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], + + "streamsearch": ["streamsearch@1.1.0", "", {}, "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg=="], + + "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], + + "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="], + + "stringify-object": ["stringify-object@3.3.0", "", { "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", "is-regexp": "^1.0.0" } }, "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw=="], + + "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-bom-string": ["strip-bom-string@1.0.0", "", {}, "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g=="], + + "strip-final-newline": ["strip-final-newline@3.0.0", "", {}, "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="], + + "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + + "strnum": ["strnum@2.1.1", "", {}, "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw=="], + + "style-to-js": ["style-to-js@1.1.21", "", { "dependencies": { "style-to-object": "1.0.14" } }, "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ=="], + + "style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="], + + "styled-jsx": ["styled-jsx@5.1.1", "", { "dependencies": { "client-only": "0.0.1" }, "peerDependencies": { "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" } }, "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw=="], + + "styled-system": ["styled-system@5.1.5", "", { "dependencies": { "@styled-system/background": "^5.1.2", "@styled-system/border": "^5.1.5", "@styled-system/color": "^5.1.2", "@styled-system/core": "^5.1.2", "@styled-system/flexbox": "^5.1.2", "@styled-system/grid": "^5.1.2", "@styled-system/layout": "^5.1.2", "@styled-system/position": "^5.1.2", "@styled-system/shadow": "^5.1.2", "@styled-system/space": "^5.1.2", "@styled-system/typography": "^5.1.2", "@styled-system/variant": "^5.1.5", "object-assign": "^4.1.1" } }, "sha512-7VoD0o2R3RKzOzPK0jYrVnS8iJdfkKsQJNiLRDjikOpQVqQHns/DXWaPZOH4tIKkhAT7I6wIsy9FWTWh2X3q+A=="], + + "stylis": ["stylis@4.2.0", "", {}, "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="], + + "sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], + + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + + "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], + + "symbol-tree": ["symbol-tree@3.2.4", "", {}, "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="], + + "system-architecture": ["system-architecture@0.1.0", "", {}, "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA=="], + + "tabbable": ["tabbable@6.3.0", "", {}, "sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ=="], + + "tailwindcss": ["tailwindcss@3.4.18", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.7", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ=="], + + "theme-ui": ["theme-ui@0.17.2", "", { "dependencies": { "@theme-ui/color-modes": "^0.17.2", "@theme-ui/components": "^0.17.2", "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2", "@theme-ui/global": "^0.17.2", "@theme-ui/theme-provider": "^0.17.2" }, "peerDependencies": { "@emotion/react": ">=11.1.1", "react": ">=18" } }, "sha512-BuyJ7lkgGzmI63YPA90WYB+X4LbJTMm+j1a/qxjdl7evhLKRZkEE4Xs3bv66g9T+fuqq2T2TMrcY0BMzpWkOtQ=="], + + "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="], + + "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="], + + "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="], + + "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], + + "tiny-warning": ["tiny-warning@1.0.3", "", {}, "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="], + + "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], + + "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], + + "title": ["title@4.0.1", "", { "dependencies": { "arg": "^5.0.0", "chalk": "^5.0.0", "clipboardy": "^4.0.0" }, "bin": { "title": "dist/esm/bin.js" } }, "sha512-xRnPkJx9nvE5MF6LkB5e8QJjE2FW8269wTu/LQdf7zZqBgPly0QJPf/CWAo7srj5so4yXfoLEdCFgurlpi47zg=="], + + "tmp": ["tmp@0.0.33", "", { "dependencies": { "os-tmpdir": "~1.0.2" } }, "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "toformat": ["toformat@2.0.0", "", {}, "sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ=="], + + "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], + + "tough-cookie": ["tough-cookie@4.1.4", "", { "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.2.0", "url-parse": "^1.5.3" } }, "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag=="], + + "tr46": ["tr46@5.1.1", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw=="], + + "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="], + + "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="], + + "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="], + + "ts-dedent": ["ts-dedent@2.2.0", "", {}, "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ=="], + + "ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="], + + "ts-morph": ["ts-morph@27.0.2", "", { "dependencies": { "@ts-morph/common": "~0.28.1", "code-block-writer": "^13.0.3" } }, "sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w=="], + + "ts-pattern": ["ts-pattern@5.9.0", "", {}, "sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg=="], + + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "tsort": ["tsort@0.0.1", "", {}, "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw=="], + + "tsup": ["tsup@8.5.1", "", { "dependencies": { "bundle-require": "^5.1.0", "cac": "^6.7.14", "chokidar": "^4.0.3", "consola": "^3.4.0", "debug": "^4.4.0", "esbuild": "^0.27.0", "fix-dts-default-cjs-exports": "^1.0.0", "joycon": "^3.1.1", "picocolors": "^1.1.1", "postcss-load-config": "^6.0.1", "resolve-from": "^5.0.0", "rollup": "^4.34.8", "source-map": "^0.7.6", "sucrase": "^3.35.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.11", "tree-kill": "^1.2.2" }, "peerDependencies": { "@microsoft/api-extractor": "^7.36.0", "@swc/core": "^1", "postcss": "^8.4.12", "typescript": ">=4.5.0" }, "optionalPeers": ["@microsoft/api-extractor", "@swc/core", "postcss", "typescript"], "bin": { "tsup": "dist/cli-default.js", "tsup-node": "dist/cli-node.js" } }, "sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing=="], + + "tsx": ["tsx@4.20.4", "", { "dependencies": { "esbuild": "~0.25.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-yyxBKfORQ7LuRt/BQKBXrpcq59ZvSW0XxwfjAt3w2/8PmdxaFzijtMhTawprSHhpzeM5BgU2hXHG3lklIERZXg=="], + + "twoslash": ["twoslash@0.2.12", "", { "dependencies": { "@typescript/vfs": "^1.6.0", "twoslash-protocol": "0.2.12" }, "peerDependencies": { "typescript": "*" } }, "sha512-tEHPASMqi7kqwfJbkk7hc/4EhlrKCSLcur+TcvYki3vhIfaRMXnXjaYFgXpoZRbT6GdprD4tGuVBEmTpUgLBsw=="], + + "twoslash-protocol": ["twoslash-protocol@0.2.12", "", {}, "sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg=="], + + "type-fest": ["type-fest@0.20.2", "", {}, "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="], + + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "typescript-logging": ["typescript-logging@1.0.1", "", { "dependencies": { "stacktrace-js": "1.3.1" } }, "sha512-zp28ABme0m5q/nXabBaY9Hv/35N8lMH4FsvhpUO0zVi4vFs3uKlb5br2it61HAZF5k+U0aP6E67j0VD0IzXGpQ=="], + + "typy": ["typy@3.3.0", "", {}, "sha512-Du53deMF9X9pSM3gVXDjLBq14BUfZWSGKfmmR1kTlg953RaIZehfc8fQuoAiW+SRO6bJsP+59mv1tsH8vwKghg=="], + + "ua-parser-js": ["ua-parser-js@1.0.41", "", { "bin": { "ua-parser-js": "script/cli.js" } }, "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug=="], + + "ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="], + + "undici": ["undici@5.29.0", "", { "dependencies": { "@fastify/busboy": "^2.0.0" } }, "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg=="], + + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "unicode-trie": ["unicode-trie@2.0.0", "", { "dependencies": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" } }, "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ=="], + + "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="], + + "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="], + + "unist-util-is": ["unist-util-is@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g=="], + + "unist-util-modify-children": ["unist-util-modify-children@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "array-iterate": "^2.0.0" } }, "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw=="], + + "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="], + + "unist-util-position-from-estree": ["unist-util-position-from-estree@2.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ=="], + + "unist-util-remove": ["unist-util-remove@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg=="], + + "unist-util-remove-position": ["unist-util-remove-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q=="], + + "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="], + + "unist-util-visit": ["unist-util-visit@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg=="], + + "unist-util-visit-children": ["unist-util-visit-children@3.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA=="], + + "unist-util-visit-parents": ["unist-util-visit-parents@6.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ=="], + + "universal-cookie": ["universal-cookie@7.2.2", "", { "dependencies": { "@types/cookie": "^0.6.0", "cookie": "^0.7.2" } }, "sha512-fMiOcS3TmzP2x5QV26pIH3mvhexLIT0HmPa3V7Q7knRfT9HG6kTwq02HZGLPw0sAOXrAmotElGRvTLCMbJsvxQ=="], + + "universalify": ["universalify@0.2.0", "", {}, "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg=="], + + "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], + + "update-browserslist-db": ["update-browserslist-db@1.1.4", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A=="], + + "url-parse": ["url-parse@1.5.10", "", { "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ=="], + + "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], + + "use-isomorphic-layout-effect": ["use-isomorphic-layout-effect@1.2.1", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA=="], + + "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], + + "use-sync-external-store": ["use-sync-external-store@1.6.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "uuid": ["uuid@11.1.0", "", { "bin": { "uuid": "dist/esm/bin/uuid" } }, "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A=="], + + "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="], + + "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="], + + "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="], + + "victory-vendor": ["victory-vendor@36.9.2", "", { "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", "@types/d3-interpolate": "^3.0.1", "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^3.1.0", "@types/d3-time": "^3.0.0", "@types/d3-timer": "^3.0.0", "d3-array": "^3.1.6", "d3-ease": "^3.0.1", "d3-interpolate": "^3.0.1", "d3-scale": "^4.0.2", "d3-shape": "^3.1.0", "d3-time": "^3.0.0", "d3-timer": "^3.0.1" } }, "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ=="], + + "viem": ["viem@2.40.3", "", { "dependencies": { "@noble/curves": "1.9.1", "@noble/hashes": "1.8.0", "@scure/bip32": "1.7.0", "@scure/bip39": "1.6.0", "abitype": "1.1.0", "isows": "1.0.7", "ox": "0.9.6", "ws": "8.18.3" }, "peerDependencies": { "typescript": ">=5.0.4" }, "optionalPeers": ["typescript"] }, "sha512-feYfEpbgjRkZYQpwcgxqkWzjxHI5LSDAjcGetHHwDRuX9BRQHUdV8ohrCosCYpdEhus/RknD3/bOd4qLYVPPuA=="], + + "vscode-jsonrpc": ["vscode-jsonrpc@8.2.0", "", {}, "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA=="], + + "vscode-languageserver": ["vscode-languageserver@9.0.1", "", { "dependencies": { "vscode-languageserver-protocol": "3.17.5" }, "bin": { "installServerIntoExtension": "bin/installServerIntoExtension" } }, "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g=="], + + "vscode-languageserver-protocol": ["vscode-languageserver-protocol@3.17.5", "", { "dependencies": { "vscode-jsonrpc": "8.2.0", "vscode-languageserver-types": "3.17.5" } }, "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg=="], + + "vscode-languageserver-textdocument": ["vscode-languageserver-textdocument@1.0.12", "", {}, "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA=="], + + "vscode-languageserver-types": ["vscode-languageserver-types@3.17.5", "", {}, "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="], + + "vscode-uri": ["vscode-uri@3.0.8", "", {}, "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw=="], + + "w3c-xmlserializer": ["w3c-xmlserializer@5.0.0", "", { "dependencies": { "xml-name-validator": "^5.0.0" } }, "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA=="], + + "wcwidth": ["wcwidth@1.0.1", "", { "dependencies": { "defaults": "^1.0.3" } }, "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg=="], + + "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="], + + "webidl-conversions": ["webidl-conversions@7.0.0", "", {}, "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="], + + "whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="], + + "whatwg-mimetype": ["whatwg-mimetype@4.0.0", "", {}, "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="], + + "whatwg-url": ["whatwg-url@14.2.0", "", { "dependencies": { "tr46": "^5.1.0", "webidl-conversions": "^7.0.0" } }, "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw=="], + + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], + + "wicked-good-xpath": ["wicked-good-xpath@1.3.0", "", {}, "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw=="], + + "widest-line": ["widest-line@3.1.0", "", { "dependencies": { "string-width": "^4.0.0" } }, "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg=="], + + "workerpool": ["workerpool@6.5.1", "", {}, "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA=="], + + "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + + "ws": ["ws@8.18.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw=="], + + "xml-name-validator": ["xml-name-validator@5.0.0", "", {}, "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg=="], + + "xmlchars": ["xmlchars@2.2.0", "", {}, "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="], + + "xstate": ["xstate@4.38.3", "", {}, "sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw=="], + + "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], + + "yaml": ["yaml@2.8.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="], + + "yargs": ["yargs@16.2.0", "", { "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" } }, "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw=="], + + "yargs-parser": ["yargs-parser@20.2.9", "", {}, "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="], + + "yargs-unparser": ["yargs-unparser@2.0.0", "", { "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" } }, "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA=="], + + "yocto-queue": ["yocto-queue@1.2.2", "", {}, "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ=="], + + "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + + "zod-validation-error": ["zod-validation-error@3.5.4", "", { "peerDependencies": { "zod": "^3.24.4" } }, "sha512-+hEiRIiPobgyuFlEojnqjJnhFvg4r/i3cqgcm67eehZf/WBaK3g6cD02YU9mtdVxZjv8CzCA9n/Rhrs3yAAvAw=="], + + "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], + + "@antfu/install-pkg/tinyexec": ["tinyexec@1.0.2", "", {}, "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg=="], + + "@asamuzakjp/css-color/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "@edgeandnode/common/@pinax/graph-networks-registry": ["@pinax/graph-networks-registry@0.6.7", "", {}, "sha512-xogeCEZ50XRMxpBwE3TZjJ8RCO8Guv39gDRrrKtlpDEDEMLm0MzD3A0SQObgj7aF7qTZNRTWzsuvQdxgzw25wQ=="], + + "@edgeandnode/ens/zod": ["zod@4.1.13", "", {}, "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig=="], + + "@emotion/babel-plugin/escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "@emotion/babel-plugin/source-map": ["source-map@0.5.7", "", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], + + "@emotion/is-prop-valid/@emotion/memoize": ["@emotion/memoize@0.7.4", "", {}, "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="], + + "@ensdomains/address-encoder/@noble/curves": ["@noble/curves@1.8.2", "", { "dependencies": { "@noble/hashes": "1.7.2" } }, "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g=="], + + "@ensdomains/address-encoder/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="], + + "@ensdomains/content-hash/@ensdomains/address-encoder": ["@ensdomains/address-encoder@1.0.0-rc.3", "", { "dependencies": { "@noble/curves": "^1.2.0", "@noble/hashes": "^1.3.2", "@scure/base": "^1.1.5" } }, "sha512-8o6zH69rObIqDY4PusEWuN9jvVOct+9jj9AOPO7ifc3ev8nmsly0e8TE1sHkhk0iKFbd3DlSsUnJ+yuRWmdLCQ=="], + + "@ensdomains/content-hash/@noble/curves": ["@noble/curves@1.8.2", "", { "dependencies": { "@noble/hashes": "1.7.2" } }, "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g=="], + + "@ensdomains/dnsprovejs/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="], + + "@ensdomains/ensjs/abitype": ["abitype@1.2.0", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-fD3ROjckUrWsybaSor2AdWxzA0e/DSyV2dA4aYd7bd8orHsoJjl09fOgKfUkTDfk0BsDGBf4NBgu/c7JoS2Npw=="], + + "@ensdomains/ensjs/graphql-request": ["graphql-request@7.1.2", "", { "dependencies": { "@graphql-typed-document-node/core": "^3.2.0" }, "peerDependencies": { "graphql": "14 - 16" } }, "sha512-+XE3iuC55C2di5ZUrB4pjgwe+nIQBuXVIK9J98wrVwojzDW3GMdSBZfxUk8l4j9TieIpjpggclxhNEU9ebGF8w=="], + + "@ethereumjs/util/ethereum-cryptography": ["ethereum-cryptography@2.2.1", "", { "dependencies": { "@noble/curves": "1.4.2", "@noble/hashes": "1.4.0", "@scure/bip32": "1.4.0", "@scure/bip39": "1.3.0" } }, "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg=="], + + "@ethersproject/abi/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], + + "@ethersproject/address/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], + + "@ethersproject/hash/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], + + "@ethersproject/json-wallets/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], + + "@ethersproject/solidity/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], + + "@ethersproject/transactions/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], + + "@ethersproject/wallet/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], + + "@figma/code-connect/commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], + + "@figma/code-connect/zod": ["zod@3.25.58", "", {}, "sha512-DVLmMQzSZwNYzQoMaM3MQWnxr2eq+AtM9Hx3w1/Yl0pH8sLTSjN4jGP7w6f7uand6Hw44tsnSu1hz1AOA6qI2Q=="], + + "@formatjs/ecma402-abstract/@formatjs/intl-localematcher": ["@formatjs/intl-localematcher@0.6.2", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA=="], + + "@headlessui/react/@floating-ui/react": ["@floating-ui/react@0.26.28", "", { "dependencies": { "@floating-ui/react-dom": "^2.1.2", "@floating-ui/utils": "^0.2.8", "tabbable": "^6.0.0" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw=="], + + "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + + "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + + "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], + + "@radix-ui/react-alert-dialog/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-collection/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-dialog/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], + + "@radix-ui/react-dialog/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-label/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.4", "", { "dependencies": { "@radix-ui/react-slot": "1.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg=="], + + "@radix-ui/react-menu/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], + + "@radix-ui/react-menu/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-popover/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], + + "@radix-ui/react-popover/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-portal/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.4", "", { "dependencies": { "@radix-ui/react-slot": "1.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg=="], + + "@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-toast/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], + + "@radix-ui/react-tooltip/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], + + "@radix-ui/react-tooltip/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@sentry/core/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], + + "@sentry/hub/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], + + "@sentry/minimal/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], + + "@sentry/node/cookie": ["cookie@0.4.2", "", {}, "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="], + + "@sentry/node/https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="], + + "@sentry/node/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], + + "@sentry/tracing/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], + + "@sentry/utils/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], + + "@shikijs/twoslash/@shikijs/core": ["@shikijs/core@1.29.2", "", { "dependencies": { "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ=="], + + "@shikijs/twoslash/@shikijs/types": ["@shikijs/types@1.29.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw=="], + + "@styled-system/should-forward-prop/@emotion/memoize": ["@emotion/memoize@0.7.5", "", {}, "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ=="], + + "@ts-morph/common/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], + + "@uniswap/sdk-core/@ethersproject/strings": ["@ethersproject/strings@5.7.0", "", { "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/constants": "^5.7.0", "@ethersproject/logger": "^5.7.0" } }, "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg=="], + + "@uniswap/swap-router-contracts/dotenv": ["dotenv@14.3.2", "", {}, "sha512-vwEppIphpFdvaMCaHfCEv9IgwcxMljMw2TnAQBB4VWPvzXQLTb82jwmdOKzlEVUL3gNFT4l4TPKO+Bn+sqcrVQ=="], + + "@uniswap/v3-staker/@openzeppelin/contracts": ["@openzeppelin/contracts@3.4.1-solc-0.7-2", "", {}, "sha512-tAG9LWg8+M2CMu7hIsqHPaTyG4uDzjr6mhvH96LvOpLZZj6tgzTluBt+LsCf1/QaYrlis6pITvpIaIhE+iZB+Q=="], + + "@uniswap/v3-staker/@uniswap/v3-core": ["@uniswap/v3-core@1.0.0", "", {}, "sha512-kSC4djMGKMHj7sLMYVnn61k9nu+lHjMIxgg9CDQT+s2QYLoA56GbSK9Oxr+qJXzzygbkrmuY6cwgP6cW2JXPFA=="], + + "ansi-escapes/type-fest": ["type-fest@0.21.3", "", {}, "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="], + + "ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "cosmiconfig/yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="], + + "cssstyle/rrweb-cssom": ["rrweb-cssom@0.8.0", "", {}, "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw=="], + + "cytoscape-fcose/cose-base": ["cose-base@2.2.0", "", { "dependencies": { "layout-base": "^2.0.0" } }, "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g=="], + + "d3-dsv/commander": ["commander@7.2.0", "", {}, "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="], + + "d3-sankey/d3-array": ["d3-array@2.12.1", "", { "dependencies": { "internmap": "^1.0.0" } }, "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ=="], + + "d3-sankey/d3-shape": ["d3-shape@1.3.7", "", { "dependencies": { "d3-path": "1" } }, "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw=="], + + "elliptic/bn.js": ["bn.js@4.12.2", "", {}, "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw=="], + + "ethereum-cryptography/@noble/hashes": ["@noble/hashes@1.2.0", "", {}, "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ=="], + + "ethereum-cryptography/@scure/bip32": ["@scure/bip32@1.1.5", "", { "dependencies": { "@noble/hashes": "~1.2.0", "@noble/secp256k1": "~1.7.0", "@scure/base": "~1.1.0" } }, "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw=="], + + "ethereum-cryptography/@scure/bip39": ["@scure/bip39@1.1.1", "", { "dependencies": { "@noble/hashes": "~1.2.0", "@scure/base": "~1.1.0" } }, "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg=="], + + "ethers/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], + + "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], + + "glob/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], + + "gray-matter/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], + + "hardhat/boxen": ["boxen@5.1.2", "", { "dependencies": { "ansi-align": "^3.0.0", "camelcase": "^6.2.0", "chalk": "^4.1.0", "cli-boxes": "^2.2.1", "string-width": "^4.2.2", "type-fest": "^0.20.2", "widest-line": "^3.1.0", "wrap-ansi": "^7.0.0" } }, "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ=="], + + "hardhat/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "hardhat/resolve": ["resolve@1.17.0", "", { "dependencies": { "path-parse": "^1.0.6" } }, "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w=="], + + "hardhat/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], + + "hardhat/ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], + + "hast-util-to-parse5/property-information": ["property-information@6.5.0", "", {}, "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig=="], + + "hoist-non-react-statics/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], + + "import-fresh/resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + + "katex/commander": ["commander@8.3.0", "", {}, "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="], + + "local-pkg/pkg-types": ["pkg-types@2.3.0", "", { "dependencies": { "confbox": "^0.2.2", "exsolve": "^1.0.7", "pathe": "^2.0.3" } }, "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig=="], + + "mermaid/stylis": ["stylis@4.3.6", "", {}, "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ=="], + + "micro-eth-signer/@noble/curves": ["@noble/curves@1.8.2", "", { "dependencies": { "@noble/hashes": "1.7.2" } }, "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g=="], + + "micro-eth-signer/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="], + + "mocha/escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "mocha/glob": ["glob@8.1.0", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", "once": "^1.3.0" } }, "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ=="], + + "mocha/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], + + "mocha/supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="], + + "next/postcss": ["postcss@8.4.31", "", { "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="], + + "next-sitemap/@next/env": ["@next/env@13.5.11", "", {}, "sha512-fbb2C7HChgM7CemdCY+y3N1n8pcTKdqtQLbC7/EQtPdLvlMUT9JX/dBYl8MMZAtYG4uVMyPFHXckb68q/NRwqg=="], + + "nextra/shiki": ["shiki@1.29.2", "", { "dependencies": { "@shikijs/core": "1.29.2", "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/langs": "1.29.2", "@shikijs/themes": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg=="], + + "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], + + "ox/@adraffy/ens-normalize": ["@adraffy/ens-normalize@1.11.1", "", {}, "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ=="], + + "ox/abitype": ["abitype@1.2.0", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-fD3ROjckUrWsybaSor2AdWxzA0e/DSyV2dA4aYd7bd8orHsoJjl09fOgKfUkTDfk0BsDGBf4NBgu/c7JoS2Npw=="], + + "ox/eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="], + + "p-locate/p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + + "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], + + "prop-types/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], + + "raw-body/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], + + "rehype-pretty-code/shiki": ["shiki@1.29.2", "", { "dependencies": { "@shikijs/core": "1.29.2", "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/langs": "1.29.2", "@shikijs/themes": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg=="], + + "remark-reading-time/estree-util-is-identifier-name": ["estree-util-is-identifier-name@2.1.0", "", {}, "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ=="], + + "remark-reading-time/unist-util-visit": ["unist-util-visit@3.1.0", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0", "unist-util-visit-parents": "^4.0.0" } }, "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA=="], + + "restore-cursor/onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], + + "restore-cursor/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], + + "solc/commander": ["commander@8.3.0", "", {}, "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="], + + "solc/semver": ["semver@5.7.2", "", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], + + "source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "speech-rule-engine/commander": ["commander@13.1.0", "", {}, "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw=="], + + "stack-generator/stackframe": ["stackframe@1.3.4", "", {}, "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="], + + "stacktrace-gps/source-map": ["source-map@0.5.6", "", {}, "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA=="], + + "stacktrace-parser/type-fest": ["type-fest@0.7.1", "", {}, "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg=="], + + "tinyglobby/picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + + "title/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], + + "tsup/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "tsx/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], + + "unicode-trie/pako": ["pako@0.2.9", "", {}, "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="], + + "viem/ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="], + + "yargs-unparser/is-plain-obj": ["is-plain-obj@2.1.0", "", {}, "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="], + + "@ensdomains/content-hash/@ensdomains/address-encoder/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="], + + "@ensdomains/content-hash/@noble/curves/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="], + + "@ethereumjs/util/ethereum-cryptography/@noble/curves": ["@noble/curves@1.4.2", "", { "dependencies": { "@noble/hashes": "1.4.0" } }, "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw=="], + + "@ethereumjs/util/ethereum-cryptography/@noble/hashes": ["@noble/hashes@1.4.0", "", {}, "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg=="], + + "@ethereumjs/util/ethereum-cryptography/@scure/bip32": ["@scure/bip32@1.4.0", "", { "dependencies": { "@noble/curves": "~1.4.0", "@noble/hashes": "~1.4.0", "@scure/base": "~1.1.6" } }, "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg=="], + + "@ethereumjs/util/ethereum-cryptography/@scure/bip39": ["@scure/bip39@1.3.0", "", { "dependencies": { "@noble/hashes": "~1.4.0", "@scure/base": "~1.1.6" } }, "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ=="], + + "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + + "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + + "@sentry/node/https-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="], + + "@shikijs/twoslash/@shikijs/core/@shikijs/engine-javascript": ["@shikijs/engine-javascript@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "oniguruma-to-es": "^2.2.0" } }, "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A=="], + + "@shikijs/twoslash/@shikijs/core/@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1" } }, "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA=="], + + "ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + + "cytoscape-fcose/cose-base/layout-base": ["layout-base@2.0.1", "", {}, "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg=="], + + "d3-sankey/d3-array/internmap": ["internmap@1.0.1", "", {}, "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw=="], + + "d3-sankey/d3-shape/d3-path": ["d3-path@1.0.9", "", {}, "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="], + + "ethereum-cryptography/@scure/bip32/@scure/base": ["@scure/base@1.1.9", "", {}, "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg=="], + + "ethereum-cryptography/@scure/bip39/@scure/base": ["@scure/base@1.1.9", "", {}, "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg=="], + + "gray-matter/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + + "hardhat/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + + "local-pkg/pkg-types/confbox": ["confbox@0.2.2", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], + + "nextra/shiki/@shikijs/core": ["@shikijs/core@1.29.2", "", { "dependencies": { "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ=="], + + "nextra/shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "oniguruma-to-es": "^2.2.0" } }, "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A=="], + + "nextra/shiki/@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1" } }, "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA=="], + + "nextra/shiki/@shikijs/langs": ["@shikijs/langs@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2" } }, "sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ=="], + + "nextra/shiki/@shikijs/themes": ["@shikijs/themes@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2" } }, "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g=="], + + "nextra/shiki/@shikijs/types": ["@shikijs/types@1.29.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw=="], + + "p-locate/p-limit/yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + + "rehype-pretty-code/shiki/@shikijs/core": ["@shikijs/core@1.29.2", "", { "dependencies": { "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ=="], + + "rehype-pretty-code/shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "oniguruma-to-es": "^2.2.0" } }, "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A=="], + + "rehype-pretty-code/shiki/@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1" } }, "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA=="], + + "rehype-pretty-code/shiki/@shikijs/langs": ["@shikijs/langs@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2" } }, "sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ=="], + + "rehype-pretty-code/shiki/@shikijs/themes": ["@shikijs/themes@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2" } }, "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g=="], + + "rehype-pretty-code/shiki/@shikijs/types": ["@shikijs/types@1.29.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw=="], + + "remark-reading-time/unist-util-visit/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], + + "remark-reading-time/unist-util-visit/unist-util-is": ["unist-util-is@5.2.1", "", { "dependencies": { "@types/unist": "^2.0.0" } }, "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw=="], + + "remark-reading-time/unist-util-visit/unist-util-visit-parents": ["unist-util-visit-parents@4.1.1", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0" } }, "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw=="], + + "restore-cursor/onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], + + "tsup/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + + "tsx/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], + + "tsx/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], + + "tsx/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], + + "tsx/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], + + "tsx/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], + + "tsx/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], + + "tsx/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], + + "tsx/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], + + "tsx/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], + + "tsx/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], + + "tsx/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], + + "tsx/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], + + "tsx/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], + + "tsx/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], + + "tsx/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], + + "tsx/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], + + "tsx/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], + + "tsx/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], + + "tsx/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], + + "tsx/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], + + "tsx/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], + + "tsx/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], + + "tsx/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], + + "tsx/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], + + "tsx/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], + + "tsx/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], + + "@ethereumjs/util/ethereum-cryptography/@scure/bip32/@scure/base": ["@scure/base@1.1.9", "", {}, "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg=="], + + "@ethereumjs/util/ethereum-cryptography/@scure/bip39/@scure/base": ["@scure/base@1.1.9", "", {}, "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg=="], + + "@shikijs/twoslash/@shikijs/core/@shikijs/engine-javascript/oniguruma-to-es": ["oniguruma-to-es@2.3.0", "", { "dependencies": { "emoji-regex-xs": "^1.0.0", "regex": "^5.1.1", "regex-recursion": "^5.1.1" } }, "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g=="], + + "nextra/shiki/@shikijs/engine-javascript/oniguruma-to-es": ["oniguruma-to-es@2.3.0", "", { "dependencies": { "emoji-regex-xs": "^1.0.0", "regex": "^5.1.1", "regex-recursion": "^5.1.1" } }, "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g=="], + + "rehype-pretty-code/shiki/@shikijs/engine-javascript/oniguruma-to-es": ["oniguruma-to-es@2.3.0", "", { "dependencies": { "emoji-regex-xs": "^1.0.0", "regex": "^5.1.1", "regex-recursion": "^5.1.1" } }, "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g=="], + + "@shikijs/twoslash/@shikijs/core/@shikijs/engine-javascript/oniguruma-to-es/regex": ["regex@5.1.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw=="], + + "@shikijs/twoslash/@shikijs/core/@shikijs/engine-javascript/oniguruma-to-es/regex-recursion": ["regex-recursion@5.1.1", "", { "dependencies": { "regex": "^5.1.1", "regex-utilities": "^2.3.0" } }, "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w=="], + + "nextra/shiki/@shikijs/engine-javascript/oniguruma-to-es/regex": ["regex@5.1.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw=="], + + "nextra/shiki/@shikijs/engine-javascript/oniguruma-to-es/regex-recursion": ["regex-recursion@5.1.1", "", { "dependencies": { "regex": "^5.1.1", "regex-utilities": "^2.3.0" } }, "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w=="], + + "rehype-pretty-code/shiki/@shikijs/engine-javascript/oniguruma-to-es/regex": ["regex@5.1.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw=="], + + "rehype-pretty-code/shiki/@shikijs/engine-javascript/oniguruma-to-es/regex-recursion": ["regex-recursion@5.1.1", "", { "dependencies": { "regex": "^5.1.1", "regex-utilities": "^2.3.0" } }, "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w=="], + } +} diff --git a/website/src/components/CodeTabs.tsx b/website/src/components/CodeTabs.tsx new file mode 100644 index 000000000000..72655067cd8a --- /dev/null +++ b/website/src/components/CodeTabs.tsx @@ -0,0 +1,38 @@ +import { Children, isValidElement, useState } from 'react'; + +export function CodeTabs({ children, defaultIndex = 0 }: { children: React.ReactNode; defaultIndex?: number }) { + const tabs = Children.toArray(children).filter(isValidElement); + + const [activeIndex, setActiveIndex] = useState(defaultIndex); + + return ( +
+ {/* tab labels */} +
+ {tabs.map((tab: any, i: number) => { + const label = tab.props.label ?? `Tab ${i + 1}`; + return ( + + ); + })} +
+ + {/* active tab contents */} +
{tabs[activeIndex]}
+
+ ); +} + +export function CodeTab({ children }: { children: React.ReactNode }) { + return
{children}
; +} \ No newline at end of file diff --git a/website/src/layout/Layout.tsx b/website/src/layout/Layout.tsx index b1e76d3d29c6..f7973ef790f3 100644 --- a/website/src/layout/Layout.tsx +++ b/website/src/layout/Layout.tsx @@ -5,6 +5,7 @@ import { NextSeo, type NextSeoProps } from 'next-seo' import type { NextraThemeLayoutProps } from 'nextra' import { useFSRoute, useRouter } from 'nextra/hooks' import { MDXProvider } from 'nextra/mdx' +import { CodeTabs, CodeTab } from "@/components/CodeTabs" import { normalizePages } from 'nextra/normalize-pages' import { type ComponentProps, @@ -614,6 +615,8 @@ export default function Layout({ pageOpts, children }: NextraThemeLayoutProps {children} diff --git a/website/src/pages/ar/token-api/_meta.js b/website/src/pages/ar/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/ar/token-api/_meta.js +++ b/website/src/pages/ar/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/ar/token-api/endpoints/_meta.js b/website/src/pages/ar/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/ar/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/ar/token-api/endpoint-pricing.mdx b/website/src/pages/ar/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/ar/token-api/endpoint-pricing.mdx rename to website/src/pages/ar/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/ar/token-api/endpoints/endpoint-support.msx b/website/src/pages/ar/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/ar/token-api/guides/_meta-titles.json b/website/src/pages/ar/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/ar/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/ar/token-api/guides/_meta.js b/website/src/pages/ar/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/ar/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/ar/token-api/guides/gpt.mdx b/website/src/pages/ar/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/ar/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/ar/token-api/upgrade-to-v1.mdx b/website/src/pages/ar/token-api/guides/upgrade-to-v1.mdx similarity index 74% rename from website/src/pages/ar/token-api/upgrade-to-v1.mdx rename to website/src/pages/ar/token-api/guides/upgrade-to-v1.mdx index fbe09101eaa5..e2a7ccf973fa 100644 --- a/website/src/pages/ar/token-api/upgrade-to-v1.mdx +++ b/website/src/pages/ar/token-api/guides/upgrade-to-v1.mdx @@ -16,7 +16,7 @@ Used to describe endpoints supporting Solana (currently the only SVM chain suppo ## 🔑 Breaking Changes Summary -### 1. **API Versioning** +### 1. API Versioning All endpoints now use the `/v1` prefix. @@ -34,7 +34,7 @@ GET /v1/evm/balances GET /v1/evm/nft/items ``` -### 2. **Route Structure Reorganization** +### 2. Route Structure Reorganization #### 2.1 EVM Endpoints @@ -92,7 +92,7 @@ Consolidated under `/v1/svm/*` ## 📝 Parameter Changes -### 3. **Path Parameters → Query Parameters** +### 3. Path Parameters → Query Parameters All path parameters have been moved to query parameters. @@ -112,7 +112,7 @@ GET /v1/evm/holders?network=mainnet&contract=0x... GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 ``` -### 4. **Standardized Parameter Naming** +### 4. Standardized Parameter Naming All query parameters have been standardized to use snake_case naming convention. @@ -136,7 +136,7 @@ All query parameters have been standardized to use snake_case naming convention. **Important:** `matic` network has been renamed to `polygon`. -### 5. **Batched Parameters** +### 5. Batched Parameters Many parameters now support batching - accepting single values or comma-separated strings. @@ -151,17 +151,17 @@ Many parameters now support batching - accepting single values or comma-separate **Examples:** ```console -# Single value +## Single value ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -# Comma-separated, single parameter +## Comma-separated, single parameter ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -# Repeated parameter values +## Repeated parameter values ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ``` -### 6. **New Parameters** +### 6. New Parameters #### `include_null_balances` @@ -175,7 +175,7 @@ Added to balance endpoints to optionally include zero/null balances. ## 🔄 Response Changes -### 7. **Pagination Changes** +### 7. Pagination Changes Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. @@ -212,21 +212,51 @@ Pagination responses have been simplified. The API no longer computes total resu **Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. -### 8. **Removed Parameters** +### 8. Removed Parameters The following deprecated parameters have been removed: - `orderBy` - Results are now ordered by timestamp/block by default - `orderDirection` - Always descending (newest first) +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + ## 📚 Example Migrations -### Old vs New: Get Token Balances +### Example 1: Get Token Balances **Before:** ```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ``` **After:** @@ -235,7 +265,63 @@ GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet& GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ``` -### New Feature: Batched Queries +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) Query balances for multiple contracts in a single request: @@ -243,9 +329,15 @@ Query balances for multiple contracts in a single request: GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ``` +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + ## ⚠️ Important Notes -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. 2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. diff --git a/website/src/pages/ar/token-api/svm-tokens/_meta.js b/website/src/pages/ar/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/ar/token-api/svm-tokens/_meta.js +++ b/website/src/pages/ar/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/cs/token-api/_meta.js b/website/src/pages/cs/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/cs/token-api/_meta.js +++ b/website/src/pages/cs/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/cs/token-api/endpoints/_meta.js b/website/src/pages/cs/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/cs/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/cs/token-api/endpoint-pricing.mdx b/website/src/pages/cs/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/cs/token-api/endpoint-pricing.mdx rename to website/src/pages/cs/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/cs/token-api/endpoints/endpoint-support.msx b/website/src/pages/cs/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/cs/token-api/guides/_meta-titles.json b/website/src/pages/cs/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/cs/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/cs/token-api/guides/_meta.js b/website/src/pages/cs/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/cs/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/cs/token-api/guides/gpt.mdx b/website/src/pages/cs/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/cs/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/cs/token-api/upgrade-to-v1.mdx b/website/src/pages/cs/token-api/guides/upgrade-to-v1.mdx similarity index 74% rename from website/src/pages/cs/token-api/upgrade-to-v1.mdx rename to website/src/pages/cs/token-api/guides/upgrade-to-v1.mdx index fbe09101eaa5..e2a7ccf973fa 100644 --- a/website/src/pages/cs/token-api/upgrade-to-v1.mdx +++ b/website/src/pages/cs/token-api/guides/upgrade-to-v1.mdx @@ -16,7 +16,7 @@ Used to describe endpoints supporting Solana (currently the only SVM chain suppo ## 🔑 Breaking Changes Summary -### 1. **API Versioning** +### 1. API Versioning All endpoints now use the `/v1` prefix. @@ -34,7 +34,7 @@ GET /v1/evm/balances GET /v1/evm/nft/items ``` -### 2. **Route Structure Reorganization** +### 2. Route Structure Reorganization #### 2.1 EVM Endpoints @@ -92,7 +92,7 @@ Consolidated under `/v1/svm/*` ## 📝 Parameter Changes -### 3. **Path Parameters → Query Parameters** +### 3. Path Parameters → Query Parameters All path parameters have been moved to query parameters. @@ -112,7 +112,7 @@ GET /v1/evm/holders?network=mainnet&contract=0x... GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 ``` -### 4. **Standardized Parameter Naming** +### 4. Standardized Parameter Naming All query parameters have been standardized to use snake_case naming convention. @@ -136,7 +136,7 @@ All query parameters have been standardized to use snake_case naming convention. **Important:** `matic` network has been renamed to `polygon`. -### 5. **Batched Parameters** +### 5. Batched Parameters Many parameters now support batching - accepting single values or comma-separated strings. @@ -151,17 +151,17 @@ Many parameters now support batching - accepting single values or comma-separate **Examples:** ```console -# Single value +## Single value ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -# Comma-separated, single parameter +## Comma-separated, single parameter ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -# Repeated parameter values +## Repeated parameter values ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ``` -### 6. **New Parameters** +### 6. New Parameters #### `include_null_balances` @@ -175,7 +175,7 @@ Added to balance endpoints to optionally include zero/null balances. ## 🔄 Response Changes -### 7. **Pagination Changes** +### 7. Pagination Changes Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. @@ -212,21 +212,51 @@ Pagination responses have been simplified. The API no longer computes total resu **Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. -### 8. **Removed Parameters** +### 8. Removed Parameters The following deprecated parameters have been removed: - `orderBy` - Results are now ordered by timestamp/block by default - `orderDirection` - Always descending (newest first) +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + ## 📚 Example Migrations -### Old vs New: Get Token Balances +### Example 1: Get Token Balances **Before:** ```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ``` **After:** @@ -235,7 +265,63 @@ GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet& GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ``` -### New Feature: Batched Queries +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) Query balances for multiple contracts in a single request: @@ -243,9 +329,15 @@ Query balances for multiple contracts in a single request: GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ``` +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + ## ⚠️ Important Notes -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. 2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. diff --git a/website/src/pages/cs/token-api/svm-tokens/_meta.js b/website/src/pages/cs/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/cs/token-api/svm-tokens/_meta.js +++ b/website/src/pages/cs/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/de/token-api/_meta.js b/website/src/pages/de/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/de/token-api/_meta.js +++ b/website/src/pages/de/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/de/token-api/endpoints/_meta.js b/website/src/pages/de/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/de/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/de/token-api/endpoint-pricing.mdx b/website/src/pages/de/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/de/token-api/endpoint-pricing.mdx rename to website/src/pages/de/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/de/token-api/endpoints/endpoint-support.msx b/website/src/pages/de/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/de/token-api/guides/_meta-titles.json b/website/src/pages/de/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/de/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/de/token-api/guides/_meta.js b/website/src/pages/de/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/de/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/de/token-api/guides/gpt.mdx b/website/src/pages/de/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/de/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/de/token-api/upgrade-to-v1.mdx b/website/src/pages/de/token-api/guides/upgrade-to-v1.mdx similarity index 74% rename from website/src/pages/de/token-api/upgrade-to-v1.mdx rename to website/src/pages/de/token-api/guides/upgrade-to-v1.mdx index fbe09101eaa5..e2a7ccf973fa 100644 --- a/website/src/pages/de/token-api/upgrade-to-v1.mdx +++ b/website/src/pages/de/token-api/guides/upgrade-to-v1.mdx @@ -16,7 +16,7 @@ Used to describe endpoints supporting Solana (currently the only SVM chain suppo ## 🔑 Breaking Changes Summary -### 1. **API Versioning** +### 1. API Versioning All endpoints now use the `/v1` prefix. @@ -34,7 +34,7 @@ GET /v1/evm/balances GET /v1/evm/nft/items ``` -### 2. **Route Structure Reorganization** +### 2. Route Structure Reorganization #### 2.1 EVM Endpoints @@ -92,7 +92,7 @@ Consolidated under `/v1/svm/*` ## 📝 Parameter Changes -### 3. **Path Parameters → Query Parameters** +### 3. Path Parameters → Query Parameters All path parameters have been moved to query parameters. @@ -112,7 +112,7 @@ GET /v1/evm/holders?network=mainnet&contract=0x... GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 ``` -### 4. **Standardized Parameter Naming** +### 4. Standardized Parameter Naming All query parameters have been standardized to use snake_case naming convention. @@ -136,7 +136,7 @@ All query parameters have been standardized to use snake_case naming convention. **Important:** `matic` network has been renamed to `polygon`. -### 5. **Batched Parameters** +### 5. Batched Parameters Many parameters now support batching - accepting single values or comma-separated strings. @@ -151,17 +151,17 @@ Many parameters now support batching - accepting single values or comma-separate **Examples:** ```console -# Single value +## Single value ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -# Comma-separated, single parameter +## Comma-separated, single parameter ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -# Repeated parameter values +## Repeated parameter values ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ``` -### 6. **New Parameters** +### 6. New Parameters #### `include_null_balances` @@ -175,7 +175,7 @@ Added to balance endpoints to optionally include zero/null balances. ## 🔄 Response Changes -### 7. **Pagination Changes** +### 7. Pagination Changes Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. @@ -212,21 +212,51 @@ Pagination responses have been simplified. The API no longer computes total resu **Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. -### 8. **Removed Parameters** +### 8. Removed Parameters The following deprecated parameters have been removed: - `orderBy` - Results are now ordered by timestamp/block by default - `orderDirection` - Always descending (newest first) +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + ## 📚 Example Migrations -### Old vs New: Get Token Balances +### Example 1: Get Token Balances **Before:** ```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ``` **After:** @@ -235,7 +265,63 @@ GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet& GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ``` -### New Feature: Batched Queries +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) Query balances for multiple contracts in a single request: @@ -243,9 +329,15 @@ Query balances for multiple contracts in a single request: GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ``` +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + ## ⚠️ Important Notes -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. 2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. diff --git a/website/src/pages/de/token-api/svm-tokens/_meta.js b/website/src/pages/de/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/de/token-api/svm-tokens/_meta.js +++ b/website/src/pages/de/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/en/token-api/_meta-titles.json b/website/src/pages/en/token-api/_meta-titles.json index 7971cf40716c..3141ca25f972 100644 --- a/website/src/pages/en/token-api/_meta-titles.json +++ b/website/src/pages/en/token-api/_meta-titles.json @@ -6,5 +6,6 @@ "svm-dexs": "SVM DEX Endpoints", "tvm-tokens": "TVM Token Endpoints", "tvm-dexs": "TVM DEX Endpoints", - "monitoring": "Monitoring Endpoints" + "monitoring": "Monitoring Endpoints", + "endpoints": "Endpoints" } diff --git a/website/src/pages/en/token-api/_meta.js b/website/src/pages/en/token-api/_meta.js index 94368944d673..6a5860d38ff7 100644 --- a/website/src/pages/en/token-api/_meta.js +++ b/website/src/pages/en/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/en/token-api/endpoints/_meta.js b/website/src/pages/en/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..33c169163213 --- /dev/null +++ b/website/src/pages/en/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'pricing': '', + 'support': '', +} diff --git a/website/src/pages/en/token-api/endpoint-pricing.mdx b/website/src/pages/en/token-api/endpoints/pricing.mdx similarity index 99% rename from website/src/pages/en/token-api/endpoint-pricing.mdx rename to website/src/pages/en/token-api/endpoints/pricing.mdx index 0aa0d0605a1e..df3a04c50a55 100644 --- a/website/src/pages/en/token-api/endpoint-pricing.mdx +++ b/website/src/pages/en/token-api/endpoints/pricing.mdx @@ -1,5 +1,6 @@ --- title: Endpoint Pricing +sidebarTitle: Pricing --- ## Pricing Tiers diff --git a/website/src/pages/en/token-api/endpoints/support.mdx b/website/src/pages/en/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/en/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/en/token-api/quick-start.mdx b/website/src/pages/en/token-api/quick-start.mdx index 786c6b69a02f..11a853f95535 100644 --- a/website/src/pages/en/token-api/quick-start.mdx +++ b/website/src/pages/en/token-api/quick-start.mdx @@ -1,98 +1,109 @@ --- -title: Token API Quick Start +title: Welcome to the Token API sidebarTitle: Quick Start --- -import { Check } from '@edgeandnode/gds/icons' - -![The Graph Token API Quick Start banner](/img/token-api-quickstart-banner.jpg) - -> [!CAUTION] This product is currently in Beta and under active development. If you have any feedback, please reach out to us on [Discord](https://discord.gg/graphprotocol). - -The Graph's Token API lets you access blockchain token information via a GET request. This guide is designed to help you quickly integrate the Token API into your application. - -The Token API provides access to onchain NFT and fungible token data, including live and historical balances, holders, prices, market data, token metadata, and token transfers. This API also uses the Model Context Protocol (MCP) to allow AI tools such as Claude to enrich raw blockchain data with contextual insights. - -## Prerequisites - -Before you begin, get a JWT API token by signing up on [The Graph Market](https://thegraph.market/plans/token-api/2025/). Make sure to use the JWT API Token, not the API key. Each API key can generate a new JWT API Token at any time. - -## Authentication - -All API endpoints are authenticated using a JWT API token inserted in the header as `Authorization: Bearer `. - -```json -{ - "headers": { - "Authorization": "Bearer eyJh•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••NnlA" - } -} -``` - -## Using JavaScript - -Make an API request using **JavaScript** by adding the request parameters, and then fetching from the relevant endpoint. For example: - -```js label="index.js" -const address = '0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208' -const options = { - method: 'GET', - headers: { - Accept: 'application/json', - Authorization: 'Bearer ', - }, -} - -fetch(`https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=${address}`) - .then((response) => response.json()) - .then((response) => console.log(response)) - .catch((err) => console.error(err)) -``` - -Make sure to replace `` with the JWT Token generated from your API key. - -## Using cURL (Command Line) - -To make an API request using **cURL**, open your command line and run the following command. - -```curl -curl --request GET \ - --url https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=${address} \ - --header 'Accept: application/json' \ - --header 'Authorization: Bearer ' -``` - -Make sure to replace `` with the JWT Token generated from your API key. - -> Most Unix-like systems come with cURL preinstalled. For Windows, you may need to install cURL. - -## Chain and Feature Support - -| Network | Tokens | Swaps | NFTs | -| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | -| Ethereum Mainnet | | | | -| BSC Mainnet | | | | -| Base Mainnet | | | | -| Unichain Mainnet | | | | -| Arbitrum One | | | | -| Optimism Mainnet | | | | -| Polygon Mainnet | | | | -| Avalanche C-Chain | | | | -| Solana Mainnet | | | ❌ Unsupported | -| Tron Mainnet | | | ❌ Unsupported | - -A full list of chain support for The Graph services can be found [here](/supported-networks/). - -## Troubleshooting - -If the API call fails, try printing out the full response object for additional error details. For example: - -```js label="index.js" -fetch(`https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=${address}`) - .then((response) => { - console.log('Status Code:', response.status) - return response.json() - }) - .then((data) => console.log(data)) - .catch((err) => console.error('Error:', err)) -``` +> [!CAUTION] This product is very new and currently in Beta. If you have any feedback, please reach out to us on [Discord](https://discord.gg/graphprotocol). + +The Graph's Token API lets you access both live and historical data for tokens across multiple blockchains. + +## Gain access + +Make sure you already have an account on [The Graph Market](https://thegraph.com) and an **"API TOKEN (Authentication JWT)"** +from the [Dashboard](https://thegraph.market/dashboard). + +## Use authenticated routes + +All API endpoints are authenticated using a header: + + + + ```shell + curl --request GET \ + --url "https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208" \ + --header 'Accept: application/json' \ + --header 'Authorization: Bearer YOUR_TOKEN' + ``` + + + ```typescript + const result = await fetch(`https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208`, { + method: 'GET', + headers: { + Accept: 'application/json', + Authorization: 'Bearer YOUR_TOKEN', + }, + }) + .then((response) => response.json()) + .then((data) => console.log(data)) + .catch((err) => console.error(err)) + ``` + + + ```python + import requests + + res = requests.get( + "https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208", + headers={"Authorization": "Bearer YOUR_TOKEN"}, + ) + + print(res.json()) + ``` + + + ```go + package main + + import ( + "fmt" + "encoding/json" + "net/http" + ) + + func main() { + req, _ := http.NewRequest("GET", + "https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208", + nil, + ) + req.Header.Set("Authorization", "Bearer YOUR_TOKEN") + + res, _ := http.DefaultClient.Do(req) + defer res.Body.Close() + + var data any + json.NewDecoder(res.Body).Decode(&data) + + fmt.Printf("%#v\n", data) + } + ``` + + + ```rust + use reqwest::Client; + + #[tokio::main] + async fn main() -> reqwest::Result<()> { + let res = Client::new() + .get("https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208") + .bearer_auth("YOUR_TOKEN") + .send() + .await?; + + println!("{}", res.text().await?); + Ok(()) + } + ``` + + + +## What's next? + +Explore the most popular endpoints: +- [EVM Transfers](/token-api/evm-tokens/transfers/) +- [Solana Swaps](/token-api/svm-dexs/swaps/) +- [EVM Token Holders](/token-api/evm-tokens/holders/) +- [EVM Swaps](/token-api/evm-dexs/swaps/) +- [EVM Historical Balances](/token-api/evm-tokens/balances-historical/) + +Check the sidebar for more endpoints that you can use with the Token API! diff --git a/website/src/pages/en/token-api/svm-tokens/_meta.js b/website/src/pages/en/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/en/token-api/svm-tokens/_meta.js +++ b/website/src/pages/en/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/es/token-api/_meta.js b/website/src/pages/es/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/es/token-api/_meta.js +++ b/website/src/pages/es/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/es/token-api/endpoints/_meta.js b/website/src/pages/es/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/es/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/es/token-api/endpoint-pricing.mdx b/website/src/pages/es/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/es/token-api/endpoint-pricing.mdx rename to website/src/pages/es/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/es/token-api/endpoints/endpoint-support.msx b/website/src/pages/es/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/es/token-api/guides/_meta-titles.json b/website/src/pages/es/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/es/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/es/token-api/guides/_meta.js b/website/src/pages/es/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/es/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/es/token-api/guides/gpt.mdx b/website/src/pages/es/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/es/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/es/token-api/upgrade-to-v1.mdx b/website/src/pages/es/token-api/guides/upgrade-to-v1.mdx similarity index 74% rename from website/src/pages/es/token-api/upgrade-to-v1.mdx rename to website/src/pages/es/token-api/guides/upgrade-to-v1.mdx index fbe09101eaa5..e2a7ccf973fa 100644 --- a/website/src/pages/es/token-api/upgrade-to-v1.mdx +++ b/website/src/pages/es/token-api/guides/upgrade-to-v1.mdx @@ -16,7 +16,7 @@ Used to describe endpoints supporting Solana (currently the only SVM chain suppo ## 🔑 Breaking Changes Summary -### 1. **API Versioning** +### 1. API Versioning All endpoints now use the `/v1` prefix. @@ -34,7 +34,7 @@ GET /v1/evm/balances GET /v1/evm/nft/items ``` -### 2. **Route Structure Reorganization** +### 2. Route Structure Reorganization #### 2.1 EVM Endpoints @@ -92,7 +92,7 @@ Consolidated under `/v1/svm/*` ## 📝 Parameter Changes -### 3. **Path Parameters → Query Parameters** +### 3. Path Parameters → Query Parameters All path parameters have been moved to query parameters. @@ -112,7 +112,7 @@ GET /v1/evm/holders?network=mainnet&contract=0x... GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 ``` -### 4. **Standardized Parameter Naming** +### 4. Standardized Parameter Naming All query parameters have been standardized to use snake_case naming convention. @@ -136,7 +136,7 @@ All query parameters have been standardized to use snake_case naming convention. **Important:** `matic` network has been renamed to `polygon`. -### 5. **Batched Parameters** +### 5. Batched Parameters Many parameters now support batching - accepting single values or comma-separated strings. @@ -151,17 +151,17 @@ Many parameters now support batching - accepting single values or comma-separate **Examples:** ```console -# Single value +## Single value ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -# Comma-separated, single parameter +## Comma-separated, single parameter ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -# Repeated parameter values +## Repeated parameter values ?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ``` -### 6. **New Parameters** +### 6. New Parameters #### `include_null_balances` @@ -175,7 +175,7 @@ Added to balance endpoints to optionally include zero/null balances. ## 🔄 Response Changes -### 7. **Pagination Changes** +### 7. Pagination Changes Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. @@ -212,21 +212,51 @@ Pagination responses have been simplified. The API no longer computes total resu **Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. -### 8. **Removed Parameters** +### 8. Removed Parameters The following deprecated parameters have been removed: - `orderBy` - Results are now ordered by timestamp/block by default - `orderDirection` - Always descending (newest first) +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + ## 📚 Example Migrations -### Old vs New: Get Token Balances +### Example 1: Get Token Balances **Before:** ```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ``` **After:** @@ -235,7 +265,63 @@ GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet& GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 ``` -### New Feature: Batched Queries +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) Query balances for multiple contracts in a single request: @@ -243,9 +329,15 @@ Query balances for multiple contracts in a single request: GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ``` +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + ## ⚠️ Important Notes -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. 2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. diff --git a/website/src/pages/es/token-api/svm-tokens/_meta.js b/website/src/pages/es/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/es/token-api/svm-tokens/_meta.js +++ b/website/src/pages/es/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/fr/token-api/_meta.js b/website/src/pages/fr/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/fr/token-api/_meta.js +++ b/website/src/pages/fr/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/fr/token-api/endpoints/_meta.js b/website/src/pages/fr/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/fr/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/fr/token-api/endpoint-pricing.mdx b/website/src/pages/fr/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/fr/token-api/endpoint-pricing.mdx rename to website/src/pages/fr/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/fr/token-api/endpoints/endpoint-support.msx b/website/src/pages/fr/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/fr/token-api/guides/_meta-titles.json b/website/src/pages/fr/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/fr/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/fr/token-api/guides/_meta.js b/website/src/pages/fr/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/fr/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/fr/token-api/guides/gpt.mdx b/website/src/pages/fr/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/fr/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/fr/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/fr/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/fr/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/fr/token-api/svm-tokens/_meta.js b/website/src/pages/fr/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/fr/token-api/svm-tokens/_meta.js +++ b/website/src/pages/fr/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/fr/token-api/upgrade-to-v1.mdx b/website/src/pages/fr/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/fr/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/hi/token-api/_meta.js b/website/src/pages/hi/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/hi/token-api/_meta.js +++ b/website/src/pages/hi/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/hi/token-api/endpoints/_meta.js b/website/src/pages/hi/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/hi/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/hi/token-api/endpoint-pricing.mdx b/website/src/pages/hi/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/hi/token-api/endpoint-pricing.mdx rename to website/src/pages/hi/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/hi/token-api/endpoints/endpoint-support.msx b/website/src/pages/hi/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/hi/token-api/guides/_meta-titles.json b/website/src/pages/hi/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/hi/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/hi/token-api/guides/_meta.js b/website/src/pages/hi/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/hi/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/hi/token-api/guides/gpt.mdx b/website/src/pages/hi/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/hi/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/hi/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/hi/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/hi/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/hi/token-api/svm-tokens/_meta.js b/website/src/pages/hi/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/hi/token-api/svm-tokens/_meta.js +++ b/website/src/pages/hi/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/hi/token-api/upgrade-to-v1.mdx b/website/src/pages/hi/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/hi/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/it/token-api/_meta.js b/website/src/pages/it/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/it/token-api/_meta.js +++ b/website/src/pages/it/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/it/token-api/endpoints/_meta.js b/website/src/pages/it/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/it/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/it/token-api/endpoint-pricing.mdx b/website/src/pages/it/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/it/token-api/endpoint-pricing.mdx rename to website/src/pages/it/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/it/token-api/endpoints/endpoint-support.msx b/website/src/pages/it/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/it/token-api/guides/_meta-titles.json b/website/src/pages/it/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/it/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/it/token-api/guides/_meta.js b/website/src/pages/it/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/it/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/it/token-api/guides/gpt.mdx b/website/src/pages/it/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/it/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/it/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/it/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/it/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/it/token-api/svm-tokens/_meta.js b/website/src/pages/it/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/it/token-api/svm-tokens/_meta.js +++ b/website/src/pages/it/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/it/token-api/upgrade-to-v1.mdx b/website/src/pages/it/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/it/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/ja/token-api/_meta.js b/website/src/pages/ja/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/ja/token-api/_meta.js +++ b/website/src/pages/ja/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/ja/token-api/endpoints/_meta.js b/website/src/pages/ja/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/ja/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/ja/token-api/endpoint-pricing.mdx b/website/src/pages/ja/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/ja/token-api/endpoint-pricing.mdx rename to website/src/pages/ja/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/ja/token-api/endpoints/endpoint-support.msx b/website/src/pages/ja/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/ja/token-api/guides/_meta-titles.json b/website/src/pages/ja/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/ja/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/ja/token-api/guides/_meta.js b/website/src/pages/ja/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/ja/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/ja/token-api/guides/gpt.mdx b/website/src/pages/ja/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/ja/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/ja/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/ja/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/ja/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/ja/token-api/svm-tokens/_meta.js b/website/src/pages/ja/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/ja/token-api/svm-tokens/_meta.js +++ b/website/src/pages/ja/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/ja/token-api/upgrade-to-v1.mdx b/website/src/pages/ja/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/ja/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/ko/token-api/_meta.js b/website/src/pages/ko/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/ko/token-api/_meta.js +++ b/website/src/pages/ko/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/ko/token-api/endpoints/_meta.js b/website/src/pages/ko/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/ko/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/ko/token-api/endpoint-pricing.mdx b/website/src/pages/ko/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/ko/token-api/endpoint-pricing.mdx rename to website/src/pages/ko/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/ko/token-api/endpoints/endpoint-support.msx b/website/src/pages/ko/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/ko/token-api/guides/_meta-titles.json b/website/src/pages/ko/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/ko/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/ko/token-api/guides/_meta.js b/website/src/pages/ko/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/ko/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/ko/token-api/guides/gpt.mdx b/website/src/pages/ko/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/ko/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/ko/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/ko/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/ko/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/ko/token-api/svm-tokens/_meta.js b/website/src/pages/ko/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/ko/token-api/svm-tokens/_meta.js +++ b/website/src/pages/ko/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/ko/token-api/upgrade-to-v1.mdx b/website/src/pages/ko/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/ko/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/mr/token-api/_meta.js b/website/src/pages/mr/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/mr/token-api/_meta.js +++ b/website/src/pages/mr/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/mr/token-api/endpoints/_meta.js b/website/src/pages/mr/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/mr/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/mr/token-api/endpoint-pricing.mdx b/website/src/pages/mr/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/mr/token-api/endpoint-pricing.mdx rename to website/src/pages/mr/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/mr/token-api/endpoints/endpoint-support.msx b/website/src/pages/mr/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/mr/token-api/guides/_meta-titles.json b/website/src/pages/mr/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/mr/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/mr/token-api/guides/_meta.js b/website/src/pages/mr/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/mr/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/mr/token-api/guides/gpt.mdx b/website/src/pages/mr/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/mr/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/mr/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/mr/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/mr/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/mr/token-api/svm-tokens/_meta.js b/website/src/pages/mr/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/mr/token-api/svm-tokens/_meta.js +++ b/website/src/pages/mr/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/mr/token-api/upgrade-to-v1.mdx b/website/src/pages/mr/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/mr/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/nl/token-api/_meta.js b/website/src/pages/nl/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/nl/token-api/_meta.js +++ b/website/src/pages/nl/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/nl/token-api/endpoints/_meta.js b/website/src/pages/nl/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/nl/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/nl/token-api/endpoint-pricing.mdx b/website/src/pages/nl/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/nl/token-api/endpoint-pricing.mdx rename to website/src/pages/nl/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/nl/token-api/endpoints/endpoint-support.msx b/website/src/pages/nl/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/nl/token-api/guides/_meta-titles.json b/website/src/pages/nl/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/nl/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/nl/token-api/guides/_meta.js b/website/src/pages/nl/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/nl/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/nl/token-api/guides/gpt.mdx b/website/src/pages/nl/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/nl/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/nl/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/nl/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/nl/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/nl/token-api/svm-tokens/_meta.js b/website/src/pages/nl/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/nl/token-api/svm-tokens/_meta.js +++ b/website/src/pages/nl/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/nl/token-api/upgrade-to-v1.mdx b/website/src/pages/nl/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/nl/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/pl/token-api/_meta.js b/website/src/pages/pl/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/pl/token-api/_meta.js +++ b/website/src/pages/pl/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/pl/token-api/endpoints/_meta.js b/website/src/pages/pl/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/pl/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/pl/token-api/endpoint-pricing.mdx b/website/src/pages/pl/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/pl/token-api/endpoint-pricing.mdx rename to website/src/pages/pl/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/pl/token-api/endpoints/endpoint-support.msx b/website/src/pages/pl/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/pl/token-api/guides/_meta-titles.json b/website/src/pages/pl/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/pl/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/pl/token-api/guides/_meta.js b/website/src/pages/pl/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/pl/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/pl/token-api/guides/gpt.mdx b/website/src/pages/pl/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/pl/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/pl/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/pl/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/pl/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/pl/token-api/svm-tokens/_meta.js b/website/src/pages/pl/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/pl/token-api/svm-tokens/_meta.js +++ b/website/src/pages/pl/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/pl/token-api/upgrade-to-v1.mdx b/website/src/pages/pl/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/pl/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/pt/token-api/_meta.js b/website/src/pages/pt/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/pt/token-api/_meta.js +++ b/website/src/pages/pt/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/pt/token-api/endpoints/_meta.js b/website/src/pages/pt/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/pt/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/pt/token-api/endpoint-pricing.mdx b/website/src/pages/pt/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/pt/token-api/endpoint-pricing.mdx rename to website/src/pages/pt/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/pt/token-api/endpoints/endpoint-support.msx b/website/src/pages/pt/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/pt/token-api/guides/_meta-titles.json b/website/src/pages/pt/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/pt/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/pt/token-api/guides/_meta.js b/website/src/pages/pt/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/pt/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/pt/token-api/guides/gpt.mdx b/website/src/pages/pt/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/pt/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/pt/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/pt/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/pt/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/pt/token-api/svm-tokens/_meta.js b/website/src/pages/pt/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/pt/token-api/svm-tokens/_meta.js +++ b/website/src/pages/pt/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/pt/token-api/upgrade-to-v1.mdx b/website/src/pages/pt/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/pt/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/ro/token-api/_meta.js b/website/src/pages/ro/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/ro/token-api/_meta.js +++ b/website/src/pages/ro/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/ro/token-api/endpoints/_meta.js b/website/src/pages/ro/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/ro/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/ro/token-api/endpoint-pricing.mdx b/website/src/pages/ro/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/ro/token-api/endpoint-pricing.mdx rename to website/src/pages/ro/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/ro/token-api/endpoints/endpoint-support.msx b/website/src/pages/ro/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/ro/token-api/guides/_meta-titles.json b/website/src/pages/ro/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/ro/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/ro/token-api/guides/_meta.js b/website/src/pages/ro/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/ro/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/ro/token-api/guides/gpt.mdx b/website/src/pages/ro/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/ro/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/ro/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/ro/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/ro/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/ro/token-api/svm-tokens/_meta.js b/website/src/pages/ro/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/ro/token-api/svm-tokens/_meta.js +++ b/website/src/pages/ro/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/ro/token-api/upgrade-to-v1.mdx b/website/src/pages/ro/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/ro/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/ru/token-api/_meta.js b/website/src/pages/ru/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/ru/token-api/_meta.js +++ b/website/src/pages/ru/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/ru/token-api/endpoints/_meta.js b/website/src/pages/ru/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/ru/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/ru/token-api/endpoint-pricing.mdx b/website/src/pages/ru/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/ru/token-api/endpoint-pricing.mdx rename to website/src/pages/ru/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/ru/token-api/endpoints/endpoint-support.msx b/website/src/pages/ru/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/ru/token-api/guides/_meta-titles.json b/website/src/pages/ru/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/ru/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/ru/token-api/guides/_meta.js b/website/src/pages/ru/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/ru/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/ru/token-api/guides/gpt.mdx b/website/src/pages/ru/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/ru/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/ru/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/ru/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/ru/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/ru/token-api/svm-tokens/_meta.js b/website/src/pages/ru/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/ru/token-api/svm-tokens/_meta.js +++ b/website/src/pages/ru/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/ru/token-api/upgrade-to-v1.mdx b/website/src/pages/ru/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/ru/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/sv/token-api/_meta.js b/website/src/pages/sv/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/sv/token-api/_meta.js +++ b/website/src/pages/sv/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/sv/token-api/endpoints/_meta.js b/website/src/pages/sv/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/sv/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/sv/token-api/endpoint-pricing.mdx b/website/src/pages/sv/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/sv/token-api/endpoint-pricing.mdx rename to website/src/pages/sv/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/sv/token-api/endpoints/endpoint-support.msx b/website/src/pages/sv/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/sv/token-api/guides/_meta-titles.json b/website/src/pages/sv/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/sv/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/sv/token-api/guides/_meta.js b/website/src/pages/sv/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/sv/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/sv/token-api/guides/gpt.mdx b/website/src/pages/sv/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/sv/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/sv/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/sv/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/sv/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/sv/token-api/svm-tokens/_meta.js b/website/src/pages/sv/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/sv/token-api/svm-tokens/_meta.js +++ b/website/src/pages/sv/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/sv/token-api/upgrade-to-v1.mdx b/website/src/pages/sv/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/sv/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/tr/token-api/_meta.js b/website/src/pages/tr/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/tr/token-api/_meta.js +++ b/website/src/pages/tr/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/tr/token-api/endpoints/_meta.js b/website/src/pages/tr/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/tr/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/tr/token-api/endpoint-pricing.mdx b/website/src/pages/tr/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/tr/token-api/endpoint-pricing.mdx rename to website/src/pages/tr/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/tr/token-api/endpoints/endpoint-support.msx b/website/src/pages/tr/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/tr/token-api/guides/_meta-titles.json b/website/src/pages/tr/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/tr/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/tr/token-api/guides/_meta.js b/website/src/pages/tr/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/tr/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/tr/token-api/guides/gpt.mdx b/website/src/pages/tr/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/tr/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/tr/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/tr/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/tr/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/tr/token-api/svm-tokens/_meta.js b/website/src/pages/tr/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/tr/token-api/svm-tokens/_meta.js +++ b/website/src/pages/tr/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/tr/token-api/upgrade-to-v1.mdx b/website/src/pages/tr/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/tr/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/uk/token-api/_meta.js b/website/src/pages/uk/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/uk/token-api/_meta.js +++ b/website/src/pages/uk/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/uk/token-api/endpoints/_meta.js b/website/src/pages/uk/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/uk/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/uk/token-api/endpoint-pricing.mdx b/website/src/pages/uk/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/uk/token-api/endpoint-pricing.mdx rename to website/src/pages/uk/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/uk/token-api/endpoints/endpoint-support.msx b/website/src/pages/uk/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/uk/token-api/guides/_meta-titles.json b/website/src/pages/uk/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/uk/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/uk/token-api/guides/_meta.js b/website/src/pages/uk/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/uk/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/uk/token-api/guides/gpt.mdx b/website/src/pages/uk/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/uk/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/uk/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/uk/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/uk/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/uk/token-api/svm-tokens/_meta.js b/website/src/pages/uk/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/uk/token-api/svm-tokens/_meta.js +++ b/website/src/pages/uk/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/uk/token-api/upgrade-to-v1.mdx b/website/src/pages/uk/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/uk/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/ur/token-api/_meta.js b/website/src/pages/ur/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/ur/token-api/_meta.js +++ b/website/src/pages/ur/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/ur/token-api/endpoints/_meta.js b/website/src/pages/ur/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/ur/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/ur/token-api/endpoint-pricing.mdx b/website/src/pages/ur/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/ur/token-api/endpoint-pricing.mdx rename to website/src/pages/ur/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/ur/token-api/endpoints/endpoint-support.msx b/website/src/pages/ur/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/ur/token-api/guides/_meta-titles.json b/website/src/pages/ur/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/ur/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/ur/token-api/guides/_meta.js b/website/src/pages/ur/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/ur/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/ur/token-api/guides/gpt.mdx b/website/src/pages/ur/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/ur/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/ur/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/ur/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/ur/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/ur/token-api/svm-tokens/_meta.js b/website/src/pages/ur/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/ur/token-api/svm-tokens/_meta.js +++ b/website/src/pages/ur/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/ur/token-api/upgrade-to-v1.mdx b/website/src/pages/ur/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/ur/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/vi/token-api/_meta.js b/website/src/pages/vi/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/vi/token-api/_meta.js +++ b/website/src/pages/vi/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/vi/token-api/endpoints/_meta.js b/website/src/pages/vi/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/vi/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/vi/token-api/endpoint-pricing.mdx b/website/src/pages/vi/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/vi/token-api/endpoint-pricing.mdx rename to website/src/pages/vi/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/vi/token-api/endpoints/endpoint-support.msx b/website/src/pages/vi/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/vi/token-api/guides/_meta-titles.json b/website/src/pages/vi/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/vi/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/vi/token-api/guides/_meta.js b/website/src/pages/vi/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/vi/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/vi/token-api/guides/gpt.mdx b/website/src/pages/vi/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/vi/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/vi/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/vi/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/vi/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/vi/token-api/svm-tokens/_meta.js b/website/src/pages/vi/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/vi/token-api/svm-tokens/_meta.js +++ b/website/src/pages/vi/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/vi/token-api/upgrade-to-v1.mdx b/website/src/pages/vi/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/vi/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/zh/token-api/_meta.js b/website/src/pages/zh/token-api/_meta.js index a8624da52e7f..853f9dc09031 100644 --- a/website/src/pages/zh/token-api/_meta.js +++ b/website/src/pages/zh/token-api/_meta.js @@ -2,15 +2,15 @@ import titles from './_meta-titles.json' export default { 'quick-start': '', + 'svm-tokens': titles['svm-tokens'] ?? '', + 'svm-dexs': titles['svm-dexs'] ?? '', 'evm-tokens': titles['evm-tokens'] ?? '', 'evm-dexs': titles['evm-dexs'] ?? '', 'evm-nfts': titles['evm-nfts'] ?? '', - 'svm-tokens': titles['svm-tokens'] ?? '', - 'svm-dexs': titles['svm-dexs'] ?? '', 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', 'endpoint-pricing': '', + guides: 'Guides', faq: '', - 'upgrade-to-v1': '', } diff --git a/website/src/pages/zh/token-api/endpoints/_meta.js b/website/src/pages/zh/token-api/endpoints/_meta.js new file mode 100644 index 000000000000..5d419807937c --- /dev/null +++ b/website/src/pages/zh/token-api/endpoints/_meta.js @@ -0,0 +1,4 @@ +export default { + 'endpoint-pricing': '', + 'endpoint-support': '', +} diff --git a/website/src/pages/zh/token-api/endpoint-pricing.mdx b/website/src/pages/zh/token-api/endpoints/endpoint-pricing.mdx similarity index 100% rename from website/src/pages/zh/token-api/endpoint-pricing.mdx rename to website/src/pages/zh/token-api/endpoints/endpoint-pricing.mdx diff --git a/website/src/pages/zh/token-api/endpoints/endpoint-support.msx b/website/src/pages/zh/token-api/endpoints/endpoint-support.msx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/src/pages/zh/token-api/guides/_meta-titles.json b/website/src/pages/zh/token-api/guides/_meta-titles.json new file mode 100644 index 000000000000..cd93dcc0fc0b --- /dev/null +++ b/website/src/pages/zh/token-api/guides/_meta-titles.json @@ -0,0 +1,4 @@ +{ + "gpt": "Create Custom GPTS", + "upgrade-to-v1": "" +} diff --git a/website/src/pages/zh/token-api/guides/_meta.js b/website/src/pages/zh/token-api/guides/_meta.js new file mode 100644 index 000000000000..e5aaaadd78f2 --- /dev/null +++ b/website/src/pages/zh/token-api/guides/_meta.js @@ -0,0 +1,4 @@ +export default { + gpt: '', + 'upgrade-to-v1': '', +} diff --git a/website/src/pages/zh/token-api/guides/gpt.mdx b/website/src/pages/zh/token-api/guides/gpt.mdx new file mode 100644 index 000000000000..564d013dea20 --- /dev/null +++ b/website/src/pages/zh/token-api/guides/gpt.mdx @@ -0,0 +1,121 @@ +--- +title: How the Token API Powers Custom GPTs +sidebarTitle: Create Custom GPTs +--- + +## Overview + +The Token API is a pre-indexed blockchain data service that provides real-time access to token balances, metadata, prices, liquidity, and volume across multiple chains. Developers use its REST endpoints to build wallets, trading dashboards, DeFi analytics, and AI systems without maintaining their own indexing stack. Custom GPTs can connect directly to the Token API's OpenAPI schema. + +The Token API enables developers to build **Custom GPTs** to reason over live blockchain data inside ChatGPT that can reason over and respond with live blockchain data directly inside ChatGPT. + +## What the Token API Enables in Custom GPTs + +When a Custom GPT is wired to the Token API, it gains access to a machine-readable schema and authenticated endpoints. Developers can use this to: + +- **Query real-time onchain data**: Balances, token prices, liquidity, and transaction history. +- **Automate domain-specific tasks**: Portfolio tracking, accounting, reconciliation, and market analysis. +- **Power AI agents with verifiable blockchain context**: Use the same data sources dapps rely on. + +Because the Token API provides a machine-readable schema and authenticated requests, it serves as a structured data layer that enables GPT-5 agents to combine natural language reasoning with live onchain data from The Graph. + +## When to Use the Token API for Custom GPTs + +Use the Token API when your GPT needs repeatable, domain-specific behavior grounded in blockchain data. This is most effective when the GPT performs the same type of task frequently or enforces a workflow you define. For one-off or exploratory questions, standard ChatGPT prompts are sufficient. + +## Choosing a Use Case + +Start with a clear, narrow objective, then expand as needed. Common patterns include: + +- **Accounting GPT**: Onchain accounting, tax tagging, and portfolio reconciliation. +- **Trading GPT**: Liquidity, pricing, and volume analysis for trading strategies. +- **Protocol Tracking GPT**: Real-time monitoring of transaction activity and liquidity pools. + +A focused initial goal such as “Retrieve token balances and prices for a wallet” makes it easier to configure reliable behavior before adding complex workflows. + +## Requirements + +| Requirement | Description | +| ---------------------- | -------------------------------------------------------- | +| ChatGPT 5 | Custom GPT creation requires GPT-5 tier or Pro. | +| Token API Subscription | Sign up at [The Graph Market](https://thegraph.market./) | +| Token API Key | Available in your dashboard as the Authentication JWT. | + +## Setting Up a Custom GPT + +Below is an explanatory outline of what happens during setup. This section provides conceptual understanding. + +### Create Custom GPT + +1. Visit chat.openai.com/gpts in your browser. 2, Click Create (top right). +2. Under Configure (in the top left panel), set up your GPT's personality and scope. + +### Configure Your GPT + +You define the GPT's role, scope, and metadata so it knows what it is designed to do. This includes: + +- **Name and Description**: Helps users discover your GPT. + - For example: **Name**: Token Tracker GPT **Description**: An onchain analytics assistant that retrieves live token balances, prices, and liquidity data using The Graph's Token API. +- **Instructions**: Tells the GPT what tasks it should perform using the Token API. + - For example: You are a blockchain data assistant retrieving onchain token data from The Graph's Token API. Use endpoints to fetch balances, liquidity, and price history across EVM chains. Present results in tables with token symbols, prices, and USD values. +- **Knowledge**: Optional context files such as wallet references, accounting rules, or code snippets. +- **New Action**: At the bottom, click “Create new action” to connect your GPT to the Token API. + +### Connect the Token API + +To enable live blockchain queries inside ChatGPT, you connect the GPT to the Token API through: + +#### Authentication + +1. Set Authentication to API Key → Bearer. +2. Open [The Graph Market](https://thegraph.market./) and copy your Authentication JWT from your dashboard. +3. Paste the token into the ChatGPT prompt where the field shows [HIDDEN]. + +#### Schema + +1. Above the Schema box, click Import from URL. +2. Paste: https://token-api.thegraph.com/openapi +3. Click Import. You'll now see endpoints like: + - `getV1EvmTokens` + - `getV1EvmDexes` + - `getV1EvmBalances` +4. Click Test on one (for example `getV1EvmDexes`) to verify connection. + +##### Privacy + +1. At the bottom, under Privacy, paste: https://pinax.network/en/legal/privacy + +### Privacy + +You can attach a privacy policy URL such as: https://pinax.network/en/legal/privacy + +## Example Prompt Patterns + +These examples help illustrate how a GPT reasons over Token API data. + +### Wallet and Portfolio + +Get the total USD balance for a wallet across multiple chains, returning token name, symbol, balance, and price. + +### Trading Analysis + +Compare USDC and DAI liquidity across Uniswap and Curve. Return the top 5 pools by TVL. + +### Accounting + +List all ERC-20 transfers for this address in the last 30 days. Group by token and total incoming/outgoing volume. + +## Best Practices + +| Tip | Why It Matters | +| --------------------------------- | ---------------------------------------------------------------------- | +| Scope your GPT narrowly first | Simplifies debugging and validates schema integration. | +| Use clear role instructions | Helps the GPT choose the right endpoints and avoid assumptions. | +| Name endpoints explicitly | Improves routing accuracy when fetching balances, prices, or DEX data. | +| Combine with code | Enables custom parsing or logic for complex workflows. | +| Add Subgraph or Substream context | Provides richer analytics when combined with Token API data. | + +## FAQs & Resources + +- Builders Office Hours (October 23, 2025) +- Watch the full session: https://x.com/i/broadcasts/1mrGmBzBarNJy diff --git a/website/src/pages/zh/token-api/guides/upgrade-to-v1.mdx b/website/src/pages/zh/token-api/guides/upgrade-to-v1.mdx new file mode 100644 index 000000000000..e2a7ccf973fa --- /dev/null +++ b/website/src/pages/zh/token-api/guides/upgrade-to-v1.mdx @@ -0,0 +1,346 @@ +--- +title: Upgrade to v1 +--- + +This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. + +**Note** + +- `EVM` = Ethereum Virtual Machine + +Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). + +- `SVM` = Solana Virtual Machine + +Used to describe endpoints supporting Solana (currently the only SVM chain supported). + +## 🔑 Breaking Changes Summary + +### 1. API Versioning + +All endpoints now use the `/v1` prefix. + +**Before:** + +``` +GET /balances/evm +GET /nft/items/contract/:contract/token_id/:token_id +``` + +**After:** + +``` +GET /v1/evm/balances +GET /v1/evm/nft/items +``` + +### 2. Route Structure Reorganization + +#### 2.1 EVM Endpoints + +Consolidated under `/v1/evm/*` + +| Old Endpoint | New Endpoint | +| ------------------------------------------------------ | ----------------------------- | +| `/balances/evm` | `/v1/evm/balances` | +| `/historical/balances/evm` | `/v1/evm/balances/historical` | +| `/holders/evm/:contract` | `/v1/evm/holders` | +| `/tokens/evm/:contract` | `/v1/evm/tokens` | +| `/transfers/evm` | `/v1/evm/transfers` | +| `/pools/evm` | `/v1/evm/pools` | +| `/swaps/evm` | `/v1/evm/swaps` | +| `/dexes/evm` | `/v1/evm/dexes` | +| `/ohlc/prices/evm/:contract` | _(removed)_ | +| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | +| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | +| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | +| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | +| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | +| `/nft/activities/evm` | `/v1/evm/nft/transfers` | +| `/nft/sales/evm` | `/v1/evm/nft/sales` | + +**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. + +**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. + +--- + +#### 2.2 New EVM native balances endpoint + +Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. + +Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. + +--- + +#### 2.3 SVM Endpoints + +Consolidated under `/v1/svm/*` + +| Old Endpoint | New Endpoint | +| ------------------------ | ------------------------- | +| `/balances/svm` | `/v1/svm/balances` | +| `/balances/native/svm` | `/v1/svm/balances/native` | +| `/holders/svm/:contract` | `/v1/svm/holders` | +| `/tokens/svm/:mint` | `/v1/svm/tokens` | +| `/transfers/svm` | `/v1/svm/transfers` | +| `/pools/svm` | `/v1/svm/pools` | +| `/swaps/svm` | `/v1/svm/swaps` | +| `/dexes/svm` | `/v1/svm/dexes` | +| `/owner/svm/:account` | `/v1/svm/owner` | +| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | + +## 📝 Parameter Changes + +### 3. Path Parameters → Query Parameters + +All path parameters have been moved to query parameters. + +**Before:** + +```bash +GET /balances/evm/:address +GET /holders/evm/:contract +GET /nft/items/evm/contract/:contract/token_id/:token_id +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0x... +GET /v1/evm/holders?network=mainnet&contract=0x... +GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 +``` + +### 4. Standardized Parameter Naming + +All query parameters have been standardized to use snake_case naming convention. + +| Old Parameter | New Parameter | Notes | +| --- | --- | --- | +| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | +| `anyAddress` | `address` | Matches either `from` or `to` address | +| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | +| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | +| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | +| `endTime` | `end_time` | Default: `9999999999` | +| - | `start_block` | New parameter, default: `0` | +| - | `end_block` | New parameter, default: `9999999999` | +| - | `include_null_balances` | New parameter, default: `false` | +| `tx_hash` | `transaction_id` | - | +| `token` | `input_token`, `output_token` | More explicit for pool queries | +| `pool` | `amm_pool` | - | +| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | + +**Important:** The `network_id` parameter has been renamed to `network`. + +**Important:** `matic` network has been renamed to `polygon`. + +### 5. Batched Parameters + +Many parameters now support batching - accepting single values or comma-separated strings. + +**Supported Batched Parameters:** + +- `address`, `from_address`, `to_address` +- `contract`, `token_id` +- `factory`, `pool` +- `owner`, `token_account`, `mint` +- `transaction_id`, `signature` + +**Examples:** + +```console +## Single value +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 + +## Comma-separated, single parameter +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 + +## Repeated parameter values +?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +### 6. New Parameters + +#### `include_null_balances` + +Added to balance endpoints to optionally include zero/null balances. + +```bash +?include_null_balances=true +``` + +**Default:** `false` + +## 🔄 Response Changes + +### 7. Pagination Changes + +Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. + +**Before:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2, + "next_page": 3, + "total_pages": 10 + }, + "total_results": 1234 +} +``` + +**After:** + +```json +{ + "pagination": { + "previous_page": 1, + "current_page": 2 + } +} +``` + +**Removed fields:** + +- `next_page` +- `total_pages` +- `total_results` + +**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. + +### 8. Removed Parameters + +The following deprecated parameters have been removed: + +- `orderBy` - Results are now ordered by timestamp/block by default +- `orderDirection` - Always descending (newest first) + +### 9. Cached Queries + +Queries are now cached on the ClickHouse side for better performance. + +You can specifically request to not use the cache by setting the `Cache-Control` header to `no-cache`. + +#### Example + +**Cache** + +```console +$ curl -s 'https://token-api.thegraph.com/v1/...' | jq .statistics +{ + "bytes_read": 221, + "rows_read": 1, + "elapsed": 0.002212065 +} +``` + +**No cache** + +```console +$ curl -s 'http://localhost:8000/v1/...' --header 'Cache-Control: no-cache' | jq .statistics +{ + "bytes_read": 14621174348, + "rows_read": 223244390, + "elapsed": 0.971064066 +} +``` + +## 📚 Example Migrations + +### Example 1: Get Token Balances + +**Before:** + +```bash +GET /token/balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +**After:** + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 +``` + +### Example 2: Get NFT Items + +**Before:** + +```bash +GET /nft/items/evm/contract/0xbd3531da5cf5857e7cfaa92426877b022e612cf8/token_id/5712?network_id=mainnet +``` + +**After:** + +```bash +GET /v1/evm/nft/items?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&token_id=5712 +``` + +### Example 3: Get Token Transfers with Time Filter + +**Before:** + +```bash +GET /token/transfers/evm?network_id=mainnet&from=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&startTime=1735689600&endTime=1767225600 +``` + +**After:** + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045&start_time=1735689600&end_time=1767225600 +``` + +### Example 4: Get NFT Transfer Activities + +**Before:** + +```bash +GET /nft/activities/evm?network_id=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&anyAddress=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +**After:** + +```bash +GET /v1/evm/nft/transfers?network=mainnet&contract=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&address=0xd8da6bf26964af9d7eed9e03e53415d37aa96045 +``` + +### Example 5: Get Pool OHLC Data + +**Before:** + +```bash +GET /token/ohlc/pools/evm/0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640?network_id=mainnet&interval=1h&startTime=1735689600 +``` + +**After:** + +```bash +GET /v1/evm/pools/ohlc?network=mainnet&pool=0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640&interval=1h&start_time=1735689600 +``` + +### Example 6: Batched Query (New Feature) + +Query balances for multiple contracts in a single request: + +```bash +GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 +``` + +Query transfers from multiple addresses: + +```bash +GET /v1/evm/transfers?network=mainnet&from_address=0xabc...,0xdef...,0x123...&start_time=1735689600 +``` + +## ⚠️ Important Notes + +1. **Migration Notes:** The old endpoints were deprecated and removed on **October 30, 2025**. Please ensure all integrations have been migrated to the new Token API v1 endpoints. + +2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. + +3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. + +4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. diff --git a/website/src/pages/zh/token-api/svm-tokens/_meta.js b/website/src/pages/zh/token-api/svm-tokens/_meta.js index 1de31437004c..001e2d43341a 100644 --- a/website/src/pages/zh/token-api/svm-tokens/_meta.js +++ b/website/src/pages/zh/token-api/svm-tokens/_meta.js @@ -1,6 +1,6 @@ export default { - tokens: '', transfers: '', + tokens: '', balances: '', 'balances-native': '', holders: '', diff --git a/website/src/pages/zh/token-api/upgrade-to-v1.mdx b/website/src/pages/zh/token-api/upgrade-to-v1.mdx deleted file mode 100644 index fbe09101eaa5..000000000000 --- a/website/src/pages/zh/token-api/upgrade-to-v1.mdx +++ /dev/null @@ -1,254 +0,0 @@ ---- -title: Upgrade to v1 ---- - -This guide covers the migration from the legacy API structure to the new v1 API. The refactoring introduces versioned endpoints, standardized query parameters, improved batching support, and consistent naming conventions. - -**Note** - -- `EVM` = Ethereum Virtual Machine - -Used to describe endpoints supporting EVM-based chains (e.g. `base`, `bsc`, `mainnet`, ...). - -- `SVM` = Solana Virtual Machine - -Used to describe endpoints supporting Solana (currently the only SVM chain supported). - -## 🔑 Breaking Changes Summary - -### 1. **API Versioning** - -All endpoints now use the `/v1` prefix. - -**Before:** - -``` -GET /balances/evm -GET /nft/items/contract/:contract/token_id/:token_id -``` - -**After:** - -``` -GET /v1/evm/balances -GET /v1/evm/nft/items -``` - -### 2. **Route Structure Reorganization** - -#### 2.1 EVM Endpoints - -Consolidated under `/v1/evm/*` - -| Old Endpoint | New Endpoint | -| ------------------------------------------------------ | ----------------------------- | -| `/balances/evm` | `/v1/evm/balances` | -| `/historical/balances/evm` | `/v1/evm/balances/historical` | -| `/holders/evm/:contract` | `/v1/evm/holders` | -| `/tokens/evm/:contract` | `/v1/evm/tokens` | -| `/transfers/evm` | `/v1/evm/transfers` | -| `/pools/evm` | `/v1/evm/pools` | -| `/swaps/evm` | `/v1/evm/swaps` | -| `/dexes/evm` | `/v1/evm/dexes` | -| `/ohlc/prices/evm/:contract` | _(removed)_ | -| `/ohlc/pools/evm/:pool` | `/v1/evm/pools/ohlc` | -| `/nft/ownerships/evm/:address` | `/v1/evm/nft/ownerships` | -| `/nft/collections/evm/:contract` | `/v1/evm/nft/collections` | -| `/nft/items/evm/contract/:contract/token_id/:token_id` | `/v1/evm/nft/items` | -| `/nft/holders/evm/:contract` | `/v1/evm/nft/holders` | -| `/nft/activities/evm` | `/v1/evm/nft/transfers` | -| `/nft/sales/evm` | `/v1/evm/nft/sales` | - -**Important:** The NFT endpoint `/nft/activities` has been renamed to `/v1/evm/nft/transfers` to better reflect its purpose. - -**Important:** The EVM Token OHLCV Data endpoint `/ohlc/prices/evm/{contract}` has been removed. You can use `/v1/evm/pools` to find stablecoin pairs for your contract and `/v1/evm/pools/ohlc` for OHLCV data for that pair. - ---- - -#### 2.2 New EVM native balances endpoint - -Native balances for EVM chains can be found under `/v1/evm/balances/native`. They will not show up in the `/v1/evm/balances` endpoint. - -Other endpoints can still use native token under the `0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee` contract. - ---- - -#### 2.3 SVM Endpoints - -Consolidated under `/v1/svm/*` - -| Old Endpoint | New Endpoint | -| ------------------------ | ------------------------- | -| `/balances/svm` | `/v1/svm/balances` | -| `/balances/native/svm` | `/v1/svm/balances/native` | -| `/holders/svm/:contract` | `/v1/svm/holders` | -| `/tokens/svm/:mint` | `/v1/svm/tokens` | -| `/transfers/svm` | `/v1/svm/transfers` | -| `/pools/svm` | `/v1/svm/pools` | -| `/swaps/svm` | `/v1/svm/swaps` | -| `/dexes/svm` | `/v1/svm/dexes` | -| `/owner/svm/:account` | `/v1/svm/owner` | -| `/ohlc/pools/svm/:pool` | `/v1/svm/pools/ohlc` | - -## 📝 Parameter Changes - -### 3. **Path Parameters → Query Parameters** - -All path parameters have been moved to query parameters. - -**Before:** - -```bash -GET /balances/evm/:address -GET /holders/evm/:contract -GET /nft/items/evm/contract/:contract/token_id/:token_id -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0x... -GET /v1/evm/holders?network=mainnet&contract=0x... -GET /v1/evm/nft/items?network=mainnet&contract=0x...&token_id=5712 -``` - -### 4. **Standardized Parameter Naming** - -All query parameters have been standardized to use snake_case naming convention. - -| Old Parameter | New Parameter | Notes | -| --- | --- | --- | -| `network_id` | `network` | Renamed, `matic` has also been renamed to `polygon` | -| `anyAddress` | `address` | Matches either `from` or `to` address | -| `from`, `fromAddress`, `offererAddress` | `from_address`, `offerer` | - | -| `to`, `toAddress`, `recipientAddress` | `to_address`, `recipient` | - | -| `startTime` | `start_time` | Default: `1735689600` (`2025-01-01`) | -| `endTime` | `end_time` | Default: `9999999999` | -| - | `start_block` | New parameter, default: `0` | -| - | `end_block` | New parameter, default: `9999999999` | -| - | `include_null_balances` | New parameter, default: `false` | -| `tx_hash` | `transaction_id` | - | -| `token` | `input_token`, `output_token` | More explicit for pool queries | -| `pool` | `amm_pool` | - | -| `orderBy`, `orderDirection` | _(removed)_ | Always sorted by most recent timestamp first | - -**Important:** The `network_id` parameter has been renamed to `network`. - -**Important:** `matic` network has been renamed to `polygon`. - -### 5. **Batched Parameters** - -Many parameters now support batching - accepting single values or comma-separated strings. - -**Supported Batched Parameters:** - -- `address`, `from_address`, `to_address` -- `contract`, `token_id` -- `factory`, `pool` -- `owner`, `token_account`, `mint` -- `transaction_id`, `signature` - -**Examples:** - -```console -# Single value -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 - -# Comma-separated, single parameter -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 - -# Repeated parameter values -?contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2&contract=0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -### 6. **New Parameters** - -#### `include_null_balances` - -Added to balance endpoints to optionally include zero/null balances. - -```bash -?include_null_balances=true -``` - -**Default:** `false` - -## 🔄 Response Changes - -### 7. **Pagination Changes** - -Pagination responses have been simplified. The API no longer computes total result counts due to performance and accuracy considerations when working with ClickHouse views and materialized tables. - -**Before:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2, - "next_page": 3, - "total_pages": 10 - }, - "total_results": 1234 -} -``` - -**After:** - -```json -{ - "pagination": { - "previous_page": 1, - "current_page": 2 - } -} -``` - -**Removed fields:** - -- `next_page` -- `total_pages` -- `total_results` - -**Important:** To retrieve all results, continue incrementing the `page` parameter until the API returns an empty `data` array. This indicates you've reached the end of the results. - -### 8. **Removed Parameters** - -The following deprecated parameters have been removed: - -- `orderBy` - Results are now ordered by timestamp/block by default -- `orderDirection` - Always descending (newest first) - -## 📚 Example Migrations - -### Old vs New: Get Token Balances - -**Before:** - -```bash -GET /balances/evm/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?network_id=mainnet&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -**After:** - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 -``` - -### New Feature: Batched Queries - -Query balances for multiple contracts in a single request: - -```bash -GET /v1/evm/balances?network=mainnet&address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&contract=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 -``` - -## ⚠️ Important Notes - -1. **Backward Compatibility:** The old endpoints are deprecated and will be removed in the future. Migrate by **Oct 30, 2025**. - -2. **Default Sorting:** All results are now sorted by timestamp (descending) by default. Custom sorting is no longer supported. - -3. **Pagination:** Continue paging through results by incrementing the `page` parameter until you receive an empty `data` array. The API no longer provides total counts due to performance optimizations with ClickHouse. - -4. **Time Defaults:** If you previously relied on fetching all historical data without time filters, note that `start_time` now defaults to `2025-01-01`. Adjust accordingly if you need earlier data. From 530b653ae6344f7230ee1271994084b3c31ef73f Mon Sep 17 00:00:00 2001 From: nsjames Date: Thu, 27 Nov 2025 09:28:05 -0500 Subject: [PATCH 2/8] remove bun lock --- website/bun.lock | 2946 ---------------------------------------------- 1 file changed, 2946 deletions(-) delete mode 100644 website/bun.lock diff --git a/website/bun.lock b/website/bun.lock deleted file mode 100644 index 9a3bf41821e2..000000000000 --- a/website/bun.lock +++ /dev/null @@ -1,2946 +0,0 @@ -{ - "lockfileVersion": 1, - "workspaces": { - "": { - "name": "@graphprotocol/docs", - "dependencies": { - "@docsearch/react": "^3.9.0", - "@edgeandnode/common": "^7.0.4", - "@edgeandnode/gds": "^6.7.8", - "@edgeandnode/go": "^10.3.12", - "@emotion/react": "^11.14.0", - "@graphprotocol/contracts": "^7.3.0", - "@pinax/graph-networks-registry": "^0.7.1", - "@react-hookz/web": "^25.2.0", - "@readme/httpsnippet": "^11.0.0", - "@readme/openapi-parser": "^4.1.2", - "fetch-har": "^11.1.1", - "hast": "^1.0.0", - "hast-util-whitespace": "^3.0.0", - "lodash": "^4.17.21", - "mdast-util-mdx-jsx": "^3.2.0", - "mdast-util-to-hast": "^13.2.0", - "mixpanel-browser": "^2.72.0", - "motion": "^12.23.24", - "next": "^14.2.33", - "next-seo": "^6.8.0", - "next-sitemap": "^4.2.3", - "nextra": "^3.3.1", - "openapi-types": "^12.1.3", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-ga4": "^2.1.0", - "react-intersection-observer": "^9.16.0", - "react-markdown": "^10.1.0", - "rehype-mdx-code-props": "^3.0.1", - "rehype-raw": "^7.0.0", - "remark-gfm": "^4.0.1", - "theme-ui": "^0.17.2", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.3", - "zod": "^3.25.76", - }, - "devDependencies": { - "@types/hast": "^3.0.4", - "@types/lodash": "^4.17.20", - "@types/mdast": "^4.0.4", - "@types/mixpanel-browser": "^2.66.0", - "@types/node": "^22.19.1", - "@types/react": "^18.3.27", - "@types/react-dom": "^18.3.7", - "@types/vfile": "^4.0.0", - "autoprefixer": "^10.4.22", - "fast-xml-parser": "^5.3.2", - "postcss": "^8.5.6", - "tailwindcss": "^3.4.18", - "tsup": "^8.5.1", - "tsx": "4.20.4", - }, - }, - }, - "packages": { - "@adraffy/ens-normalize": ["@adraffy/ens-normalize@1.10.1", "", {}, "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw=="], - - "@algolia/abtesting": ["@algolia/abtesting@1.11.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-a7oQ8dwiyoyVmzLY0FcuBqyqcNSq78qlcOtHmNBumRlHCSnXDcuoYGBGPN1F6n8JoGhviDDsIaF/oQrzTzs6Lg=="], - - "@algolia/autocomplete-core": ["@algolia/autocomplete-core@1.17.9", "", { "dependencies": { "@algolia/autocomplete-plugin-algolia-insights": "1.17.9", "@algolia/autocomplete-shared": "1.17.9" } }, "sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ=="], - - "@algolia/autocomplete-plugin-algolia-insights": ["@algolia/autocomplete-plugin-algolia-insights@1.17.9", "", { "dependencies": { "@algolia/autocomplete-shared": "1.17.9" }, "peerDependencies": { "search-insights": ">= 1 < 3" } }, "sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ=="], - - "@algolia/autocomplete-preset-algolia": ["@algolia/autocomplete-preset-algolia@1.17.9", "", { "dependencies": { "@algolia/autocomplete-shared": "1.17.9" }, "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" } }, "sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ=="], - - "@algolia/autocomplete-shared": ["@algolia/autocomplete-shared@1.17.9", "", { "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" } }, "sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ=="], - - "@algolia/client-abtesting": ["@algolia/client-abtesting@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-WTW0VZA8xHMbzuQD5b3f41ovKZ0MNTIXkWfm0F2PU+XGcLxmxX15UqODzF2sWab0vSbi3URM1xLhJx+bXbd1eQ=="], - - "@algolia/client-analytics": ["@algolia/client-analytics@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-I3g7VtvG/QJOH3tQO7E7zWTwBfK/nIQXShFLR8RvPgWburZ626JNj332M3wHCYcaAMivN9WJG66S2JNXhm6+Xg=="], - - "@algolia/client-common": ["@algolia/client-common@5.45.0", "", {}, "sha512-/nTqm1tLiPtbUr+8kHKyFiCOfhRfgC+JxLvOCq471gFZZOlsh6VtFRiKI60/zGmHTojFC6B0mD80PB7KeK94og=="], - - "@algolia/client-insights": ["@algolia/client-insights@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-suQTx/1bRL1g/K2hRtbK3ANmbzaZCi13487sxxmqok+alBDKKw0/TI73ZiHjjFXM2NV52inwwcmW4fUR45206Q=="], - - "@algolia/client-personalization": ["@algolia/client-personalization@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-CId/dbjpzI3eoUhPU6rt/z4GrRsDesqFISEMOwrqWNSrf4FJhiUIzN42Ac+Gzg69uC0RnzRYy60K1y4Na5VSMw=="], - - "@algolia/client-query-suggestions": ["@algolia/client-query-suggestions@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-tjbBKfA8fjAiFtvl9g/MpIPiD6pf3fj7rirVfh1eMIUi8ybHP4ovDzIaE216vHuRXoePQVCkMd2CokKvYq1CLw=="], - - "@algolia/client-search": ["@algolia/client-search@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-nxuCid+Nszs4xqwIMDw11pRJPes2c+Th1yup/+LtpjFH8QWXkr3SirNYSD3OXAeM060HgWWPLA8/Fxk+vwxQOA=="], - - "@algolia/ingestion": ["@algolia/ingestion@1.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-t+1doBzhkQTeOOjLHMlm4slmXBhvgtEGQhOmNpMPTnIgWOyZyESWdm+XD984qM4Ej1i9FRh8VttOGrdGnAjAng=="], - - "@algolia/monitoring": ["@algolia/monitoring@1.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-IaX3ZX1A/0wlgWZue+1BNWlq5xtJgsRo7uUk/aSiYD7lPbJ7dFuZ+yTLFLKgbl4O0QcyHTj1/mSBj9ryF1Lizg=="], - - "@algolia/recommend": ["@algolia/recommend@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-1jeMLoOhkgezCCPsOqkScwYzAAc1Jr5T2hisZl0s32D94ZV7d1OHozBukgOjf8Dw+6Hgi6j52jlAdUWTtkX9Mg=="], - - "@algolia/requester-browser-xhr": ["@algolia/requester-browser-xhr@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0" } }, "sha512-46FIoUkQ9N7wq4/YkHS5/W9Yjm4Ab+q5kfbahdyMpkBPJ7IBlwuNEGnWUZIQ6JfUZuJVojRujPRHMihX4awUMg=="], - - "@algolia/requester-fetch": ["@algolia/requester-fetch@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0" } }, "sha512-XFTSAtCwy4HdBhSReN2rhSyH/nZOM3q3qe5ERG2FLbYId62heIlJBGVyAPRbltRwNlotlydbvSJ+SQ0ruWC2cw=="], - - "@algolia/requester-node-http": ["@algolia/requester-node-http@5.45.0", "", { "dependencies": { "@algolia/client-common": "5.45.0" } }, "sha512-8mTg6lHx5i44raCU52APsu0EqMsdm4+7Hch/e4ZsYZw0hzwkuaMFh826ngnkYf9XOl58nHoou63aZ874m8AbpQ=="], - - "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], - - "@antfu/install-pkg": ["@antfu/install-pkg@1.1.0", "", { "dependencies": { "package-manager-detector": "^1.3.0", "tinyexec": "^1.0.1" } }, "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ=="], - - "@antfu/utils": ["@antfu/utils@9.3.0", "", {}, "sha512-9hFT4RauhcUzqOE4f1+frMKLZrgNog5b06I7VmZQV1BkvwvqrbC8EBZf3L1eEL2AKb6rNKjER0sEvJiSP1FXEA=="], - - "@apidevtools/json-schema-ref-parser": ["@apidevtools/json-schema-ref-parser@13.0.5", "", { "dependencies": { "@types/json-schema": "^7.0.15", "js-yaml": "^4.1.0" } }, "sha512-xfh4xVJD62gG6spIc7lwxoWT+l16nZu1ELyU8FkjaP/oD2yP09EvLAU6KhtudN9aML2Khhs9pY6Slr7KGTES3w=="], - - "@asamuzakjp/css-color": ["@asamuzakjp/css-color@3.2.0", "", { "dependencies": { "@csstools/css-calc": "^2.1.3", "@csstools/css-color-parser": "^3.0.9", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "lru-cache": "^10.4.3" } }, "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw=="], - - "@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], - - "@babel/generator": ["@babel/generator@7.28.5", "", { "dependencies": { "@babel/parser": "^7.28.5", "@babel/types": "^7.28.5", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ=="], - - "@babel/helper-globals": ["@babel/helper-globals@7.28.0", "", {}, "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw=="], - - "@babel/helper-module-imports": ["@babel/helper-module-imports@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w=="], - - "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], - - "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.28.5", "", {}, "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="], - - "@babel/parser": ["@babel/parser@7.28.5", "", { "dependencies": { "@babel/types": "^7.28.5" }, "bin": "./bin/babel-parser.js" }, "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ=="], - - "@babel/runtime": ["@babel/runtime@7.28.4", "", {}, "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ=="], - - "@babel/template": ["@babel/template@7.27.2", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/parser": "^7.27.2", "@babel/types": "^7.27.1" } }, "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw=="], - - "@babel/traverse": ["@babel/traverse@7.28.5", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.5", "@babel/template": "^7.27.2", "@babel/types": "^7.28.5", "debug": "^4.3.1" } }, "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ=="], - - "@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="], - - "@base-ui-components/react": ["@base-ui-components/react@1.0.0-alpha.7", "", { "dependencies": { "@babel/runtime": "^7.26.10", "@floating-ui/react": "^0.27.5", "@floating-ui/utils": "^0.2.9", "@react-aria/overlays": "^3.26.1", "prop-types": "^15.8.1", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "@types/react": "^17 || ^18 || ^19", "react": "^17 || ^18 || ^19", "react-dom": "^17 || ^18 || ^19" }, "optionalPeers": ["@types/react"] }, "sha512-M4MxUvwAfERYSMqrUmTSf4J5yHXXGHqXw5wE7WLz8eCIhFmVWog4j5hYRU6QZ0VhqlyVPhs9KqSnts+FFyPmew=="], - - "@braintree/sanitize-url": ["@braintree/sanitize-url@7.1.1", "", {}, "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw=="], - - "@bramus/style-observer": ["@bramus/style-observer@2.0.2", "", {}, "sha512-oRKamZ9Z637pAZgNGJIbNGiFoYQSeA47PpU4K8hXZq9lQcPu35BCqMG9d9J/ab2CB/0XlXq6ToMnVhHF8mLNqg=="], - - "@chevrotain/cst-dts-gen": ["@chevrotain/cst-dts-gen@11.0.3", "", { "dependencies": { "@chevrotain/gast": "11.0.3", "@chevrotain/types": "11.0.3", "lodash-es": "4.17.21" } }, "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ=="], - - "@chevrotain/gast": ["@chevrotain/gast@11.0.3", "", { "dependencies": { "@chevrotain/types": "11.0.3", "lodash-es": "4.17.21" } }, "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q=="], - - "@chevrotain/regexp-to-ast": ["@chevrotain/regexp-to-ast@11.0.3", "", {}, "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA=="], - - "@chevrotain/types": ["@chevrotain/types@11.0.3", "", {}, "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ=="], - - "@chevrotain/utils": ["@chevrotain/utils@11.0.3", "", {}, "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ=="], - - "@corex/deepmerge": ["@corex/deepmerge@4.0.43", "", {}, "sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ=="], - - "@csstools/color-helpers": ["@csstools/color-helpers@5.1.0", "", {}, "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA=="], - - "@csstools/css-calc": ["@csstools/css-calc@2.1.4", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ=="], - - "@csstools/css-color-parser": ["@csstools/css-color-parser@3.1.0", "", { "dependencies": { "@csstools/color-helpers": "^5.1.0", "@csstools/css-calc": "^2.1.4" }, "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA=="], - - "@csstools/css-parser-algorithms": ["@csstools/css-parser-algorithms@3.0.5", "", { "peerDependencies": { "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ=="], - - "@csstools/css-tokenizer": ["@csstools/css-tokenizer@3.0.4", "", {}, "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw=="], - - "@docsearch/css": ["@docsearch/css@3.9.0", "", {}, "sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA=="], - - "@docsearch/react": ["@docsearch/react@3.9.0", "", { "dependencies": { "@algolia/autocomplete-core": "1.17.9", "@algolia/autocomplete-preset-algolia": "1.17.9", "@docsearch/css": "3.9.0", "algoliasearch": "^5.14.2" }, "peerDependencies": { "@types/react": ">= 16.8.0 < 20.0.0", "react": ">= 16.8.0 < 20.0.0", "react-dom": ">= 16.8.0 < 20.0.0", "search-insights": ">= 1 < 3" }, "optionalPeers": ["@types/react", "react", "react-dom", "search-insights"] }, "sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ=="], - - "@edgeandnode/common": ["@edgeandnode/common@7.0.4", "", { "dependencies": { "@ethersproject/providers": "^5.8.0", "@pinax/graph-networks-registry": "^0.6.7", "@uniswap/sdk-core": "^7.7.2", "@uniswap/v3-core": "^1.0.1", "@uniswap/v3-sdk": "^3.25.2", "dataloader": "^2.2.3", "dayjs": "^1.11.13", "decimal.js": "^10.5.0", "ethers": "^5.8.0", "graphql": "^16.10.0", "graphql-tag": "^2.12.6", "numeral": "^2.0.6", "pluralize": "^8.0.0" } }, "sha512-R5i6tPnmUY00nbaWKvrLlfToFciJSm7Kk5boql16f+NzZnvsk6+SxFWi7b/hmQfEbaXm74isD/yfVcLPX6h+Aw=="], - - "@edgeandnode/ens": ["@edgeandnode/ens@2.3.1", "", { "dependencies": { "@ensdomains/ensjs": "^4.0.2", "graphql": "^16.11.0", "graphql-request": "^7.2.0", "zod": "^4.1.11" }, "peerDependencies": { "viem": "^2.37" } }, "sha512-NGwFZ+Imnea8ao7m4vHywZDbcqGXzij8+PCPS5t9t1elWfykkDf6lUP8xopcYkJkYjD9hgUydmlZ0BYH6nrKTQ=="], - - "@edgeandnode/gds": ["@edgeandnode/gds@6.7.8", "", { "dependencies": { "@base-ui-components/react": "1.0.0-alpha.7", "@bramus/style-observer": "^2.0.2", "@edgeandnode/common": "^7.0.4", "@figma/code-connect": "^1.3.2", "@floating-ui/react-dom": "^2.1.2", "@headlessui/react": "^2.2.1", "@phosphor-icons/react": "^2.1.7", "@radix-ui/react-accordion": "^1.2.3", "@radix-ui/react-alert-dialog": "^1.1.6", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-direction": "^1.1.0", "@radix-ui/react-dropdown-menu": "^2.1.6", "@radix-ui/react-label": "^2.1.2", "@radix-ui/react-popover": "^1.1.6", "@radix-ui/react-slider": "^1.2.3", "@radix-ui/react-slot": "^1.1.2", "@radix-ui/react-switch": "^1.1.3", "@radix-ui/react-toast": "^1.2.6", "@radix-ui/react-tooltip": "^1.1.8", "@react-aria/utils": "^3.28.1", "@react-hookz/web": "^25.1.0", "@tailwindcss/container-queries": "^0.1.1", "@tanem/react-nprogress": "^5.0.55", "@theme-ui/css": "^0.17.2", "@theme-ui/match-media": "^0.17.2", "@web3icons/react": "^4.0.28", "@xstate/react": "^3.2.2", "color": "^5.0.0", "escape-string-regexp": "^5.0.0", "ethers": "^5.8.0", "lodash": "^4.17.21", "md5": "^2.3.0", "motion": "^12.6.3", "numeral": "^2.0.6", "prism-react-renderer": "^2.4.1", "prismjs": "^1.30.0", "react-aria": "^3.38.1", "react-device-detect": "^2.2.3", "react-dropzone": "^14.3.8", "react-ga4": "^2.1.0", "react-image-crop": "^11.0.7", "react-keyed-flatten-children": "^5.0.0", "react-transition-group": "^4.4.5", "react-virtuoso": "^4.12.6", "recharts": "^2.15.2", "shiki": "^3.2.1", "tailwindcss": "^3.4.17", "typy": "^3.3.0", "universal-cookie": "^7.2.2", "xstate": "^4.38.3" }, "peerDependencies": { "@emotion/react": "^11", "dayjs": "^1.11", "next": ">=13", "react": "^18", "react-dom": "^18", "theme-ui": ">=0.16" }, "optionalPeers": ["next"] }, "sha512-2tqMNFAIT5tW2SMxjWGci9bQcLyvzOSeHs9RL6iSe6keTVHfnQCyefnQ58FjCEOhwv32Ki3dulN2xM6TGR6++A=="], - - "@edgeandnode/go": ["@edgeandnode/go@10.3.12", "", { "dependencies": { "@graphql-typed-document-node/core": "^3.2.0", "@radix-ui/react-collapsible": "^1.1.3", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-navigation-menu": "^1.2.5", "@radix-ui/react-portal": "^1.1.4", "@react-aria/utils": "^3.28.1", "@theme-ui/css": "^0.17.2", "@web3icons/react": "^4.0.28", "escape-string-regexp": "^5.0.0", "motion": "^12.6.3", "tailwindcss": "^3.4.17" }, "peerDependencies": { "@edgeandnode/common": "^7.0.4", "@edgeandnode/ens": "^2.3.1", "@edgeandnode/gds": "^6.7.8", "@emotion/react": "^11", "@tanstack/react-query": "^5", "graphql": ">=16.9", "graphql-request": ">=7", "next": ">=13", "react": "^18", "react-dom": "^18", "theme-ui": ">=0.16" }, "optionalPeers": ["next"] }, "sha512-6B+Fo9TNYxqdrJ/cmsn9arhcxCTyz9rUPaXsw9dxDjJB5KMciIFphj5RH3BGzF27kJEydDHEaqLKQmyUsWEQeg=="], - - "@emotion/babel-plugin": ["@emotion/babel-plugin@11.13.5", "", { "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/runtime": "^7.18.3", "@emotion/hash": "^0.9.2", "@emotion/memoize": "^0.9.0", "@emotion/serialize": "^1.3.3", "babel-plugin-macros": "^3.1.0", "convert-source-map": "^1.5.0", "escape-string-regexp": "^4.0.0", "find-root": "^1.1.0", "source-map": "^0.5.7", "stylis": "4.2.0" } }, "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ=="], - - "@emotion/cache": ["@emotion/cache@11.14.0", "", { "dependencies": { "@emotion/memoize": "^0.9.0", "@emotion/sheet": "^1.4.0", "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "stylis": "4.2.0" } }, "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA=="], - - "@emotion/hash": ["@emotion/hash@0.9.2", "", {}, "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g=="], - - "@emotion/is-prop-valid": ["@emotion/is-prop-valid@0.8.8", "", { "dependencies": { "@emotion/memoize": "0.7.4" } }, "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA=="], - - "@emotion/memoize": ["@emotion/memoize@0.9.0", "", {}, "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ=="], - - "@emotion/react": ["@emotion/react@11.14.0", "", { "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.13.5", "@emotion/cache": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { "react": ">=16.8.0" } }, "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA=="], - - "@emotion/serialize": ["@emotion/serialize@1.3.3", "", { "dependencies": { "@emotion/hash": "^0.9.2", "@emotion/memoize": "^0.9.0", "@emotion/unitless": "^0.10.0", "@emotion/utils": "^1.4.2", "csstype": "^3.0.2" } }, "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA=="], - - "@emotion/sheet": ["@emotion/sheet@1.4.0", "", {}, "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg=="], - - "@emotion/unitless": ["@emotion/unitless@0.10.0", "", {}, "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg=="], - - "@emotion/use-insertion-effect-with-fallbacks": ["@emotion/use-insertion-effect-with-fallbacks@1.2.0", "", { "peerDependencies": { "react": ">=16.8.0" } }, "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg=="], - - "@emotion/utils": ["@emotion/utils@1.4.2", "", {}, "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA=="], - - "@emotion/weak-memoize": ["@emotion/weak-memoize@0.4.0", "", {}, "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg=="], - - "@ensdomains/address-encoder": ["@ensdomains/address-encoder@1.1.3", "", { "dependencies": { "@noble/curves": "^1.2.0", "@noble/hashes": "^1.3.2", "@scure/base": "^1.1.5" } }, "sha512-QS4ax0YkA8tsbQcWgBNmLLtb3aG0jsOQtED9SRyX9Ixflt1jDMuC/0i3ONMnNJNG5HTIko0Te4Y1JIGXjNcnUg=="], - - "@ensdomains/content-hash": ["@ensdomains/content-hash@3.1.0-rc.1", "", { "dependencies": { "@ensdomains/address-encoder": "1.0.0-rc.3", "@noble/curves": "^1.2.0", "@scure/base": "^1.1.5" } }, "sha512-OzdkXgdFmduzcJKU4KRkkJkQHnm5p7m7FkX8k+bHOEoOIzc0ueGT/Jay4nnb60wNk1wSHRmzY+hHBMpFDiGReg=="], - - "@ensdomains/dnsprovejs": ["@ensdomains/dnsprovejs@0.5.2", "", { "dependencies": { "@noble/hashes": "^1.3.2", "dns-packet": "^5.6.1", "typescript-logging": "^1.0.1" } }, "sha512-lSuYnUvUV+kBviQ82XUldtpiE0lA4gWrCilsoCWbTKtc/fH6re9NaTkhbPEy/7OF96MMAG1BDnuoTsfSMAzFBg=="], - - "@ensdomains/ensjs": ["@ensdomains/ensjs@4.2.0", "", { "dependencies": { "@adraffy/ens-normalize": "1.10.1", "@ensdomains/address-encoder": "1.1.3", "@ensdomains/content-hash": "3.1.0-rc.1", "@ensdomains/dnsprovejs": "^0.5.2", "abitype": "^1.0.0", "dns-packet": "^5.3.1", "graphql": "^16.11.0", "graphql-request": "7.1.2", "pako": "^2.1.0", "ts-pattern": "^5.4.0" }, "peerDependencies": { "viem": "^2.9.2" } }, "sha512-6E8LnKCJ45HySx8PSlepL8VfHJg0PgQRmP1xM8Snu9IcOkSpwI1LEiGOUYfEHX/I7yEglGSYMyGgeiqk0LeCcw=="], - - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.0", "", { "os": "aix", "cpu": "ppc64" }, "sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A=="], - - "@esbuild/android-arm": ["@esbuild/android-arm@0.27.0", "", { "os": "android", "cpu": "arm" }, "sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ=="], - - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.0", "", { "os": "android", "cpu": "arm64" }, "sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ=="], - - "@esbuild/android-x64": ["@esbuild/android-x64@0.27.0", "", { "os": "android", "cpu": "x64" }, "sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q=="], - - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg=="], - - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g=="], - - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw=="], - - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g=="], - - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.0", "", { "os": "linux", "cpu": "arm" }, "sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ=="], - - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ=="], - - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.0", "", { "os": "linux", "cpu": "ia32" }, "sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw=="], - - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.0", "", { "os": "linux", "cpu": "none" }, "sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg=="], - - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.0", "", { "os": "linux", "cpu": "none" }, "sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg=="], - - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA=="], - - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.0", "", { "os": "linux", "cpu": "none" }, "sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ=="], - - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w=="], - - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.0", "", { "os": "linux", "cpu": "x64" }, "sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw=="], - - "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.0", "", { "os": "none", "cpu": "arm64" }, "sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w=="], - - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.0", "", { "os": "none", "cpu": "x64" }, "sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA=="], - - "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.0", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ=="], - - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.0", "", { "os": "openbsd", "cpu": "x64" }, "sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A=="], - - "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.0", "", { "os": "none", "cpu": "arm64" }, "sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA=="], - - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.0", "", { "os": "sunos", "cpu": "x64" }, "sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA=="], - - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg=="], - - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ=="], - - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.0", "", { "os": "win32", "cpu": "x64" }, "sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg=="], - - "@ethereumjs/rlp": ["@ethereumjs/rlp@5.0.2", "", { "bin": { "rlp": "bin/rlp.cjs" } }, "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA=="], - - "@ethereumjs/util": ["@ethereumjs/util@9.1.0", "", { "dependencies": { "@ethereumjs/rlp": "^5.0.2", "ethereum-cryptography": "^2.2.1" } }, "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog=="], - - "@ethersproject/abi": ["@ethersproject/abi@5.8.0", "", { "dependencies": { "@ethersproject/address": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/hash": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/strings": "^5.8.0" } }, "sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q=="], - - "@ethersproject/abstract-provider": ["@ethersproject/abstract-provider@5.8.0", "", { "dependencies": { "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/networks": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/transactions": "^5.8.0", "@ethersproject/web": "^5.8.0" } }, "sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg=="], - - "@ethersproject/abstract-signer": ["@ethersproject/abstract-signer@5.8.0", "", { "dependencies": { "@ethersproject/abstract-provider": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0" } }, "sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA=="], - - "@ethersproject/address": ["@ethersproject/address@5.8.0", "", { "dependencies": { "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/rlp": "^5.8.0" } }, "sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA=="], - - "@ethersproject/base64": ["@ethersproject/base64@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0" } }, "sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ=="], - - "@ethersproject/basex": ["@ethersproject/basex@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/properties": "^5.8.0" } }, "sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q=="], - - "@ethersproject/bignumber": ["@ethersproject/bignumber@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "bn.js": "^5.2.1" } }, "sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA=="], - - "@ethersproject/bytes": ["@ethersproject/bytes@5.8.0", "", { "dependencies": { "@ethersproject/logger": "^5.8.0" } }, "sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A=="], - - "@ethersproject/constants": ["@ethersproject/constants@5.8.0", "", { "dependencies": { "@ethersproject/bignumber": "^5.8.0" } }, "sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg=="], - - "@ethersproject/contracts": ["@ethersproject/contracts@5.8.0", "", { "dependencies": { "@ethersproject/abi": "^5.8.0", "@ethersproject/abstract-provider": "^5.8.0", "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/address": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/transactions": "^5.8.0" } }, "sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ=="], - - "@ethersproject/hash": ["@ethersproject/hash@5.8.0", "", { "dependencies": { "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/address": "^5.8.0", "@ethersproject/base64": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/strings": "^5.8.0" } }, "sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA=="], - - "@ethersproject/hdnode": ["@ethersproject/hdnode@5.8.0", "", { "dependencies": { "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/basex": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/pbkdf2": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/sha2": "^5.8.0", "@ethersproject/signing-key": "^5.8.0", "@ethersproject/strings": "^5.8.0", "@ethersproject/transactions": "^5.8.0", "@ethersproject/wordlists": "^5.8.0" } }, "sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA=="], - - "@ethersproject/json-wallets": ["@ethersproject/json-wallets@5.8.0", "", { "dependencies": { "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/address": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/hdnode": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/pbkdf2": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/random": "^5.8.0", "@ethersproject/strings": "^5.8.0", "@ethersproject/transactions": "^5.8.0", "aes-js": "3.0.0", "scrypt-js": "3.0.1" } }, "sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w=="], - - "@ethersproject/keccak256": ["@ethersproject/keccak256@5.7.0", "", { "dependencies": { "@ethersproject/bytes": "^5.7.0", "js-sha3": "0.8.0" } }, "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg=="], - - "@ethersproject/logger": ["@ethersproject/logger@5.8.0", "", {}, "sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA=="], - - "@ethersproject/networks": ["@ethersproject/networks@5.8.0", "", { "dependencies": { "@ethersproject/logger": "^5.8.0" } }, "sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg=="], - - "@ethersproject/pbkdf2": ["@ethersproject/pbkdf2@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/sha2": "^5.8.0" } }, "sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg=="], - - "@ethersproject/properties": ["@ethersproject/properties@5.8.0", "", { "dependencies": { "@ethersproject/logger": "^5.8.0" } }, "sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw=="], - - "@ethersproject/providers": ["@ethersproject/providers@5.8.0", "", { "dependencies": { "@ethersproject/abstract-provider": "^5.8.0", "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/address": "^5.8.0", "@ethersproject/base64": "^5.8.0", "@ethersproject/basex": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/hash": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/networks": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/random": "^5.8.0", "@ethersproject/rlp": "^5.8.0", "@ethersproject/sha2": "^5.8.0", "@ethersproject/strings": "^5.8.0", "@ethersproject/transactions": "^5.8.0", "@ethersproject/web": "^5.8.0", "bech32": "1.1.4", "ws": "8.18.0" } }, "sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw=="], - - "@ethersproject/random": ["@ethersproject/random@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0" } }, "sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A=="], - - "@ethersproject/rlp": ["@ethersproject/rlp@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0" } }, "sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q=="], - - "@ethersproject/sha2": ["@ethersproject/sha2@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "hash.js": "1.1.7" } }, "sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A=="], - - "@ethersproject/signing-key": ["@ethersproject/signing-key@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "bn.js": "^5.2.1", "elliptic": "6.6.1", "hash.js": "1.1.7" } }, "sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w=="], - - "@ethersproject/solidity": ["@ethersproject/solidity@5.8.0", "", { "dependencies": { "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/sha2": "^5.8.0", "@ethersproject/strings": "^5.8.0" } }, "sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA=="], - - "@ethersproject/strings": ["@ethersproject/strings@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/logger": "^5.8.0" } }, "sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg=="], - - "@ethersproject/transactions": ["@ethersproject/transactions@5.8.0", "", { "dependencies": { "@ethersproject/address": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/rlp": "^5.8.0", "@ethersproject/signing-key": "^5.8.0" } }, "sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg=="], - - "@ethersproject/units": ["@ethersproject/units@5.8.0", "", { "dependencies": { "@ethersproject/bignumber": "^5.8.0", "@ethersproject/constants": "^5.8.0", "@ethersproject/logger": "^5.8.0" } }, "sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ=="], - - "@ethersproject/wallet": ["@ethersproject/wallet@5.8.0", "", { "dependencies": { "@ethersproject/abstract-provider": "^5.8.0", "@ethersproject/abstract-signer": "^5.8.0", "@ethersproject/address": "^5.8.0", "@ethersproject/bignumber": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/hash": "^5.8.0", "@ethersproject/hdnode": "^5.8.0", "@ethersproject/json-wallets": "^5.8.0", "@ethersproject/keccak256": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/random": "^5.8.0", "@ethersproject/signing-key": "^5.8.0", "@ethersproject/transactions": "^5.8.0", "@ethersproject/wordlists": "^5.8.0" } }, "sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA=="], - - "@ethersproject/web": ["@ethersproject/web@5.8.0", "", { "dependencies": { "@ethersproject/base64": "^5.8.0", "@ethersproject/bytes": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/strings": "^5.8.0" } }, "sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw=="], - - "@ethersproject/wordlists": ["@ethersproject/wordlists@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "@ethersproject/hash": "^5.8.0", "@ethersproject/logger": "^5.8.0", "@ethersproject/properties": "^5.8.0", "@ethersproject/strings": "^5.8.0" } }, "sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg=="], - - "@fastify/busboy": ["@fastify/busboy@2.1.1", "", {}, "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA=="], - - "@figma/code-connect": ["@figma/code-connect@1.3.11", "", { "dependencies": { "boxen": "5.1.1", "chalk": "^4.1.2", "commander": "^11.1.0", "compare-versions": "^6.1.0", "cross-spawn": "^7.0.3", "dotenv": "^16.3.1", "fast-fuzzy": "^1.12.0", "find-up": "^5.0.0", "glob": "^11.0.4", "jsdom": "^24.1.1", "lodash": "4.17.21", "minimatch": "^9.0.3", "ora": "^5.4.1", "parse5": "^7.1.2", "prettier": "^2.8.8", "prompts": "^2.4.2", "strip-ansi": "^6.0.0", "ts-morph": "^27.0.0", "typescript": "5.9.3", "undici": "^5.29.0", "zod": "3.25.58", "zod-validation-error": "^3.2.0" }, "bin": { "figma": "bin/figma" } }, "sha512-JhQwWGX8Jr6aGGUsQlX4Wuq2RKEym7es6QUXzvQkZM5ZiYAHhOpqbsTSSH+w771UTi2nQahTbQsHkxlFX5MTJg=="], - - "@floating-ui/core": ["@floating-ui/core@1.7.3", "", { "dependencies": { "@floating-ui/utils": "^0.2.10" } }, "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w=="], - - "@floating-ui/dom": ["@floating-ui/dom@1.7.4", "", { "dependencies": { "@floating-ui/core": "^1.7.3", "@floating-ui/utils": "^0.2.10" } }, "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA=="], - - "@floating-ui/react": ["@floating-ui/react@0.27.16", "", { "dependencies": { "@floating-ui/react-dom": "^2.1.6", "@floating-ui/utils": "^0.2.10", "tabbable": "^6.0.0" }, "peerDependencies": { "react": ">=17.0.0", "react-dom": ">=17.0.0" } }, "sha512-9O8N4SeG2z++TSM8QA/KTeKFBVCNEz/AGS7gWPJf6KFRzmRWixFRnCnkPHRDwSVZW6QPDO6uT0P2SpWNKCc9/g=="], - - "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.6", "", { "dependencies": { "@floating-ui/dom": "^1.7.4" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw=="], - - "@floating-ui/utils": ["@floating-ui/utils@0.2.10", "", {}, "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="], - - "@formatjs/ecma402-abstract": ["@formatjs/ecma402-abstract@2.3.6", "", { "dependencies": { "@formatjs/fast-memoize": "2.2.7", "@formatjs/intl-localematcher": "0.6.2", "decimal.js": "^10.4.3", "tslib": "^2.8.0" } }, "sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw=="], - - "@formatjs/fast-memoize": ["@formatjs/fast-memoize@2.2.7", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ=="], - - "@formatjs/icu-messageformat-parser": ["@formatjs/icu-messageformat-parser@2.11.4", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/icu-skeleton-parser": "1.8.16", "tslib": "^2.8.0" } }, "sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw=="], - - "@formatjs/icu-skeleton-parser": ["@formatjs/icu-skeleton-parser@1.8.16", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "tslib": "^2.8.0" } }, "sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ=="], - - "@formatjs/intl-localematcher": ["@formatjs/intl-localematcher@0.5.10", "", { "dependencies": { "tslib": "2" } }, "sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q=="], - - "@graphprotocol/contracts": ["@graphprotocol/contracts@7.3.0", "", {}, "sha512-uEjgrBN4WCkJhSrUi5O64cNbU5OWI7iwy/03Er9n+J7o3WEspizpLJvSGXql8E0XtI0ygBaHBTwJfPo7SUphkg=="], - - "@graphql-typed-document-node/core": ["@graphql-typed-document-node/core@3.2.0", "", { "peerDependencies": { "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ=="], - - "@headlessui/react": ["@headlessui/react@2.2.9", "", { "dependencies": { "@floating-ui/react": "^0.26.16", "@react-aria/focus": "^3.20.2", "@react-aria/interactions": "^3.25.0", "@tanstack/react-virtual": "^3.13.9", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "react-dom": "^18 || ^19 || ^19.0.0-rc" } }, "sha512-Mb+Un58gwBn0/yWZfyrCh0TJyurtT+dETj7YHleylHk5od3dv2XqETPGWMyQ5/7sYN7oWdyM1u9MvC0OC8UmzQ=="], - - "@humanwhocodes/momoa": ["@humanwhocodes/momoa@2.0.4", "", {}, "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA=="], - - "@iconify/types": ["@iconify/types@2.0.0", "", {}, "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="], - - "@iconify/utils": ["@iconify/utils@3.0.2", "", { "dependencies": { "@antfu/install-pkg": "^1.1.0", "@antfu/utils": "^9.2.0", "@iconify/types": "^2.0.0", "debug": "^4.4.1", "globals": "^15.15.0", "kolorist": "^1.8.0", "local-pkg": "^1.1.1", "mlly": "^1.7.4" } }, "sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ=="], - - "@internationalized/date": ["@internationalized/date@3.10.0", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw=="], - - "@internationalized/message": ["@internationalized/message@3.1.8", "", { "dependencies": { "@swc/helpers": "^0.5.0", "intl-messageformat": "^10.1.0" } }, "sha512-Rwk3j/TlYZhn3HQ6PyXUV0XP9Uv42jqZGNegt0BXlxjE6G3+LwHjbQZAGHhCnCPdaA6Tvd3ma/7QzLlLkJxAWA=="], - - "@internationalized/number": ["@internationalized/number@3.6.5", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g=="], - - "@internationalized/string": ["@internationalized/string@3.2.7", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-D4OHBjrinH+PFZPvfCXvG28n2LSykWcJ7GIioQL+ok0LON15SdfoUssoHzzOUmVZLbRoREsQXVzA6r8JKsbP6A=="], - - "@isaacs/balanced-match": ["@isaacs/balanced-match@4.0.1", "", {}, "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="], - - "@isaacs/brace-expansion": ["@isaacs/brace-expansion@5.0.0", "", { "dependencies": { "@isaacs/balanced-match": "^4.0.1" } }, "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA=="], - - "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], - - "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], - - "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], - - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], - - "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], - - "@leichtgewicht/ip-codec": ["@leichtgewicht/ip-codec@2.0.5", "", {}, "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw=="], - - "@mdx-js/mdx": ["@mdx-js/mdx@3.1.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "acorn": "^8.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ=="], - - "@mdx-js/react": ["@mdx-js/react@3.1.1", "", { "dependencies": { "@types/mdx": "^2.0.0" }, "peerDependencies": { "@types/react": ">=16", "react": ">=16" } }, "sha512-f++rKLQgUVYDAtECQ6fn/is15GkEH9+nZPM3MS0RcxVqoTfawHvDlSCH7JbMhAM6uJ32v3eXLvLmLvjGu7PTQw=="], - - "@mermaid-js/parser": ["@mermaid-js/parser@0.6.3", "", { "dependencies": { "langium": "3.3.1" } }, "sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA=="], - - "@mixpanel/rrdom": ["@mixpanel/rrdom@2.0.0-alpha.18.2", "", { "dependencies": { "@mixpanel/rrweb-snapshot": "^2.0.0-alpha.18" } }, "sha512-vX/tbnS14ZzzatC7vOyvAm9tOLU8tof0BuppBlphzEx1YHTSw8DQiAmyAc0AmXidchLV0W+cUHV/WsehPLh2hQ=="], - - "@mixpanel/rrweb": ["@mixpanel/rrweb@2.0.0-alpha.18.2", "", { "dependencies": { "@mixpanel/rrdom": "^2.0.0-alpha.18", "@mixpanel/rrweb-snapshot": "^2.0.0-alpha.18", "@mixpanel/rrweb-types": "^2.0.0-alpha.18", "@mixpanel/rrweb-utils": "^2.0.0-alpha.18", "@types/css-font-loading-module": "0.0.7", "@xstate/fsm": "^1.4.0", "base64-arraybuffer": "^1.0.1", "mitt": "^3.0.0" } }, "sha512-J3dVTEu6Z4p8di7y9KKvUooNuBjX97DdG6XGWoPEPi07A9512h9M8MEtvlY3mK0PGfuC0Mz5Pv/Ws6gjGYfKQg=="], - - "@mixpanel/rrweb-plugin-console-record": ["@mixpanel/rrweb-plugin-console-record@2.0.0-alpha.18.2", "", { "peerDependencies": { "@mixpanel/rrweb": "^2.0.0-alpha.18", "@mixpanel/rrweb-utils": "^2.0.0-alpha.18" } }, "sha512-Xkwh2gSdLqHRkWSXv8CPVCPQj5L85KnWc5DZQ0CXNRFgm2hTl5/YP6zfUubVs2JVXZHGcSGU+g7JVO2WcFJyyg=="], - - "@mixpanel/rrweb-snapshot": ["@mixpanel/rrweb-snapshot@2.0.0-alpha.18.2", "", { "dependencies": { "postcss": "^8.4.38" } }, "sha512-2kSnjZZ3QZ9zOz/isOt8s54mXUUDgXk/u0eEi/rE0xBWDeuA0NHrBcqiMc+w4F/yWWUpo5F5zcuPeYpc6ufAsw=="], - - "@mixpanel/rrweb-types": ["@mixpanel/rrweb-types@2.0.0-alpha.18.2", "", {}, "sha512-ucIYe1mfJ2UksvXW+d3bOySTB2/0yUSqQJlUydvbBz6OO2Bhq3nJHyLXV9ExkgUMZm1ZyDcvvmNUd1+5tAXlpA=="], - - "@mixpanel/rrweb-utils": ["@mixpanel/rrweb-utils@2.0.0-alpha.18.2", "", {}, "sha512-OomKIB6GTx5xvCLJ7iic2khT/t/tnCJUex13aEqsbSqIT/UzUUsqf+LTrgUK5ex+f6odmkCNjre2y5jvpNqn+g=="], - - "@napi-rs/simple-git": ["@napi-rs/simple-git@0.1.22", "", { "optionalDependencies": { "@napi-rs/simple-git-android-arm-eabi": "0.1.22", "@napi-rs/simple-git-android-arm64": "0.1.22", "@napi-rs/simple-git-darwin-arm64": "0.1.22", "@napi-rs/simple-git-darwin-x64": "0.1.22", "@napi-rs/simple-git-freebsd-x64": "0.1.22", "@napi-rs/simple-git-linux-arm-gnueabihf": "0.1.22", "@napi-rs/simple-git-linux-arm64-gnu": "0.1.22", "@napi-rs/simple-git-linux-arm64-musl": "0.1.22", "@napi-rs/simple-git-linux-ppc64-gnu": "0.1.22", "@napi-rs/simple-git-linux-s390x-gnu": "0.1.22", "@napi-rs/simple-git-linux-x64-gnu": "0.1.22", "@napi-rs/simple-git-linux-x64-musl": "0.1.22", "@napi-rs/simple-git-win32-arm64-msvc": "0.1.22", "@napi-rs/simple-git-win32-ia32-msvc": "0.1.22", "@napi-rs/simple-git-win32-x64-msvc": "0.1.22" } }, "sha512-bMVoAKhpjTOPHkW/lprDPwv5aD4R4C3Irt8vn+SKA9wudLe9COLxOhurrKRsxmZccUbWXRF7vukNeGUAj5P8kA=="], - - "@napi-rs/simple-git-android-arm-eabi": ["@napi-rs/simple-git-android-arm-eabi@0.1.22", "", { "os": "android", "cpu": "arm" }, "sha512-JQZdnDNm8o43A5GOzwN/0Tz3CDBQtBUNqzVwEopm32uayjdjxev1Csp1JeaqF3v9djLDIvsSE39ecsN2LhCKKQ=="], - - "@napi-rs/simple-git-android-arm64": ["@napi-rs/simple-git-android-arm64@0.1.22", "", { "os": "android", "cpu": "arm64" }, "sha512-46OZ0SkhnvM+fapWjzg/eqbJvClxynUpWYyYBn4jAj7GQs1/Yyc8431spzDmkA8mL0M7Xo8SmbkzTDE7WwYAfg=="], - - "@napi-rs/simple-git-darwin-arm64": ["@napi-rs/simple-git-darwin-arm64@0.1.22", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zH3h0C8Mkn9//MajPI6kHnttywjsBmZ37fhLX/Fiw5XKu84eHA6dRyVtMzoZxj6s+bjNTgaMgMUucxPn9ktxTQ=="], - - "@napi-rs/simple-git-darwin-x64": ["@napi-rs/simple-git-darwin-x64@0.1.22", "", { "os": "darwin", "cpu": "x64" }, "sha512-GZN7lRAkGKB6PJxWsoyeYJhh85oOOjVNyl+/uipNX8bR+mFDCqRsCE3rRCFGV9WrZUHXkcuRL2laIRn7lLi3ag=="], - - "@napi-rs/simple-git-freebsd-x64": ["@napi-rs/simple-git-freebsd-x64@0.1.22", "", { "os": "freebsd", "cpu": "x64" }, "sha512-xyqX1C5I0WBrUgZONxHjZH5a4LqQ9oki3SKFAVpercVYAcx3pq6BkZy1YUOP4qx78WxU1CCNfHBN7V+XO7D99A=="], - - "@napi-rs/simple-git-linux-arm-gnueabihf": ["@napi-rs/simple-git-linux-arm-gnueabihf@0.1.22", "", { "os": "linux", "cpu": "arm" }, "sha512-4LOtbp9ll93B9fxRvXiUJd1/RM3uafMJE7dGBZGKWBMGM76+BAcCEUv2BY85EfsU/IgopXI6n09TycRfPWOjxA=="], - - "@napi-rs/simple-git-linux-arm64-gnu": ["@napi-rs/simple-git-linux-arm64-gnu@0.1.22", "", { "os": "linux", "cpu": "arm64" }, "sha512-GVOjP/JjCzbQ0kSqao7ctC/1sodVtv5VF57rW9BFpo2y6tEYPCqHnkQkTpieuwMNe+TVOhBUC1+wH0d9/knIHg=="], - - "@napi-rs/simple-git-linux-arm64-musl": ["@napi-rs/simple-git-linux-arm64-musl@0.1.22", "", { "os": "linux", "cpu": "arm64" }, "sha512-MOs7fPyJiU/wqOpKzAOmOpxJ/TZfP4JwmvPad/cXTOWYwwyppMlXFRms3i98EU3HOazI/wMU2Ksfda3+TBluWA=="], - - "@napi-rs/simple-git-linux-ppc64-gnu": ["@napi-rs/simple-git-linux-ppc64-gnu@0.1.22", "", { "os": "linux", "cpu": "ppc64" }, "sha512-L59dR30VBShRUIZ5/cQHU25upNgKS0AMQ7537J6LCIUEFwwXrKORZKJ8ceR+s3Sr/4jempWVvMdjEpFDE4HYww=="], - - "@napi-rs/simple-git-linux-s390x-gnu": ["@napi-rs/simple-git-linux-s390x-gnu@0.1.22", "", { "os": "linux", "cpu": "s390x" }, "sha512-4FHkPlCSIZUGC6HiADffbe6NVoTBMd65pIwcd40IDbtFKOgFMBA+pWRqKiQ21FERGH16Zed7XHJJoY3jpOqtmQ=="], - - "@napi-rs/simple-git-linux-x64-gnu": ["@napi-rs/simple-git-linux-x64-gnu@0.1.22", "", { "os": "linux", "cpu": "x64" }, "sha512-Ei1tM5Ho/dwknF3pOzqkNW9Iv8oFzRxE8uOhrITcdlpxRxVrBVptUF6/0WPdvd7R9747D/q61QG/AVyWsWLFKw=="], - - "@napi-rs/simple-git-linux-x64-musl": ["@napi-rs/simple-git-linux-x64-musl@0.1.22", "", { "os": "linux", "cpu": "x64" }, "sha512-zRYxg7it0p3rLyEJYoCoL2PQJNgArVLyNavHW03TFUAYkYi5bxQ/UFNVpgxMaXohr5yu7qCBqeo9j4DWeysalg=="], - - "@napi-rs/simple-git-win32-arm64-msvc": ["@napi-rs/simple-git-win32-arm64-msvc@0.1.22", "", { "os": "win32", "cpu": "arm64" }, "sha512-XGFR1fj+Y9cWACcovV2Ey/R2xQOZKs8t+7KHPerYdJ4PtjVzGznI4c2EBHXtdOIYvkw7tL5rZ7FN1HJKdD5Quw=="], - - "@napi-rs/simple-git-win32-ia32-msvc": ["@napi-rs/simple-git-win32-ia32-msvc@0.1.22", "", { "os": "win32", "cpu": "ia32" }, "sha512-Gqr9Y0gs6hcNBA1IXBpoqTFnnIoHuZGhrYqaZzEvGMLrTrpbXrXVEtX3DAAD2RLc1b87CPcJ49a7sre3PU3Rfw=="], - - "@napi-rs/simple-git-win32-x64-msvc": ["@napi-rs/simple-git-win32-x64-msvc@0.1.22", "", { "os": "win32", "cpu": "x64" }, "sha512-hQjcreHmUcpw4UrtkOron1/TQObfe484lxiXFLLUj7aWnnnOVs1mnXq5/Bo9+3NYZldFpFRJPdPBeHCisXkKJg=="], - - "@next/env": ["@next/env@14.2.33", "", {}, "sha512-CgVHNZ1fRIlxkLhIX22flAZI/HmpDaZ8vwyJ/B0SDPTBuLZ1PJ+DWMjCHhqnExfmSQzA/PbZi8OAc7PAq2w9IA=="], - - "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@14.2.33", "", { "os": "darwin", "cpu": "arm64" }, "sha512-HqYnb6pxlsshoSTubdXKu15g3iivcbsMXg4bYpjL2iS/V6aQot+iyF4BUc2qA/J/n55YtvE4PHMKWBKGCF/+wA=="], - - "@next/swc-darwin-x64": ["@next/swc-darwin-x64@14.2.33", "", { "os": "darwin", "cpu": "x64" }, "sha512-8HGBeAE5rX3jzKvF593XTTFg3gxeU4f+UWnswa6JPhzaR6+zblO5+fjltJWIZc4aUalqTclvN2QtTC37LxvZAA=="], - - "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@14.2.33", "", { "os": "linux", "cpu": "arm64" }, "sha512-JXMBka6lNNmqbkvcTtaX8Gu5by9547bukHQvPoLe9VRBx1gHwzf5tdt4AaezW85HAB3pikcvyqBToRTDA4DeLw=="], - - "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@14.2.33", "", { "os": "linux", "cpu": "arm64" }, "sha512-Bm+QulsAItD/x6Ih8wGIMfRJy4G73tu1HJsrccPW6AfqdZd0Sfm5Imhgkgq2+kly065rYMnCOxTBvmvFY1BKfg=="], - - "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@14.2.33", "", { "os": "linux", "cpu": "x64" }, "sha512-FnFn+ZBgsVMbGDsTqo8zsnRzydvsGV8vfiWwUo1LD8FTmPTdV+otGSWKc4LJec0oSexFnCYVO4hX8P8qQKaSlg=="], - - "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@14.2.33", "", { "os": "linux", "cpu": "x64" }, "sha512-345tsIWMzoXaQndUTDv1qypDRiebFxGYx9pYkhwY4hBRaOLt8UGfiWKr9FSSHs25dFIf8ZqIFaPdy5MljdoawA=="], - - "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@14.2.33", "", { "os": "win32", "cpu": "arm64" }, "sha512-nscpt0G6UCTkrT2ppnJnFsYbPDQwmum4GNXYTeoTIdsmMydSKFz9Iny2jpaRupTb+Wl298+Rh82WKzt9LCcqSQ=="], - - "@next/swc-win32-ia32-msvc": ["@next/swc-win32-ia32-msvc@14.2.33", "", { "os": "win32", "cpu": "ia32" }, "sha512-pc9LpGNKhJ0dXQhZ5QMmYxtARwwmWLpeocFmVG5Z0DzWq5Uf0izcI8tLc+qOpqxO1PWqZ5A7J1blrUIKrIFc7Q=="], - - "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@14.2.33", "", { "os": "win32", "cpu": "x64" }, "sha512-nOjfZMy8B94MdisuzZo9/57xuFVLHJaDj5e/xrduJp9CV2/HrfxTRH2fbyLe+K9QT41WBLUd4iXX3R7jBp0EUg=="], - - "@noble/ciphers": ["@noble/ciphers@1.3.0", "", {}, "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw=="], - - "@noble/curves": ["@noble/curves@1.9.1", "", { "dependencies": { "@noble/hashes": "1.8.0" } }, "sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA=="], - - "@noble/hashes": ["@noble/hashes@1.8.0", "", {}, "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A=="], - - "@noble/secp256k1": ["@noble/secp256k1@1.7.1", "", {}, "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw=="], - - "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], - - "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], - - "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], - - "@nomicfoundation/edr": ["@nomicfoundation/edr@0.12.0-next.16", "", { "dependencies": { "@nomicfoundation/edr-darwin-arm64": "0.12.0-next.16", "@nomicfoundation/edr-darwin-x64": "0.12.0-next.16", "@nomicfoundation/edr-linux-arm64-gnu": "0.12.0-next.16", "@nomicfoundation/edr-linux-arm64-musl": "0.12.0-next.16", "@nomicfoundation/edr-linux-x64-gnu": "0.12.0-next.16", "@nomicfoundation/edr-linux-x64-musl": "0.12.0-next.16", "@nomicfoundation/edr-win32-x64-msvc": "0.12.0-next.16" } }, "sha512-bBL/nHmQwL1WCveALwg01VhJcpVVklJyunG1d/bhJbHgbjzAn6kohVJc7A6gFZegw+Rx38vdxpBkeCDjAEprzw=="], - - "@nomicfoundation/edr-darwin-arm64": ["@nomicfoundation/edr-darwin-arm64@0.12.0-next.16", "", {}, "sha512-no/8BPVBzVxDGGbDba0zsAxQmVNIq6SLjKzzhCxVKt4tatArXa6+24mr4jXJEmhVBvTNpQsNBO+MMpuEDVaTzQ=="], - - "@nomicfoundation/edr-darwin-x64": ["@nomicfoundation/edr-darwin-x64@0.12.0-next.16", "", {}, "sha512-tf36YbcC6po3XYRbi+v0gjwzqg1MvyRqVUujNMXPHgjNWATXNRNOLyjwt2qDn+RD15qtzk70SHVnz9n9mPWzwg=="], - - "@nomicfoundation/edr-linux-arm64-gnu": ["@nomicfoundation/edr-linux-arm64-gnu@0.12.0-next.16", "", {}, "sha512-Kr6t9icKSaKtPVbb0TjUcbn3XHqXOGIn+KjKKSSpm6542OkL0HyOi06amh6/8CNke9Gf6Lwion8UJ0aGQhnFwA=="], - - "@nomicfoundation/edr-linux-arm64-musl": ["@nomicfoundation/edr-linux-arm64-musl@0.12.0-next.16", "", {}, "sha512-HaStgfxctSg5PYF+6ooDICL1O59KrgM4XEUsIqoRrjrQax9HnMBXcB8eAj+0O52FWiO9FlchBni2dzh4RjQR2g=="], - - "@nomicfoundation/edr-linux-x64-gnu": ["@nomicfoundation/edr-linux-x64-gnu@0.12.0-next.16", "", {}, "sha512-8JPTxEZkwOPTgnN4uTWut9ze9R8rp7+T4IfmsKK9i+lDtdbJIxkrFY275YHG2BEYLd7Y5jTa/I4nC74ZpTAvpA=="], - - "@nomicfoundation/edr-linux-x64-musl": ["@nomicfoundation/edr-linux-x64-musl@0.12.0-next.16", "", {}, "sha512-KugTrq3iHukbG64DuCYg8uPgiBtrrtX4oZSLba5sjocp0Ul6WWI1FeP1Qule+vClUrHSpJ+wR1G6SE7G0lyS/Q=="], - - "@nomicfoundation/edr-win32-x64-msvc": ["@nomicfoundation/edr-win32-x64-msvc@0.12.0-next.16", "", {}, "sha512-Idy0ZjurxElfSmepUKXh6QdptLbW5vUNeIaydvqNogWoTbkJIM6miqZd9lXUy1TYxY7G4Rx5O50c52xc4pFwXQ=="], - - "@nomicfoundation/solidity-analyzer": ["@nomicfoundation/solidity-analyzer@0.1.2", "", { "optionalDependencies": { "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.2", "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.2", "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.2", "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.2", "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.2" } }, "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA=="], - - "@nomicfoundation/solidity-analyzer-darwin-arm64": ["@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2", "", {}, "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw=="], - - "@nomicfoundation/solidity-analyzer-darwin-x64": ["@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2", "", {}, "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw=="], - - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": ["@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2", "", {}, "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA=="], - - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": ["@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2", "", {}, "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA=="], - - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": ["@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2", "", {}, "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g=="], - - "@nomicfoundation/solidity-analyzer-linux-x64-musl": ["@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2", "", {}, "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg=="], - - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": ["@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2", "", {}, "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA=="], - - "@openzeppelin/contracts": ["@openzeppelin/contracts@3.4.2-solc-0.7", "", {}, "sha512-W6QmqgkADuFcTLzHL8vVoNBtkwjvQRpYIAom7KiUNoLKghyx3FgH0GBjt8NRvigV1ZmMOBllvE1By1C+bi8WpA=="], - - "@phosphor-icons/react": ["@phosphor-icons/react@2.1.10", "", { "peerDependencies": { "react": ">= 16.8", "react-dom": ">= 16.8" } }, "sha512-vt8Tvq8GLjheAZZYa+YG/pW7HDbov8El/MANW8pOAz4eGxrwhnbfrQZq0Cp4q8zBEu8NIhHdnr+r8thnfRSNYA=="], - - "@pinax/graph-networks-registry": ["@pinax/graph-networks-registry@0.7.1", "", {}, "sha512-Gn2kXRiEd5COAaMY/aDCRO0V+zfb1uQKCu5HFPoWka+EsZW27AlTINA7JctYYYEMuCbjMia5FBOzskjgEvj6LA=="], - - "@radix-ui/number": ["@radix-ui/number@1.1.1", "", {}, "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g=="], - - "@radix-ui/primitive": ["@radix-ui/primitive@1.1.3", "", {}, "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg=="], - - "@radix-ui/react-accordion": ["@radix-ui/react-accordion@1.2.12", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collapsible": "1.1.12", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA=="], - - "@radix-ui/react-alert-dialog": ["@radix-ui/react-alert-dialog@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dialog": "1.1.15", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-oTVLkEw5GpdRe29BqJ0LSDFWI3qu0vR1M0mUkOQWDIUnY/QIkLpgDMWuKxP94c2NAC2LGcgVhG1ImF3jkZ5wXw=="], - - "@radix-ui/react-arrow": ["@radix-ui/react-arrow@1.1.7", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w=="], - - "@radix-ui/react-collapsible": ["@radix-ui/react-collapsible@1.1.12", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA=="], - - "@radix-ui/react-collection": ["@radix-ui/react-collection@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw=="], - - "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="], - - "@radix-ui/react-context": ["@radix-ui/react-context@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA=="], - - "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw=="], - - "@radix-ui/react-direction": ["@radix-ui/react-direction@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw=="], - - "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg=="], - - "@radix-ui/react-dropdown-menu": ["@radix-ui/react-dropdown-menu@2.1.16", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-menu": "2.1.16", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw=="], - - "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.3", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw=="], - - "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw=="], - - "@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="], - - "@radix-ui/react-label": ["@radix-ui/react-label@2.1.8", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A=="], - - "@radix-ui/react-menu": ["@radix-ui/react-menu@2.1.16", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-roving-focus": "1.1.11", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-callback-ref": "1.1.1", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg=="], - - "@radix-ui/react-navigation-menu": ["@radix-ui/react-navigation-menu@1.2.14", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w=="], - - "@radix-ui/react-popover": ["@radix-ui/react-popover@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA=="], - - "@radix-ui/react-popper": ["@radix-ui/react-popper@1.2.8", "", { "dependencies": { "@floating-ui/react-dom": "^2.0.0", "@radix-ui/react-arrow": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-rect": "1.1.1", "@radix-ui/react-use-size": "1.1.1", "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw=="], - - "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.10", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.4", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-4kY9IVa6+9nJPsYmngK5Uk2kUmZnv7ChhHAFeQ5oaj8jrR1bIi3xww8nH71pz1/Ve4d/cXO3YxT8eikt1B0a8w=="], - - "@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.5", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ=="], - - "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="], - - "@radix-ui/react-roving-focus": ["@radix-ui/react-roving-focus@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA=="], - - "@radix-ui/react-slider": ["@radix-ui/react-slider@1.3.6", "", { "dependencies": { "@radix-ui/number": "1.1.1", "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-direction": "1.1.1", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw=="], - - "@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.4", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA=="], - - "@radix-ui/react-switch": ["@radix-ui/react-switch@1.2.6", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-previous": "1.1.1", "@radix-ui/react-use-size": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ=="], - - "@radix-ui/react-toast": ["@radix-ui/react-toast@1.2.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-collection": "1.1.7", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-use-layout-effect": "1.1.1", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-3OSz3TacUWy4WtOXV38DggwxoqJK4+eDkNMl5Z/MJZaoUPaP4/9lf81xXMe1I2ReTAptverZUpbPY4wWwWyL5g=="], - - "@radix-ui/react-tooltip": ["@radix-ui/react-tooltip@1.2.8", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "@radix-ui/react-visually-hidden": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-tY7sVt1yL9ozIxvmbtN5qtmH2krXcBCfjEiCgKGLqunJHvgvZG2Pcl2oQ3kbcZARb1BGEHdkLzcYGO8ynVlieg=="], - - "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], - - "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.2", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg=="], - - "@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA=="], - - "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.1", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g=="], - - "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], - - "@radix-ui/react-use-previous": ["@radix-ui/react-use-previous@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ=="], - - "@radix-ui/react-use-rect": ["@radix-ui/react-use-rect@1.1.1", "", { "dependencies": { "@radix-ui/rect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w=="], - - "@radix-ui/react-use-size": ["@radix-ui/react-use-size@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ=="], - - "@radix-ui/react-visually-hidden": ["@radix-ui/react-visually-hidden@1.2.3", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug=="], - - "@radix-ui/rect": ["@radix-ui/rect@1.1.1", "", {}, "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw=="], - - "@react-aria/breadcrumbs": ["@react-aria/breadcrumbs@3.5.29", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/link": "^3.8.6", "@react-aria/utils": "^3.31.0", "@react-types/breadcrumbs": "^3.7.17", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-rKS0dryllaZJqrr3f/EAf2liz8CBEfmL5XACj+Z1TAig6GIYe1QuA3BtkX0cV9OkMugXdX8e3cbA7nD10ORRqg=="], - - "@react-aria/button": ["@react-aria/button@3.14.2", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/toolbar": "3.0.0-beta.21", "@react-aria/utils": "^3.31.0", "@react-stately/toggle": "^3.9.2", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-VbLIA+Kd6f/MDjd+TJBUg2+vNDw66pnvsj2E4RLomjI9dfBuN7d+Yo2UnsqKVyhePjCUZ6xxa2yDuD63IOSIYA=="], - - "@react-aria/calendar": ["@react-aria/calendar@3.9.2", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.31.0", "@react-stately/calendar": "^3.9.0", "@react-types/button": "^3.14.1", "@react-types/calendar": "^3.8.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-uSLxLgOPRnEU4Jg59lAhUVA+uDx/55NBg4lpfsP2ynazyiJ5LCXmYceJi+VuOqMml7d9W0dB87OldOeLdIxYVA=="], - - "@react-aria/checkbox": ["@react-aria/checkbox@3.16.2", "", { "dependencies": { "@react-aria/form": "^3.1.2", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/toggle": "^3.12.2", "@react-aria/utils": "^3.31.0", "@react-stately/checkbox": "^3.7.2", "@react-stately/form": "^3.2.2", "@react-stately/toggle": "^3.9.2", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-29Mj9ZqXioJ0bcMnNGooHztnTau5pikZqX3qCRj5bYR3by/ZFFavYoMroh9F7s/MbFm/tsKX+Sf02lYFEdXRjA=="], - - "@react-aria/color": ["@react-aria/color@3.1.2", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/numberfield": "^3.12.2", "@react-aria/slider": "^3.8.2", "@react-aria/spinbutton": "^3.6.19", "@react-aria/textfield": "^3.18.2", "@react-aria/utils": "^3.31.0", "@react-aria/visually-hidden": "^3.8.28", "@react-stately/color": "^3.9.2", "@react-stately/form": "^3.2.2", "@react-types/color": "^3.1.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-jCC+Q7rAQGLQBkHjkPAeDuGYuMbc4neifjlNRiyZ9as1z4gg63H8MteoWYYk6K4vCKKxSixgt8MfI29XWMOWPQ=="], - - "@react-aria/combobox": ["@react-aria/combobox@3.14.0", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/listbox": "^3.15.0", "@react-aria/live-announcer": "^3.4.4", "@react-aria/menu": "^3.19.3", "@react-aria/overlays": "^3.30.0", "@react-aria/selection": "^3.26.0", "@react-aria/textfield": "^3.18.2", "@react-aria/utils": "^3.31.0", "@react-stately/collections": "^3.12.8", "@react-stately/combobox": "^3.12.0", "@react-stately/form": "^3.2.2", "@react-types/button": "^3.14.1", "@react-types/combobox": "^3.13.9", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-z4ro0Hma//p4nL2IJx5iUa7NwxeXbzSoZ0se5uTYjG1rUUMszg+wqQh/AQoL+eiULn7rs18JY9wwNbVIkRNKWA=="], - - "@react-aria/datepicker": ["@react-aria/datepicker@3.15.2", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-aria/focus": "^3.21.2", "@react-aria/form": "^3.1.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/spinbutton": "^3.6.19", "@react-aria/utils": "^3.31.0", "@react-stately/datepicker": "^3.15.2", "@react-stately/form": "^3.2.2", "@react-types/button": "^3.14.1", "@react-types/calendar": "^3.8.0", "@react-types/datepicker": "^3.13.2", "@react-types/dialog": "^3.5.22", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-th078hyNqPf4P2K10su/y32zPDjs3lOYVdHvsL9/+5K1dnTvLHCK5vgUyLuyn8FchhF7cmHV49D+LZVv65PEpQ=="], - - "@react-aria/dialog": ["@react-aria/dialog@3.5.31", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/overlays": "^3.30.0", "@react-aria/utils": "^3.31.0", "@react-types/dialog": "^3.5.22", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-inxQMyrzX0UBW9Mhraq0nZ4HjHdygQvllzloT1E/RlDd61lr3RbmJR6pLsrbKOTtSvDIBJpCso1xEdHCFNmA0Q=="], - - "@react-aria/disclosure": ["@react-aria/disclosure@3.1.0", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.31.0", "@react-stately/disclosure": "^3.0.8", "@react-types/button": "^3.14.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-5996BeBpnj+yKXYysz+UuhFQxGFPvaZZ3zNBd052wz/i+TVFVGSqqYJ6cwZyO1AfBR8zOT0ZIiK4EC3ETwSvtQ=="], - - "@react-aria/dnd": ["@react-aria/dnd@3.11.3", "", { "dependencies": { "@internationalized/string": "^3.2.7", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/live-announcer": "^3.4.4", "@react-aria/overlays": "^3.30.0", "@react-aria/utils": "^3.31.0", "@react-stately/collections": "^3.12.8", "@react-stately/dnd": "^3.7.1", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-MyTziciik1Owz3rqDghu0K3ZtTFvmj/R2ZsLDwbU9N4hKqGX/BKnrI8SytTn8RDqVv5LmA/GhApLngiupTAsXw=="], - - "@react-aria/focus": ["@react-aria/focus@3.21.2", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-JWaCR7wJVggj+ldmM/cb/DXFg47CXR55lznJhZBh4XVqJjMKwaOOqpT5vNN7kpC1wUpXicGNuDnJDN1S/+6dhQ=="], - - "@react-aria/form": ["@react-aria/form@3.1.2", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-stately/form": "^3.2.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-R3i7L7Ci61PqZQvOrnL9xJeWEbh28UkTVgkj72EvBBn39y4h7ReH++0stv7rRs8p5ozETSKezBbGfu4UsBewWw=="], - - "@react-aria/grid": ["@react-aria/grid@3.14.5", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/live-announcer": "^3.4.4", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/collections": "^3.12.8", "@react-stately/grid": "^3.11.6", "@react-stately/selection": "^3.20.6", "@react-types/checkbox": "^3.10.2", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-XHw6rgjlTqc85e3zjsWo3U0EVwjN5MOYtrolCKc/lc2ItNdcY3OlMhpsU9+6jHwg/U3VCSWkGvwAz9hg7krd8Q=="], - - "@react-aria/gridlist": ["@react-aria/gridlist@3.14.1", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/grid": "^3.14.5", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/list": "^3.13.1", "@react-stately/tree": "^3.9.3", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-keS03Am07aOn7RuNaRsMOyh0jscyhDn95asCVy4lxhl9A9TFk1Jw0o2L6q6cWRj1gFiKeacj/otG5H8ZKQQ2Wg=="], - - "@react-aria/i18n": ["@react-aria/i18n@3.12.13", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@internationalized/message": "^3.1.8", "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-YTM2BPg0v1RvmP8keHenJBmlx8FXUKsdYIEX7x6QWRd1hKlcDwphfjzvt0InX9wiLiPHsT5EoBTpuUk8SXc0Mg=="], - - "@react-aria/interactions": ["@react-aria/interactions@3.25.6", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.31.0", "@react-stately/flags": "^3.1.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-5UgwZmohpixwNMVkMvn9K1ceJe6TzlRlAfuYoQDUuOkk62/JVJNDLAPKIf5YMRc7d2B0rmfgaZLMtbREb0Zvkw=="], - - "@react-aria/label": ["@react-aria/label@3.7.22", "", { "dependencies": { "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-jLquJeA5ZNqDT64UpTc9XJ7kQYltUlNcgxZ37/v4mHe0UZ7QohCKdKQhXHONb0h2jjNUpp2HOZI8J9++jOpzxA=="], - - "@react-aria/landmark": ["@react-aria/landmark@3.0.7", "", { "dependencies": { "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-t8c610b8hPLS6Vwv+rbuSyljZosI1s5+Tosfa0Fk4q7d+Ex6Yj7hLfUFy59GxZAufhUYfGX396fT0gPqAbU1tg=="], - - "@react-aria/link": ["@react-aria/link@3.8.6", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-types/link": "^3.6.5", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-7F7UDJnwbU9IjfoAdl6f3Hho5/WB7rwcydUOjUux0p7YVWh/fTjIFjfAGyIir7MJhPapun1D0t97QQ3+8jXVcg=="], - - "@react-aria/listbox": ["@react-aria/listbox@3.15.0", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/collections": "^3.12.8", "@react-stately/list": "^3.13.1", "@react-types/listbox": "^3.7.4", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Ub1Wu79R9sgxM7h4HeEdjOgOKDHwduvYcnDqsSddGXgpkL8ADjsy2YUQ0hHY5VnzA4BxK36bLp4mzSna8Qvj1w=="], - - "@react-aria/live-announcer": ["@react-aria/live-announcer@3.4.4", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-PTTBIjNRnrdJOIRTDGNifY2d//kA7GUAwRFJNOEwSNG4FW+Bq9awqLiflw0JkpyB0VNIwou6lqKPHZVLsGWOXA=="], - - "@react-aria/menu": ["@react-aria/menu@3.19.3", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/overlays": "^3.30.0", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/collections": "^3.12.8", "@react-stately/menu": "^3.9.8", "@react-stately/selection": "^3.20.6", "@react-stately/tree": "^3.9.3", "@react-types/button": "^3.14.1", "@react-types/menu": "^3.10.5", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-52fh8y8b2776R2VrfZPpUBJYC9oTP7XDy+zZuZTxPEd7Ywk0JNUl5F92y6ru22yPkS13sdhrNM/Op+V/KulmAg=="], - - "@react-aria/meter": ["@react-aria/meter@3.4.27", "", { "dependencies": { "@react-aria/progress": "^3.4.27", "@react-types/meter": "^3.4.13", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-andOOdJkgRJF9vBi5VWRmFodK+GT+5X1lLeNUmb4qOX8/MVfX/RbK72LDeIhd7xC7rSCFHj3WvZ198rK4q0k3w=="], - - "@react-aria/numberfield": ["@react-aria/numberfield@3.12.2", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/spinbutton": "^3.6.19", "@react-aria/textfield": "^3.18.2", "@react-aria/utils": "^3.31.0", "@react-stately/form": "^3.2.2", "@react-stately/numberfield": "^3.10.2", "@react-types/button": "^3.14.1", "@react-types/numberfield": "^3.8.15", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-M2b+z0HIXiXpGAWOQkO2kpIjaLNUXJ5Q3/GMa3Fkr+B1piFX0VuOynYrtddKVrmXCe+r5t+XcGb0KS29uqv7nQ=="], - - "@react-aria/overlays": ["@react-aria/overlays@3.30.0", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.31.0", "@react-aria/visually-hidden": "^3.8.28", "@react-stately/overlays": "^3.6.20", "@react-types/button": "^3.14.1", "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-UpjqSjYZx5FAhceWCRVsW6fX1sEwya1fQ/TKkL53FAlLFR8QKuoKqFlmiL43YUFTcGK3UdEOy3cWTleLQwdSmQ=="], - - "@react-aria/progress": ["@react-aria/progress@3.4.27", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/label": "^3.7.22", "@react-aria/utils": "^3.31.0", "@react-types/progress": "^3.5.16", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-0OA1shs1575g1zmO8+rWozdbTnxThFFhOfuoL1m7UV5Dley6FHpueoKB1ECv7B+Qm4dQt6DoEqLg7wsbbQDhmg=="], - - "@react-aria/radio": ["@react-aria/radio@3.12.2", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/form": "^3.1.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/utils": "^3.31.0", "@react-stately/radio": "^3.11.2", "@react-types/radio": "^3.9.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-I11f6I90neCh56rT/6ieAs3XyDKvEfbj/QmbU5cX3p+SJpRRPN0vxQi5D1hkh0uxDpeClxygSr31NmZsd4sqfg=="], - - "@react-aria/searchfield": ["@react-aria/searchfield@3.8.9", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/textfield": "^3.18.2", "@react-aria/utils": "^3.31.0", "@react-stately/searchfield": "^3.5.16", "@react-types/button": "^3.14.1", "@react-types/searchfield": "^3.6.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Yt2pj8Wb5/XsUr2T0DQqFv+DlFpzzWIWnNr9cJATUcWV/xw6ok7YFEg9+7EHtBmsCQxFFJtock1QfZzBw6qLtQ=="], - - "@react-aria/select": ["@react-aria/select@3.17.0", "", { "dependencies": { "@react-aria/form": "^3.1.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/listbox": "^3.15.0", "@react-aria/menu": "^3.19.3", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-aria/visually-hidden": "^3.8.28", "@react-stately/select": "^3.8.0", "@react-types/button": "^3.14.1", "@react-types/select": "^3.11.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-q5ZuyAn5jSOeI0Ys99951TaGcF4O7u1SSBVxPMwVVXOU8ZhToCNx+WG3n/JDYHEjqdo7sbsVRaPA7LkBzBGf5w=="], - - "@react-aria/selection": ["@react-aria/selection@3.26.0", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-stately/selection": "^3.20.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ZBH3EfWZ+RfhTj01dH8L17uT7iNbXWS8u77/fUpHgtrm0pwNVhx0TYVnLU1YpazQ/3WVpvWhmBB8sWwD1FlD/g=="], - - "@react-aria/separator": ["@react-aria/separator@3.4.13", "", { "dependencies": { "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-0NlcrdBfQbcjWEXdHl3+uSY1272n2ljT1gWL2RIf6aQsQWTZ0gz0rTgRHy0MTXN+y+tICItUERJT4vmTLtIzVg=="], - - "@react-aria/slider": ["@react-aria/slider@3.8.2", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/utils": "^3.31.0", "@react-stately/slider": "^3.7.2", "@react-types/shared": "^3.32.1", "@react-types/slider": "^3.8.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-6KyUGaVzRE4xAz1LKHbNh1q5wzxe58pdTHFSnxNe6nk1SCoHw7NfI4h2s2m6LgJ0megFxsT0Ir8aHaFyyxmbgg=="], - - "@react-aria/spinbutton": ["@react-aria/spinbutton@3.6.19", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.31.0", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-xOIXegDpts9t3RSHdIN0iYQpdts0FZ3LbpYJIYVvdEHo9OpDS+ElnDzCGtwZLguvZlwc5s1LAKuKopDUsAEMkw=="], - - "@react-aria/ssr": ["@react-aria/ssr@3.9.10", "", { "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ=="], - - "@react-aria/switch": ["@react-aria/switch@3.7.8", "", { "dependencies": { "@react-aria/toggle": "^3.12.2", "@react-stately/toggle": "^3.9.2", "@react-types/shared": "^3.32.1", "@react-types/switch": "^3.5.15", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-AfsUq1/YiuoprhcBUD9vDPyWaigAwctQNW1fMb8dROL+i/12B+Zekj8Ml+jbU69/kIVtfL0Jl7/0Bo9KK3X0xQ=="], - - "@react-aria/table": ["@react-aria/table@3.17.8", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/grid": "^3.14.5", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/live-announcer": "^3.4.4", "@react-aria/utils": "^3.31.0", "@react-aria/visually-hidden": "^3.8.28", "@react-stately/collections": "^3.12.8", "@react-stately/flags": "^3.1.2", "@react-stately/table": "^3.15.1", "@react-types/checkbox": "^3.10.2", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@react-types/table": "^3.13.4", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-bXiZoxTMbsqUJsYDhHPzKc3jw0HFJ/xMsJ49a0f7mp5r9zACxNLeIU0wJ4Uvx37dnYOHKzGliG+rj5l4sph7MA=="], - - "@react-aria/tabs": ["@react-aria/tabs@3.10.8", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/tabs": "^3.8.6", "@react-types/shared": "^3.32.1", "@react-types/tabs": "^3.3.19", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-sPPJyTyoAqsBh76JinBAxStOcbjZvyWFYKpJ9Uqw+XT0ObshAPPFSGeh8DiQemPs02RwJdrfARPMhyqiX8t59A=="], - - "@react-aria/tag": ["@react-aria/tag@3.7.2", "", { "dependencies": { "@react-aria/gridlist": "^3.14.1", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/list": "^3.13.1", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-JV679P5r4DftbqyNBRt7Nw9mP7dxaKPfikjyQuvUoEOa06wBLbM/hU9RJUPRvqK+Un6lgBDAmXD9NNf4N2xpdw=="], - - "@react-aria/textfield": ["@react-aria/textfield@3.18.2", "", { "dependencies": { "@react-aria/form": "^3.1.2", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/utils": "^3.31.0", "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@react-types/textfield": "^3.12.6", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-G+lM8VYSor6g9Yptc6hLZ6BF+0cq0pYol1z6wdQUQgJN8tg4HPtzq75lsZtlCSIznL3amgRAxJtd0dUrsAnvaQ=="], - - "@react-aria/toast": ["@react-aria/toast@3.0.8", "", { "dependencies": { "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/landmark": "^3.0.7", "@react-aria/utils": "^3.31.0", "@react-stately/toast": "^3.1.2", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-rfJIms6AkMyQ7ZgKrMZgGfPwGcB/t1JoEwbc1PAmXcAvFI/hzF6YF7ZFDXiq38ucFsP9PnHmbXIzM9w4ccl18A=="], - - "@react-aria/toggle": ["@react-aria/toggle@3.12.2", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-stately/toggle": "^3.9.2", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-g25XLYqJuJpt0/YoYz2Rab8ax+hBfbssllcEFh0v0jiwfk2gwTWfRU9KAZUvxIqbV8Nm8EBmrYychDpDcvW1kw=="], - - "@react-aria/toolbar": ["@react-aria/toolbar@3.0.0-beta.21", "", { "dependencies": { "@react-aria/focus": "^3.21.2", "@react-aria/i18n": "^3.12.13", "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-yRCk/GD8g+BhdDgxd3I0a0c8Ni4Wyo6ERzfSoBkPkwQ4X2E2nkopmraM9D0fXw4UcIr4bnmvADzkHXtBN0XrBg=="], - - "@react-aria/tooltip": ["@react-aria/tooltip@3.8.8", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-stately/tooltip": "^3.5.8", "@react-types/shared": "^3.32.1", "@react-types/tooltip": "^3.4.21", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-CmHUqtXtFWmG4AHMEr9hIVex+oscK6xcM2V47gq9ijNInxe3M6UBu/dBdkgGP/jYv9N7tzCAjTR8nNIHQXwvWw=="], - - "@react-aria/tree": ["@react-aria/tree@3.1.4", "", { "dependencies": { "@react-aria/gridlist": "^3.14.1", "@react-aria/i18n": "^3.12.13", "@react-aria/selection": "^3.26.0", "@react-aria/utils": "^3.31.0", "@react-stately/tree": "^3.9.3", "@react-types/button": "^3.14.1", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-6pbFeN0dAsCOrFGUKU39CNjft20zCAjLfMqfkRWisL+JkUHI2nq6odUJF5jJTsU1C+1951+3oFOmVxPX+K+akQ=="], - - "@react-aria/utils": ["@react-aria/utils@3.31.0", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-stately/flags": "^3.1.2", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ABOzCsZrWzf78ysswmguJbx3McQUja7yeGj6/vZo4JVsZNlxAN+E9rs381ExBRI0KzVo6iBTeX5De8eMZPJXig=="], - - "@react-aria/visually-hidden": ["@react-aria/visually-hidden@3.8.28", "", { "dependencies": { "@react-aria/interactions": "^3.25.6", "@react-aria/utils": "^3.31.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-KRRjbVVob2CeBidF24dzufMxBveEUtUu7IM+hpdZKB+gxVROoh4XRLPv9SFmaH89Z7D9To3QoykVZoWD0lan6Q=="], - - "@react-hookz/web": ["@react-hookz/web@25.2.0", "", { "dependencies": { "@ver0/deep-equal": "^1.0.0" }, "peerDependencies": { "js-cookie": "^3.0.5", "react": "^16.8 || ^17 || ^18 || ^19", "react-dom": "^16.8 || ^17 || ^18 || ^19" }, "optionalPeers": ["js-cookie"] }, "sha512-60iU7lGnZOjdkNVpu/8xNEnTPVQQ5ckauIEvsh9S+58v2j/mY1lhgNas+w+9UF8VoUhWC4/cpaxT64EUC6DgsQ=="], - - "@react-stately/calendar": ["@react-stately/calendar@3.9.0", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@react-stately/utils": "^3.10.8", "@react-types/calendar": "^3.8.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-U5Nf2kx9gDhJRxdDUm5gjfyUlt/uUfOvM1vDW2UA62cA6+2k2cavMLc2wNlXOb/twFtl6p0joYKHG7T4xnEFkg=="], - - "@react-stately/checkbox": ["@react-stately/checkbox@3.7.2", "", { "dependencies": { "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.10.8", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-j1ycUVz5JmqhaL6mDZgDNZqBilOB8PBW096sDPFaTtuYreDx2HOd1igxiIvwlvPESZwsJP7FVM3mYnaoXtpKPA=="], - - "@react-stately/collections": ["@react-stately/collections@3.12.8", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-AceJYLLXt1Y2XIcOPi6LEJSs4G/ubeYW3LqOCQbhfIgMaNqKfQMIfagDnPeJX9FVmPFSlgoCBxb1pTJW2vjCAQ=="], - - "@react-stately/color": ["@react-stately/color@3.9.2", "", { "dependencies": { "@internationalized/number": "^3.6.5", "@internationalized/string": "^3.2.7", "@react-stately/form": "^3.2.2", "@react-stately/numberfield": "^3.10.2", "@react-stately/slider": "^3.7.2", "@react-stately/utils": "^3.10.8", "@react-types/color": "^3.1.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-F+6Do8W3yu/4n7MpzZtbXwVukcLTFYYDIUtpoR+Jl52UmAr9Hf1CQgkyTI2azv1ZMzj1mVrTBhpBL0q27kFZig=="], - - "@react-stately/combobox": ["@react-stately/combobox@3.12.0", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/form": "^3.2.2", "@react-stately/list": "^3.13.1", "@react-stately/overlays": "^3.6.20", "@react-stately/utils": "^3.10.8", "@react-types/combobox": "^3.13.9", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-A6q9R/7cEa/qoQsBkdslXWvD7ztNLLQ9AhBhVN9QvzrmrH5B4ymUwcTU8lWl22ykH7RRwfonLeLXJL4C+/L2oQ=="], - - "@react-stately/datepicker": ["@react-stately/datepicker@3.15.2", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@internationalized/string": "^3.2.7", "@react-stately/form": "^3.2.2", "@react-stately/overlays": "^3.6.20", "@react-stately/utils": "^3.10.8", "@react-types/datepicker": "^3.13.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-S5GL+W37chvV8knv9v0JRv0L6hKo732qqabCCHXzOpYxkLIkV4f/y3cHdEzFWzpZ0O0Gkg7WgeYo160xOdBKYg=="], - - "@react-stately/disclosure": ["@react-stately/disclosure@3.0.8", "", { "dependencies": { "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-/Ce/Z76y85eSBZiemfU/uEyXkBBa1RdfLRaKD13rnfUV7/nS3ae1VtNlsXgmwQjWv2pmAiSuEKYMbZfVL7q/lQ=="], - - "@react-stately/dnd": ["@react-stately/dnd@3.7.1", "", { "dependencies": { "@react-stately/selection": "^3.20.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-O1JBJ4HI1rVNKuoa5NXiC5FCrCEkr9KVBoKNlTZU8/cnQselhbEsUfMglAakO2EuwIaM1tIXoNF5J/N5P+6lTA=="], - - "@react-stately/flags": ["@react-stately/flags@3.1.2", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg=="], - - "@react-stately/form": ["@react-stately/form@3.2.2", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-soAheOd7oaTO6eNs6LXnfn0tTqvOoe3zN9FvtIhhrErKz9XPc5sUmh3QWwR45+zKbitOi1HOjfA/gifKhZcfWw=="], - - "@react-stately/grid": ["@react-stately/grid@3.11.6", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/selection": "^3.20.6", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-vWPAkzpeTIsrurHfMubzMuqEw7vKzFhIJeEK5sEcLunyr1rlADwTzeWrHNbPMl66NAIAi70Dr1yNq+kahQyvMA=="], - - "@react-stately/list": ["@react-stately/list@3.13.1", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/selection": "^3.20.6", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-eHaoauh21twbcl0kkwULhVJ+CzYcy1jUjMikNVMHOQdhr4WIBdExf7PmSgKHKqsSPhpGg6IpTCY2dUX3RycjDg=="], - - "@react-stately/menu": ["@react-stately/menu@3.9.8", "", { "dependencies": { "@react-stately/overlays": "^3.6.20", "@react-types/menu": "^3.10.5", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-bo0NOhofnTHLESiYfsSSw6gyXiPVJJ0UlN2igUXtJk5PmyhWjFzUzTzcnd7B028OB0si9w3LIWM3stqz5271Eg=="], - - "@react-stately/numberfield": ["@react-stately/numberfield@3.10.2", "", { "dependencies": { "@internationalized/number": "^3.6.5", "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.10.8", "@react-types/numberfield": "^3.8.15", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-jlKVFYaH3RX5KvQ7a+SAMQuPccZCzxLkeYkBE64u1Zvi7YhJ8hkTMHG/fmZMbk1rHlseE2wfBdk0Rlya3MvoNQ=="], - - "@react-stately/overlays": ["@react-stately/overlays@3.6.20", "", { "dependencies": { "@react-stately/utils": "^3.10.8", "@react-types/overlays": "^3.9.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-YAIe+uI8GUXX8F/0Pzr53YeC5c/bjqbzDFlV8NKfdlCPa6+Jp4B/IlYVjIooBj9+94QvbQdjylegvYWK/iPwlg=="], - - "@react-stately/radio": ["@react-stately/radio@3.11.2", "", { "dependencies": { "@react-stately/form": "^3.2.2", "@react-stately/utils": "^3.10.8", "@react-types/radio": "^3.9.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-UM7L6AW+k8edhSBUEPZAqiWNRNadfOKK7BrCXyBiG79zTz0zPcXRR+N+gzkDn7EMSawDeyK1SHYUuoSltTactg=="], - - "@react-stately/searchfield": ["@react-stately/searchfield@3.5.16", "", { "dependencies": { "@react-stately/utils": "^3.10.8", "@react-types/searchfield": "^3.6.6", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-MRfqT1lZ24r94GuFNcGJXsfijZoWjSMySCT60T6NXtbOzVPuAF3K+pL70Rayq/EWLJjS2NPHND11VTs0VdcE0Q=="], - - "@react-stately/select": ["@react-stately/select@3.8.0", "", { "dependencies": { "@react-stately/form": "^3.2.2", "@react-stately/list": "^3.13.1", "@react-stately/overlays": "^3.6.20", "@react-stately/utils": "^3.10.8", "@react-types/select": "^3.11.0", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-A721nlt0DSCDit0wKvhcrXFTG5Vv1qkEVkeKvobmETZy6piKvwh0aaN8iQno5AFuZaj1iOZeNjZ/20TsDJR/4A=="], - - "@react-stately/selection": ["@react-stately/selection@3.20.6", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-a0bjuP2pJYPKEiedz2Us1W1aSz0iHRuyeQEdBOyL6Z6VUa6hIMq9H60kvseir2T85cOa4QggizuRV7mcO6bU5w=="], - - "@react-stately/slider": ["@react-stately/slider@3.7.2", "", { "dependencies": { "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@react-types/slider": "^3.8.2", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-EVBHUdUYwj++XqAEiQg2fGi8Reccznba0uyQ3gPejF0pAc390Q/J5aqiTEDfiCM7uJ6WHxTM6lcCqHQBISk2dQ=="], - - "@react-stately/table": ["@react-stately/table@3.15.1", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/flags": "^3.1.2", "@react-stately/grid": "^3.11.6", "@react-stately/selection": "^3.20.6", "@react-stately/utils": "^3.10.8", "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1", "@react-types/table": "^3.13.4", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-MhMAgE/LgAzHcAn1P3p/nQErzJ6DiixSJ1AOt2JlnAKEb5YJg4ATKWCb2IjBLwywt9ZCzfm3KMUzkctZqAoxwA=="], - - "@react-stately/tabs": ["@react-stately/tabs@3.8.6", "", { "dependencies": { "@react-stately/list": "^3.13.1", "@react-types/shared": "^3.32.1", "@react-types/tabs": "^3.3.19", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-9RYxmgjVIxUpIsGKPIF7uRoHWOEz8muwaYiStCVeyiYBPmarvZoIYtTXcwSMN/vEs7heVN5uGCL6/bfdY4+WiA=="], - - "@react-stately/toast": ["@react-stately/toast@3.1.2", "", { "dependencies": { "@swc/helpers": "^0.5.0", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-HiInm7bck32khFBHZThTQaAF6e6/qm57F4mYRWdTq8IVeGDzpkbUYibnLxRhk0UZ5ybc6me+nqqPkG/lVmM42Q=="], - - "@react-stately/toggle": ["@react-stately/toggle@3.9.2", "", { "dependencies": { "@react-stately/utils": "^3.10.8", "@react-types/checkbox": "^3.10.2", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-dOxs9wrVXHUmA7lc8l+N9NbTJMAaXcYsnNGsMwfXIXQ3rdq+IjWGNYJ52UmNQyRYFcg0jrzRrU16TyGbNjOdNQ=="], - - "@react-stately/tooltip": ["@react-stately/tooltip@3.5.8", "", { "dependencies": { "@react-stately/overlays": "^3.6.20", "@react-types/tooltip": "^3.4.21", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-gkcUx2ROhCiGNAYd2BaTejakXUUNLPnnoJ5+V/mN480pN+OrO8/2V9pqb/IQmpqxLsso93zkM3A4wFHHLBBmPQ=="], - - "@react-stately/tree": ["@react-stately/tree@3.9.3", "", { "dependencies": { "@react-stately/collections": "^3.12.8", "@react-stately/selection": "^3.20.6", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.1", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ZngG79nLFxE/GYmpwX6E/Rma2MMkzdoJPRI3iWk3dgqnGMMzpPnUp/cvjDsU3UHF7xDVusC5BT6pjWN0uxCIFQ=="], - - "@react-stately/utils": ["@react-stately/utils@3.10.8", "", { "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-SN3/h7SzRsusVQjQ4v10LaVsDc81jyyR0DD5HnsQitm/I5WDpaSr2nRHtyloPFU48jlql1XX/S04T2DLQM7Y3g=="], - - "@react-types/breadcrumbs": ["@react-types/breadcrumbs@3.7.17", "", { "dependencies": { "@react-types/link": "^3.6.5", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-IhvVTcfli5o/UDlGACXxjlor2afGlMQA8pNR3faH0bBUay1Fmm3IWktVw9Xwmk+KraV2RTAg9e+E6p8DOQZfiw=="], - - "@react-types/button": ["@react-types/button@3.14.1", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-D8C4IEwKB7zEtiWYVJ3WE/5HDcWlze9mLWQ5hfsBfpePyWCgO3bT/+wjb/7pJvcAocrkXo90QrMm85LcpBtrpg=="], - - "@react-types/calendar": ["@react-types/calendar@3.8.0", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ZDZgfZgbz1ydWOFs1mH7QFfX3ioJrmb3Y/lkoubQE0HWXLZzyYNvhhKyFJRS1QJ40IofLSBHriwbQb/tsUnGlw=="], - - "@react-types/checkbox": ["@react-types/checkbox@3.10.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ktPkl6ZfIdGS1tIaGSU/2S5Agf2NvXI9qAgtdMDNva0oLyAZ4RLQb6WecPvofw1J7YKXu0VA5Mu7nlX+FM2weQ=="], - - "@react-types/color": ["@react-types/color@3.1.2", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@react-types/slider": "^3.8.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-NP0TAY3j4tlMztOp/bBfMlPwC9AQKTjSiTFmc2oQNkx5M4sl3QpPqFPosdt7jZ8M4nItvfCWZrlZGjST4SB83A=="], - - "@react-types/combobox": ["@react-types/combobox@3.13.9", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-G6GmLbzVkLW6VScxPAr/RtliEyPhBClfYaIllK1IZv+Z42SVnOpKzhnoe79BpmiFqy1AaC3+LjZX783mrsHCwA=="], - - "@react-types/datepicker": ["@react-types/datepicker@3.13.2", "", { "dependencies": { "@internationalized/date": "^3.10.0", "@react-types/calendar": "^3.8.0", "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-+M6UZxJnejYY8kz0spbY/hP08QJ5rsZ3aNarRQQHc48xV2oelFLX5MhAqizfLEsvyfb0JYrhWoh4z1xZtAmYCg=="], - - "@react-types/dialog": ["@react-types/dialog@3.5.22", "", { "dependencies": { "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-smSvzOcqKE196rWk0oqJDnz+ox5JM5+OT0PmmJXiUD4q7P5g32O6W5Bg7hMIFUI9clBtngo8kLaX2iMg+GqAzg=="], - - "@react-types/grid": ["@react-types/grid@3.3.6", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-vIZJlYTii2n1We9nAugXwM2wpcpsC6JigJFBd6vGhStRdRWRoU4yv1Gc98Usbx0FQ/J7GLVIgeG8+1VMTKBdxw=="], - - "@react-types/link": ["@react-types/link@3.6.5", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-+I2s3XWBEvLrzts0GnNeA84mUkwo+a7kLUWoaJkW0TOBDG7my95HFYxF9WnqKye7NgpOkCqz4s3oW96xPdIniQ=="], - - "@react-types/listbox": ["@react-types/listbox@3.7.4", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-p4YEpTl/VQGrqVE8GIfqTS5LkT5jtjDTbVeZgrkPnX/fiPhsfbTPiZ6g0FNap4+aOGJFGEEZUv2q4vx+rCORww=="], - - "@react-types/menu": ["@react-types/menu@3.10.5", "", { "dependencies": { "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-HBTrKll2hm0VKJNM4ubIv1L9MNo8JuOnm2G3M+wXvb6EYIyDNxxJkhjsqsGpUXJdAOSkacHBDcNh2HsZABNX4A=="], - - "@react-types/meter": ["@react-types/meter@3.4.13", "", { "dependencies": { "@react-types/progress": "^3.5.16" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-EiarfbpHcvmeyXvXcr6XLaHkNHuGc4g7fBVEiDPwssFJKKfbUzqnnknDxPjyspqUVRcXC08CokS98J1jYobqDg=="], - - "@react-types/numberfield": ["@react-types/numberfield@3.8.15", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-97r92D23GKCOjGIGMeW9nt+/KlfM3GeWH39Czcmd2/D5y3k6z4j0avbsfx2OttCtJszrnENjw3GraYGYI2KosQ=="], - - "@react-types/overlays": ["@react-types/overlays@3.9.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-Q0cRPcBGzNGmC8dBuHyoPR7N3057KTS5g+vZfQ53k8WwmilXBtemFJPLsogJbspuewQ/QJ3o2HYsp2pne7/iNw=="], - - "@react-types/progress": ["@react-types/progress@3.5.16", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-I9tSdCFfvQ7gHJtm90VAKgwdTWXQgVNvLRStEc0z9h+bXBxdvZb+QuiRPERChwFQ9VkK4p4rDqaFo69nDqWkpw=="], - - "@react-types/radio": ["@react-types/radio@3.9.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-3UcJXu37JrTkRyP4GJPDBU7NmDTInrEdOe+bVzA1j4EegzdkJmLBkLg5cLDAbpiEHB+xIsvbJdx6dxeMuc+H3g=="], - - "@react-types/searchfield": ["@react-types/searchfield@3.6.6", "", { "dependencies": { "@react-types/shared": "^3.32.1", "@react-types/textfield": "^3.12.6" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-cl3itr/fk7wbIQc2Gz5Ie8aVeUmPjVX/mRGS5/EXlmzycAKNYTvqf2mlxwObLndtLISmt7IgNjRRhbUUDI8Ang=="], - - "@react-types/select": ["@react-types/select@3.11.0", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-SzIsMFVPCbXE1Z1TLfpdfiwJ1xnIkcL1/CjGilmUKkNk5uT7rYX1xCJqWCjXI0vAU1xM4Qn+T3n8de4fw6HRBg=="], - - "@react-types/shared": ["@react-types/shared@3.32.1", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-famxyD5emrGGpFuUlgOP6fVW2h/ZaF405G5KDi3zPHzyjAWys/8W6NAVJtNbkCkhedmvL0xOhvt8feGXyXaw5w=="], - - "@react-types/slider": ["@react-types/slider@3.8.2", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-MQYZP76OEOYe7/yA2To+Dl0LNb0cKKnvh5JtvNvDnAvEprn1RuLiay8Oi/rTtXmc2KmBa4VdTcsXsmkbbkeN2Q=="], - - "@react-types/switch": ["@react-types/switch@3.5.15", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-r/ouGWQmIeHyYSP1e5luET+oiR7N7cLrAlWsrAfYRWHxqXOSNQloQnZJ3PLHrKFT02fsrQhx2rHaK2LfKeyN3A=="], - - "@react-types/table": ["@react-types/table@3.13.4", "", { "dependencies": { "@react-types/grid": "^3.3.6", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-I/DYiZQl6aNbMmjk90J9SOhkzVDZvyA3Vn3wMWCiajkMNjvubFhTfda5DDf2SgFP5l0Yh6TGGH5XumRv9LqL5Q=="], - - "@react-types/tabs": ["@react-types/tabs@3.3.19", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-fE+qI43yR5pAMpeqPxGqQq9jDHXEPqXskuxNHERMW0PYMdPyem2Cw6goc5F4qeZO3Hf6uPZgHkvJz2OAq7TbBw=="], - - "@react-types/textfield": ["@react-types/textfield@3.12.6", "", { "dependencies": { "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-hpEVKE+M3uUkTjw2WrX1NrH/B3rqDJFUa+ViNK2eVranLY4ZwFqbqaYXSzHupOF3ecSjJJv2C103JrwFvx6TPQ=="], - - "@react-types/tooltip": ["@react-types/tooltip@3.4.21", "", { "dependencies": { "@react-types/overlays": "^3.9.2", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-ugGHOZU6WbOdeTdbjnaEc+Ms7/WhsUCg+T3PCOIeOT9FG02Ce189yJ/+hd7oqL/tVwIhEMYJIqSCgSELFox+QA=="], - - "@readme/better-ajv-errors": ["@readme/better-ajv-errors@2.4.0", "", { "dependencies": { "@babel/code-frame": "^7.22.5", "@babel/runtime": "^7.22.5", "@humanwhocodes/momoa": "^2.0.3", "jsonpointer": "^5.0.0", "leven": "^3.1.0", "picocolors": "^1.1.1" }, "peerDependencies": { "ajv": "4.11.8 - 8" } }, "sha512-9WODaOAKSl/mU+MYNZ2aHCrkoRSvmQ+1YkLj589OEqqjOAhbn8j7Z+ilYoiTu/he6X63/clsxxAB4qny9/dDzg=="], - - "@readme/data-urls": ["@readme/data-urls@3.0.1", "", {}, "sha512-N0JGQe7cmD3hqHwfsvkIsUOdUyUMVl3ezVFkMRuvYakNx47wGSkS83EiZR2gpidceOb9xZ3FVnst2D1sCqpRIg=="], - - "@readme/httpsnippet": ["@readme/httpsnippet@11.0.0", "", { "dependencies": { "qs": "^6.11.2", "stringify-object": "^3.3.0" } }, "sha512-XSyaAsJkZfmMO9R4WDlVJARZgd4wlImftSkMkKclidniXA1h6DTya9iTqJenQo9mHQLh3u6kAC3CDRaIV+LbLw=="], - - "@readme/openapi-parser": ["@readme/openapi-parser@4.1.2", "", { "dependencies": { "@apidevtools/json-schema-ref-parser": "^13.0.5", "@readme/better-ajv-errors": "^2.3.2", "@readme/openapi-schemas": "^3.1.0", "@types/json-schema": "^7.0.15", "ajv": "^8.12.0", "ajv-draft-04": "^1.0.0" }, "peerDependencies": { "openapi-types": ">=7" } }, "sha512-lAFH88r/CHs5VZDUocEda0OSMSQsr6801sziIjOKyVA+0hSFN+BPuelPF5XvkMROHecnPd+XEJN1iNQqCgER/g=="], - - "@readme/openapi-schemas": ["@readme/openapi-schemas@3.1.0", "", {}, "sha512-9FC/6ho8uFa8fV50+FPy/ngWN53jaUu4GRXlAjcxIRrzhltJnpKkBG2Tp0IDraFJeWrOpk84RJ9EMEEYzaI1Bw=="], - - "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.53.3", "", { "os": "android", "cpu": "arm" }, "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w=="], - - "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.53.3", "", { "os": "android", "cpu": "arm64" }, "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w=="], - - "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.53.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA=="], - - "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.53.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ=="], - - "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.53.3", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w=="], - - "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.53.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q=="], - - "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.53.3", "", { "os": "linux", "cpu": "arm" }, "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw=="], - - "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.53.3", "", { "os": "linux", "cpu": "arm" }, "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg=="], - - "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.53.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w=="], - - "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.53.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A=="], - - "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g=="], - - "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.53.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw=="], - - "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g=="], - - "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.53.3", "", { "os": "linux", "cpu": "none" }, "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A=="], - - "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.53.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg=="], - - "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.53.3", "", { "os": "linux", "cpu": "x64" }, "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w=="], - - "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.53.3", "", { "os": "linux", "cpu": "x64" }, "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q=="], - - "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.53.3", "", { "os": "none", "cpu": "arm64" }, "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw=="], - - "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.53.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw=="], - - "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.53.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA=="], - - "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.53.3", "", { "os": "win32", "cpu": "x64" }, "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg=="], - - "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.53.3", "", { "os": "win32", "cpu": "x64" }, "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ=="], - - "@scure/base": ["@scure/base@1.2.6", "", {}, "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg=="], - - "@scure/bip32": ["@scure/bip32@1.7.0", "", { "dependencies": { "@noble/curves": "~1.9.0", "@noble/hashes": "~1.8.0", "@scure/base": "~1.2.5" } }, "sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw=="], - - "@scure/bip39": ["@scure/bip39@1.6.0", "", { "dependencies": { "@noble/hashes": "~1.8.0", "@scure/base": "~1.2.5" } }, "sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A=="], - - "@sentry/core": ["@sentry/core@5.30.0", "", { "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "tslib": "^1.9.3" } }, "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg=="], - - "@sentry/hub": ["@sentry/hub@5.30.0", "", { "dependencies": { "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "tslib": "^1.9.3" } }, "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ=="], - - "@sentry/minimal": ["@sentry/minimal@5.30.0", "", { "dependencies": { "@sentry/hub": "5.30.0", "@sentry/types": "5.30.0", "tslib": "^1.9.3" } }, "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw=="], - - "@sentry/node": ["@sentry/node@5.30.0", "", { "dependencies": { "@sentry/core": "5.30.0", "@sentry/hub": "5.30.0", "@sentry/tracing": "5.30.0", "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "cookie": "^0.4.1", "https-proxy-agent": "^5.0.0", "lru_map": "^0.3.3", "tslib": "^1.9.3" } }, "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg=="], - - "@sentry/tracing": ["@sentry/tracing@5.30.0", "", { "dependencies": { "@sentry/hub": "5.30.0", "@sentry/minimal": "5.30.0", "@sentry/types": "5.30.0", "@sentry/utils": "5.30.0", "tslib": "^1.9.3" } }, "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw=="], - - "@sentry/types": ["@sentry/types@5.30.0", "", {}, "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw=="], - - "@sentry/utils": ["@sentry/utils@5.30.0", "", { "dependencies": { "@sentry/types": "5.30.0", "tslib": "^1.9.3" } }, "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww=="], - - "@shikijs/core": ["@shikijs/core@3.15.0", "", { "dependencies": { "@shikijs/types": "3.15.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-8TOG6yG557q+fMsSVa8nkEDOZNTSxjbbR8l6lF2gyr6Np+jrPlslqDxQkN6rMXCECQ3isNPZAGszAfYoJOPGlg=="], - - "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.15.0", "", { "dependencies": { "@shikijs/types": "3.15.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.3" } }, "sha512-ZedbOFpopibdLmvTz2sJPJgns8Xvyabe2QbmqMTz07kt1pTzfEvKZc5IqPVO/XFiEbbNyaOpjPBkkr1vlwS+qg=="], - - "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.15.0", "", { "dependencies": { "@shikijs/types": "3.15.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-HnqFsV11skAHvOArMZdLBZZApRSYS4LSztk2K3016Y9VCyZISnlYUYsL2hzlS7tPqKHvNqmI5JSUJZprXloMvA=="], - - "@shikijs/langs": ["@shikijs/langs@3.15.0", "", { "dependencies": { "@shikijs/types": "3.15.0" } }, "sha512-WpRvEFvkVvO65uKYW4Rzxs+IG0gToyM8SARQMtGGsH4GDMNZrr60qdggXrFOsdfOVssG/QQGEl3FnJ3EZ+8w8A=="], - - "@shikijs/themes": ["@shikijs/themes@3.15.0", "", { "dependencies": { "@shikijs/types": "3.15.0" } }, "sha512-8ow2zWb1IDvCKjYb0KiLNrK4offFdkfNVPXb1OZykpLCzRU6j+efkY+Y7VQjNlNFXonSw+4AOdGYtmqykDbRiQ=="], - - "@shikijs/twoslash": ["@shikijs/twoslash@1.29.2", "", { "dependencies": { "@shikijs/core": "1.29.2", "@shikijs/types": "1.29.2", "twoslash": "^0.2.12" } }, "sha512-2S04ppAEa477tiaLfGEn1QJWbZUmbk8UoPbAEw4PifsrxkBXtAtOflIZJNtuCwz8ptc/TPxy7CO7gW4Uoi6o/g=="], - - "@shikijs/types": ["@shikijs/types@3.15.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-BnP+y/EQnhihgHy4oIAN+6FFtmfTekwOLsQbRw9hOKwqgNy8Bdsjq8B05oAt/ZgvIWWFrshV71ytOrlPfYjIJw=="], - - "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="], - - "@styled-system/background": ["@styled-system/background@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-jtwH2C/U6ssuGSvwTN3ri/IyjdHb8W9X/g8Y0JLcrH02G+BW3OS8kZdHphF1/YyRklnrKrBT2ngwGUK6aqqV3A=="], - - "@styled-system/border": ["@styled-system/border@5.1.5", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-JvddhNrnhGigtzWRCVuAHepniyVi6hBlimxWDVAdcTuk7aRn9BYJUwfHslURtwYFsF5FoEs8Zmr1oZq2M1AP0A=="], - - "@styled-system/color": ["@styled-system/color@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-1kCkeKDZkt4GYkuFNKc7vJQMcOmTl3bJY3YBUs7fCNM6mMYJeT1pViQ2LwBSBJytj3AB0o4IdLBoepgSgGl5MA=="], - - "@styled-system/core": ["@styled-system/core@5.1.2", "", { "dependencies": { "object-assign": "^4.1.1" } }, "sha512-XclBDdNIy7OPOsN4HBsawG2eiWfCcuFt6gxKn1x4QfMIgeO6TOlA2pZZ5GWZtIhCUqEPTgIBta6JXsGyCkLBYw=="], - - "@styled-system/css": ["@styled-system/css@5.1.5", "", {}, "sha512-XkORZdS5kypzcBotAMPBoeckDs9aSZVkvrAlq5K3xP8IMAUek+x2O4NtwoSgkYkWWzVBu6DGdFZLR790QWGG+A=="], - - "@styled-system/flexbox": ["@styled-system/flexbox@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-6hHV52+eUk654Y1J2v77B8iLeBNtc+SA3R4necsu2VVinSD7+XY5PCCEzBFaWs42dtOEDIa2lMrgL0YBC01mDQ=="], - - "@styled-system/grid": ["@styled-system/grid@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-K3YiV1KyHHzgdNuNlaw8oW2ktMuGga99o1e/NAfTEi5Zsa7JXxzwEnVSDSBdJC+z6R8WYTCYRQC6bkVFcvdTeg=="], - - "@styled-system/layout": ["@styled-system/layout@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-wUhkMBqSeacPFhoE9S6UF3fsMEKFv91gF4AdDWp0Aym1yeMPpqz9l9qS/6vjSsDPF7zOb5cOKC3tcKKOMuDCPw=="], - - "@styled-system/position": ["@styled-system/position@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-60IZfMXEOOZe3l1mCu6sj/2NAyUmES2kR9Kzp7s2D3P4qKsZWxD1Se1+wJvevb+1TP+ZMkGPEYYXRyU8M1aF5A=="], - - "@styled-system/shadow": ["@styled-system/shadow@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-wqniqYb7XuZM7K7C0d1Euxc4eGtqEe/lvM0WjuAFsQVImiq6KGT7s7is+0bNI8O4Dwg27jyu4Lfqo/oIQXNzAg=="], - - "@styled-system/should-forward-prop": ["@styled-system/should-forward-prop@5.1.5", "", { "dependencies": { "@emotion/is-prop-valid": "^0.8.1", "@emotion/memoize": "^0.7.1", "styled-system": "^5.1.5" } }, "sha512-+rPRomgCGYnUIaFabDoOgpSDc4UUJ1KsmlnzcEp0tu5lFrBQKgZclSo18Z1URhaZm7a6agGtS5Xif7tuC2s52Q=="], - - "@styled-system/space": ["@styled-system/space@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-+zzYpR8uvfhcAbaPXhH8QgDAV//flxqxSjHiS9cDFQQUSznXMQmxJegbhcdEF7/eNnJgHeIXv1jmny78kipgBA=="], - - "@styled-system/typography": ["@styled-system/typography@5.1.2", "", { "dependencies": { "@styled-system/core": "^5.1.2" } }, "sha512-BxbVUnN8N7hJ4aaPOd7wEsudeT7CxarR+2hns8XCX1zp0DFfbWw4xYa/olA0oQaqx7F1hzDg+eRaGzAJbF+jOg=="], - - "@styled-system/variant": ["@styled-system/variant@5.1.5", "", { "dependencies": { "@styled-system/core": "^5.1.2", "@styled-system/css": "^5.1.5" } }, "sha512-Yn8hXAFoWIro8+Q5J8YJd/mP85Teiut3fsGVR9CAxwgNfIAiqlYxsk5iHU7VHJks/0KjL4ATSjmbtCDC/4l1qw=="], - - "@swc/counter": ["@swc/counter@0.1.3", "", {}, "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ=="], - - "@swc/helpers": ["@swc/helpers@0.5.5", "", { "dependencies": { "@swc/counter": "^0.1.3", "tslib": "^2.4.0" } }, "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A=="], - - "@tailwindcss/container-queries": ["@tailwindcss/container-queries@0.1.1", "", { "peerDependencies": { "tailwindcss": ">=3.2.0" } }, "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA=="], - - "@tanem/react-nprogress": ["@tanem/react-nprogress@5.0.56", "", { "dependencies": { "@babel/runtime": "^7.28.4", "hoist-non-react-statics": "^3.3.2" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-OI5rXB6jxC/RLJqnIuaKNXu3qQ6Lf3+g1HqkqGz01E25iV3pZFYBihMdGsEeg/4pAm0O7xo/umcAA3jsdeibHA=="], - - "@tanstack/query-core": ["@tanstack/query-core@5.90.11", "", {}, "sha512-f9z/nXhCgWDF4lHqgIE30jxLe4sYv15QodfdPDKYAk7nAEjNcndy4dHz3ezhdUaR23BpWa4I2EH4/DZ0//Uf8A=="], - - "@tanstack/react-query": ["@tanstack/react-query@5.90.11", "", { "dependencies": { "@tanstack/query-core": "5.90.11" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-3uyzz01D1fkTLXuxF3JfoJoHQMU2fxsfJwE+6N5hHy0dVNoZOvwKP8Z2k7k1KDeD54N20apcJnG75TBAStIrBA=="], - - "@tanstack/react-virtual": ["@tanstack/react-virtual@3.13.12", "", { "dependencies": { "@tanstack/virtual-core": "3.13.12" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Gd13QdxPSukP8ZrkbgS2RwoZseTTbQPLnQEn7HY/rqtM+8Zt95f7xKC7N0EsKs7aoz0WzZ+fditZux+F8EzYxA=="], - - "@tanstack/virtual-core": ["@tanstack/virtual-core@3.13.12", "", {}, "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA=="], - - "@theguild/remark-mermaid": ["@theguild/remark-mermaid@0.1.3", "", { "dependencies": { "mermaid": "^11.0.0", "unist-util-visit": "^5.0.0" }, "peerDependencies": { "react": "^18.2.0" } }, "sha512-2FjVlaaKXK7Zj7UJAgOVTyaahn/3/EAfqYhyXg0BfDBVUl+lXcoIWRaxzqfnDr2rv8ax6GsC5mNh6hAaT86PDw=="], - - "@theguild/remark-npm2yarn": ["@theguild/remark-npm2yarn@0.3.3", "", { "dependencies": { "npm-to-yarn": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-ma6DvR03gdbvwqfKx1omqhg9May/VYGdMHvTzB4VuxkyS7KzfZ/lzrj43hmcsggpMje0x7SADA/pcMph0ejRnA=="], - - "@theme-ui/color-modes": ["@theme-ui/color-modes@0.17.2", "", { "dependencies": { "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2", "deepmerge": "^4.2.2" }, "peerDependencies": { "@emotion/react": "^11.13.3", "react": ">=18" } }, "sha512-VSycDWzmEPZwZyJGbA83yKPzjzWzE88FQPRKT3QMHsvoD5dUXlF5tFOg0gEPu2cMhKbSWLCFi/Rtj7ANJDSF/w=="], - - "@theme-ui/components": ["@theme-ui/components@0.17.2", "", { "dependencies": { "@styled-system/color": "^5.1.2", "@styled-system/should-forward-prop": "^5.1.2", "@styled-system/space": "^5.1.2", "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2", "@types/styled-system": "^5.1.13" }, "peerDependencies": { "@emotion/react": "^11.13.3", "@theme-ui/theme-provider": "^0.17.2", "react": ">=18" } }, "sha512-CJeflLU2P6g+B7xn0NsAaWBiRlN3BknYX8lozTBlRwg53sHlHsbQzumtVerlWUlIa+muMx8kCxJYypYBAiaHhg=="], - - "@theme-ui/core": ["@theme-ui/core@0.17.2", "", { "dependencies": { "@theme-ui/css": "^0.17.2", "deepmerge": "^4.2.2" }, "peerDependencies": { "@emotion/react": "^11.13.3", "react": ">=18" } }, "sha512-PMBaFCh/9HTlUZJFZRxZJoy+w/SVOJCr7v3s7XF5qyGcCuAB5tLv+fjcKpALaZ6QBT1SkHWd07AyTHrs0V2uRw=="], - - "@theme-ui/css": ["@theme-ui/css@0.17.2", "", { "dependencies": { "csstype": "^3.0.10" }, "peerDependencies": { "@emotion/react": "^11.11.1" } }, "sha512-sYeurC8WbZBLumt8qO7rM6ZDyvneMh6JojeZov3uwu4Ty2iis8rhqGGK8LD1SfwsWcV8pu3AivQ9xyvWZeaQrw=="], - - "@theme-ui/global": ["@theme-ui/global@0.17.2", "", { "dependencies": { "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2" }, "peerDependencies": { "@emotion/react": "^11.13.3", "react": ">=18" } }, "sha512-yH4Gv/ESDKlxDLz0u5lR3EWAZLfnb4T0Zn1d1LnO7mHv/9dVbF+MA/ogCWLi8Xvs5/u1+RMSJkPfHWfw+Xp5AQ=="], - - "@theme-ui/match-media": ["@theme-ui/match-media@0.17.2", "", { "peerDependencies": { "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2", "react": ">=18" } }, "sha512-kfCcSh35OQ/oPlKYnmipW3ZdgxgbNdejwjtYnKaQtGBQrE/Z/IiSg5MJuztI7w35dfOPtbbUZMTe8JMa34C/iA=="], - - "@theme-ui/theme-provider": ["@theme-ui/theme-provider@0.17.2", "", { "dependencies": { "@theme-ui/color-modes": "^0.17.2", "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2" }, "peerDependencies": { "@emotion/react": "^11.13.3", "react": ">=18" } }, "sha512-Y454eONQU42xHaA6oyWmc3+ViRnKjpi0SAh9zFcz+WmJ2SJVZQ4A8XWXnJHjpq38DFju/AyeEfI4puZRHTkgjQ=="], - - "@ts-morph/common": ["@ts-morph/common@0.28.1", "", { "dependencies": { "minimatch": "^10.0.1", "path-browserify": "^1.0.1", "tinyglobby": "^0.2.14" } }, "sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g=="], - - "@types/cookie": ["@types/cookie@0.6.0", "", {}, "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="], - - "@types/css-font-loading-module": ["@types/css-font-loading-module@0.0.7", "", {}, "sha512-nl09VhutdjINdWyXxHWN/w9zlNCfr60JUqJbd24YXUuCwgeL0TpFSdElCwb6cxfB6ybE19Gjj4g0jsgkXxKv1Q=="], - - "@types/d3": ["@types/d3@7.4.3", "", { "dependencies": { "@types/d3-array": "*", "@types/d3-axis": "*", "@types/d3-brush": "*", "@types/d3-chord": "*", "@types/d3-color": "*", "@types/d3-contour": "*", "@types/d3-delaunay": "*", "@types/d3-dispatch": "*", "@types/d3-drag": "*", "@types/d3-dsv": "*", "@types/d3-ease": "*", "@types/d3-fetch": "*", "@types/d3-force": "*", "@types/d3-format": "*", "@types/d3-geo": "*", "@types/d3-hierarchy": "*", "@types/d3-interpolate": "*", "@types/d3-path": "*", "@types/d3-polygon": "*", "@types/d3-quadtree": "*", "@types/d3-random": "*", "@types/d3-scale": "*", "@types/d3-scale-chromatic": "*", "@types/d3-selection": "*", "@types/d3-shape": "*", "@types/d3-time": "*", "@types/d3-time-format": "*", "@types/d3-timer": "*", "@types/d3-transition": "*", "@types/d3-zoom": "*" } }, "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww=="], - - "@types/d3-array": ["@types/d3-array@3.2.2", "", {}, "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw=="], - - "@types/d3-axis": ["@types/d3-axis@3.0.6", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw=="], - - "@types/d3-brush": ["@types/d3-brush@3.0.6", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A=="], - - "@types/d3-chord": ["@types/d3-chord@3.0.6", "", {}, "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg=="], - - "@types/d3-color": ["@types/d3-color@3.1.3", "", {}, "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A=="], - - "@types/d3-contour": ["@types/d3-contour@3.0.6", "", { "dependencies": { "@types/d3-array": "*", "@types/geojson": "*" } }, "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg=="], - - "@types/d3-delaunay": ["@types/d3-delaunay@6.0.4", "", {}, "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw=="], - - "@types/d3-dispatch": ["@types/d3-dispatch@3.0.7", "", {}, "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA=="], - - "@types/d3-drag": ["@types/d3-drag@3.0.7", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ=="], - - "@types/d3-dsv": ["@types/d3-dsv@3.0.7", "", {}, "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g=="], - - "@types/d3-ease": ["@types/d3-ease@3.0.2", "", {}, "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA=="], - - "@types/d3-fetch": ["@types/d3-fetch@3.0.7", "", { "dependencies": { "@types/d3-dsv": "*" } }, "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA=="], - - "@types/d3-force": ["@types/d3-force@3.0.10", "", {}, "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw=="], - - "@types/d3-format": ["@types/d3-format@3.0.4", "", {}, "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g=="], - - "@types/d3-geo": ["@types/d3-geo@3.1.0", "", { "dependencies": { "@types/geojson": "*" } }, "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ=="], - - "@types/d3-hierarchy": ["@types/d3-hierarchy@3.1.7", "", {}, "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg=="], - - "@types/d3-interpolate": ["@types/d3-interpolate@3.0.4", "", { "dependencies": { "@types/d3-color": "*" } }, "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA=="], - - "@types/d3-path": ["@types/d3-path@3.1.1", "", {}, "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg=="], - - "@types/d3-polygon": ["@types/d3-polygon@3.0.2", "", {}, "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA=="], - - "@types/d3-quadtree": ["@types/d3-quadtree@3.0.6", "", {}, "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg=="], - - "@types/d3-random": ["@types/d3-random@3.0.3", "", {}, "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ=="], - - "@types/d3-scale": ["@types/d3-scale@4.0.9", "", { "dependencies": { "@types/d3-time": "*" } }, "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw=="], - - "@types/d3-scale-chromatic": ["@types/d3-scale-chromatic@3.1.0", "", {}, "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ=="], - - "@types/d3-selection": ["@types/d3-selection@3.0.11", "", {}, "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w=="], - - "@types/d3-shape": ["@types/d3-shape@3.1.7", "", { "dependencies": { "@types/d3-path": "*" } }, "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg=="], - - "@types/d3-time": ["@types/d3-time@3.0.4", "", {}, "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g=="], - - "@types/d3-time-format": ["@types/d3-time-format@4.0.3", "", {}, "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg=="], - - "@types/d3-timer": ["@types/d3-timer@3.0.2", "", {}, "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw=="], - - "@types/d3-transition": ["@types/d3-transition@3.0.9", "", { "dependencies": { "@types/d3-selection": "*" } }, "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg=="], - - "@types/d3-zoom": ["@types/d3-zoom@3.0.8", "", { "dependencies": { "@types/d3-interpolate": "*", "@types/d3-selection": "*" } }, "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw=="], - - "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="], - - "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], - - "@types/estree-jsx": ["@types/estree-jsx@1.0.5", "", { "dependencies": { "@types/estree": "*" } }, "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg=="], - - "@types/geojson": ["@types/geojson@7946.0.16", "", {}, "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg=="], - - "@types/har-format": ["@types/har-format@1.2.16", "", {}, "sha512-fluxdy7ryD3MV6h8pTfTYpy/xQzCFC7m89nOH9y94cNqJ1mDIDPut7MnRHI3F6qRmh/cT2fUjG1MLdCNb4hE9A=="], - - "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], - - "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], - - "@types/katex": ["@types/katex@0.16.7", "", {}, "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ=="], - - "@types/lodash": ["@types/lodash@4.17.21", "", {}, "sha512-FOvQ0YPD5NOfPgMzJihoT+Za5pdkDJWcbpuj1DjaKZIr/gxodQjY/uWEFlTNqW2ugXHUiL8lRQgw63dzKHZdeQ=="], - - "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], - - "@types/mdx": ["@types/mdx@2.0.13", "", {}, "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw=="], - - "@types/mixpanel-browser": ["@types/mixpanel-browser@2.66.0", "", { "dependencies": { "mixpanel-browser": "*" } }, "sha512-07zYZZ9ZVHc7R4ktM+3a2clZvKkj+EJcYZ/FevTs011Fr9tdp59lVgAskMf6ZQUp3lOHLqi7K3f+9QtmEsqh1w=="], - - "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], - - "@types/nlcst": ["@types/nlcst@2.0.3", "", { "dependencies": { "@types/unist": "*" } }, "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA=="], - - "@types/node": ["@types/node@22.19.1", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ=="], - - "@types/parse-json": ["@types/parse-json@4.0.2", "", {}, "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="], - - "@types/prismjs": ["@types/prismjs@1.26.5", "", {}, "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ=="], - - "@types/prop-types": ["@types/prop-types@15.7.15", "", {}, "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw=="], - - "@types/react": ["@types/react@18.3.27", "", { "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" } }, "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w=="], - - "@types/react-dom": ["@types/react-dom@18.3.7", "", { "peerDependencies": { "@types/react": "^18.0.0" } }, "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ=="], - - "@types/styled-system": ["@types/styled-system@5.1.25", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-B1oyjE4oeAbVnkigcB0WqU2gPFuTwLV/KkLa/uJZWFB9JWVKq1Fs0QwodZXZ9Sq6cb9ngY4kDqRY/dictIchjA=="], - - "@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="], - - "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], - - "@types/vfile": ["@types/vfile@4.0.0", "", { "dependencies": { "vfile": "*" } }, "sha512-eleP0/Cz8uVWxARDLi3Axq2+fDdN4ibAXoC6Pv8p6s7znXaUL7XvhgeIhjCiNMnvlLNP+tmCLd+RuCryGgmtEg=="], - - "@typescript/vfs": ["@typescript/vfs@1.6.2", "", { "dependencies": { "debug": "^4.1.1" }, "peerDependencies": { "typescript": "*" } }, "sha512-hoBwJwcbKHmvd2QVebiytN1aELvpk9B74B4L1mFm/XT1Q/VOYAWl2vQ9AWRFtQq8zmz6enTpfTV8WRc4ATjW/g=="], - - "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="], - - "@uniswap/lib": ["@uniswap/lib@4.0.1-alpha", "", {}, "sha512-f6UIliwBbRsgVLxIaBANF6w09tYqc6Y/qXdsrbEmXHyFA7ILiKrIwRFXe1yOg8M3cksgVsO9N7yuL2DdCGQKBA=="], - - "@uniswap/sdk-core": ["@uniswap/sdk-core@7.9.0", "", { "dependencies": { "@ethersproject/address": "^5.0.2", "@ethersproject/bytes": "^5.7.0", "@ethersproject/keccak256": "5.7.0", "@ethersproject/strings": "5.7.0", "big.js": "^5.2.2", "decimal.js-light": "^2.5.0", "jsbi": "^3.1.4", "tiny-invariant": "^1.1.0", "toformat": "^2.0.0" } }, "sha512-HHUFNK3LMi4KMQCAiHkdUyL62g/nrZLvNT44CY8RN4p8kWO6XYWzqdQt6OcjCsIbhMZ/Ifhe6Py5oOoccg/jUQ=="], - - "@uniswap/swap-router-contracts": ["@uniswap/swap-router-contracts@1.3.1", "", { "dependencies": { "@openzeppelin/contracts": "3.4.2-solc-0.7", "@uniswap/v2-core": "^1.0.1", "@uniswap/v3-core": "^1.0.0", "@uniswap/v3-periphery": "^1.4.4", "dotenv": "^14.2.0", "hardhat-watcher": "^2.1.1" } }, "sha512-mh/YNbwKb7Mut96VuEtL+Z5bRe0xVIbjjiryn+iMMrK2sFKhR4duk/86mEz0UO5gSx4pQIw9G5276P5heY/7Rg=="], - - "@uniswap/v2-core": ["@uniswap/v2-core@1.0.1", "", {}, "sha512-MtybtkUPSyysqLY2U210NBDeCHX+ltHt3oADGdjqoThZaFRDKwM6k1Nb3F0A3hk5hwuQvytFWhrWHOEq6nVJ8Q=="], - - "@uniswap/v3-core": ["@uniswap/v3-core@1.0.1", "", {}, "sha512-7pVk4hEm00j9tc71Y9+ssYpO6ytkeI0y7WE9P6UcmNzhxPePwyAxImuhVsTqWK9YFvzgtvzJHi64pBl4jUzKMQ=="], - - "@uniswap/v3-periphery": ["@uniswap/v3-periphery@1.4.4", "", { "dependencies": { "@openzeppelin/contracts": "3.4.2-solc-0.7", "@uniswap/lib": "^4.0.1-alpha", "@uniswap/v2-core": "^1.0.1", "@uniswap/v3-core": "^1.0.0", "base64-sol": "1.0.1" } }, "sha512-S4+m+wh8HbWSO3DKk4LwUCPZJTpCugIsHrWR86m/OrUyvSqGDTXKFfc2sMuGXCZrD1ZqO3rhQsKgdWg3Hbb2Kw=="], - - "@uniswap/v3-sdk": ["@uniswap/v3-sdk@3.26.0", "", { "dependencies": { "@ethersproject/abi": "^5.5.0", "@ethersproject/solidity": "^5.0.9", "@uniswap/sdk-core": "^7.8.0", "@uniswap/swap-router-contracts": "^1.3.0", "@uniswap/v3-periphery": "^1.1.1", "@uniswap/v3-staker": "1.0.0", "tiny-invariant": "^1.1.0", "tiny-warning": "^1.0.3" } }, "sha512-bcoWNE7ntNNTHMOnDPscIqtIN67fUyrbBKr6eswI2gD2wm5b0YYFBDeh+Qc5Q3117o9i8S7QdftqrU8YSMQUfQ=="], - - "@uniswap/v3-staker": ["@uniswap/v3-staker@1.0.0", "", { "dependencies": { "@openzeppelin/contracts": "3.4.1-solc-0.7-2", "@uniswap/v3-core": "1.0.0", "@uniswap/v3-periphery": "^1.0.1" } }, "sha512-JV0Qc46Px5alvg6YWd+UIaGH9lDuYG/Js7ngxPit1SPaIP30AlVer1UYB7BRYeUVVxE+byUyIeN5jeQ7LLDjIw=="], - - "@ver0/deep-equal": ["@ver0/deep-equal@1.0.1", "", {}, "sha512-XSvL5wKXBZIv7fflMqhQx936sRpEtzxeV25xAEt0rLLXzbF6RCQaRA1jrVIn8JCubMyn/y0TaidphUtilLzl1A=="], - - "@web3icons/common": ["@web3icons/common@0.11.31", "", { "peerDependencies": { "typescript": "^5.0.0" } }, "sha512-POTnYcB+yuKVY65C1+hSu5LViRgS1hs8njx6gFLKdjMquyNfWWvwQtKMDjz0Y509yiZDeT93QFV8U/clr1Jwcw=="], - - "@web3icons/react": ["@web3icons/react@4.1.1", "", { "dependencies": { "@web3icons/common": "0.11.31" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0" } }, "sha512-6vqi3w2J22WBJJG0EHS/6SauM72c9qyLwjy767FKdT6l60rPD43sBAxvE1fncOleiSlxNA/vY3L1c5kDTjmP+w=="], - - "@xmldom/xmldom": ["@xmldom/xmldom@0.9.8", "", {}, "sha512-p96FSY54r+WJ50FIOsCOjyj/wavs8921hG5+kVMmZgKcvIKxMXHTrjNJvRgWa/zuX3B6t2lijLNFaOyuxUH+2A=="], - - "@xstate/fsm": ["@xstate/fsm@1.6.5", "", {}, "sha512-b5o1I6aLNeYlU/3CPlj/Z91ybk1gUsKT+5NAJI+2W4UjvS5KLG28K9v5UvNoFVjHV8PajVZ00RH3vnjyQO7ZAw=="], - - "@xstate/react": ["@xstate/react@3.2.2", "", { "dependencies": { "use-isomorphic-layout-effect": "^1.1.2", "use-sync-external-store": "^1.0.0" }, "peerDependencies": { "@xstate/fsm": "^2.0.0", "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "xstate": "^4.37.2" }, "optionalPeers": ["@xstate/fsm", "xstate"] }, "sha512-feghXWLedyq8JeL13yda3XnHPZKwYDN5HPBLykpLeuNpr9178tQd2/3d0NrH6gSd0sG5mLuLeuD+ck830fgzLQ=="], - - "abitype": ["abitype@1.1.0", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A=="], - - "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], - - "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], - - "adm-zip": ["adm-zip@0.4.16", "", {}, "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg=="], - - "aes-js": ["aes-js@3.0.0", "", {}, "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw=="], - - "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], - - "aggregate-error": ["aggregate-error@3.1.0", "", { "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" } }, "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA=="], - - "ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], - - "ajv-draft-04": ["ajv-draft-04@1.0.0", "", { "peerDependencies": { "ajv": "^8.5.0" }, "optionalPeers": ["ajv"] }, "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw=="], - - "algoliasearch": ["algoliasearch@5.45.0", "", { "dependencies": { "@algolia/abtesting": "1.11.0", "@algolia/client-abtesting": "5.45.0", "@algolia/client-analytics": "5.45.0", "@algolia/client-common": "5.45.0", "@algolia/client-insights": "5.45.0", "@algolia/client-personalization": "5.45.0", "@algolia/client-query-suggestions": "5.45.0", "@algolia/client-search": "5.45.0", "@algolia/ingestion": "1.45.0", "@algolia/monitoring": "1.45.0", "@algolia/recommend": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", "@algolia/requester-fetch": "5.45.0", "@algolia/requester-node-http": "5.45.0" } }, "sha512-wrj4FGr14heLOYkBKV3Fbq5ZBGuIFeDJkTilYq/G+hH1CSlQBtYvG2X1j67flwv0fUeQJwnWxxRIunSemAZirA=="], - - "ansi-align": ["ansi-align@3.0.1", "", { "dependencies": { "string-width": "^4.1.0" } }, "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w=="], - - "ansi-colors": ["ansi-colors@4.1.3", "", {}, "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="], - - "ansi-escapes": ["ansi-escapes@4.3.2", "", { "dependencies": { "type-fest": "^0.21.3" } }, "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ=="], - - "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="], - - "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], - - "arg": ["arg@5.0.2", "", {}, "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="], - - "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - - "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], - - "array-iterate": ["array-iterate@2.0.1", "", {}, "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg=="], - - "astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="], - - "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], - - "attr-accept": ["attr-accept@2.2.5", "", {}, "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ=="], - - "autoprefixer": ["autoprefixer@10.4.22", "", { "dependencies": { "browserslist": "^4.27.0", "caniuse-lite": "^1.0.30001754", "fraction.js": "^5.3.4", "normalize-range": "^0.1.2", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "bin": { "autoprefixer": "bin/autoprefixer" } }, "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg=="], - - "babel-plugin-macros": ["babel-plugin-macros@3.1.0", "", { "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", "resolve": "^1.19.0" } }, "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg=="], - - "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="], - - "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - - "base64-arraybuffer": ["base64-arraybuffer@1.0.2", "", {}, "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="], - - "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - - "base64-sol": ["base64-sol@1.0.1", "", {}, "sha512-ld3cCNMeXt4uJXmLZBHFGMvVpK9KsLVEhPpFRXnvSVAqABKbuNZg/+dsq3NuM+wxFLb/UrVkz7m1ciWmkMfTbg=="], - - "baseline-browser-mapping": ["baseline-browser-mapping@2.8.31", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw=="], - - "bech32": ["bech32@1.1.4", "", {}, "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="], - - "better-react-mathjax": ["better-react-mathjax@2.3.0", "", { "dependencies": { "mathjax-full": "^3.2.2" }, "peerDependencies": { "react": ">=16.8" } }, "sha512-K0ceQC+jQmB+NLDogO5HCpqmYf18AU2FxDbLdduYgkHYWZApFggkHE4dIaXCV1NqeoscESYXXo1GSkY6fA295w=="], - - "big.js": ["big.js@5.2.2", "", {}, "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="], - - "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], - - "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], - - "bn.js": ["bn.js@5.2.2", "", {}, "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw=="], - - "boxen": ["boxen@5.1.1", "", { "dependencies": { "ansi-align": "^3.0.0", "camelcase": "^6.2.0", "chalk": "^4.1.0", "cli-boxes": "^2.2.1", "string-width": "^4.2.2", "type-fest": "^0.20.2", "widest-line": "^3.1.0", "wrap-ansi": "^7.0.0" } }, "sha512-JtIQYts08AFAYGF4eSh3pUt3NQkYV/e75pRtQmAVTLNWR/1L7Bsswxlgzgk8nmLEM+gFszsIlA9BgD3XnSqp3g=="], - - "brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], - - "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], - - "brorand": ["brorand@1.1.0", "", {}, "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="], - - "browser-stdout": ["browser-stdout@1.3.1", "", {}, "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="], - - "browserslist": ["browserslist@4.28.0", "", { "dependencies": { "baseline-browser-mapping": "^2.8.25", "caniuse-lite": "^1.0.30001754", "electron-to-chromium": "^1.5.249", "node-releases": "^2.0.27", "update-browserslist-db": "^1.1.4" }, "bin": { "browserslist": "cli.js" } }, "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ=="], - - "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], - - "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], - - "bundle-require": ["bundle-require@5.1.0", "", { "dependencies": { "load-tsconfig": "^0.2.3" }, "peerDependencies": { "esbuild": ">=0.18" } }, "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA=="], - - "busboy": ["busboy@1.6.0", "", { "dependencies": { "streamsearch": "^1.1.0" } }, "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA=="], - - "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], - - "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], - - "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], - - "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], - - "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], - - "camelcase": ["camelcase@6.3.0", "", {}, "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="], - - "camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="], - - "caniuse-lite": ["caniuse-lite@1.0.30001757", "", {}, "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ=="], - - "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], - - "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="], - - "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="], - - "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="], - - "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="], - - "charenc": ["charenc@0.0.2", "", {}, "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="], - - "chevrotain": ["chevrotain@11.0.3", "", { "dependencies": { "@chevrotain/cst-dts-gen": "11.0.3", "@chevrotain/gast": "11.0.3", "@chevrotain/regexp-to-ast": "11.0.3", "@chevrotain/types": "11.0.3", "@chevrotain/utils": "11.0.3", "lodash-es": "4.17.21" } }, "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw=="], - - "chevrotain-allstar": ["chevrotain-allstar@0.3.1", "", { "dependencies": { "lodash-es": "^4.17.21" }, "peerDependencies": { "chevrotain": "^11.0.0" } }, "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw=="], - - "chokidar": ["chokidar@3.6.0", "", { "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" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], - - "ci-info": ["ci-info@2.0.0", "", {}, "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="], - - "clean-stack": ["clean-stack@2.2.0", "", {}, "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="], - - "cli-boxes": ["cli-boxes@2.2.1", "", {}, "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw=="], - - "cli-cursor": ["cli-cursor@3.1.0", "", { "dependencies": { "restore-cursor": "^3.1.0" } }, "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw=="], - - "cli-spinners": ["cli-spinners@2.9.2", "", {}, "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg=="], - - "client-only": ["client-only@0.0.1", "", {}, "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="], - - "clipboardy": ["clipboardy@4.0.0", "", { "dependencies": { "execa": "^8.0.1", "is-wsl": "^3.1.0", "is64bit": "^2.0.0" } }, "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w=="], - - "cliui": ["cliui@7.0.4", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ=="], - - "clone": ["clone@1.0.4", "", {}, "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="], - - "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], - - "code-block-writer": ["code-block-writer@13.0.3", "", {}, "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg=="], - - "collapse-white-space": ["collapse-white-space@2.1.0", "", {}, "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw=="], - - "color": ["color@5.0.3", "", { "dependencies": { "color-convert": "^3.1.3", "color-string": "^2.1.3" } }, "sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA=="], - - "color-convert": ["color-convert@3.1.3", "", { "dependencies": { "color-name": "^2.0.0" } }, "sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg=="], - - "color-name": ["color-name@2.1.0", "", {}, "sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg=="], - - "color-string": ["color-string@2.1.4", "", { "dependencies": { "color-name": "^2.0.0" } }, "sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg=="], - - "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], - - "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="], - - "command-exists": ["command-exists@1.2.9", "", {}, "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w=="], - - "commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], - - "compare-versions": ["compare-versions@6.1.1", "", {}, "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg=="], - - "confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], - - "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], - - "convert-source-map": ["convert-source-map@1.9.0", "", {}, "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="], - - "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], - - "cose-base": ["cose-base@1.0.3", "", { "dependencies": { "layout-base": "^1.0.0" } }, "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg=="], - - "cosmiconfig": ["cosmiconfig@7.1.0", "", { "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" } }, "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA=="], - - "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], - - "crypt": ["crypt@0.0.2", "", {}, "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow=="], - - "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], - - "cssstyle": ["cssstyle@4.6.0", "", { "dependencies": { "@asamuzakjp/css-color": "^3.2.0", "rrweb-cssom": "^0.8.0" } }, "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg=="], - - "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], - - "cytoscape": ["cytoscape@3.33.1", "", {}, "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ=="], - - "cytoscape-cose-bilkent": ["cytoscape-cose-bilkent@4.1.0", "", { "dependencies": { "cose-base": "^1.0.0" }, "peerDependencies": { "cytoscape": "^3.2.0" } }, "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ=="], - - "cytoscape-fcose": ["cytoscape-fcose@2.2.0", "", { "dependencies": { "cose-base": "^2.2.0" }, "peerDependencies": { "cytoscape": "^3.2.0" } }, "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ=="], - - "d3": ["d3@7.9.0", "", { "dependencies": { "d3-array": "3", "d3-axis": "3", "d3-brush": "3", "d3-chord": "3", "d3-color": "3", "d3-contour": "4", "d3-delaunay": "6", "d3-dispatch": "3", "d3-drag": "3", "d3-dsv": "3", "d3-ease": "3", "d3-fetch": "3", "d3-force": "3", "d3-format": "3", "d3-geo": "3", "d3-hierarchy": "3", "d3-interpolate": "3", "d3-path": "3", "d3-polygon": "3", "d3-quadtree": "3", "d3-random": "3", "d3-scale": "4", "d3-scale-chromatic": "3", "d3-selection": "3", "d3-shape": "3", "d3-time": "3", "d3-time-format": "4", "d3-timer": "3", "d3-transition": "3", "d3-zoom": "3" } }, "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA=="], - - "d3-array": ["d3-array@3.2.4", "", { "dependencies": { "internmap": "1 - 2" } }, "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg=="], - - "d3-axis": ["d3-axis@3.0.0", "", {}, "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw=="], - - "d3-brush": ["d3-brush@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", "d3-interpolate": "1 - 3", "d3-selection": "3", "d3-transition": "3" } }, "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ=="], - - "d3-chord": ["d3-chord@3.0.1", "", { "dependencies": { "d3-path": "1 - 3" } }, "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g=="], - - "d3-color": ["d3-color@3.1.0", "", {}, "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="], - - "d3-contour": ["d3-contour@4.0.2", "", { "dependencies": { "d3-array": "^3.2.0" } }, "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA=="], - - "d3-delaunay": ["d3-delaunay@6.0.4", "", { "dependencies": { "delaunator": "5" } }, "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A=="], - - "d3-dispatch": ["d3-dispatch@3.0.1", "", {}, "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="], - - "d3-drag": ["d3-drag@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-selection": "3" } }, "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg=="], - - "d3-dsv": ["d3-dsv@3.0.1", "", { "dependencies": { "commander": "7", "iconv-lite": "0.6", "rw": "1" }, "bin": { "csv2json": "bin/dsv2json.js", "csv2tsv": "bin/dsv2dsv.js", "dsv2dsv": "bin/dsv2dsv.js", "dsv2json": "bin/dsv2json.js", "json2csv": "bin/json2dsv.js", "json2dsv": "bin/json2dsv.js", "json2tsv": "bin/json2dsv.js", "tsv2csv": "bin/dsv2dsv.js", "tsv2json": "bin/dsv2json.js" } }, "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q=="], - - "d3-ease": ["d3-ease@3.0.1", "", {}, "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="], - - "d3-fetch": ["d3-fetch@3.0.1", "", { "dependencies": { "d3-dsv": "1 - 3" } }, "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw=="], - - "d3-force": ["d3-force@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-quadtree": "1 - 3", "d3-timer": "1 - 3" } }, "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg=="], - - "d3-format": ["d3-format@3.1.0", "", {}, "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="], - - "d3-geo": ["d3-geo@3.1.1", "", { "dependencies": { "d3-array": "2.5.0 - 3" } }, "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q=="], - - "d3-hierarchy": ["d3-hierarchy@3.1.2", "", {}, "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA=="], - - "d3-interpolate": ["d3-interpolate@3.0.1", "", { "dependencies": { "d3-color": "1 - 3" } }, "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g=="], - - "d3-path": ["d3-path@3.1.0", "", {}, "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ=="], - - "d3-polygon": ["d3-polygon@3.0.1", "", {}, "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg=="], - - "d3-quadtree": ["d3-quadtree@3.0.1", "", {}, "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw=="], - - "d3-random": ["d3-random@3.0.1", "", {}, "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ=="], - - "d3-sankey": ["d3-sankey@0.12.3", "", { "dependencies": { "d3-array": "1 - 2", "d3-shape": "^1.2.0" } }, "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ=="], - - "d3-scale": ["d3-scale@4.0.2", "", { "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", "d3-interpolate": "1.2.0 - 3", "d3-time": "2.1.1 - 3", "d3-time-format": "2 - 4" } }, "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ=="], - - "d3-scale-chromatic": ["d3-scale-chromatic@3.1.0", "", { "dependencies": { "d3-color": "1 - 3", "d3-interpolate": "1 - 3" } }, "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ=="], - - "d3-selection": ["d3-selection@3.0.0", "", {}, "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ=="], - - "d3-shape": ["d3-shape@3.2.0", "", { "dependencies": { "d3-path": "^3.1.0" } }, "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA=="], - - "d3-time": ["d3-time@3.1.0", "", { "dependencies": { "d3-array": "2 - 3" } }, "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q=="], - - "d3-time-format": ["d3-time-format@4.1.0", "", { "dependencies": { "d3-time": "1 - 3" } }, "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg=="], - - "d3-timer": ["d3-timer@3.0.1", "", {}, "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="], - - "d3-transition": ["d3-transition@3.0.1", "", { "dependencies": { "d3-color": "1 - 3", "d3-dispatch": "1 - 3", "d3-ease": "1 - 3", "d3-interpolate": "1 - 3", "d3-timer": "1 - 3" }, "peerDependencies": { "d3-selection": "2 - 3" } }, "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w=="], - - "d3-zoom": ["d3-zoom@3.0.0", "", { "dependencies": { "d3-dispatch": "1 - 3", "d3-drag": "2 - 3", "d3-interpolate": "1 - 3", "d3-selection": "2 - 3", "d3-transition": "2 - 3" } }, "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw=="], - - "dagre-d3-es": ["dagre-d3-es@7.0.13", "", { "dependencies": { "d3": "^7.9.0", "lodash-es": "^4.17.21" } }, "sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q=="], - - "data-urls": ["data-urls@5.0.0", "", { "dependencies": { "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.0.0" } }, "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg=="], - - "dataloader": ["dataloader@2.2.3", "", {}, "sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA=="], - - "dayjs": ["dayjs@1.11.19", "", {}, "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw=="], - - "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], - - "decamelize": ["decamelize@4.0.0", "", {}, "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ=="], - - "decimal.js": ["decimal.js@10.6.0", "", {}, "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="], - - "decimal.js-light": ["decimal.js-light@2.5.1", "", {}, "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg=="], - - "decode-named-character-reference": ["decode-named-character-reference@1.2.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q=="], - - "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], - - "defaults": ["defaults@1.0.4", "", { "dependencies": { "clone": "^1.0.2" } }, "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A=="], - - "delaunator": ["delaunator@5.0.1", "", { "dependencies": { "robust-predicates": "^3.0.2" } }, "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw=="], - - "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], - - "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], - - "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], - - "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], - - "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], - - "didyoumean": ["didyoumean@1.2.2", "", {}, "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="], - - "diff": ["diff@5.2.0", "", {}, "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A=="], - - "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="], - - "dns-packet": ["dns-packet@5.6.1", "", { "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" } }, "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw=="], - - "dom-helpers": ["dom-helpers@5.2.1", "", { "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" } }, "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA=="], - - "dompurify": ["dompurify@3.3.0", "", { "optionalDependencies": { "@types/trusted-types": "^2.0.7" } }, "sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ=="], - - "dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], - - "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], - - "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], - - "electron-to-chromium": ["electron-to-chromium@1.5.260", "", {}, "sha512-ov8rBoOBhVawpzdre+Cmz4FB+y66Eqrk6Gwqd8NGxuhv99GQ8XqMAr351KEkOt7gukXWDg6gJWEMKgL2RLMPtA=="], - - "elliptic": ["elliptic@6.6.1", "", { "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" } }, "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g=="], - - "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - - "emoji-regex-xs": ["emoji-regex-xs@1.0.0", "", {}, "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg=="], - - "enquirer": ["enquirer@2.4.1", "", { "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" } }, "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ=="], - - "entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], - - "env-paths": ["env-paths@2.2.1", "", {}, "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="], - - "error-ex": ["error-ex@1.3.4", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ=="], - - "error-stack-parser": ["error-stack-parser@1.3.6", "", { "dependencies": { "stackframe": "^0.3.1" } }, "sha512-xhuSYd8wLgOXwNgjcPeXMPL/IiiA1Huck+OPvClpJViVNNlJVtM41o+1emp7bPvlCJwCatFX2DWc05/DgfbWzA=="], - - "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], - - "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], - - "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], - - "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], - - "esast-util-from-estree": ["esast-util-from-estree@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "unist-util-position-from-estree": "^2.0.0" } }, "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ=="], - - "esast-util-from-js": ["esast-util-from-js@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "acorn": "^8.0.0", "esast-util-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw=="], - - "esbuild": ["esbuild@0.27.0", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.0", "@esbuild/android-arm": "0.27.0", "@esbuild/android-arm64": "0.27.0", "@esbuild/android-x64": "0.27.0", "@esbuild/darwin-arm64": "0.27.0", "@esbuild/darwin-x64": "0.27.0", "@esbuild/freebsd-arm64": "0.27.0", "@esbuild/freebsd-x64": "0.27.0", "@esbuild/linux-arm": "0.27.0", "@esbuild/linux-arm64": "0.27.0", "@esbuild/linux-ia32": "0.27.0", "@esbuild/linux-loong64": "0.27.0", "@esbuild/linux-mips64el": "0.27.0", "@esbuild/linux-ppc64": "0.27.0", "@esbuild/linux-riscv64": "0.27.0", "@esbuild/linux-s390x": "0.27.0", "@esbuild/linux-x64": "0.27.0", "@esbuild/netbsd-arm64": "0.27.0", "@esbuild/netbsd-x64": "0.27.0", "@esbuild/openbsd-arm64": "0.27.0", "@esbuild/openbsd-x64": "0.27.0", "@esbuild/openharmony-arm64": "0.27.0", "@esbuild/sunos-x64": "0.27.0", "@esbuild/win32-arm64": "0.27.0", "@esbuild/win32-ia32": "0.27.0", "@esbuild/win32-x64": "0.27.0" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA=="], - - "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], - - "escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], - - "esm": ["esm@3.2.25", "", {}, "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="], - - "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], - - "estree-util-attach-comments": ["estree-util-attach-comments@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw=="], - - "estree-util-build-jsx": ["estree-util-build-jsx@3.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-walker": "^3.0.0" } }, "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ=="], - - "estree-util-is-identifier-name": ["estree-util-is-identifier-name@3.0.0", "", {}, "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg=="], - - "estree-util-scope": ["estree-util-scope@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0" } }, "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ=="], - - "estree-util-to-js": ["estree-util-to-js@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "astring": "^1.8.0", "source-map": "^0.7.0" } }, "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg=="], - - "estree-util-value-to-estree": ["estree-util-value-to-estree@3.5.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-aMV56R27Gv3QmfmF1MY12GWkGzzeAezAX+UplqHVASfjc9wNzI/X6hC0S9oxq61WT4aQesLGslWP9tKk6ghRZQ=="], - - "estree-util-visit": ["estree-util-visit@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/unist": "^3.0.0" } }, "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww=="], - - "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], - - "ethereum-cryptography": ["ethereum-cryptography@1.2.0", "", { "dependencies": { "@noble/hashes": "1.2.0", "@noble/secp256k1": "1.7.1", "@scure/bip32": "1.1.5", "@scure/bip39": "1.1.1" } }, "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw=="], - - "ethers": ["ethers@5.8.0", "", { "dependencies": { "@ethersproject/abi": "5.8.0", "@ethersproject/abstract-provider": "5.8.0", "@ethersproject/abstract-signer": "5.8.0", "@ethersproject/address": "5.8.0", "@ethersproject/base64": "5.8.0", "@ethersproject/basex": "5.8.0", "@ethersproject/bignumber": "5.8.0", "@ethersproject/bytes": "5.8.0", "@ethersproject/constants": "5.8.0", "@ethersproject/contracts": "5.8.0", "@ethersproject/hash": "5.8.0", "@ethersproject/hdnode": "5.8.0", "@ethersproject/json-wallets": "5.8.0", "@ethersproject/keccak256": "5.8.0", "@ethersproject/logger": "5.8.0", "@ethersproject/networks": "5.8.0", "@ethersproject/pbkdf2": "5.8.0", "@ethersproject/properties": "5.8.0", "@ethersproject/providers": "5.8.0", "@ethersproject/random": "5.8.0", "@ethersproject/rlp": "5.8.0", "@ethersproject/sha2": "5.8.0", "@ethersproject/signing-key": "5.8.0", "@ethersproject/solidity": "5.8.0", "@ethersproject/strings": "5.8.0", "@ethersproject/transactions": "5.8.0", "@ethersproject/units": "5.8.0", "@ethersproject/wallet": "5.8.0", "@ethersproject/web": "5.8.0", "@ethersproject/wordlists": "5.8.0" } }, "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg=="], - - "eventemitter3": ["eventemitter3@4.0.7", "", {}, "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="], - - "execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="], - - "exsolve": ["exsolve@1.0.8", "", {}, "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA=="], - - "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], - - "extend-shallow": ["extend-shallow@2.0.1", "", { "dependencies": { "is-extendable": "^0.1.0" } }, "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug=="], - - "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], - - "fast-equals": ["fast-equals@5.3.3", "", {}, "sha512-/boTcHZeIAQ2r/tL11voclBHDeP9WPxLt+tyAbVSyyXuUFyh0Tne7gJZTqGbxnvj79TjLdCXLOY7UIPhyG5MTw=="], - - "fast-fuzzy": ["fast-fuzzy@1.12.0", "", { "dependencies": { "graphemesplit": "^2.4.1" } }, "sha512-sXxGgHS+ubYpsdLnvOvJ9w5GYYZrtL9mkosG3nfuD446ahvoWEsSKBP7ieGmWIKVLnaxRDgUJkZMdxRgA2Ni+Q=="], - - "fast-glob": ["fast-glob@3.3.3", "", { "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.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], - - "fast-uri": ["fast-uri@3.1.0", "", {}, "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA=="], - - "fast-xml-parser": ["fast-xml-parser@5.3.2", "", { "dependencies": { "strnum": "^2.1.0" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-n8v8b6p4Z1sMgqRmqLJm3awW4NX7NkaKPfb3uJIBTSH7Pdvufi3PQ3/lJLQrvxcMYl7JI2jnDO90siPEpD8JBA=="], - - "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], - - "fault": ["fault@2.0.1", "", { "dependencies": { "format": "^0.2.0" } }, "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ=="], - - "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], - - "fetch-har": ["fetch-har@11.1.1", "", { "dependencies": { "@readme/data-urls": "^3.0.0", "@types/har-format": "^1.2.13" } }, "sha512-FXmC4o6bqnMJ/ru/F1R+ik7QqYq8aWx7NZk6Xx4iQ/4jiVb4N/HUtd3BDBP8RT+UXFEndei4diHVqUd4vwsKGA=="], - - "file-selector": ["file-selector@2.1.2", "", { "dependencies": { "tslib": "^2.7.0" } }, "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig=="], - - "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], - - "find-root": ["find-root@1.1.0", "", {}, "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="], - - "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], - - "fix-dts-default-cjs-exports": ["fix-dts-default-cjs-exports@1.0.1", "", { "dependencies": { "magic-string": "^0.30.17", "mlly": "^1.7.4", "rollup": "^4.34.8" } }, "sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg=="], - - "flat": ["flat@5.0.2", "", { "bin": { "flat": "cli.js" } }, "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="], - - "follow-redirects": ["follow-redirects@1.15.11", "", {}, "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ=="], - - "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], - - "form-data": ["form-data@4.0.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="], - - "format": ["format@0.2.2", "", {}, "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww=="], - - "fp-ts": ["fp-ts@1.19.3", "", {}, "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg=="], - - "fraction.js": ["fraction.js@5.3.4", "", {}, "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ=="], - - "framer-motion": ["framer-motion@12.23.24", "", { "dependencies": { "motion-dom": "^12.23.23", "motion-utils": "^12.23.6", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-HMi5HRoRCTou+3fb3h9oTLyJGBxHfW+HnNE25tAXOvVx/IvwMHK0cx7IR4a2ZU6sh3IX1Z+4ts32PcYBOqka8w=="], - - "fs-extra": ["fs-extra@7.0.1", "", { "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" } }, "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw=="], - - "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], - - "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], - - "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], - - "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], - - "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], - - "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], - - "get-own-enumerable-property-symbols": ["get-own-enumerable-property-symbols@3.0.2", "", {}, "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g=="], - - "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], - - "get-stream": ["get-stream@8.0.1", "", {}, "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA=="], - - "get-tsconfig": ["get-tsconfig@4.13.0", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ=="], - - "github-slugger": ["github-slugger@2.0.0", "", {}, "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw=="], - - "glob": ["glob@11.1.0", "", { "dependencies": { "foreground-child": "^3.3.1", "jackspeak": "^4.1.1", "minimatch": "^10.1.1", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw=="], - - "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], - - "globals": ["globals@15.15.0", "", {}, "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg=="], - - "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], - - "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], - - "graphemesplit": ["graphemesplit@2.6.0", "", { "dependencies": { "js-base64": "^3.6.0", "unicode-trie": "^2.0.0" } }, "sha512-rG9w2wAfkpg0DILa1pjnjNfucng3usON360shisqIMUBw/87pojcBSrHmeE4UwryAuBih7g8m1oilf5/u8EWdQ=="], - - "graphql": ["graphql@16.12.0", "", {}, "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ=="], - - "graphql-request": ["graphql-request@7.3.5", "", { "dependencies": { "@graphql-typed-document-node/core": "^3.2.0" }, "peerDependencies": { "graphql": "14 - 16" } }, "sha512-yrikPPBQFrHTCEw+Nr89vcKkhSOaKk1a4i1aoK0q2pJp0TkkH+HxJXKeVDqzHSYAEoFoNqKmNuqda1tubgaGZQ=="], - - "graphql-tag": ["graphql-tag@2.12.6", "", { "dependencies": { "tslib": "^2.1.0" }, "peerDependencies": { "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" } }, "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg=="], - - "gray-matter": ["gray-matter@4.0.3", "", { "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" } }, "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q=="], - - "hachure-fill": ["hachure-fill@0.5.2", "", {}, "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg=="], - - "hardhat": ["hardhat@2.27.0", "", { "dependencies": { "@ethereumjs/util": "^9.1.0", "@ethersproject/abi": "^5.1.2", "@nomicfoundation/edr": "^0.12.0-next.7", "@nomicfoundation/solidity-analyzer": "^0.1.0", "@sentry/node": "^5.18.1", "adm-zip": "^0.4.16", "aggregate-error": "^3.0.0", "ansi-escapes": "^4.3.0", "boxen": "^5.1.2", "chokidar": "^4.0.0", "ci-info": "^2.0.0", "debug": "^4.1.1", "enquirer": "^2.3.0", "env-paths": "^2.2.0", "ethereum-cryptography": "^1.0.3", "find-up": "^5.0.0", "fp-ts": "1.19.3", "fs-extra": "^7.0.1", "immutable": "^4.0.0-rc.12", "io-ts": "1.10.4", "json-stream-stringify": "^3.1.4", "keccak": "^3.0.2", "lodash": "^4.17.11", "micro-eth-signer": "^0.14.0", "mnemonist": "^0.38.0", "mocha": "^10.0.0", "p-map": "^4.0.0", "picocolors": "^1.1.0", "raw-body": "^2.4.1", "resolve": "1.17.0", "semver": "^6.3.0", "solc": "0.8.26", "source-map-support": "^0.5.13", "stacktrace-parser": "^0.1.10", "tinyglobby": "^0.2.6", "tsort": "0.0.1", "undici": "^5.14.0", "uuid": "^8.3.2", "ws": "^7.4.6" }, "peerDependencies": { "ts-node": "*", "typescript": "*" }, "optionalPeers": ["ts-node", "typescript"], "bin": { "hardhat": "internal/cli/bootstrap.js" } }, "sha512-du7ecjx1/ueAUjvtZhVkJvWytPCjlagG3ZktYTphfzAbc1Flc6sRolw5mhKL/Loub1EIFRaflutM4bdB/YsUUw=="], - - "hardhat-watcher": ["hardhat-watcher@2.5.0", "", { "dependencies": { "chokidar": "^3.5.3" }, "peerDependencies": { "hardhat": "^2.0.0" } }, "sha512-Su2qcSMIo2YO2PrmJ0/tdkf+6pSt8zf9+4URR5edMVti6+ShI8T3xhPrwugdyTOFuyj8lKHrcTZNKUFYowYiyA=="], - - "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], - - "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], - - "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], - - "hash.js": ["hash.js@1.1.7", "", { "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" } }, "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA=="], - - "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], - - "hast": ["hast@1.0.0", "", {}, "sha512-vFUqlRV5C+xqP76Wwq2SrM0kipnmpxJm7OfvVXpB35Fp+Fn4MV+ozr+JZr5qFvyR1q/U+Foim2x+3P+x9S1PLA=="], - - "hast-util-from-dom": ["hast-util-from-dom@5.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hastscript": "^9.0.0", "web-namespaces": "^2.0.0" } }, "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q=="], - - "hast-util-from-html": ["hast-util-from-html@2.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.1.0", "hast-util-from-parse5": "^8.0.0", "parse5": "^7.0.0", "vfile": "^6.0.0", "vfile-message": "^4.0.0" } }, "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw=="], - - "hast-util-from-html-isomorphic": ["hast-util-from-html-isomorphic@2.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-dom": "^5.0.0", "hast-util-from-html": "^2.0.0", "unist-util-remove-position": "^5.0.0" } }, "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw=="], - - "hast-util-from-parse5": ["hast-util-from-parse5@8.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "hastscript": "^9.0.0", "property-information": "^7.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" } }, "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg=="], - - "hast-util-is-element": ["hast-util-is-element@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g=="], - - "hast-util-parse-selector": ["hast-util-parse-selector@4.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A=="], - - "hast-util-properties-to-mdx-jsx-attributes": ["hast-util-properties-to-mdx-jsx-attributes@1.0.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "estree-util-value-to-estree": "^3.0.0", "mdast-util-mdx-jsx": "^3.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0" } }, "sha512-ZzxhjHZ+gyxaPIFp/nuRpVL4GIFoqzfH6vNgjaA3CuUAV6XCxYwAQfRczrZRkgL6msi6DdOl+/QEduOdzszvbg=="], - - "hast-util-raw": ["hast-util-raw@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-from-parse5": "^8.0.0", "hast-util-to-parse5": "^8.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "parse5": "^7.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw=="], - - "hast-util-to-estree": ["hast-util-to-estree@3.1.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-attach-comments": "^3.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w=="], - - "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="], - - "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.6", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg=="], - - "hast-util-to-parse5": ["hast-util-to-parse5@8.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw=="], - - "hast-util-to-string": ["hast-util-to-string@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A=="], - - "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="], - - "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="], - - "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="], - - "he": ["he@1.2.0", "", { "bin": { "he": "bin/he" } }, "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="], - - "hmac-drbg": ["hmac-drbg@1.0.1", "", { "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.1" } }, "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg=="], - - "hoist-non-react-statics": ["hoist-non-react-statics@3.3.2", "", { "dependencies": { "react-is": "^16.7.0" } }, "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw=="], - - "html-encoding-sniffer": ["html-encoding-sniffer@4.0.0", "", { "dependencies": { "whatwg-encoding": "^3.1.1" } }, "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ=="], - - "html-url-attributes": ["html-url-attributes@3.0.1", "", {}, "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ=="], - - "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="], - - "http-errors": ["http-errors@2.0.1", "", { "dependencies": { "depd": "~2.0.0", "inherits": "~2.0.4", "setprototypeof": "~1.2.0", "statuses": "~2.0.2", "toidentifier": "~1.0.1" } }, "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ=="], - - "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], - - "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], - - "human-signals": ["human-signals@5.0.0", "", {}, "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ=="], - - "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], - - "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], - - "immutable": ["immutable@4.3.7", "", {}, "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw=="], - - "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], - - "indent-string": ["indent-string@4.0.0", "", {}, "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="], - - "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], - - "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], - - "inline-style-parser": ["inline-style-parser@0.2.7", "", {}, "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="], - - "internmap": ["internmap@2.0.3", "", {}, "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="], - - "intl-messageformat": ["intl-messageformat@10.7.18", "", { "dependencies": { "@formatjs/ecma402-abstract": "2.3.6", "@formatjs/fast-memoize": "2.2.7", "@formatjs/icu-messageformat-parser": "2.11.4", "tslib": "^2.8.0" } }, "sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g=="], - - "io-ts": ["io-ts@1.10.4", "", { "dependencies": { "fp-ts": "^1.0.0" } }, "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g=="], - - "is-alphabetical": ["is-alphabetical@2.0.1", "", {}, "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="], - - "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="], - - "is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], - - "is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="], - - "is-buffer": ["is-buffer@1.1.6", "", {}, "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="], - - "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], - - "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="], - - "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], - - "is-extendable": ["is-extendable@0.1.1", "", {}, "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="], - - "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], - - "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - - "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], - - "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="], - - "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], - - "is-interactive": ["is-interactive@1.0.0", "", {}, "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="], - - "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], - - "is-obj": ["is-obj@1.0.1", "", {}, "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg=="], - - "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], - - "is-potential-custom-element-name": ["is-potential-custom-element-name@1.0.1", "", {}, "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="], - - "is-regexp": ["is-regexp@1.0.0", "", {}, "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA=="], - - "is-stream": ["is-stream@3.0.0", "", {}, "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA=="], - - "is-unicode-supported": ["is-unicode-supported@0.1.0", "", {}, "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw=="], - - "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], - - "is64bit": ["is64bit@2.0.0", "", { "dependencies": { "system-architecture": "^0.1.0" } }, "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw=="], - - "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], - - "isows": ["isows@1.0.7", "", { "peerDependencies": { "ws": "*" } }, "sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg=="], - - "jackspeak": ["jackspeak@4.1.1", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" } }, "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ=="], - - "jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], - - "joycon": ["joycon@3.1.1", "", {}, "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw=="], - - "js-base64": ["js-base64@3.7.8", "", {}, "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow=="], - - "js-sha3": ["js-sha3@0.8.0", "", {}, "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q=="], - - "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], - - "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], - - "jsbi": ["jsbi@3.2.5", "", {}, "sha512-aBE4n43IPvjaddScbvWRA2YlTzKEynHzu7MqOyTipdHucf/VxS63ViCjxYRg86M8Rxwbt/GfzHl1kKERkt45fQ=="], - - "jsdom": ["jsdom@24.1.3", "", { "dependencies": { "cssstyle": "^4.0.1", "data-urls": "^5.0.0", "decimal.js": "^10.4.3", "form-data": "^4.0.0", "html-encoding-sniffer": "^4.0.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.5", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.12", "parse5": "^7.1.2", "rrweb-cssom": "^0.7.1", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^4.1.4", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.0.0", "ws": "^8.18.0", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^2.11.2" }, "optionalPeers": ["canvas"] }, "sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ=="], - - "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], - - "json-parse-even-better-errors": ["json-parse-even-better-errors@2.3.1", "", {}, "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="], - - "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - - "json-stream-stringify": ["json-stream-stringify@3.1.6", "", {}, "sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog=="], - - "jsonfile": ["jsonfile@4.0.0", "", { "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="], - - "jsonpointer": ["jsonpointer@5.0.1", "", {}, "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ=="], - - "katex": ["katex@0.16.25", "", { "dependencies": { "commander": "^8.3.0" }, "bin": { "katex": "cli.js" } }, "sha512-woHRUZ/iF23GBP1dkDQMh1QBad9dmr8/PAwNA54VrSOVYgI12MAcE14TqnDdQOdzyEonGzMepYnqBMYdsoAr8Q=="], - - "keccak": ["keccak@3.0.4", "", { "dependencies": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0", "readable-stream": "^3.6.0" } }, "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q=="], - - "khroma": ["khroma@2.1.0", "", {}, "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw=="], - - "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], - - "kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="], - - "kolorist": ["kolorist@1.8.0", "", {}, "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="], - - "langium": ["langium@3.3.1", "", { "dependencies": { "chevrotain": "~11.0.3", "chevrotain-allstar": "~0.3.0", "vscode-languageserver": "~9.0.1", "vscode-languageserver-textdocument": "~1.0.11", "vscode-uri": "~3.0.8" } }, "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w=="], - - "layout-base": ["layout-base@1.0.2", "", {}, "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg=="], - - "leven": ["leven@3.1.0", "", {}, "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A=="], - - "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], - - "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], - - "load-tsconfig": ["load-tsconfig@0.2.5", "", {}, "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg=="], - - "local-pkg": ["local-pkg@1.1.2", "", { "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.3.0", "quansync": "^0.2.11" } }, "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A=="], - - "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], - - "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], - - "lodash-es": ["lodash-es@4.17.21", "", {}, "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="], - - "log-symbols": ["log-symbols@4.1.0", "", { "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" } }, "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg=="], - - "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], - - "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], - - "lru-cache": ["lru-cache@11.2.2", "", {}, "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg=="], - - "lru_map": ["lru_map@0.3.3", "", {}, "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ=="], - - "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], - - "markdown-extensions": ["markdown-extensions@2.0.0", "", {}, "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q=="], - - "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="], - - "marked": ["marked@16.4.2", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA=="], - - "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], - - "mathjax-full": ["mathjax-full@3.2.2", "", { "dependencies": { "esm": "^3.2.25", "mhchemparser": "^4.1.0", "mj-context-menu": "^0.6.1", "speech-rule-engine": "^4.0.6" } }, "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w=="], - - "md5": ["md5@2.3.0", "", { "dependencies": { "charenc": "0.0.2", "crypt": "0.0.2", "is-buffer": "~1.1.6" } }, "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g=="], - - "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="], - - "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA=="], - - "mdast-util-frontmatter": ["mdast-util-frontmatter@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "escape-string-regexp": "^5.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-extension-frontmatter": "^2.0.0" } }, "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA=="], - - "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="], - - "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-find-and-replace": "^3.0.0", "micromark-util-character": "^2.0.0" } }, "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ=="], - - "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@2.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0" } }, "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ=="], - - "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg=="], - - "mdast-util-gfm-table": ["mdast-util-gfm-table@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg=="], - - "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="], - - "mdast-util-math": ["mdast-util-math@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "longest-streak": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.1.0", "unist-util-remove-position": "^5.0.0" } }, "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w=="], - - "mdast-util-mdx": ["mdast-util-mdx@3.0.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w=="], - - "mdast-util-mdx-expression": ["mdast-util-mdx-expression@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ=="], - - "mdast-util-mdx-jsx": ["mdast-util-mdx-jsx@3.2.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" } }, "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q=="], - - "mdast-util-mdxjs-esm": ["mdast-util-mdxjs-esm@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg=="], - - "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="], - - "mdast-util-to-hast": ["mdast-util-to-hast@13.2.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA=="], - - "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="], - - "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="], - - "memorystream": ["memorystream@0.3.1", "", {}, "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw=="], - - "merge-stream": ["merge-stream@2.0.0", "", {}, "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="], - - "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], - - "mermaid": ["mermaid@11.12.1", "", { "dependencies": { "@braintree/sanitize-url": "^7.1.1", "@iconify/utils": "^3.0.1", "@mermaid-js/parser": "^0.6.3", "@types/d3": "^7.4.3", "cytoscape": "^3.29.3", "cytoscape-cose-bilkent": "^4.1.0", "cytoscape-fcose": "^2.2.0", "d3": "^7.9.0", "d3-sankey": "^0.12.3", "dagre-d3-es": "7.0.13", "dayjs": "^1.11.18", "dompurify": "^3.2.5", "katex": "^0.16.22", "khroma": "^2.1.0", "lodash-es": "^4.17.21", "marked": "^16.2.1", "roughjs": "^4.6.6", "stylis": "^4.3.6", "ts-dedent": "^2.2.0", "uuid": "^11.1.0" } }, "sha512-UlIZrRariB11TY1RtTgUWp65tphtBv4CSq7vyS2ZZ2TgoMjs2nloq+wFqxiwcxlhHUvs7DPGgMjs2aeQxz5h9g=="], - - "mhchemparser": ["mhchemparser@4.2.1", "", {}, "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ=="], - - "micro-eth-signer": ["micro-eth-signer@0.14.0", "", { "dependencies": { "@noble/curves": "~1.8.1", "@noble/hashes": "~1.7.1", "micro-packed": "~0.7.2" } }, "sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw=="], - - "micro-packed": ["micro-packed@0.7.3", "", { "dependencies": { "@scure/base": "~1.2.5" } }, "sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg=="], - - "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="], - - "micromark-core-commonmark": ["micromark-core-commonmark@2.0.3", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-destination": "^2.0.0", "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-title": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-html-tag-name": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg=="], - - "micromark-extension-frontmatter": ["micromark-extension-frontmatter@2.0.0", "", { "dependencies": { "fault": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg=="], - - "micromark-extension-gfm": ["micromark-extension-gfm@3.0.0", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", "micromark-extension-gfm-strikethrough": "^2.0.0", "micromark-extension-gfm-table": "^2.0.0", "micromark-extension-gfm-tagfilter": "^2.0.0", "micromark-extension-gfm-task-list-item": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w=="], - - "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@2.1.0", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw=="], - - "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw=="], - - "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw=="], - - "micromark-extension-gfm-table": ["micromark-extension-gfm-table@2.1.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg=="], - - "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg=="], - - "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="], - - "micromark-extension-math": ["micromark-extension-math@3.1.0", "", { "dependencies": { "@types/katex": "^0.16.0", "devlop": "^1.0.0", "katex": "^0.16.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg=="], - - "micromark-extension-mdx-expression": ["micromark-extension-mdx-expression@3.0.1", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q=="], - - "micromark-extension-mdx-jsx": ["micromark-extension-mdx-jsx@3.0.2", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ=="], - - "micromark-extension-mdx-md": ["micromark-extension-mdx-md@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ=="], - - "micromark-extension-mdxjs": ["micromark-extension-mdxjs@3.0.0", "", { "dependencies": { "acorn": "^8.0.0", "acorn-jsx": "^5.0.0", "micromark-extension-mdx-expression": "^3.0.0", "micromark-extension-mdx-jsx": "^3.0.0", "micromark-extension-mdx-md": "^2.0.0", "micromark-extension-mdxjs-esm": "^3.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ=="], - - "micromark-extension-mdxjs-esm": ["micromark-extension-mdxjs-esm@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A=="], - - "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="], - - "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="], - - "micromark-factory-mdx-expression": ["micromark-factory-mdx-expression@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ=="], - - "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="], - - "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="], - - "micromark-factory-whitespace": ["micromark-factory-whitespace@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ=="], - - "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="], - - "micromark-util-chunked": ["micromark-util-chunked@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA=="], - - "micromark-util-classify-character": ["micromark-util-classify-character@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q=="], - - "micromark-util-combine-extensions": ["micromark-util-combine-extensions@2.0.1", "", { "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg=="], - - "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@2.0.2", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw=="], - - "micromark-util-decode-string": ["micromark-util-decode-string@2.0.1", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ=="], - - "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="], - - "micromark-util-events-to-acorn": ["micromark-util-events-to-acorn@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg=="], - - "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="], - - "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="], - - "micromark-util-resolve-all": ["micromark-util-resolve-all@2.0.1", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg=="], - - "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="], - - "micromark-util-subtokenize": ["micromark-util-subtokenize@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA=="], - - "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="], - - "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="], - - "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], - - "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - - "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - - "mimic-fn": ["mimic-fn@4.0.0", "", {}, "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw=="], - - "minimalistic-assert": ["minimalistic-assert@1.0.1", "", {}, "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="], - - "minimalistic-crypto-utils": ["minimalistic-crypto-utils@1.0.1", "", {}, "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="], - - "minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], - - "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], - - "mitt": ["mitt@3.0.1", "", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="], - - "mixpanel-browser": ["mixpanel-browser@2.72.0", "", { "dependencies": { "@mixpanel/rrweb": "2.0.0-alpha.18.2", "@mixpanel/rrweb-plugin-console-record": "2.0.0-alpha.18.2" } }, "sha512-Olc+1ebVBSVBjtR/Pp4t8Pc1wAI9AfA5e668B0MsI/gKJ43QcndzfQ/AT/TiP1Klup8O1C9vwykoWjvPqX+SRA=="], - - "mj-context-menu": ["mj-context-menu@0.6.1", "", {}, "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA=="], - - "mlly": ["mlly@1.8.0", "", { "dependencies": { "acorn": "^8.15.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", "ufo": "^1.6.1" } }, "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g=="], - - "mnemonist": ["mnemonist@0.38.5", "", { "dependencies": { "obliterator": "^2.0.0" } }, "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg=="], - - "mocha": ["mocha@10.8.2", "", { "dependencies": { "ansi-colors": "^4.1.3", "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", "debug": "^4.3.5", "diff": "^5.2.0", "escape-string-regexp": "^4.0.0", "find-up": "^5.0.0", "glob": "^8.1.0", "he": "^1.2.0", "js-yaml": "^4.1.0", "log-symbols": "^4.1.0", "minimatch": "^5.1.6", "ms": "^2.1.3", "serialize-javascript": "^6.0.2", "strip-json-comments": "^3.1.1", "supports-color": "^8.1.1", "workerpool": "^6.5.1", "yargs": "^16.2.0", "yargs-parser": "^20.2.9", "yargs-unparser": "^2.0.0" }, "bin": { "mocha": "bin/mocha.js", "_mocha": "bin/_mocha" } }, "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg=="], - - "motion": ["motion@12.23.24", "", { "dependencies": { "framer-motion": "^12.23.24", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-Rc5E7oe2YZ72N//S3QXGzbnXgqNrTESv8KKxABR20q2FLch9gHLo0JLyYo2hZ238bZ9Gx6cWhj9VO0IgwbMjCw=="], - - "motion-dom": ["motion-dom@12.23.23", "", { "dependencies": { "motion-utils": "^12.23.6" } }, "sha512-n5yolOs0TQQBRUFImrRfs/+6X4p3Q4n1dUEqt/H58Vx7OW6RF+foWEgmTVDhIWJIMXOuNNL0apKH2S16en9eiA=="], - - "motion-utils": ["motion-utils@12.23.6", "", {}, "sha512-eAWoPgr4eFEOFfg2WjIsMoqJTW6Z8MTUCgn/GZ3VRpClWBdnbjryiA3ZSNLyxCTmCQx4RmYX6jX1iWHbenUPNQ=="], - - "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - - "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="], - - "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], - - "negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], - - "next": ["next@14.2.33", "", { "dependencies": { "@next/env": "14.2.33", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", "graceful-fs": "^4.2.11", "postcss": "8.4.31", "styled-jsx": "5.1.1" }, "optionalDependencies": { "@next/swc-darwin-arm64": "14.2.33", "@next/swc-darwin-x64": "14.2.33", "@next/swc-linux-arm64-gnu": "14.2.33", "@next/swc-linux-arm64-musl": "14.2.33", "@next/swc-linux-x64-gnu": "14.2.33", "@next/swc-linux-x64-musl": "14.2.33", "@next/swc-win32-arm64-msvc": "14.2.33", "@next/swc-win32-ia32-msvc": "14.2.33", "@next/swc-win32-x64-msvc": "14.2.33" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.41.2", "react": "^18.2.0", "react-dom": "^18.2.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-GiKHLsD00t4ACm1p00VgrI0rUFAC9cRDGReKyERlM57aeEZkOQGcZTpIbsGn0b562FTPJWmYfKwplfO9EaT6ng=="], - - "next-seo": ["next-seo@6.8.0", "", { "peerDependencies": { "next": "^8.1.1-canary.54 || >=9.0.0", "react": ">=16.0.0", "react-dom": ">=16.0.0" } }, "sha512-zcxaV67PFXCSf8e6SXxbxPaOTgc8St/esxfsYXfQXMM24UESUVSXFm7f2A9HMkAwa0Gqn4s64HxYZAGfdF4Vhg=="], - - "next-sitemap": ["next-sitemap@4.2.3", "", { "dependencies": { "@corex/deepmerge": "^4.0.43", "@next/env": "^13.4.3", "fast-glob": "^3.2.12", "minimist": "^1.2.8" }, "peerDependencies": { "next": "*" }, "bin": { "next-sitemap": "bin/next-sitemap.mjs", "next-sitemap-cjs": "bin/next-sitemap.cjs" } }, "sha512-vjdCxeDuWDzldhCnyFCQipw5bfpl4HmZA7uoo3GAaYGjGgfL4Cxb1CiztPuWGmS+auYs7/8OekRS8C2cjdAsjQ=="], - - "nextra": ["nextra@3.3.1", "", { "dependencies": { "@formatjs/intl-localematcher": "^0.5.4", "@headlessui/react": "^2.1.2", "@mdx-js/mdx": "^3.0.0", "@mdx-js/react": "^3.0.0", "@napi-rs/simple-git": "^0.1.9", "@shikijs/twoslash": "^1.0.0", "@theguild/remark-mermaid": "^0.1.3", "@theguild/remark-npm2yarn": "^0.3.2", "better-react-mathjax": "^2.0.3", "clsx": "^2.0.0", "estree-util-to-js": "^2.0.0", "estree-util-value-to-estree": "^3.0.1", "github-slugger": "^2.0.0", "graceful-fs": "^4.2.11", "gray-matter": "^4.0.3", "hast-util-to-estree": "^3.1.0", "katex": "^0.16.9", "mdast-util-from-markdown": "^2.0.1", "mdast-util-gfm": "^3.0.0", "mdast-util-to-hast": "^13.2.0", "negotiator": "^1.0.0", "p-limit": "^6.0.0", "react-medium-image-zoom": "^5.2.12", "rehype-katex": "^7.0.0", "rehype-pretty-code": "0.14.0", "rehype-raw": "^7.0.0", "remark-frontmatter": "^5.0.0", "remark-gfm": "^4.0.0", "remark-math": "^6.0.0", "remark-reading-time": "^2.0.1", "remark-smartypants": "^3.0.0", "shiki": "^1.0.0", "slash": "^5.1.0", "title": "^4.0.0", "unist-util-remove": "^4.0.0", "unist-util-visit": "^5.0.0", "yaml": "^2.3.2", "zod": "^3.22.3", "zod-validation-error": "^3.0.0" }, "peerDependencies": { "next": ">=13", "react": ">=18", "react-dom": ">=18" } }, "sha512-jiwj+LfUPHHeAxJAEqFuglxnbjFgzAOnDWFsjv7iv3BWiX8OksDwd3I2Sv3j2zba00iIBDEPdNeylfzTtTLZVg=="], - - "nlcst-to-string": ["nlcst-to-string@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0" } }, "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA=="], - - "node-addon-api": ["node-addon-api@2.0.2", "", {}, "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA=="], - - "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="], - - "node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="], - - "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], - - "normalize-range": ["normalize-range@0.1.2", "", {}, "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="], - - "npm-run-path": ["npm-run-path@5.3.0", "", { "dependencies": { "path-key": "^4.0.0" } }, "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ=="], - - "npm-to-yarn": ["npm-to-yarn@3.0.1", "", {}, "sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A=="], - - "numeral": ["numeral@2.0.6", "", {}, "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA=="], - - "nwsapi": ["nwsapi@2.2.22", "", {}, "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ=="], - - "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], - - "object-hash": ["object-hash@3.0.0", "", {}, "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="], - - "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], - - "obliterator": ["obliterator@2.0.5", "", {}, "sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw=="], - - "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], - - "onetime": ["onetime@6.0.0", "", { "dependencies": { "mimic-fn": "^4.0.0" } }, "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ=="], - - "oniguruma-parser": ["oniguruma-parser@0.12.1", "", {}, "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w=="], - - "oniguruma-to-es": ["oniguruma-to-es@4.3.4", "", { "dependencies": { "oniguruma-parser": "^0.12.1", "regex": "^6.0.1", "regex-recursion": "^6.0.2" } }, "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA=="], - - "openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="], - - "ora": ["ora@5.4.1", "", { "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", "is-unicode-supported": "^0.1.0", "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" } }, "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ=="], - - "os-tmpdir": ["os-tmpdir@1.0.2", "", {}, "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g=="], - - "ox": ["ox@0.9.6", "", { "dependencies": { "@adraffy/ens-normalize": "^1.11.0", "@noble/ciphers": "^1.3.0", "@noble/curves": "1.9.1", "@noble/hashes": "^1.8.0", "@scure/bip32": "^1.7.0", "@scure/bip39": "^1.6.0", "abitype": "^1.0.9", "eventemitter3": "5.0.1" }, "peerDependencies": { "typescript": ">=5.4.0" }, "optionalPeers": ["typescript"] }, "sha512-8SuCbHPvv2eZLYXrNmC0EC12rdzXQLdhnOMlHDW2wiCPLxBrOOJwX5L5E61by+UjTPOryqQiRSnjIKCI+GykKg=="], - - "p-limit": ["p-limit@6.2.0", "", { "dependencies": { "yocto-queue": "^1.1.1" } }, "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA=="], - - "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], - - "p-map": ["p-map@4.0.0", "", { "dependencies": { "aggregate-error": "^3.0.0" } }, "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ=="], - - "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], - - "package-manager-detector": ["package-manager-detector@1.5.0", "", {}, "sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw=="], - - "pako": ["pako@2.1.0", "", {}, "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug=="], - - "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], - - "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="], - - "parse-json": ["parse-json@5.2.0", "", { "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" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], - - "parse-latin": ["parse-latin@7.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "@types/unist": "^3.0.0", "nlcst-to-string": "^4.0.0", "unist-util-modify-children": "^4.0.0", "unist-util-visit-children": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ=="], - - "parse-numeric-range": ["parse-numeric-range@1.3.0", "", {}, "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ=="], - - "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], - - "path-browserify": ["path-browserify@1.0.1", "", {}, "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="], - - "path-data-parser": ["path-data-parser@0.1.0", "", {}, "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w=="], - - "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], - - "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], - - "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], - - "path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], - - "path-type": ["path-type@4.0.0", "", {}, "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="], - - "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], - - "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - - "picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], - - "pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], - - "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="], - - "pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], - - "pluralize": ["pluralize@8.0.0", "", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="], - - "points-on-curve": ["points-on-curve@0.2.0", "", {}, "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A=="], - - "points-on-path": ["points-on-path@0.2.1", "", { "dependencies": { "path-data-parser": "0.1.0", "points-on-curve": "0.2.0" } }, "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g=="], - - "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], - - "postcss-import": ["postcss-import@15.1.0", "", { "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" }, "peerDependencies": { "postcss": "^8.0.0" } }, "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew=="], - - "postcss-js": ["postcss-js@4.1.0", "", { "dependencies": { "camelcase-css": "^2.0.1" }, "peerDependencies": { "postcss": "^8.4.21" } }, "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw=="], - - "postcss-load-config": ["postcss-load-config@6.0.1", "", { "dependencies": { "lilconfig": "^3.1.1" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["jiti", "postcss", "tsx", "yaml"] }, "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g=="], - - "postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "^6.1.1" }, "peerDependencies": { "postcss": "^8.2.14" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="], - - "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], - - "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], - - "prettier": ["prettier@2.8.8", "", { "bin": { "prettier": "bin-prettier.js" } }, "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="], - - "prism-react-renderer": ["prism-react-renderer@2.4.1", "", { "dependencies": { "@types/prismjs": "^1.26.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": ">=16.0.0" } }, "sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig=="], - - "prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="], - - "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="], - - "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="], - - "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], - - "psl": ["psl@1.15.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w=="], - - "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], - - "qs": ["qs@6.14.0", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w=="], - - "quansync": ["quansync@0.2.11", "", {}, "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA=="], - - "querystringify": ["querystringify@2.2.0", "", {}, "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="], - - "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], - - "randombytes": ["randombytes@2.1.0", "", { "dependencies": { "safe-buffer": "^5.1.0" } }, "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="], - - "raw-body": ["raw-body@2.5.3", "", { "dependencies": { "bytes": "~3.1.2", "http-errors": "~2.0.1", "iconv-lite": "~0.4.24", "unpipe": "~1.0.0" } }, "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA=="], - - "react": ["react@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ=="], - - "react-aria": ["react-aria@3.44.0", "", { "dependencies": { "@internationalized/string": "^3.2.7", "@react-aria/breadcrumbs": "^3.5.29", "@react-aria/button": "^3.14.2", "@react-aria/calendar": "^3.9.2", "@react-aria/checkbox": "^3.16.2", "@react-aria/color": "^3.1.2", "@react-aria/combobox": "^3.14.0", "@react-aria/datepicker": "^3.15.2", "@react-aria/dialog": "^3.5.31", "@react-aria/disclosure": "^3.1.0", "@react-aria/dnd": "^3.11.3", "@react-aria/focus": "^3.21.2", "@react-aria/gridlist": "^3.14.1", "@react-aria/i18n": "^3.12.13", "@react-aria/interactions": "^3.25.6", "@react-aria/label": "^3.7.22", "@react-aria/landmark": "^3.0.7", "@react-aria/link": "^3.8.6", "@react-aria/listbox": "^3.15.0", "@react-aria/menu": "^3.19.3", "@react-aria/meter": "^3.4.27", "@react-aria/numberfield": "^3.12.2", "@react-aria/overlays": "^3.30.0", "@react-aria/progress": "^3.4.27", "@react-aria/radio": "^3.12.2", "@react-aria/searchfield": "^3.8.9", "@react-aria/select": "^3.17.0", "@react-aria/selection": "^3.26.0", "@react-aria/separator": "^3.4.13", "@react-aria/slider": "^3.8.2", "@react-aria/ssr": "^3.9.10", "@react-aria/switch": "^3.7.8", "@react-aria/table": "^3.17.8", "@react-aria/tabs": "^3.10.8", "@react-aria/tag": "^3.7.2", "@react-aria/textfield": "^3.18.2", "@react-aria/toast": "^3.0.8", "@react-aria/tooltip": "^3.8.8", "@react-aria/tree": "^3.1.4", "@react-aria/utils": "^3.31.0", "@react-aria/visually-hidden": "^3.8.28", "@react-types/shared": "^3.32.1" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-2Pq3GQxBgM4/2BlpKYXeaZ47a3tdIcYSW/AYvKgypE3XipxOdQMDG5Sr/NBn7zuJq+thzmtfRb0lB9bTbsmaRw=="], - - "react-device-detect": ["react-device-detect@2.2.3", "", { "dependencies": { "ua-parser-js": "^1.0.33" }, "peerDependencies": { "react": ">= 0.14.0", "react-dom": ">= 0.14.0" } }, "sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw=="], - - "react-dom": ["react-dom@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" }, "peerDependencies": { "react": "^18.3.1" } }, "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw=="], - - "react-dropzone": ["react-dropzone@14.3.8", "", { "dependencies": { "attr-accept": "^2.2.4", "file-selector": "^2.1.0", "prop-types": "^15.8.1" }, "peerDependencies": { "react": ">= 16.8 || 18.0.0" } }, "sha512-sBgODnq+lcA4P296DY4wacOZz3JFpD99fp+hb//iBO2HHnyeZU3FwWyXJ6salNpqQdsZrgMrotuko/BdJMV8Ug=="], - - "react-ga4": ["react-ga4@2.1.0", "", {}, "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ=="], - - "react-image-crop": ["react-image-crop@11.0.10", "", { "peerDependencies": { "react": ">=16.13.1" } }, "sha512-+5FfDXUgYLLqBh1Y/uQhIycpHCbXkI50a+nbfkB1C0xXXUTwkisHDo2QCB1SQJyHCqIuia4FeyReqXuMDKWQTQ=="], - - "react-intersection-observer": ["react-intersection-observer@9.16.0", "", { "peerDependencies": { "react": "^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["react-dom"] }, "sha512-w9nJSEp+DrW9KmQmeWHQyfaP6b03v+TdXynaoA964Wxt7mdR3An11z4NNCQgL4gKSK7y1ver2Fq+JKH6CWEzUA=="], - - "react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], - - "react-keyed-flatten-children": ["react-keyed-flatten-children@5.0.1", "", { "peerDependencies": { "react": ">=18.0.0", "react-is": ">=18.0.0" } }, "sha512-bZhTocogwo+q6zz3+HAQexckXhm+Ko8CaujKO6A138kVpRtF4xN8OmLE7F1Qv9YcDJrZ8gPXkJdM/VgcKjJimg=="], - - "react-markdown": ["react-markdown@10.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "html-url-attributes": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "unified": "^11.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" }, "peerDependencies": { "@types/react": ">=18", "react": ">=18" } }, "sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ=="], - - "react-medium-image-zoom": ["react-medium-image-zoom@5.4.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-BsE+EnFVQzFIlyuuQrZ9iTwyKpKkqdFZV1ImEQN573QPqGrIUuNni7aF+sZwDcxlsuOMayCr6oO/PZR/yJnbRg=="], - - "react-remove-scroll": ["react-remove-scroll@2.7.1", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA=="], - - "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], - - "react-smooth": ["react-smooth@4.0.4", "", { "dependencies": { "fast-equals": "^5.0.1", "prop-types": "^15.8.1", "react-transition-group": "^4.4.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q=="], - - "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], - - "react-transition-group": ["react-transition-group@4.4.5", "", { "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", "loose-envify": "^1.4.0", "prop-types": "^15.6.2" }, "peerDependencies": { "react": ">=16.6.0", "react-dom": ">=16.6.0" } }, "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g=="], - - "react-virtuoso": ["react-virtuoso@4.15.0", "", { "peerDependencies": { "react": ">=16 || >=17 || >= 18 || >= 19", "react-dom": ">=16 || >=17 || >= 18 || >=19" } }, "sha512-yDVJqOXf3N1GlSoXj/hMhslA6EyUmgCUVzS9u8MpdZs/KIwdTtbQnttZ0yzx8ZKdKeVdd0NPJG4pTINHbAyhyw=="], - - "read-cache": ["read-cache@1.0.0", "", { "dependencies": { "pify": "^2.3.0" } }, "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA=="], - - "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], - - "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], - - "reading-time": ["reading-time@1.5.0", "", {}, "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg=="], - - "recharts": ["recharts@2.15.4", "", { "dependencies": { "clsx": "^2.0.0", "eventemitter3": "^4.0.1", "lodash": "^4.17.21", "react-is": "^18.3.1", "react-smooth": "^4.0.4", "recharts-scale": "^0.4.4", "tiny-invariant": "^1.3.1", "victory-vendor": "^36.6.8" }, "peerDependencies": { "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw=="], - - "recharts-scale": ["recharts-scale@0.4.5", "", { "dependencies": { "decimal.js-light": "^2.4.1" } }, "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w=="], - - "recma-build-jsx": ["recma-build-jsx@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-build-jsx": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew=="], - - "recma-jsx": ["recma-jsx@1.0.1", "", { "dependencies": { "acorn-jsx": "^5.0.0", "estree-util-to-js": "^2.0.0", "recma-parse": "^1.0.0", "recma-stringify": "^1.0.0", "unified": "^11.0.0" }, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w=="], - - "recma-parse": ["recma-parse@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "esast-util-from-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ=="], - - "recma-stringify": ["recma-stringify@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-to-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g=="], - - "regex": ["regex@6.0.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA=="], - - "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="], - - "regex-utilities": ["regex-utilities@2.3.0", "", {}, "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng=="], - - "rehype-katex": ["rehype-katex@7.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/katex": "^0.16.0", "hast-util-from-html-isomorphic": "^2.0.0", "hast-util-to-text": "^4.0.0", "katex": "^0.16.0", "unist-util-visit-parents": "^6.0.0", "vfile": "^6.0.0" } }, "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA=="], - - "rehype-mdx-code-props": ["rehype-mdx-code-props@3.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-properties-to-mdx-jsx-attributes": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0", "unified": "^11.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-BWWKn0N6r7/qd7lbLgv5J8of7imz1l1PyCNoY7BH0AOR9JdJlQIfA9cKqTZVEb2h2GPKh473qrBajF0i01fq3A=="], - - "rehype-parse": ["rehype-parse@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-html": "^2.0.0", "unified": "^11.0.0" } }, "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag=="], - - "rehype-pretty-code": ["rehype-pretty-code@0.14.0", "", { "dependencies": { "@types/hast": "^3.0.4", "hast-util-to-string": "^3.0.0", "parse-numeric-range": "^1.3.0", "rehype-parse": "^9.0.0", "unified": "^11.0.5", "unist-util-visit": "^5.0.0" }, "peerDependencies": { "shiki": "^1.3.0" } }, "sha512-hBeKF/Wkkf3zyUS8lal9RCUuhypDWLQc+h9UrP9Pav25FUm/AQAVh4m5gdvJxh4Oz+U+xKvdsV01p1LdvsZTiQ=="], - - "rehype-raw": ["rehype-raw@7.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", "vfile": "^6.0.0" } }, "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww=="], - - "rehype-recma": ["rehype-recma@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "hast-util-to-estree": "^3.0.0" } }, "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw=="], - - "remark-frontmatter": ["remark-frontmatter@5.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-frontmatter": "^2.0.0", "micromark-extension-frontmatter": "^2.0.0", "unified": "^11.0.0" } }, "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ=="], - - "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="], - - "remark-math": ["remark-math@6.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-math": "^3.0.0", "micromark-extension-math": "^3.0.0", "unified": "^11.0.0" } }, "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA=="], - - "remark-mdx": ["remark-mdx@3.1.1", "", { "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" } }, "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg=="], - - "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="], - - "remark-reading-time": ["remark-reading-time@2.0.2", "", { "dependencies": { "estree-util-is-identifier-name": "^2.0.0", "estree-util-value-to-estree": "^3.3.3", "reading-time": "^1.3.0", "unist-util-visit": "^3.1.0" } }, "sha512-ILjIuR0dQQ8pELPgaFvz7ralcSN62rD/L1pTUJgWb4gfua3ZwYEI8mnKGxEQCbrXSUF/OvycTkcUbifGOtOn5A=="], - - "remark-rehype": ["remark-rehype@11.1.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw=="], - - "remark-smartypants": ["remark-smartypants@3.0.2", "", { "dependencies": { "retext": "^9.0.0", "retext-smartypants": "^6.0.0", "unified": "^11.0.4", "unist-util-visit": "^5.0.0" } }, "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA=="], - - "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="], - - "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], - - "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], - - "requires-port": ["requires-port@1.0.0", "", {}, "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="], - - "resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="], - - "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], - - "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], - - "restore-cursor": ["restore-cursor@3.1.0", "", { "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA=="], - - "retext": ["retext@9.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "retext-latin": "^4.0.0", "retext-stringify": "^4.0.0", "unified": "^11.0.0" } }, "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA=="], - - "retext-latin": ["retext-latin@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "parse-latin": "^7.0.0", "unified": "^11.0.0" } }, "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA=="], - - "retext-smartypants": ["retext-smartypants@6.2.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ=="], - - "retext-stringify": ["retext-stringify@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unified": "^11.0.0" } }, "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA=="], - - "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], - - "robust-predicates": ["robust-predicates@3.0.2", "", {}, "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg=="], - - "rollup": ["rollup@4.53.3", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.53.3", "@rollup/rollup-android-arm64": "4.53.3", "@rollup/rollup-darwin-arm64": "4.53.3", "@rollup/rollup-darwin-x64": "4.53.3", "@rollup/rollup-freebsd-arm64": "4.53.3", "@rollup/rollup-freebsd-x64": "4.53.3", "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", "@rollup/rollup-linux-arm-musleabihf": "4.53.3", "@rollup/rollup-linux-arm64-gnu": "4.53.3", "@rollup/rollup-linux-arm64-musl": "4.53.3", "@rollup/rollup-linux-loong64-gnu": "4.53.3", "@rollup/rollup-linux-ppc64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-gnu": "4.53.3", "@rollup/rollup-linux-riscv64-musl": "4.53.3", "@rollup/rollup-linux-s390x-gnu": "4.53.3", "@rollup/rollup-linux-x64-gnu": "4.53.3", "@rollup/rollup-linux-x64-musl": "4.53.3", "@rollup/rollup-openharmony-arm64": "4.53.3", "@rollup/rollup-win32-arm64-msvc": "4.53.3", "@rollup/rollup-win32-ia32-msvc": "4.53.3", "@rollup/rollup-win32-x64-gnu": "4.53.3", "@rollup/rollup-win32-x64-msvc": "4.53.3", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA=="], - - "roughjs": ["roughjs@4.6.6", "", { "dependencies": { "hachure-fill": "^0.5.2", "path-data-parser": "^0.1.0", "points-on-curve": "^0.2.0", "points-on-path": "^0.2.1" } }, "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ=="], - - "rrweb-cssom": ["rrweb-cssom@0.7.1", "", {}, "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg=="], - - "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], - - "rw": ["rw@1.3.3", "", {}, "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="], - - "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], - - "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - - "saxes": ["saxes@6.0.0", "", { "dependencies": { "xmlchars": "^2.2.0" } }, "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA=="], - - "scheduler": ["scheduler@0.23.2", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ=="], - - "scrypt-js": ["scrypt-js@3.0.1", "", {}, "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA=="], - - "search-insights": ["search-insights@2.17.3", "", {}, "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ=="], - - "section-matter": ["section-matter@1.0.0", "", { "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" } }, "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA=="], - - "semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], - - "serialize-javascript": ["serialize-javascript@6.0.2", "", { "dependencies": { "randombytes": "^2.1.0" } }, "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g=="], - - "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], - - "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], - - "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], - - "shiki": ["shiki@3.15.0", "", { "dependencies": { "@shikijs/core": "3.15.0", "@shikijs/engine-javascript": "3.15.0", "@shikijs/engine-oniguruma": "3.15.0", "@shikijs/langs": "3.15.0", "@shikijs/themes": "3.15.0", "@shikijs/types": "3.15.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw=="], - - "side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], - - "side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], - - "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], - - "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], - - "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], - - "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="], - - "slash": ["slash@5.1.0", "", {}, "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg=="], - - "solc": ["solc@0.8.26", "", { "dependencies": { "command-exists": "^1.2.8", "commander": "^8.1.0", "follow-redirects": "^1.12.1", "js-sha3": "0.8.0", "memorystream": "^0.3.1", "semver": "^5.5.0", "tmp": "0.0.33" }, "bin": { "solcjs": "solc.js" } }, "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g=="], - - "source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], - - "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], - - "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], - - "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], - - "speech-rule-engine": ["speech-rule-engine@4.1.2", "", { "dependencies": { "@xmldom/xmldom": "0.9.8", "commander": "13.1.0", "wicked-good-xpath": "1.3.0" }, "bin": { "sre": "bin/sre" } }, "sha512-S6ji+flMEga+1QU79NDbwZ8Ivf0S/MpupQQiIC0rTpU/ZTKgcajijJJb1OcByBQDjrXCN1/DJtGz4ZJeBMPGJw=="], - - "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], - - "stack-generator": ["stack-generator@1.1.0", "", { "dependencies": { "stackframe": "^1.0.2" } }, "sha512-sZDVjwC56vZoo+a5t0LH/1sMQLWYLi/r+Z2ztyCAOhOX3QBP34GWxK0FWf2eU1TIU2CJKCKBAtDZycUh/ZKMlw=="], - - "stackframe": ["stackframe@0.3.1", "", {}, "sha512-XmoiF4T5nuWEp2x2w92WdGjdHGY/cZa6LIbRsDRQR/Xlk4uW0PAUlH1zJYVffocwKpCdwyuypIp25xsSXEtZHw=="], - - "stacktrace-gps": ["stacktrace-gps@2.4.4", "", { "dependencies": { "source-map": "0.5.6", "stackframe": "~0.3" } }, "sha512-msFhuMEEklQLUtaJ+GeCDjzUN+PamfHWQiK3C1LnbHjoxSeF5dAxiE+aJkptNMmMNOropGFJ7G3ZT7dPZHgDaQ=="], - - "stacktrace-js": ["stacktrace-js@1.3.1", "", { "dependencies": { "error-stack-parser": "^1.3.6", "stack-generator": "^1.0.7", "stacktrace-gps": "^2.4.3" } }, "sha512-b+5voFnXqg9TWdOE50soXL+WuOreYUm1Ukg9U7rzEWGL4+gcVxIcFasNBtOffVX0I1lYqVZj0PZXZvTt5e3YRQ=="], - - "stacktrace-parser": ["stacktrace-parser@0.1.11", "", { "dependencies": { "type-fest": "^0.7.1" } }, "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg=="], - - "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], - - "streamsearch": ["streamsearch@1.1.0", "", {}, "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg=="], - - "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - - "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - - "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], - - "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="], - - "stringify-object": ["stringify-object@3.3.0", "", { "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", "is-regexp": "^1.0.0" } }, "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw=="], - - "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "strip-bom-string": ["strip-bom-string@1.0.0", "", {}, "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g=="], - - "strip-final-newline": ["strip-final-newline@3.0.0", "", {}, "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="], - - "strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], - - "strnum": ["strnum@2.1.1", "", {}, "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw=="], - - "style-to-js": ["style-to-js@1.1.21", "", { "dependencies": { "style-to-object": "1.0.14" } }, "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ=="], - - "style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="], - - "styled-jsx": ["styled-jsx@5.1.1", "", { "dependencies": { "client-only": "0.0.1" }, "peerDependencies": { "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" } }, "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw=="], - - "styled-system": ["styled-system@5.1.5", "", { "dependencies": { "@styled-system/background": "^5.1.2", "@styled-system/border": "^5.1.5", "@styled-system/color": "^5.1.2", "@styled-system/core": "^5.1.2", "@styled-system/flexbox": "^5.1.2", "@styled-system/grid": "^5.1.2", "@styled-system/layout": "^5.1.2", "@styled-system/position": "^5.1.2", "@styled-system/shadow": "^5.1.2", "@styled-system/space": "^5.1.2", "@styled-system/typography": "^5.1.2", "@styled-system/variant": "^5.1.5", "object-assign": "^4.1.1" } }, "sha512-7VoD0o2R3RKzOzPK0jYrVnS8iJdfkKsQJNiLRDjikOpQVqQHns/DXWaPZOH4tIKkhAT7I6wIsy9FWTWh2X3q+A=="], - - "stylis": ["stylis@4.2.0", "", {}, "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="], - - "sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], - - "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], - - "symbol-tree": ["symbol-tree@3.2.4", "", {}, "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="], - - "system-architecture": ["system-architecture@0.1.0", "", {}, "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA=="], - - "tabbable": ["tabbable@6.3.0", "", {}, "sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ=="], - - "tailwindcss": ["tailwindcss@3.4.18", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.7", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ=="], - - "theme-ui": ["theme-ui@0.17.2", "", { "dependencies": { "@theme-ui/color-modes": "^0.17.2", "@theme-ui/components": "^0.17.2", "@theme-ui/core": "^0.17.2", "@theme-ui/css": "^0.17.2", "@theme-ui/global": "^0.17.2", "@theme-ui/theme-provider": "^0.17.2" }, "peerDependencies": { "@emotion/react": ">=11.1.1", "react": ">=18" } }, "sha512-BuyJ7lkgGzmI63YPA90WYB+X4LbJTMm+j1a/qxjdl7evhLKRZkEE4Xs3bv66g9T+fuqq2T2TMrcY0BMzpWkOtQ=="], - - "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="], - - "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="], - - "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="], - - "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], - - "tiny-warning": ["tiny-warning@1.0.3", "", {}, "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="], - - "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], - - "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], - - "title": ["title@4.0.1", "", { "dependencies": { "arg": "^5.0.0", "chalk": "^5.0.0", "clipboardy": "^4.0.0" }, "bin": { "title": "dist/esm/bin.js" } }, "sha512-xRnPkJx9nvE5MF6LkB5e8QJjE2FW8269wTu/LQdf7zZqBgPly0QJPf/CWAo7srj5so4yXfoLEdCFgurlpi47zg=="], - - "tmp": ["tmp@0.0.33", "", { "dependencies": { "os-tmpdir": "~1.0.2" } }, "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw=="], - - "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], - - "toformat": ["toformat@2.0.0", "", {}, "sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ=="], - - "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], - - "tough-cookie": ["tough-cookie@4.1.4", "", { "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.2.0", "url-parse": "^1.5.3" } }, "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag=="], - - "tr46": ["tr46@5.1.1", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw=="], - - "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="], - - "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="], - - "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="], - - "ts-dedent": ["ts-dedent@2.2.0", "", {}, "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ=="], - - "ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="], - - "ts-morph": ["ts-morph@27.0.2", "", { "dependencies": { "@ts-morph/common": "~0.28.1", "code-block-writer": "^13.0.3" } }, "sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w=="], - - "ts-pattern": ["ts-pattern@5.9.0", "", {}, "sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg=="], - - "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "tsort": ["tsort@0.0.1", "", {}, "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw=="], - - "tsup": ["tsup@8.5.1", "", { "dependencies": { "bundle-require": "^5.1.0", "cac": "^6.7.14", "chokidar": "^4.0.3", "consola": "^3.4.0", "debug": "^4.4.0", "esbuild": "^0.27.0", "fix-dts-default-cjs-exports": "^1.0.0", "joycon": "^3.1.1", "picocolors": "^1.1.1", "postcss-load-config": "^6.0.1", "resolve-from": "^5.0.0", "rollup": "^4.34.8", "source-map": "^0.7.6", "sucrase": "^3.35.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.11", "tree-kill": "^1.2.2" }, "peerDependencies": { "@microsoft/api-extractor": "^7.36.0", "@swc/core": "^1", "postcss": "^8.4.12", "typescript": ">=4.5.0" }, "optionalPeers": ["@microsoft/api-extractor", "@swc/core", "postcss", "typescript"], "bin": { "tsup": "dist/cli-default.js", "tsup-node": "dist/cli-node.js" } }, "sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing=="], - - "tsx": ["tsx@4.20.4", "", { "dependencies": { "esbuild": "~0.25.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-yyxBKfORQ7LuRt/BQKBXrpcq59ZvSW0XxwfjAt3w2/8PmdxaFzijtMhTawprSHhpzeM5BgU2hXHG3lklIERZXg=="], - - "twoslash": ["twoslash@0.2.12", "", { "dependencies": { "@typescript/vfs": "^1.6.0", "twoslash-protocol": "0.2.12" }, "peerDependencies": { "typescript": "*" } }, "sha512-tEHPASMqi7kqwfJbkk7hc/4EhlrKCSLcur+TcvYki3vhIfaRMXnXjaYFgXpoZRbT6GdprD4tGuVBEmTpUgLBsw=="], - - "twoslash-protocol": ["twoslash-protocol@0.2.12", "", {}, "sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg=="], - - "type-fest": ["type-fest@0.20.2", "", {}, "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ=="], - - "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], - - "typescript-logging": ["typescript-logging@1.0.1", "", { "dependencies": { "stacktrace-js": "1.3.1" } }, "sha512-zp28ABme0m5q/nXabBaY9Hv/35N8lMH4FsvhpUO0zVi4vFs3uKlb5br2it61HAZF5k+U0aP6E67j0VD0IzXGpQ=="], - - "typy": ["typy@3.3.0", "", {}, "sha512-Du53deMF9X9pSM3gVXDjLBq14BUfZWSGKfmmR1kTlg953RaIZehfc8fQuoAiW+SRO6bJsP+59mv1tsH8vwKghg=="], - - "ua-parser-js": ["ua-parser-js@1.0.41", "", { "bin": { "ua-parser-js": "script/cli.js" } }, "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug=="], - - "ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="], - - "undici": ["undici@5.29.0", "", { "dependencies": { "@fastify/busboy": "^2.0.0" } }, "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg=="], - - "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], - - "unicode-trie": ["unicode-trie@2.0.0", "", { "dependencies": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" } }, "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ=="], - - "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="], - - "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="], - - "unist-util-is": ["unist-util-is@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g=="], - - "unist-util-modify-children": ["unist-util-modify-children@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "array-iterate": "^2.0.0" } }, "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw=="], - - "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="], - - "unist-util-position-from-estree": ["unist-util-position-from-estree@2.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ=="], - - "unist-util-remove": ["unist-util-remove@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg=="], - - "unist-util-remove-position": ["unist-util-remove-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q=="], - - "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="], - - "unist-util-visit": ["unist-util-visit@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg=="], - - "unist-util-visit-children": ["unist-util-visit-children@3.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA=="], - - "unist-util-visit-parents": ["unist-util-visit-parents@6.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ=="], - - "universal-cookie": ["universal-cookie@7.2.2", "", { "dependencies": { "@types/cookie": "^0.6.0", "cookie": "^0.7.2" } }, "sha512-fMiOcS3TmzP2x5QV26pIH3mvhexLIT0HmPa3V7Q7knRfT9HG6kTwq02HZGLPw0sAOXrAmotElGRvTLCMbJsvxQ=="], - - "universalify": ["universalify@0.2.0", "", {}, "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg=="], - - "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], - - "update-browserslist-db": ["update-browserslist-db@1.1.4", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A=="], - - "url-parse": ["url-parse@1.5.10", "", { "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" } }, "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ=="], - - "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], - - "use-isomorphic-layout-effect": ["use-isomorphic-layout-effect@1.2.1", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA=="], - - "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], - - "use-sync-external-store": ["use-sync-external-store@1.6.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w=="], - - "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], - - "uuid": ["uuid@11.1.0", "", { "bin": { "uuid": "dist/esm/bin/uuid" } }, "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A=="], - - "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="], - - "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="], - - "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="], - - "victory-vendor": ["victory-vendor@36.9.2", "", { "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", "@types/d3-interpolate": "^3.0.1", "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^3.1.0", "@types/d3-time": "^3.0.0", "@types/d3-timer": "^3.0.0", "d3-array": "^3.1.6", "d3-ease": "^3.0.1", "d3-interpolate": "^3.0.1", "d3-scale": "^4.0.2", "d3-shape": "^3.1.0", "d3-time": "^3.0.0", "d3-timer": "^3.0.1" } }, "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ=="], - - "viem": ["viem@2.40.3", "", { "dependencies": { "@noble/curves": "1.9.1", "@noble/hashes": "1.8.0", "@scure/bip32": "1.7.0", "@scure/bip39": "1.6.0", "abitype": "1.1.0", "isows": "1.0.7", "ox": "0.9.6", "ws": "8.18.3" }, "peerDependencies": { "typescript": ">=5.0.4" }, "optionalPeers": ["typescript"] }, "sha512-feYfEpbgjRkZYQpwcgxqkWzjxHI5LSDAjcGetHHwDRuX9BRQHUdV8ohrCosCYpdEhus/RknD3/bOd4qLYVPPuA=="], - - "vscode-jsonrpc": ["vscode-jsonrpc@8.2.0", "", {}, "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA=="], - - "vscode-languageserver": ["vscode-languageserver@9.0.1", "", { "dependencies": { "vscode-languageserver-protocol": "3.17.5" }, "bin": { "installServerIntoExtension": "bin/installServerIntoExtension" } }, "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g=="], - - "vscode-languageserver-protocol": ["vscode-languageserver-protocol@3.17.5", "", { "dependencies": { "vscode-jsonrpc": "8.2.0", "vscode-languageserver-types": "3.17.5" } }, "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg=="], - - "vscode-languageserver-textdocument": ["vscode-languageserver-textdocument@1.0.12", "", {}, "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA=="], - - "vscode-languageserver-types": ["vscode-languageserver-types@3.17.5", "", {}, "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg=="], - - "vscode-uri": ["vscode-uri@3.0.8", "", {}, "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw=="], - - "w3c-xmlserializer": ["w3c-xmlserializer@5.0.0", "", { "dependencies": { "xml-name-validator": "^5.0.0" } }, "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA=="], - - "wcwidth": ["wcwidth@1.0.1", "", { "dependencies": { "defaults": "^1.0.3" } }, "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg=="], - - "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="], - - "webidl-conversions": ["webidl-conversions@7.0.0", "", {}, "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g=="], - - "whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="], - - "whatwg-mimetype": ["whatwg-mimetype@4.0.0", "", {}, "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="], - - "whatwg-url": ["whatwg-url@14.2.0", "", { "dependencies": { "tr46": "^5.1.0", "webidl-conversions": "^7.0.0" } }, "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw=="], - - "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], - - "wicked-good-xpath": ["wicked-good-xpath@1.3.0", "", {}, "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw=="], - - "widest-line": ["widest-line@3.1.0", "", { "dependencies": { "string-width": "^4.0.0" } }, "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg=="], - - "workerpool": ["workerpool@6.5.1", "", {}, "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA=="], - - "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - - "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - - "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], - - "ws": ["ws@8.18.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw=="], - - "xml-name-validator": ["xml-name-validator@5.0.0", "", {}, "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg=="], - - "xmlchars": ["xmlchars@2.2.0", "", {}, "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="], - - "xstate": ["xstate@4.38.3", "", {}, "sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw=="], - - "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], - - "yaml": ["yaml@2.8.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="], - - "yargs": ["yargs@16.2.0", "", { "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" } }, "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw=="], - - "yargs-parser": ["yargs-parser@20.2.9", "", {}, "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w=="], - - "yargs-unparser": ["yargs-unparser@2.0.0", "", { "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", "flat": "^5.0.2", "is-plain-obj": "^2.1.0" } }, "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA=="], - - "yocto-queue": ["yocto-queue@1.2.2", "", {}, "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ=="], - - "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], - - "zod-validation-error": ["zod-validation-error@3.5.4", "", { "peerDependencies": { "zod": "^3.24.4" } }, "sha512-+hEiRIiPobgyuFlEojnqjJnhFvg4r/i3cqgcm67eehZf/WBaK3g6cD02YU9mtdVxZjv8CzCA9n/Rhrs3yAAvAw=="], - - "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], - - "@antfu/install-pkg/tinyexec": ["tinyexec@1.0.2", "", {}, "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg=="], - - "@asamuzakjp/css-color/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - - "@edgeandnode/common/@pinax/graph-networks-registry": ["@pinax/graph-networks-registry@0.6.7", "", {}, "sha512-xogeCEZ50XRMxpBwE3TZjJ8RCO8Guv39gDRrrKtlpDEDEMLm0MzD3A0SQObgj7aF7qTZNRTWzsuvQdxgzw25wQ=="], - - "@edgeandnode/ens/zod": ["zod@4.1.13", "", {}, "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig=="], - - "@emotion/babel-plugin/escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - - "@emotion/babel-plugin/source-map": ["source-map@0.5.7", "", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], - - "@emotion/is-prop-valid/@emotion/memoize": ["@emotion/memoize@0.7.4", "", {}, "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="], - - "@ensdomains/address-encoder/@noble/curves": ["@noble/curves@1.8.2", "", { "dependencies": { "@noble/hashes": "1.7.2" } }, "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g=="], - - "@ensdomains/address-encoder/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="], - - "@ensdomains/content-hash/@ensdomains/address-encoder": ["@ensdomains/address-encoder@1.0.0-rc.3", "", { "dependencies": { "@noble/curves": "^1.2.0", "@noble/hashes": "^1.3.2", "@scure/base": "^1.1.5" } }, "sha512-8o6zH69rObIqDY4PusEWuN9jvVOct+9jj9AOPO7ifc3ev8nmsly0e8TE1sHkhk0iKFbd3DlSsUnJ+yuRWmdLCQ=="], - - "@ensdomains/content-hash/@noble/curves": ["@noble/curves@1.8.2", "", { "dependencies": { "@noble/hashes": "1.7.2" } }, "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g=="], - - "@ensdomains/dnsprovejs/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="], - - "@ensdomains/ensjs/abitype": ["abitype@1.2.0", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-fD3ROjckUrWsybaSor2AdWxzA0e/DSyV2dA4aYd7bd8orHsoJjl09fOgKfUkTDfk0BsDGBf4NBgu/c7JoS2Npw=="], - - "@ensdomains/ensjs/graphql-request": ["graphql-request@7.1.2", "", { "dependencies": { "@graphql-typed-document-node/core": "^3.2.0" }, "peerDependencies": { "graphql": "14 - 16" } }, "sha512-+XE3iuC55C2di5ZUrB4pjgwe+nIQBuXVIK9J98wrVwojzDW3GMdSBZfxUk8l4j9TieIpjpggclxhNEU9ebGF8w=="], - - "@ethereumjs/util/ethereum-cryptography": ["ethereum-cryptography@2.2.1", "", { "dependencies": { "@noble/curves": "1.4.2", "@noble/hashes": "1.4.0", "@scure/bip32": "1.4.0", "@scure/bip39": "1.3.0" } }, "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg=="], - - "@ethersproject/abi/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], - - "@ethersproject/address/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], - - "@ethersproject/hash/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], - - "@ethersproject/json-wallets/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], - - "@ethersproject/solidity/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], - - "@ethersproject/transactions/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], - - "@ethersproject/wallet/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], - - "@figma/code-connect/commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], - - "@figma/code-connect/zod": ["zod@3.25.58", "", {}, "sha512-DVLmMQzSZwNYzQoMaM3MQWnxr2eq+AtM9Hx3w1/Yl0pH8sLTSjN4jGP7w6f7uand6Hw44tsnSu1hz1AOA6qI2Q=="], - - "@formatjs/ecma402-abstract/@formatjs/intl-localematcher": ["@formatjs/intl-localematcher@0.6.2", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA=="], - - "@headlessui/react/@floating-ui/react": ["@floating-ui/react@0.26.28", "", { "dependencies": { "@floating-ui/react-dom": "^2.1.2", "@floating-ui/utils": "^0.2.8", "tabbable": "^6.0.0" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw=="], - - "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], - - "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], - - "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], - - "@radix-ui/react-alert-dialog/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], - - "@radix-ui/react-collection/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], - - "@radix-ui/react-dialog/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], - - "@radix-ui/react-dialog/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], - - "@radix-ui/react-label/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.4", "", { "dependencies": { "@radix-ui/react-slot": "1.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg=="], - - "@radix-ui/react-menu/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], - - "@radix-ui/react-menu/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], - - "@radix-ui/react-popover/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], - - "@radix-ui/react-popover/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], - - "@radix-ui/react-portal/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.4", "", { "dependencies": { "@radix-ui/react-slot": "1.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg=="], - - "@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], - - "@radix-ui/react-toast/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], - - "@radix-ui/react-tooltip/@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], - - "@radix-ui/react-tooltip/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], - - "@sentry/core/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], - - "@sentry/hub/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], - - "@sentry/minimal/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], - - "@sentry/node/cookie": ["cookie@0.4.2", "", {}, "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="], - - "@sentry/node/https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="], - - "@sentry/node/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], - - "@sentry/tracing/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], - - "@sentry/utils/tslib": ["tslib@1.14.1", "", {}, "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="], - - "@shikijs/twoslash/@shikijs/core": ["@shikijs/core@1.29.2", "", { "dependencies": { "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ=="], - - "@shikijs/twoslash/@shikijs/types": ["@shikijs/types@1.29.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw=="], - - "@styled-system/should-forward-prop/@emotion/memoize": ["@emotion/memoize@0.7.5", "", {}, "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ=="], - - "@ts-morph/common/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], - - "@uniswap/sdk-core/@ethersproject/strings": ["@ethersproject/strings@5.7.0", "", { "dependencies": { "@ethersproject/bytes": "^5.7.0", "@ethersproject/constants": "^5.7.0", "@ethersproject/logger": "^5.7.0" } }, "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg=="], - - "@uniswap/swap-router-contracts/dotenv": ["dotenv@14.3.2", "", {}, "sha512-vwEppIphpFdvaMCaHfCEv9IgwcxMljMw2TnAQBB4VWPvzXQLTb82jwmdOKzlEVUL3gNFT4l4TPKO+Bn+sqcrVQ=="], - - "@uniswap/v3-staker/@openzeppelin/contracts": ["@openzeppelin/contracts@3.4.1-solc-0.7-2", "", {}, "sha512-tAG9LWg8+M2CMu7hIsqHPaTyG4uDzjr6mhvH96LvOpLZZj6tgzTluBt+LsCf1/QaYrlis6pITvpIaIhE+iZB+Q=="], - - "@uniswap/v3-staker/@uniswap/v3-core": ["@uniswap/v3-core@1.0.0", "", {}, "sha512-kSC4djMGKMHj7sLMYVnn61k9nu+lHjMIxgg9CDQT+s2QYLoA56GbSK9Oxr+qJXzzygbkrmuY6cwgP6cW2JXPFA=="], - - "ansi-escapes/type-fest": ["type-fest@0.21.3", "", {}, "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="], - - "ansi-styles/color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "cosmiconfig/yaml": ["yaml@1.10.2", "", {}, "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="], - - "cssstyle/rrweb-cssom": ["rrweb-cssom@0.8.0", "", {}, "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw=="], - - "cytoscape-fcose/cose-base": ["cose-base@2.2.0", "", { "dependencies": { "layout-base": "^2.0.0" } }, "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g=="], - - "d3-dsv/commander": ["commander@7.2.0", "", {}, "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="], - - "d3-sankey/d3-array": ["d3-array@2.12.1", "", { "dependencies": { "internmap": "^1.0.0" } }, "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ=="], - - "d3-sankey/d3-shape": ["d3-shape@1.3.7", "", { "dependencies": { "d3-path": "1" } }, "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw=="], - - "elliptic/bn.js": ["bn.js@4.12.2", "", {}, "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw=="], - - "ethereum-cryptography/@noble/hashes": ["@noble/hashes@1.2.0", "", {}, "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ=="], - - "ethereum-cryptography/@scure/bip32": ["@scure/bip32@1.1.5", "", { "dependencies": { "@noble/hashes": "~1.2.0", "@noble/secp256k1": "~1.7.0", "@scure/base": "~1.1.0" } }, "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw=="], - - "ethereum-cryptography/@scure/bip39": ["@scure/bip39@1.1.1", "", { "dependencies": { "@noble/hashes": "~1.2.0", "@scure/base": "~1.1.0" } }, "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg=="], - - "ethers/@ethersproject/keccak256": ["@ethersproject/keccak256@5.8.0", "", { "dependencies": { "@ethersproject/bytes": "^5.8.0", "js-sha3": "0.8.0" } }, "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng=="], - - "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "fs-extra/universalify": ["universalify@0.1.2", "", {}, "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="], - - "glob/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], - - "gray-matter/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], - - "hardhat/boxen": ["boxen@5.1.2", "", { "dependencies": { "ansi-align": "^3.0.0", "camelcase": "^6.2.0", "chalk": "^4.1.0", "cli-boxes": "^2.2.1", "string-width": "^4.2.2", "type-fest": "^0.20.2", "widest-line": "^3.1.0", "wrap-ansi": "^7.0.0" } }, "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ=="], - - "hardhat/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], - - "hardhat/resolve": ["resolve@1.17.0", "", { "dependencies": { "path-parse": "^1.0.6" } }, "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w=="], - - "hardhat/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], - - "hardhat/ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - - "hast-util-to-parse5/property-information": ["property-information@6.5.0", "", {}, "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig=="], - - "hoist-non-react-statics/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], - - "import-fresh/resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], - - "katex/commander": ["commander@8.3.0", "", {}, "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="], - - "local-pkg/pkg-types": ["pkg-types@2.3.0", "", { "dependencies": { "confbox": "^0.2.2", "exsolve": "^1.0.7", "pathe": "^2.0.3" } }, "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig=="], - - "mermaid/stylis": ["stylis@4.3.6", "", {}, "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ=="], - - "micro-eth-signer/@noble/curves": ["@noble/curves@1.8.2", "", { "dependencies": { "@noble/hashes": "1.7.2" } }, "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g=="], - - "micro-eth-signer/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="], - - "mocha/escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - - "mocha/glob": ["glob@8.1.0", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", "once": "^1.3.0" } }, "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ=="], - - "mocha/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], - - "mocha/supports-color": ["supports-color@8.1.1", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="], - - "next/postcss": ["postcss@8.4.31", "", { "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="], - - "next-sitemap/@next/env": ["@next/env@13.5.11", "", {}, "sha512-fbb2C7HChgM7CemdCY+y3N1n8pcTKdqtQLbC7/EQtPdLvlMUT9JX/dBYl8MMZAtYG4uVMyPFHXckb68q/NRwqg=="], - - "nextra/shiki": ["shiki@1.29.2", "", { "dependencies": { "@shikijs/core": "1.29.2", "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/langs": "1.29.2", "@shikijs/themes": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg=="], - - "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], - - "ox/@adraffy/ens-normalize": ["@adraffy/ens-normalize@1.11.1", "", {}, "sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ=="], - - "ox/abitype": ["abitype@1.2.0", "", { "peerDependencies": { "typescript": ">=5.0.4", "zod": "^3.22.0 || ^4.0.0" }, "optionalPeers": ["typescript", "zod"] }, "sha512-fD3ROjckUrWsybaSor2AdWxzA0e/DSyV2dA4aYd7bd8orHsoJjl09fOgKfUkTDfk0BsDGBf4NBgu/c7JoS2Npw=="], - - "ox/eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="], - - "p-locate/p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], - - "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], - - "prop-types/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], - - "raw-body/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], - - "rehype-pretty-code/shiki": ["shiki@1.29.2", "", { "dependencies": { "@shikijs/core": "1.29.2", "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/langs": "1.29.2", "@shikijs/themes": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg=="], - - "remark-reading-time/estree-util-is-identifier-name": ["estree-util-is-identifier-name@2.1.0", "", {}, "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ=="], - - "remark-reading-time/unist-util-visit": ["unist-util-visit@3.1.0", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0", "unist-util-visit-parents": "^4.0.0" } }, "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA=="], - - "restore-cursor/onetime": ["onetime@5.1.2", "", { "dependencies": { "mimic-fn": "^2.1.0" } }, "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="], - - "restore-cursor/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - - "solc/commander": ["commander@8.3.0", "", {}, "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="], - - "solc/semver": ["semver@5.7.2", "", { "bin": { "semver": "bin/semver" } }, "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="], - - "source-map-support/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], - - "speech-rule-engine/commander": ["commander@13.1.0", "", {}, "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw=="], - - "stack-generator/stackframe": ["stackframe@1.3.4", "", {}, "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw=="], - - "stacktrace-gps/source-map": ["source-map@0.5.6", "", {}, "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA=="], - - "stacktrace-parser/type-fest": ["type-fest@0.7.1", "", {}, "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg=="], - - "tinyglobby/picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], - - "title/chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], - - "tsup/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], - - "tsx/esbuild": ["esbuild@0.25.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.12", "@esbuild/android-arm": "0.25.12", "@esbuild/android-arm64": "0.25.12", "@esbuild/android-x64": "0.25.12", "@esbuild/darwin-arm64": "0.25.12", "@esbuild/darwin-x64": "0.25.12", "@esbuild/freebsd-arm64": "0.25.12", "@esbuild/freebsd-x64": "0.25.12", "@esbuild/linux-arm": "0.25.12", "@esbuild/linux-arm64": "0.25.12", "@esbuild/linux-ia32": "0.25.12", "@esbuild/linux-loong64": "0.25.12", "@esbuild/linux-mips64el": "0.25.12", "@esbuild/linux-ppc64": "0.25.12", "@esbuild/linux-riscv64": "0.25.12", "@esbuild/linux-s390x": "0.25.12", "@esbuild/linux-x64": "0.25.12", "@esbuild/netbsd-arm64": "0.25.12", "@esbuild/netbsd-x64": "0.25.12", "@esbuild/openbsd-arm64": "0.25.12", "@esbuild/openbsd-x64": "0.25.12", "@esbuild/openharmony-arm64": "0.25.12", "@esbuild/sunos-x64": "0.25.12", "@esbuild/win32-arm64": "0.25.12", "@esbuild/win32-ia32": "0.25.12", "@esbuild/win32-x64": "0.25.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg=="], - - "unicode-trie/pako": ["pako@0.2.9", "", {}, "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="], - - "viem/ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="], - - "yargs-unparser/is-plain-obj": ["is-plain-obj@2.1.0", "", {}, "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="], - - "@ensdomains/content-hash/@ensdomains/address-encoder/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="], - - "@ensdomains/content-hash/@noble/curves/@noble/hashes": ["@noble/hashes@1.7.2", "", {}, "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ=="], - - "@ethereumjs/util/ethereum-cryptography/@noble/curves": ["@noble/curves@1.4.2", "", { "dependencies": { "@noble/hashes": "1.4.0" } }, "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw=="], - - "@ethereumjs/util/ethereum-cryptography/@noble/hashes": ["@noble/hashes@1.4.0", "", {}, "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg=="], - - "@ethereumjs/util/ethereum-cryptography/@scure/bip32": ["@scure/bip32@1.4.0", "", { "dependencies": { "@noble/curves": "~1.4.0", "@noble/hashes": "~1.4.0", "@scure/base": "~1.1.6" } }, "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg=="], - - "@ethereumjs/util/ethereum-cryptography/@scure/bip39": ["@scure/bip39@1.3.0", "", { "dependencies": { "@noble/hashes": "~1.4.0", "@scure/base": "~1.1.6" } }, "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ=="], - - "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], - - "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], - - "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], - - "@sentry/node/https-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="], - - "@shikijs/twoslash/@shikijs/core/@shikijs/engine-javascript": ["@shikijs/engine-javascript@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "oniguruma-to-es": "^2.2.0" } }, "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A=="], - - "@shikijs/twoslash/@shikijs/core/@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1" } }, "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA=="], - - "ansi-styles/color-convert/color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "cytoscape-fcose/cose-base/layout-base": ["layout-base@2.0.1", "", {}, "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg=="], - - "d3-sankey/d3-array/internmap": ["internmap@1.0.1", "", {}, "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw=="], - - "d3-sankey/d3-shape/d3-path": ["d3-path@1.0.9", "", {}, "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="], - - "ethereum-cryptography/@scure/bip32/@scure/base": ["@scure/base@1.1.9", "", {}, "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg=="], - - "ethereum-cryptography/@scure/bip39/@scure/base": ["@scure/base@1.1.9", "", {}, "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg=="], - - "gray-matter/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], - - "hardhat/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - - "local-pkg/pkg-types/confbox": ["confbox@0.2.2", "", {}, "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ=="], - - "nextra/shiki/@shikijs/core": ["@shikijs/core@1.29.2", "", { "dependencies": { "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ=="], - - "nextra/shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "oniguruma-to-es": "^2.2.0" } }, "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A=="], - - "nextra/shiki/@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1" } }, "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA=="], - - "nextra/shiki/@shikijs/langs": ["@shikijs/langs@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2" } }, "sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ=="], - - "nextra/shiki/@shikijs/themes": ["@shikijs/themes@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2" } }, "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g=="], - - "nextra/shiki/@shikijs/types": ["@shikijs/types@1.29.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw=="], - - "p-locate/p-limit/yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], - - "rehype-pretty-code/shiki/@shikijs/core": ["@shikijs/core@1.29.2", "", { "dependencies": { "@shikijs/engine-javascript": "1.29.2", "@shikijs/engine-oniguruma": "1.29.2", "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ=="], - - "rehype-pretty-code/shiki/@shikijs/engine-javascript": ["@shikijs/engine-javascript@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1", "oniguruma-to-es": "^2.2.0" } }, "sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A=="], - - "rehype-pretty-code/shiki/@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2", "@shikijs/vscode-textmate": "^10.0.1" } }, "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA=="], - - "rehype-pretty-code/shiki/@shikijs/langs": ["@shikijs/langs@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2" } }, "sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ=="], - - "rehype-pretty-code/shiki/@shikijs/themes": ["@shikijs/themes@1.29.2", "", { "dependencies": { "@shikijs/types": "1.29.2" } }, "sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g=="], - - "rehype-pretty-code/shiki/@shikijs/types": ["@shikijs/types@1.29.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.1", "@types/hast": "^3.0.4" } }, "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw=="], - - "remark-reading-time/unist-util-visit/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], - - "remark-reading-time/unist-util-visit/unist-util-is": ["unist-util-is@5.2.1", "", { "dependencies": { "@types/unist": "^2.0.0" } }, "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw=="], - - "remark-reading-time/unist-util-visit/unist-util-visit-parents": ["unist-util-visit-parents@4.1.1", "", { "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^5.0.0" } }, "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw=="], - - "restore-cursor/onetime/mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="], - - "tsup/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - - "tsx/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA=="], - - "tsx/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.12", "", { "os": "android", "cpu": "arm" }, "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg=="], - - "tsx/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.12", "", { "os": "android", "cpu": "arm64" }, "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg=="], - - "tsx/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.25.12", "", { "os": "android", "cpu": "x64" }, "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg=="], - - "tsx/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg=="], - - "tsx/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA=="], - - "tsx/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg=="], - - "tsx/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ=="], - - "tsx/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.12", "", { "os": "linux", "cpu": "arm" }, "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw=="], - - "tsx/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ=="], - - "tsx/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA=="], - - "tsx/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng=="], - - "tsx/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw=="], - - "tsx/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA=="], - - "tsx/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.12", "", { "os": "linux", "cpu": "none" }, "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w=="], - - "tsx/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg=="], - - "tsx/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.12", "", { "os": "linux", "cpu": "x64" }, "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw=="], - - "tsx/esbuild/@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg=="], - - "tsx/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.12", "", { "os": "none", "cpu": "x64" }, "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ=="], - - "tsx/esbuild/@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.12", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A=="], - - "tsx/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw=="], - - "tsx/esbuild/@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.12", "", { "os": "none", "cpu": "arm64" }, "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg=="], - - "tsx/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w=="], - - "tsx/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg=="], - - "tsx/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ=="], - - "tsx/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.12", "", { "os": "win32", "cpu": "x64" }, "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA=="], - - "@ethereumjs/util/ethereum-cryptography/@scure/bip32/@scure/base": ["@scure/base@1.1.9", "", {}, "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg=="], - - "@ethereumjs/util/ethereum-cryptography/@scure/bip39/@scure/base": ["@scure/base@1.1.9", "", {}, "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg=="], - - "@shikijs/twoslash/@shikijs/core/@shikijs/engine-javascript/oniguruma-to-es": ["oniguruma-to-es@2.3.0", "", { "dependencies": { "emoji-regex-xs": "^1.0.0", "regex": "^5.1.1", "regex-recursion": "^5.1.1" } }, "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g=="], - - "nextra/shiki/@shikijs/engine-javascript/oniguruma-to-es": ["oniguruma-to-es@2.3.0", "", { "dependencies": { "emoji-regex-xs": "^1.0.0", "regex": "^5.1.1", "regex-recursion": "^5.1.1" } }, "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g=="], - - "rehype-pretty-code/shiki/@shikijs/engine-javascript/oniguruma-to-es": ["oniguruma-to-es@2.3.0", "", { "dependencies": { "emoji-regex-xs": "^1.0.0", "regex": "^5.1.1", "regex-recursion": "^5.1.1" } }, "sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g=="], - - "@shikijs/twoslash/@shikijs/core/@shikijs/engine-javascript/oniguruma-to-es/regex": ["regex@5.1.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw=="], - - "@shikijs/twoslash/@shikijs/core/@shikijs/engine-javascript/oniguruma-to-es/regex-recursion": ["regex-recursion@5.1.1", "", { "dependencies": { "regex": "^5.1.1", "regex-utilities": "^2.3.0" } }, "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w=="], - - "nextra/shiki/@shikijs/engine-javascript/oniguruma-to-es/regex": ["regex@5.1.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw=="], - - "nextra/shiki/@shikijs/engine-javascript/oniguruma-to-es/regex-recursion": ["regex-recursion@5.1.1", "", { "dependencies": { "regex": "^5.1.1", "regex-utilities": "^2.3.0" } }, "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w=="], - - "rehype-pretty-code/shiki/@shikijs/engine-javascript/oniguruma-to-es/regex": ["regex@5.1.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw=="], - - "rehype-pretty-code/shiki/@shikijs/engine-javascript/oniguruma-to-es/regex-recursion": ["regex-recursion@5.1.1", "", { "dependencies": { "regex": "^5.1.1", "regex-utilities": "^2.3.0" } }, "sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w=="], - } -} From 42bcd8cf23cec435f1678f6e66c3767474bc8095 Mon Sep 17 00:00:00 2001 From: nsjames Date: Thu, 27 Nov 2025 09:45:47 -0500 Subject: [PATCH 3/8] reorder sidebar to highlight most popular routes --- website/src/pages/en/token-api/evm-dexs/_meta.js | 2 +- website/src/pages/en/token-api/evm-tokens/_meta.js | 4 ++-- website/src/pages/en/token-api/svm-dexs/_meta.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/src/pages/en/token-api/evm-dexs/_meta.js b/website/src/pages/en/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/en/token-api/evm-dexs/_meta.js +++ b/website/src/pages/en/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/en/token-api/evm-tokens/_meta.js b/website/src/pages/en/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/en/token-api/evm-tokens/_meta.js +++ b/website/src/pages/en/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/en/token-api/svm-dexs/_meta.js b/website/src/pages/en/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/en/token-api/svm-dexs/_meta.js +++ b/website/src/pages/en/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } From ab0026102592194b91945fa32dbc0555be272a0d Mon Sep 17 00:00:00 2001 From: nsjames Date: Wed, 3 Dec 2025 09:44:51 -0500 Subject: [PATCH 4/8] realign translations to english --- website/src/pages/ar/token-api/_meta.js | 2 +- .../src/pages/ar/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-support.msx | 0 .../{endpoint-pricing.mdx => pricing.mdx} | 22 ++++- .../pages/ar/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/ar/token-api/evm-dexs/_meta.js | 2 +- .../pages/ar/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/ar/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/cs/token-api/_meta.js | 2 +- .../src/pages/cs/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-support.msx | 0 .../token-api/endpoints/pricing.mdx} | 22 ++++- .../pages/cs/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/cs/token-api/evm-dexs/_meta.js | 2 +- .../pages/cs/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/cs/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/de/token-api/_meta.js | 2 +- .../src/pages/de/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-support.msx | 0 .../token-api/endpoints/pricing.mdx} | 22 ++++- .../pages/de/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/de/token-api/evm-dexs/_meta.js | 2 +- .../pages/de/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/de/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/es/token-api/_meta.js | 2 +- .../src/pages/es/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-support.msx | 0 .../{endpoint-pricing.mdx => pricing.mdx} | 22 ++++- .../pages/es/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/es/token-api/evm-dexs/_meta.js | 2 +- .../pages/es/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/es/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/fr/token-api/_meta.js | 2 +- .../src/pages/fr/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/fr/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/fr/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/fr/token-api/evm-dexs/_meta.js | 2 +- .../pages/fr/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/fr/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/hi/token-api/_meta.js | 2 +- .../src/pages/hi/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/hi/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/hi/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/hi/token-api/evm-dexs/_meta.js | 2 +- .../pages/hi/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/hi/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/it/token-api/_meta.js | 2 +- .../src/pages/it/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/it/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/it/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/it/token-api/evm-dexs/_meta.js | 2 +- .../pages/it/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/it/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/ja/token-api/_meta.js | 2 +- .../src/pages/ja/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/ja/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/ja/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/ja/token-api/evm-dexs/_meta.js | 2 +- .../pages/ja/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/ja/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/ko/token-api/_meta.js | 2 +- .../src/pages/ko/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/ko/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/ko/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/ko/token-api/evm-dexs/_meta.js | 2 +- .../pages/ko/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/ko/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/mr/token-api/_meta.js | 2 +- .../src/pages/mr/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/mr/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/mr/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/mr/token-api/evm-dexs/_meta.js | 2 +- .../pages/mr/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/mr/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/nl/token-api/_meta.js | 2 +- .../src/pages/nl/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/nl/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/nl/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/nl/token-api/evm-dexs/_meta.js | 2 +- .../pages/nl/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/nl/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/pl/token-api/_meta.js | 2 +- .../src/pages/pl/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/pl/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/pl/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/pl/token-api/evm-dexs/_meta.js | 2 +- .../pages/pl/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/pl/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/pt/token-api/_meta.js | 2 +- .../src/pages/pt/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/pt/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/pt/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/pt/token-api/evm-dexs/_meta.js | 2 +- .../pages/pt/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/pt/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/ro/token-api/_meta.js | 2 +- .../src/pages/ro/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/ro/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/ro/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/ro/token-api/evm-dexs/_meta.js | 2 +- .../pages/ro/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/ro/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/ru/token-api/_meta.js | 2 +- .../src/pages/ru/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/ru/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/ru/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/ru/token-api/evm-dexs/_meta.js | 2 +- .../pages/ru/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/ru/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/sv/token-api/_meta.js | 2 +- .../src/pages/sv/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/sv/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/sv/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/sv/token-api/evm-dexs/_meta.js | 2 +- .../pages/sv/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/sv/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/tr/token-api/_meta.js | 2 +- .../src/pages/tr/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/tr/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/tr/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/tr/token-api/evm-dexs/_meta.js | 2 +- .../pages/tr/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/tr/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/uk/token-api/_meta.js | 2 +- .../src/pages/uk/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/uk/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/uk/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/uk/token-api/evm-dexs/_meta.js | 2 +- .../pages/uk/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/uk/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/ur/token-api/_meta.js | 2 +- .../src/pages/ur/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/ur/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/ur/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/ur/token-api/evm-dexs/_meta.js | 2 +- .../pages/ur/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/ur/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/vi/token-api/_meta.js | 2 +- .../src/pages/vi/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/vi/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/vi/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/vi/token-api/evm-dexs/_meta.js | 2 +- .../pages/vi/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/vi/token-api/svm-dexs/_meta.js | 2 +- website/src/pages/zh/token-api/_meta.js | 2 +- .../src/pages/zh/token-api/endpoints/_meta.js | 4 +- .../token-api/endpoints/endpoint-pricing.mdx | 77 --------------- .../token-api/endpoints/endpoint-support.msx | 0 .../pages/zh/token-api/endpoints/pricing.mdx | 95 +++++++++++++++++++ .../pages/zh/token-api/endpoints/support.mdx | 24 +++++ .../src/pages/zh/token-api/evm-dexs/_meta.js | 2 +- .../pages/zh/token-api/evm-tokens/_meta.js | 4 +- .../src/pages/zh/token-api/svm-dexs/_meta.js | 2 +- 185 files changed, 2346 insertions(+), 1464 deletions(-) delete mode 100644 website/src/pages/ar/token-api/endpoints/endpoint-support.msx rename website/src/pages/ar/token-api/endpoints/{endpoint-pricing.mdx => pricing.mdx} (59%) create mode 100644 website/src/pages/ar/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/cs/token-api/endpoints/endpoint-support.msx rename website/src/pages/{de/token-api/endpoints/endpoint-pricing.mdx => cs/token-api/endpoints/pricing.mdx} (59%) create mode 100644 website/src/pages/cs/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/de/token-api/endpoints/endpoint-support.msx rename website/src/pages/{cs/token-api/endpoints/endpoint-pricing.mdx => de/token-api/endpoints/pricing.mdx} (59%) create mode 100644 website/src/pages/de/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/es/token-api/endpoints/endpoint-support.msx rename website/src/pages/es/token-api/endpoints/{endpoint-pricing.mdx => pricing.mdx} (59%) create mode 100644 website/src/pages/es/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/fr/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/fr/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/fr/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/fr/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/hi/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/hi/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/hi/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/hi/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/it/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/it/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/it/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/it/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/ja/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/ja/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ja/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/ja/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/ko/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/ko/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ko/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/ko/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/mr/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/mr/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/mr/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/mr/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/nl/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/nl/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/nl/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/nl/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/pl/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/pl/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/pl/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/pl/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/pt/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/pt/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/pt/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/pt/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/ro/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/ro/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ro/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/ro/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/ru/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/ru/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ru/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/ru/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/sv/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/sv/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/sv/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/sv/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/tr/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/tr/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/tr/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/tr/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/uk/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/uk/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/uk/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/uk/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/ur/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/ur/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/ur/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/ur/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/vi/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/vi/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/vi/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/vi/token-api/endpoints/support.mdx delete mode 100644 website/src/pages/zh/token-api/endpoints/endpoint-pricing.mdx delete mode 100644 website/src/pages/zh/token-api/endpoints/endpoint-support.msx create mode 100644 website/src/pages/zh/token-api/endpoints/pricing.mdx create mode 100644 website/src/pages/zh/token-api/endpoints/support.mdx diff --git a/website/src/pages/ar/token-api/_meta.js b/website/src/pages/ar/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/ar/token-api/_meta.js +++ b/website/src/pages/ar/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/ar/token-api/endpoints/_meta.js b/website/src/pages/ar/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/ar/token-api/endpoints/_meta.js +++ b/website/src/pages/ar/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/ar/token-api/endpoints/endpoint-support.msx b/website/src/pages/ar/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/ar/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/ar/token-api/endpoints/pricing.mdx similarity index 59% rename from website/src/pages/ar/token-api/endpoints/endpoint-pricing.mdx rename to website/src/pages/ar/token-api/endpoints/pricing.mdx index 1354b7e2bc10..df3a04c50a55 100644 --- a/website/src/pages/ar/token-api/endpoints/endpoint-pricing.mdx +++ b/website/src/pages/ar/token-api/endpoints/pricing.mdx @@ -1,5 +1,6 @@ --- title: Endpoint Pricing +sidebarTitle: Pricing --- ## Pricing Tiers @@ -9,10 +10,21 @@ title: Endpoint Pricing | $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | | Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | | Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | | No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + ## Token Endpoints - $15/mil queries Query token transfers, balances, and metadata across EVM and SVM blockchains @@ -20,8 +32,11 @@ Query token transfers, balances, and metadata across EVM and SVM blockchains ``` GET /v1/evm/tokens GET /v1/svm/tokens +GET /v1/tvm/tokens GET /v1/evm/transfers GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native GET /v1/evm/balances GET /v1/svm/balances GET /v1/evm/balances/native @@ -35,6 +50,7 @@ Access on-chain swap, liquidity pool, and decentralized exchange data ``` GET /v1/evm/swaps GET /v1/svm/swaps +GET /v1/tvm/swaps GET /v1/evm/pools GET /v1/svm/pools ``` @@ -61,6 +77,7 @@ GET /v1/svm/holders GET /v1/evm/nft/holders GET /v1/evm/pools/ohlc GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc GET /v1/evm/balances/historical ``` @@ -74,4 +91,5 @@ GET /v1/version GET /v1/networks GET /v1/evm/dexes GET /v1/svm/dexes +GET /v1/tvm/dexes ``` diff --git a/website/src/pages/ar/token-api/endpoints/support.mdx b/website/src/pages/ar/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/ar/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/ar/token-api/evm-dexs/_meta.js b/website/src/pages/ar/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ar/token-api/evm-dexs/_meta.js +++ b/website/src/pages/ar/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ar/token-api/evm-tokens/_meta.js b/website/src/pages/ar/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/ar/token-api/evm-tokens/_meta.js +++ b/website/src/pages/ar/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/ar/token-api/svm-dexs/_meta.js b/website/src/pages/ar/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ar/token-api/svm-dexs/_meta.js +++ b/website/src/pages/ar/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/cs/token-api/_meta.js b/website/src/pages/cs/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/cs/token-api/_meta.js +++ b/website/src/pages/cs/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/cs/token-api/endpoints/_meta.js b/website/src/pages/cs/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/cs/token-api/endpoints/_meta.js +++ b/website/src/pages/cs/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/cs/token-api/endpoints/endpoint-support.msx b/website/src/pages/cs/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/de/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/cs/token-api/endpoints/pricing.mdx similarity index 59% rename from website/src/pages/de/token-api/endpoints/endpoint-pricing.mdx rename to website/src/pages/cs/token-api/endpoints/pricing.mdx index 1354b7e2bc10..df3a04c50a55 100644 --- a/website/src/pages/de/token-api/endpoints/endpoint-pricing.mdx +++ b/website/src/pages/cs/token-api/endpoints/pricing.mdx @@ -1,5 +1,6 @@ --- title: Endpoint Pricing +sidebarTitle: Pricing --- ## Pricing Tiers @@ -9,10 +10,21 @@ title: Endpoint Pricing | $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | | Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | | Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | | No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + ## Token Endpoints - $15/mil queries Query token transfers, balances, and metadata across EVM and SVM blockchains @@ -20,8 +32,11 @@ Query token transfers, balances, and metadata across EVM and SVM blockchains ``` GET /v1/evm/tokens GET /v1/svm/tokens +GET /v1/tvm/tokens GET /v1/evm/transfers GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native GET /v1/evm/balances GET /v1/svm/balances GET /v1/evm/balances/native @@ -35,6 +50,7 @@ Access on-chain swap, liquidity pool, and decentralized exchange data ``` GET /v1/evm/swaps GET /v1/svm/swaps +GET /v1/tvm/swaps GET /v1/evm/pools GET /v1/svm/pools ``` @@ -61,6 +77,7 @@ GET /v1/svm/holders GET /v1/evm/nft/holders GET /v1/evm/pools/ohlc GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc GET /v1/evm/balances/historical ``` @@ -74,4 +91,5 @@ GET /v1/version GET /v1/networks GET /v1/evm/dexes GET /v1/svm/dexes +GET /v1/tvm/dexes ``` diff --git a/website/src/pages/cs/token-api/endpoints/support.mdx b/website/src/pages/cs/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/cs/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/cs/token-api/evm-dexs/_meta.js b/website/src/pages/cs/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/cs/token-api/evm-dexs/_meta.js +++ b/website/src/pages/cs/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/cs/token-api/evm-tokens/_meta.js b/website/src/pages/cs/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/cs/token-api/evm-tokens/_meta.js +++ b/website/src/pages/cs/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/cs/token-api/svm-dexs/_meta.js b/website/src/pages/cs/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/cs/token-api/svm-dexs/_meta.js +++ b/website/src/pages/cs/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/de/token-api/_meta.js b/website/src/pages/de/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/de/token-api/_meta.js +++ b/website/src/pages/de/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/de/token-api/endpoints/_meta.js b/website/src/pages/de/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/de/token-api/endpoints/_meta.js +++ b/website/src/pages/de/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/de/token-api/endpoints/endpoint-support.msx b/website/src/pages/de/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/cs/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/de/token-api/endpoints/pricing.mdx similarity index 59% rename from website/src/pages/cs/token-api/endpoints/endpoint-pricing.mdx rename to website/src/pages/de/token-api/endpoints/pricing.mdx index 1354b7e2bc10..df3a04c50a55 100644 --- a/website/src/pages/cs/token-api/endpoints/endpoint-pricing.mdx +++ b/website/src/pages/de/token-api/endpoints/pricing.mdx @@ -1,5 +1,6 @@ --- title: Endpoint Pricing +sidebarTitle: Pricing --- ## Pricing Tiers @@ -9,10 +10,21 @@ title: Endpoint Pricing | $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | | Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | | Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | | No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + ## Token Endpoints - $15/mil queries Query token transfers, balances, and metadata across EVM and SVM blockchains @@ -20,8 +32,11 @@ Query token transfers, balances, and metadata across EVM and SVM blockchains ``` GET /v1/evm/tokens GET /v1/svm/tokens +GET /v1/tvm/tokens GET /v1/evm/transfers GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native GET /v1/evm/balances GET /v1/svm/balances GET /v1/evm/balances/native @@ -35,6 +50,7 @@ Access on-chain swap, liquidity pool, and decentralized exchange data ``` GET /v1/evm/swaps GET /v1/svm/swaps +GET /v1/tvm/swaps GET /v1/evm/pools GET /v1/svm/pools ``` @@ -61,6 +77,7 @@ GET /v1/svm/holders GET /v1/evm/nft/holders GET /v1/evm/pools/ohlc GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc GET /v1/evm/balances/historical ``` @@ -74,4 +91,5 @@ GET /v1/version GET /v1/networks GET /v1/evm/dexes GET /v1/svm/dexes +GET /v1/tvm/dexes ``` diff --git a/website/src/pages/de/token-api/endpoints/support.mdx b/website/src/pages/de/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/de/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/de/token-api/evm-dexs/_meta.js b/website/src/pages/de/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/de/token-api/evm-dexs/_meta.js +++ b/website/src/pages/de/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/de/token-api/evm-tokens/_meta.js b/website/src/pages/de/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/de/token-api/evm-tokens/_meta.js +++ b/website/src/pages/de/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/de/token-api/svm-dexs/_meta.js b/website/src/pages/de/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/de/token-api/svm-dexs/_meta.js +++ b/website/src/pages/de/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/es/token-api/_meta.js b/website/src/pages/es/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/es/token-api/_meta.js +++ b/website/src/pages/es/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/es/token-api/endpoints/_meta.js b/website/src/pages/es/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/es/token-api/endpoints/_meta.js +++ b/website/src/pages/es/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/es/token-api/endpoints/endpoint-support.msx b/website/src/pages/es/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/es/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/es/token-api/endpoints/pricing.mdx similarity index 59% rename from website/src/pages/es/token-api/endpoints/endpoint-pricing.mdx rename to website/src/pages/es/token-api/endpoints/pricing.mdx index 1354b7e2bc10..df3a04c50a55 100644 --- a/website/src/pages/es/token-api/endpoints/endpoint-pricing.mdx +++ b/website/src/pages/es/token-api/endpoints/pricing.mdx @@ -1,5 +1,6 @@ --- title: Endpoint Pricing +sidebarTitle: Pricing --- ## Pricing Tiers @@ -9,10 +10,21 @@ title: Endpoint Pricing | $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | | Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | | Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | | No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + ## Token Endpoints - $15/mil queries Query token transfers, balances, and metadata across EVM and SVM blockchains @@ -20,8 +32,11 @@ Query token transfers, balances, and metadata across EVM and SVM blockchains ``` GET /v1/evm/tokens GET /v1/svm/tokens +GET /v1/tvm/tokens GET /v1/evm/transfers GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native GET /v1/evm/balances GET /v1/svm/balances GET /v1/evm/balances/native @@ -35,6 +50,7 @@ Access on-chain swap, liquidity pool, and decentralized exchange data ``` GET /v1/evm/swaps GET /v1/svm/swaps +GET /v1/tvm/swaps GET /v1/evm/pools GET /v1/svm/pools ``` @@ -61,6 +77,7 @@ GET /v1/svm/holders GET /v1/evm/nft/holders GET /v1/evm/pools/ohlc GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc GET /v1/evm/balances/historical ``` @@ -74,4 +91,5 @@ GET /v1/version GET /v1/networks GET /v1/evm/dexes GET /v1/svm/dexes +GET /v1/tvm/dexes ``` diff --git a/website/src/pages/es/token-api/endpoints/support.mdx b/website/src/pages/es/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/es/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/es/token-api/evm-dexs/_meta.js b/website/src/pages/es/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/es/token-api/evm-dexs/_meta.js +++ b/website/src/pages/es/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/es/token-api/evm-tokens/_meta.js b/website/src/pages/es/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/es/token-api/evm-tokens/_meta.js +++ b/website/src/pages/es/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/es/token-api/svm-dexs/_meta.js b/website/src/pages/es/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/es/token-api/svm-dexs/_meta.js +++ b/website/src/pages/es/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/fr/token-api/_meta.js b/website/src/pages/fr/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/fr/token-api/_meta.js +++ b/website/src/pages/fr/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/fr/token-api/endpoints/_meta.js b/website/src/pages/fr/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/fr/token-api/endpoints/_meta.js +++ b/website/src/pages/fr/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/fr/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/fr/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/fr/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/fr/token-api/endpoints/endpoint-support.msx b/website/src/pages/fr/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/fr/token-api/endpoints/pricing.mdx b/website/src/pages/fr/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/fr/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/fr/token-api/endpoints/support.mdx b/website/src/pages/fr/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/fr/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/fr/token-api/evm-dexs/_meta.js b/website/src/pages/fr/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/fr/token-api/evm-dexs/_meta.js +++ b/website/src/pages/fr/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/fr/token-api/evm-tokens/_meta.js b/website/src/pages/fr/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/fr/token-api/evm-tokens/_meta.js +++ b/website/src/pages/fr/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/fr/token-api/svm-dexs/_meta.js b/website/src/pages/fr/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/fr/token-api/svm-dexs/_meta.js +++ b/website/src/pages/fr/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/hi/token-api/_meta.js b/website/src/pages/hi/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/hi/token-api/_meta.js +++ b/website/src/pages/hi/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/hi/token-api/endpoints/_meta.js b/website/src/pages/hi/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/hi/token-api/endpoints/_meta.js +++ b/website/src/pages/hi/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/hi/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/hi/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/hi/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/hi/token-api/endpoints/endpoint-support.msx b/website/src/pages/hi/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/hi/token-api/endpoints/pricing.mdx b/website/src/pages/hi/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/hi/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/hi/token-api/endpoints/support.mdx b/website/src/pages/hi/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/hi/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/hi/token-api/evm-dexs/_meta.js b/website/src/pages/hi/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/hi/token-api/evm-dexs/_meta.js +++ b/website/src/pages/hi/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/hi/token-api/evm-tokens/_meta.js b/website/src/pages/hi/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/hi/token-api/evm-tokens/_meta.js +++ b/website/src/pages/hi/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/hi/token-api/svm-dexs/_meta.js b/website/src/pages/hi/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/hi/token-api/svm-dexs/_meta.js +++ b/website/src/pages/hi/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/it/token-api/_meta.js b/website/src/pages/it/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/it/token-api/_meta.js +++ b/website/src/pages/it/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/it/token-api/endpoints/_meta.js b/website/src/pages/it/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/it/token-api/endpoints/_meta.js +++ b/website/src/pages/it/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/it/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/it/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/it/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/it/token-api/endpoints/endpoint-support.msx b/website/src/pages/it/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/it/token-api/endpoints/pricing.mdx b/website/src/pages/it/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/it/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/it/token-api/endpoints/support.mdx b/website/src/pages/it/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/it/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/it/token-api/evm-dexs/_meta.js b/website/src/pages/it/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/it/token-api/evm-dexs/_meta.js +++ b/website/src/pages/it/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/it/token-api/evm-tokens/_meta.js b/website/src/pages/it/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/it/token-api/evm-tokens/_meta.js +++ b/website/src/pages/it/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/it/token-api/svm-dexs/_meta.js b/website/src/pages/it/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/it/token-api/svm-dexs/_meta.js +++ b/website/src/pages/it/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ja/token-api/_meta.js b/website/src/pages/ja/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/ja/token-api/_meta.js +++ b/website/src/pages/ja/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/ja/token-api/endpoints/_meta.js b/website/src/pages/ja/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/ja/token-api/endpoints/_meta.js +++ b/website/src/pages/ja/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/ja/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/ja/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/ja/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/ja/token-api/endpoints/endpoint-support.msx b/website/src/pages/ja/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/ja/token-api/endpoints/pricing.mdx b/website/src/pages/ja/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/ja/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/ja/token-api/endpoints/support.mdx b/website/src/pages/ja/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/ja/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/ja/token-api/evm-dexs/_meta.js b/website/src/pages/ja/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ja/token-api/evm-dexs/_meta.js +++ b/website/src/pages/ja/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ja/token-api/evm-tokens/_meta.js b/website/src/pages/ja/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/ja/token-api/evm-tokens/_meta.js +++ b/website/src/pages/ja/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/ja/token-api/svm-dexs/_meta.js b/website/src/pages/ja/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ja/token-api/svm-dexs/_meta.js +++ b/website/src/pages/ja/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ko/token-api/_meta.js b/website/src/pages/ko/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/ko/token-api/_meta.js +++ b/website/src/pages/ko/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/ko/token-api/endpoints/_meta.js b/website/src/pages/ko/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/ko/token-api/endpoints/_meta.js +++ b/website/src/pages/ko/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/ko/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/ko/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/ko/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/ko/token-api/endpoints/endpoint-support.msx b/website/src/pages/ko/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/ko/token-api/endpoints/pricing.mdx b/website/src/pages/ko/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/ko/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/ko/token-api/endpoints/support.mdx b/website/src/pages/ko/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/ko/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/ko/token-api/evm-dexs/_meta.js b/website/src/pages/ko/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ko/token-api/evm-dexs/_meta.js +++ b/website/src/pages/ko/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ko/token-api/evm-tokens/_meta.js b/website/src/pages/ko/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/ko/token-api/evm-tokens/_meta.js +++ b/website/src/pages/ko/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/ko/token-api/svm-dexs/_meta.js b/website/src/pages/ko/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ko/token-api/svm-dexs/_meta.js +++ b/website/src/pages/ko/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/mr/token-api/_meta.js b/website/src/pages/mr/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/mr/token-api/_meta.js +++ b/website/src/pages/mr/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/mr/token-api/endpoints/_meta.js b/website/src/pages/mr/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/mr/token-api/endpoints/_meta.js +++ b/website/src/pages/mr/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/mr/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/mr/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/mr/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/mr/token-api/endpoints/endpoint-support.msx b/website/src/pages/mr/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/mr/token-api/endpoints/pricing.mdx b/website/src/pages/mr/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/mr/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/mr/token-api/endpoints/support.mdx b/website/src/pages/mr/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/mr/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/mr/token-api/evm-dexs/_meta.js b/website/src/pages/mr/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/mr/token-api/evm-dexs/_meta.js +++ b/website/src/pages/mr/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/mr/token-api/evm-tokens/_meta.js b/website/src/pages/mr/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/mr/token-api/evm-tokens/_meta.js +++ b/website/src/pages/mr/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/mr/token-api/svm-dexs/_meta.js b/website/src/pages/mr/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/mr/token-api/svm-dexs/_meta.js +++ b/website/src/pages/mr/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/nl/token-api/_meta.js b/website/src/pages/nl/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/nl/token-api/_meta.js +++ b/website/src/pages/nl/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/nl/token-api/endpoints/_meta.js b/website/src/pages/nl/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/nl/token-api/endpoints/_meta.js +++ b/website/src/pages/nl/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/nl/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/nl/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/nl/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/nl/token-api/endpoints/endpoint-support.msx b/website/src/pages/nl/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/nl/token-api/endpoints/pricing.mdx b/website/src/pages/nl/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/nl/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/nl/token-api/endpoints/support.mdx b/website/src/pages/nl/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/nl/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/nl/token-api/evm-dexs/_meta.js b/website/src/pages/nl/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/nl/token-api/evm-dexs/_meta.js +++ b/website/src/pages/nl/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/nl/token-api/evm-tokens/_meta.js b/website/src/pages/nl/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/nl/token-api/evm-tokens/_meta.js +++ b/website/src/pages/nl/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/nl/token-api/svm-dexs/_meta.js b/website/src/pages/nl/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/nl/token-api/svm-dexs/_meta.js +++ b/website/src/pages/nl/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/pl/token-api/_meta.js b/website/src/pages/pl/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/pl/token-api/_meta.js +++ b/website/src/pages/pl/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/pl/token-api/endpoints/_meta.js b/website/src/pages/pl/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/pl/token-api/endpoints/_meta.js +++ b/website/src/pages/pl/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/pl/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/pl/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/pl/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/pl/token-api/endpoints/endpoint-support.msx b/website/src/pages/pl/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/pl/token-api/endpoints/pricing.mdx b/website/src/pages/pl/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/pl/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/pl/token-api/endpoints/support.mdx b/website/src/pages/pl/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/pl/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/pl/token-api/evm-dexs/_meta.js b/website/src/pages/pl/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/pl/token-api/evm-dexs/_meta.js +++ b/website/src/pages/pl/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/pl/token-api/evm-tokens/_meta.js b/website/src/pages/pl/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/pl/token-api/evm-tokens/_meta.js +++ b/website/src/pages/pl/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/pl/token-api/svm-dexs/_meta.js b/website/src/pages/pl/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/pl/token-api/svm-dexs/_meta.js +++ b/website/src/pages/pl/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/pt/token-api/_meta.js b/website/src/pages/pt/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/pt/token-api/_meta.js +++ b/website/src/pages/pt/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/pt/token-api/endpoints/_meta.js b/website/src/pages/pt/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/pt/token-api/endpoints/_meta.js +++ b/website/src/pages/pt/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/pt/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/pt/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/pt/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/pt/token-api/endpoints/endpoint-support.msx b/website/src/pages/pt/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/pt/token-api/endpoints/pricing.mdx b/website/src/pages/pt/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/pt/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/pt/token-api/endpoints/support.mdx b/website/src/pages/pt/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/pt/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/pt/token-api/evm-dexs/_meta.js b/website/src/pages/pt/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/pt/token-api/evm-dexs/_meta.js +++ b/website/src/pages/pt/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/pt/token-api/evm-tokens/_meta.js b/website/src/pages/pt/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/pt/token-api/evm-tokens/_meta.js +++ b/website/src/pages/pt/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/pt/token-api/svm-dexs/_meta.js b/website/src/pages/pt/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/pt/token-api/svm-dexs/_meta.js +++ b/website/src/pages/pt/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ro/token-api/_meta.js b/website/src/pages/ro/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/ro/token-api/_meta.js +++ b/website/src/pages/ro/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/ro/token-api/endpoints/_meta.js b/website/src/pages/ro/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/ro/token-api/endpoints/_meta.js +++ b/website/src/pages/ro/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/ro/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/ro/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/ro/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/ro/token-api/endpoints/endpoint-support.msx b/website/src/pages/ro/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/ro/token-api/endpoints/pricing.mdx b/website/src/pages/ro/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/ro/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/ro/token-api/endpoints/support.mdx b/website/src/pages/ro/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/ro/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/ro/token-api/evm-dexs/_meta.js b/website/src/pages/ro/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ro/token-api/evm-dexs/_meta.js +++ b/website/src/pages/ro/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ro/token-api/evm-tokens/_meta.js b/website/src/pages/ro/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/ro/token-api/evm-tokens/_meta.js +++ b/website/src/pages/ro/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/ro/token-api/svm-dexs/_meta.js b/website/src/pages/ro/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ro/token-api/svm-dexs/_meta.js +++ b/website/src/pages/ro/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ru/token-api/_meta.js b/website/src/pages/ru/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/ru/token-api/_meta.js +++ b/website/src/pages/ru/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/ru/token-api/endpoints/_meta.js b/website/src/pages/ru/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/ru/token-api/endpoints/_meta.js +++ b/website/src/pages/ru/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/ru/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/ru/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/ru/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/ru/token-api/endpoints/endpoint-support.msx b/website/src/pages/ru/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/ru/token-api/endpoints/pricing.mdx b/website/src/pages/ru/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/ru/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/ru/token-api/endpoints/support.mdx b/website/src/pages/ru/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/ru/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/ru/token-api/evm-dexs/_meta.js b/website/src/pages/ru/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ru/token-api/evm-dexs/_meta.js +++ b/website/src/pages/ru/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ru/token-api/evm-tokens/_meta.js b/website/src/pages/ru/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/ru/token-api/evm-tokens/_meta.js +++ b/website/src/pages/ru/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/ru/token-api/svm-dexs/_meta.js b/website/src/pages/ru/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ru/token-api/svm-dexs/_meta.js +++ b/website/src/pages/ru/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/sv/token-api/_meta.js b/website/src/pages/sv/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/sv/token-api/_meta.js +++ b/website/src/pages/sv/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/sv/token-api/endpoints/_meta.js b/website/src/pages/sv/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/sv/token-api/endpoints/_meta.js +++ b/website/src/pages/sv/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/sv/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/sv/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/sv/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/sv/token-api/endpoints/endpoint-support.msx b/website/src/pages/sv/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/sv/token-api/endpoints/pricing.mdx b/website/src/pages/sv/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/sv/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/sv/token-api/endpoints/support.mdx b/website/src/pages/sv/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/sv/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/sv/token-api/evm-dexs/_meta.js b/website/src/pages/sv/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/sv/token-api/evm-dexs/_meta.js +++ b/website/src/pages/sv/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/sv/token-api/evm-tokens/_meta.js b/website/src/pages/sv/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/sv/token-api/evm-tokens/_meta.js +++ b/website/src/pages/sv/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/sv/token-api/svm-dexs/_meta.js b/website/src/pages/sv/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/sv/token-api/svm-dexs/_meta.js +++ b/website/src/pages/sv/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/tr/token-api/_meta.js b/website/src/pages/tr/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/tr/token-api/_meta.js +++ b/website/src/pages/tr/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/tr/token-api/endpoints/_meta.js b/website/src/pages/tr/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/tr/token-api/endpoints/_meta.js +++ b/website/src/pages/tr/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/tr/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/tr/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/tr/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/tr/token-api/endpoints/endpoint-support.msx b/website/src/pages/tr/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/tr/token-api/endpoints/pricing.mdx b/website/src/pages/tr/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/tr/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/tr/token-api/endpoints/support.mdx b/website/src/pages/tr/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/tr/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/tr/token-api/evm-dexs/_meta.js b/website/src/pages/tr/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/tr/token-api/evm-dexs/_meta.js +++ b/website/src/pages/tr/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/tr/token-api/evm-tokens/_meta.js b/website/src/pages/tr/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/tr/token-api/evm-tokens/_meta.js +++ b/website/src/pages/tr/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/tr/token-api/svm-dexs/_meta.js b/website/src/pages/tr/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/tr/token-api/svm-dexs/_meta.js +++ b/website/src/pages/tr/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/uk/token-api/_meta.js b/website/src/pages/uk/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/uk/token-api/_meta.js +++ b/website/src/pages/uk/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/uk/token-api/endpoints/_meta.js b/website/src/pages/uk/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/uk/token-api/endpoints/_meta.js +++ b/website/src/pages/uk/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/uk/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/uk/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/uk/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/uk/token-api/endpoints/endpoint-support.msx b/website/src/pages/uk/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/uk/token-api/endpoints/pricing.mdx b/website/src/pages/uk/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/uk/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/uk/token-api/endpoints/support.mdx b/website/src/pages/uk/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/uk/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/uk/token-api/evm-dexs/_meta.js b/website/src/pages/uk/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/uk/token-api/evm-dexs/_meta.js +++ b/website/src/pages/uk/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/uk/token-api/evm-tokens/_meta.js b/website/src/pages/uk/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/uk/token-api/evm-tokens/_meta.js +++ b/website/src/pages/uk/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/uk/token-api/svm-dexs/_meta.js b/website/src/pages/uk/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/uk/token-api/svm-dexs/_meta.js +++ b/website/src/pages/uk/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ur/token-api/_meta.js b/website/src/pages/ur/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/ur/token-api/_meta.js +++ b/website/src/pages/ur/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/ur/token-api/endpoints/_meta.js b/website/src/pages/ur/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/ur/token-api/endpoints/_meta.js +++ b/website/src/pages/ur/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/ur/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/ur/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/ur/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/ur/token-api/endpoints/endpoint-support.msx b/website/src/pages/ur/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/ur/token-api/endpoints/pricing.mdx b/website/src/pages/ur/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/ur/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/ur/token-api/endpoints/support.mdx b/website/src/pages/ur/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/ur/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/ur/token-api/evm-dexs/_meta.js b/website/src/pages/ur/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ur/token-api/evm-dexs/_meta.js +++ b/website/src/pages/ur/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/ur/token-api/evm-tokens/_meta.js b/website/src/pages/ur/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/ur/token-api/evm-tokens/_meta.js +++ b/website/src/pages/ur/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/ur/token-api/svm-dexs/_meta.js b/website/src/pages/ur/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/ur/token-api/svm-dexs/_meta.js +++ b/website/src/pages/ur/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/vi/token-api/_meta.js b/website/src/pages/vi/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/vi/token-api/_meta.js +++ b/website/src/pages/vi/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/vi/token-api/endpoints/_meta.js b/website/src/pages/vi/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/vi/token-api/endpoints/_meta.js +++ b/website/src/pages/vi/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/vi/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/vi/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/vi/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/vi/token-api/endpoints/endpoint-support.msx b/website/src/pages/vi/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/vi/token-api/endpoints/pricing.mdx b/website/src/pages/vi/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/vi/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/vi/token-api/endpoints/support.mdx b/website/src/pages/vi/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/vi/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/vi/token-api/evm-dexs/_meta.js b/website/src/pages/vi/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/vi/token-api/evm-dexs/_meta.js +++ b/website/src/pages/vi/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/vi/token-api/evm-tokens/_meta.js b/website/src/pages/vi/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/vi/token-api/evm-tokens/_meta.js +++ b/website/src/pages/vi/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/vi/token-api/svm-dexs/_meta.js b/website/src/pages/vi/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/vi/token-api/svm-dexs/_meta.js +++ b/website/src/pages/vi/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/zh/token-api/_meta.js b/website/src/pages/zh/token-api/_meta.js index 853f9dc09031..6a5860d38ff7 100644 --- a/website/src/pages/zh/token-api/_meta.js +++ b/website/src/pages/zh/token-api/_meta.js @@ -10,7 +10,7 @@ export default { 'tvm-tokens': titles['tvm-tokens'] ?? '', 'tvm-dexs': titles['tvm-dexs'] ?? '', monitoring: titles['monitoring'] ?? '', - 'endpoint-pricing': '', + 'endpoints': titles['endpoints'] ?? '', guides: 'Guides', faq: '', } diff --git a/website/src/pages/zh/token-api/endpoints/_meta.js b/website/src/pages/zh/token-api/endpoints/_meta.js index 5d419807937c..33c169163213 100644 --- a/website/src/pages/zh/token-api/endpoints/_meta.js +++ b/website/src/pages/zh/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'endpoint-pricing': '', - 'endpoint-support': '', + 'pricing': '', + 'support': '', } diff --git a/website/src/pages/zh/token-api/endpoints/endpoint-pricing.mdx b/website/src/pages/zh/token-api/endpoints/endpoint-pricing.mdx deleted file mode 100644 index 1354b7e2bc10..000000000000 --- a/website/src/pages/zh/token-api/endpoints/endpoint-pricing.mdx +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Endpoint Pricing ---- - -## Pricing Tiers - -| Free Tier | Scale Tier | Pro Tier | Enterprise | -| --- | --- | --- | --- | -| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | -| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | -| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | -| Time parameters: 1d, 1w intervals | Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | -| Historical price data: 6 months availability | Historical price data: 2 years availability | Historical price data: Full availability | Historical price data: Full availability | -| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | - -## Token Endpoints - $15/mil queries - -Query token transfers, balances, and metadata across EVM and SVM blockchains - -``` -GET /v1/evm/tokens -GET /v1/svm/tokens -GET /v1/evm/transfers -GET /v1/svm/transfers -GET /v1/evm/balances -GET /v1/svm/balances -GET /v1/evm/balances/native -GET /v1/svm/balances/native -``` - -## DEX Endpoints - $50/mil queries - -Access on-chain swap, liquidity pool, and decentralized exchange data - -``` -GET /v1/evm/swaps -GET /v1/svm/swaps -GET /v1/evm/pools -GET /v1/svm/pools -``` - -## NFT Endpoints - $50/mil queries - -Retrieve NFT transfers, ownership details, collections, and sales activity - -``` -GET /v1/evm/nft/items -GET /v1/evm/nft/collections -GET /v1/evm/nft/sales -GET /v1/evm/nft/ownerships -GET /v1/evm/nft/transfers -``` - -## Aggregate & Historical Endpoints - $200/mil queries - -Provide summarized, ranked, and time-series blockchain data for analytical use - -``` -GET /v1/evm/holders -GET /v1/svm/holders -GET /v1/evm/nft/holders -GET /v1/evm/pools/ohlc -GET /v1/svm/pools/ohlc -GET /v1/evm/balances/historical -``` - -## Monitoring Endpoints - Free - -Offer real-time API, network, and version health information for system status - -``` -GET /v1/health -GET /v1/version -GET /v1/networks -GET /v1/evm/dexes -GET /v1/svm/dexes -``` diff --git a/website/src/pages/zh/token-api/endpoints/endpoint-support.msx b/website/src/pages/zh/token-api/endpoints/endpoint-support.msx deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/website/src/pages/zh/token-api/endpoints/pricing.mdx b/website/src/pages/zh/token-api/endpoints/pricing.mdx new file mode 100644 index 000000000000..df3a04c50a55 --- /dev/null +++ b/website/src/pages/zh/token-api/endpoints/pricing.mdx @@ -0,0 +1,95 @@ +--- +title: Endpoint Pricing +sidebarTitle: Pricing +--- + +## Pricing Tiers + +| Free Tier | Scale Tier | Pro Tier | Enterprise | +| --- | --- | --- | --- | +| $25 of total usage across available endpoints | $50 of total usage across available endpoints | $200 of total usage across available endpoints | Custom plan across available endpoints | +| Query parameters: 10 items returned, batch size 1 | Query parameters: 100 items returned, batch size 25 | Query parameters: 500 items returned, batch size 50 | Custom items returned and batch size | +| Rate limit: 200/min | Rate limit: 500/min | Rate limit: 1000/min | Custom rate limit | +| Time parameters: 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | Time parameters: 1h, 4h, 1d, 1w intervals | +| Time interval window: 168 bars | Time interval window: 2160 bars | Time interval window: Full | Time interval window: Full | +| Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | Historical price data: Full availability | +| No additional queries allowed outside of free tier | Pay-as-you-go once included usage is exceeded | Pay-as-you-go once included usage is exceeded | SLAs + Engineering Support | + +## Time Intervals and Parameters (\*) + +1. The **time interval window** is calculated as: **`bars × interval`**. + - **Example**: The Free plan provides 168 bars with a 4h interval: 168 × 4h = 28 days of data. +2. **Full historical data** is available on all plans. +3. **Pagination** is still required to fetch all results. Users won't receive more data than the plan's total bar limit. + - **Example**: The Free plan allows 168 bars and a 10-result limit per query, so you'll need 17 queries to retrieve all pages. +4. You can use **`start_time`** and **`end_time`** to move your time window across history. + - **Example**: `start_time=2025-01-01`, `end_time=2025-01-28`, and `interval=4h` (Free plan) will return 28 days of data for that range. + +## Token Endpoints - $15/mil queries + +Query token transfers, balances, and metadata across EVM and SVM blockchains + +``` +GET /v1/evm/tokens +GET /v1/svm/tokens +GET /v1/tvm/tokens +GET /v1/evm/transfers +GET /v1/svm/transfers +GET /v1/tvm/transfers +GET /v1/tvm/transfers/native +GET /v1/evm/balances +GET /v1/svm/balances +GET /v1/evm/balances/native +GET /v1/svm/balances/native +``` + +## DEX Endpoints - $50/mil queries + +Access on-chain swap, liquidity pool, and decentralized exchange data + +``` +GET /v1/evm/swaps +GET /v1/svm/swaps +GET /v1/tvm/swaps +GET /v1/evm/pools +GET /v1/svm/pools +``` + +## NFT Endpoints - $50/mil queries + +Retrieve NFT transfers, ownership details, collections, and sales activity + +``` +GET /v1/evm/nft/items +GET /v1/evm/nft/collections +GET /v1/evm/nft/sales +GET /v1/evm/nft/ownerships +GET /v1/evm/nft/transfers +``` + +## Aggregate & Historical Endpoints - $200/mil queries + +Provide summarized, ranked, and time-series blockchain data for analytical use + +``` +GET /v1/evm/holders +GET /v1/svm/holders +GET /v1/evm/nft/holders +GET /v1/evm/pools/ohlc +GET /v1/svm/pools/ohlc +GET /v1/tvm/pools/ohlc +GET /v1/evm/balances/historical +``` + +## Monitoring Endpoints - Free + +Offer real-time API, network, and version health information for system status + +``` +GET /v1/health +GET /v1/version +GET /v1/networks +GET /v1/evm/dexes +GET /v1/svm/dexes +GET /v1/tvm/dexes +``` diff --git a/website/src/pages/zh/token-api/endpoints/support.mdx b/website/src/pages/zh/token-api/endpoints/support.mdx new file mode 100644 index 000000000000..652f7457f9b2 --- /dev/null +++ b/website/src/pages/zh/token-api/endpoints/support.mdx @@ -0,0 +1,24 @@ +--- +title: Endpoint Feature Matrix +sidebarTitle: Support Matrix +--- + +import { Check } from '@edgeandnode/gds/icons' + +## Chain and Feature Support + +| Network | Tokens | Swaps | NFTs | +| ----------------- | :-----------------------: | :-----------------------: | :-----------------------: | +| Ethereum Mainnet | | | | +| BSC Mainnet | | | | +| Base Mainnet | | | | +| Unichain Mainnet | | | | +| Arbitrum One | | | | +| Optimism Mainnet | | | | +| Polygon Mainnet | | | | +| Avalanche C-Chain | | | | +| Solana Mainnet | | | ❌ Unsupported | +| Tron Mainnet | | | ❌ Unsupported | + +A full list of chain support for The Graph services can be found [here](/supported-networks/). + diff --git a/website/src/pages/zh/token-api/evm-dexs/_meta.js b/website/src/pages/zh/token-api/evm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/zh/token-api/evm-dexs/_meta.js +++ b/website/src/pages/zh/token-api/evm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } diff --git a/website/src/pages/zh/token-api/evm-tokens/_meta.js b/website/src/pages/zh/token-api/evm-tokens/_meta.js index 2aeed42ff9f1..a350a8e8b23f 100644 --- a/website/src/pages/zh/token-api/evm-tokens/_meta.js +++ b/website/src/pages/zh/token-api/evm-tokens/_meta.js @@ -1,8 +1,8 @@ export default { - tokens: '', transfers: '', + holders: '', + tokens: '', balances: '', 'balances-native': '', 'balances-historical': '', - holders: '', } diff --git a/website/src/pages/zh/token-api/svm-dexs/_meta.js b/website/src/pages/zh/token-api/svm-dexs/_meta.js index df1d9ecf4a6b..73b5deeddbbc 100644 --- a/website/src/pages/zh/token-api/svm-dexs/_meta.js +++ b/website/src/pages/zh/token-api/svm-dexs/_meta.js @@ -1,6 +1,6 @@ export default { + swaps: '', dexes: '', 'pools-ohlc': '', pools: '', - swaps: '', } From 3cffd9a7326c160bca4590590ba104b81db7bda9 Mon Sep 17 00:00:00 2001 From: nsjames Date: Fri, 12 Dec 2025 09:22:48 -0500 Subject: [PATCH 5/8] add sdk for typescript --- website/src/pages/en/token-api/quick-start.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/src/pages/en/token-api/quick-start.mdx b/website/src/pages/en/token-api/quick-start.mdx index ef96bed5aa3e..4e728b38ca7c 100644 --- a/website/src/pages/en/token-api/quick-start.mdx +++ b/website/src/pages/en/token-api/quick-start.mdx @@ -25,16 +25,16 @@ All API endpoints are authenticated using a header: ```typescript - const result = await fetch(`https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208`, { - method: 'GET', - headers: { - Accept: 'application/json', - Authorization: 'Bearer YOUR_TOKEN', - }, + import {EVMChains, TokenAPI} from "@pinax/token-api"; + + const client = new TokenAPI({ + apiToken: process.env.TOKEN_API_KEY || "" + }); + + const result = await client.evm.tokens.getBalances({ + network: EVMChains.Ethereum, + address: ['0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208'] }) - .then((response) => response.json()) - .then((data) => console.log(data)) - .catch((err) => console.error(err)) ``` From 2cfc5efb24b9e5d9b1785381f9b48837684ac45b Mon Sep 17 00:00:00 2001 From: nsjames Date: Fri, 12 Dec 2025 09:27:14 -0500 Subject: [PATCH 6/8] clarify api key locations --- website/src/pages/en/token-api/quick-start.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/pages/en/token-api/quick-start.mdx b/website/src/pages/en/token-api/quick-start.mdx index 4e728b38ca7c..ab48c5e1cb50 100644 --- a/website/src/pages/en/token-api/quick-start.mdx +++ b/website/src/pages/en/token-api/quick-start.mdx @@ -12,7 +12,7 @@ from the [Dashboard](https://thegraph.market/dashboard). ## Use authenticated routes -All API endpoints are authenticated using a header: +Raw API endpoints are authenticated using a header, and the TypeScript Node.js SDK accepts the token as a configuration option. From c717bc6c7d378060c85e1844e8b5d5a30c95d339 Mon Sep 17 00:00:00 2001 From: benface Date: Sat, 13 Dec 2025 16:54:31 -0500 Subject: [PATCH 7/8] Run `pnpm check:fix` --- website/src/components/CodeTabs.tsx | 24 +++++++++---------- website/src/layout/Layout.tsx | 2 +- .../src/pages/ar/token-api/endpoints/_meta.js | 4 ++-- .../pages/ar/token-api/endpoints/support.mdx | 1 - .../src/pages/cs/token-api/endpoints/_meta.js | 4 ++-- .../pages/cs/token-api/endpoints/support.mdx | 1 - .../src/pages/de/token-api/endpoints/_meta.js | 4 ++-- .../pages/de/token-api/endpoints/support.mdx | 1 - .../src/pages/en/token-api/endpoints/_meta.js | 4 ++-- .../pages/en/token-api/endpoints/support.mdx | 1 - .../src/pages/en/token-api/quick-start.mdx | 17 ++++++------- .../src/pages/es/token-api/endpoints/_meta.js | 4 ++-- .../pages/es/token-api/endpoints/support.mdx | 1 - .../src/pages/fr/token-api/endpoints/_meta.js | 4 ++-- .../pages/fr/token-api/endpoints/support.mdx | 1 - .../src/pages/hi/token-api/endpoints/_meta.js | 4 ++-- .../pages/hi/token-api/endpoints/support.mdx | 1 - .../src/pages/it/token-api/endpoints/_meta.js | 4 ++-- .../pages/it/token-api/endpoints/support.mdx | 1 - .../src/pages/ja/token-api/endpoints/_meta.js | 4 ++-- .../pages/ja/token-api/endpoints/support.mdx | 1 - .../src/pages/ko/token-api/endpoints/_meta.js | 4 ++-- .../pages/ko/token-api/endpoints/support.mdx | 1 - .../src/pages/mr/token-api/endpoints/_meta.js | 4 ++-- .../pages/mr/token-api/endpoints/support.mdx | 1 - .../src/pages/nl/token-api/endpoints/_meta.js | 4 ++-- .../pages/nl/token-api/endpoints/support.mdx | 1 - .../src/pages/pl/token-api/endpoints/_meta.js | 4 ++-- .../pages/pl/token-api/endpoints/support.mdx | 1 - .../src/pages/pt/token-api/endpoints/_meta.js | 4 ++-- .../pages/pt/token-api/endpoints/support.mdx | 1 - .../src/pages/ro/token-api/endpoints/_meta.js | 4 ++-- .../pages/ro/token-api/endpoints/support.mdx | 1 - .../src/pages/ru/token-api/endpoints/_meta.js | 4 ++-- .../pages/ru/token-api/endpoints/support.mdx | 1 - .../src/pages/sv/token-api/endpoints/_meta.js | 4 ++-- .../pages/sv/token-api/endpoints/support.mdx | 1 - .../src/pages/tr/token-api/endpoints/_meta.js | 4 ++-- .../pages/tr/token-api/endpoints/support.mdx | 1 - .../src/pages/uk/token-api/endpoints/_meta.js | 4 ++-- .../pages/uk/token-api/endpoints/support.mdx | 1 - .../src/pages/ur/token-api/endpoints/_meta.js | 4 ++-- .../pages/ur/token-api/endpoints/support.mdx | 1 - .../src/pages/vi/token-api/endpoints/_meta.js | 4 ++-- .../pages/vi/token-api/endpoints/support.mdx | 1 - .../src/pages/zh/token-api/endpoints/_meta.js | 4 ++-- .../pages/zh/token-api/endpoints/support.mdx | 1 - 47 files changed, 66 insertions(+), 87 deletions(-) diff --git a/website/src/components/CodeTabs.tsx b/website/src/components/CodeTabs.tsx index 72655067cd8a..6d24f7ce06b6 100644 --- a/website/src/components/CodeTabs.tsx +++ b/website/src/components/CodeTabs.tsx @@ -1,38 +1,38 @@ -import { Children, isValidElement, useState } from 'react'; +import { Children, isValidElement, useState } from 'react' export function CodeTabs({ children, defaultIndex = 0 }: { children: React.ReactNode; defaultIndex?: number }) { - const tabs = Children.toArray(children).filter(isValidElement); + const tabs = Children.toArray(children).filter(isValidElement) - const [activeIndex, setActiveIndex] = useState(defaultIndex); + const [activeIndex, setActiveIndex] = useState(defaultIndex) return ( -
+
{/* tab labels */} -
+
{tabs.map((tab: any, i: number) => { - const label = tab.props.label ?? `Tab ${i + 1}`; + const label = tab.props.label ?? `Tab ${i + 1}` return ( - ); + ) })}
{/* active tab contents */}
{tabs[activeIndex]}
- ); + ) } export function CodeTab({ children }: { children: React.ReactNode }) { - return
{children}
; -} \ No newline at end of file + return
{children}
+} diff --git a/website/src/layout/Layout.tsx b/website/src/layout/Layout.tsx index edbc737a6f2a..bfa7572f734d 100644 --- a/website/src/layout/Layout.tsx +++ b/website/src/layout/Layout.tsx @@ -5,7 +5,6 @@ import { NextSeo, type NextSeoProps } from 'next-seo' import type { NextraThemeLayoutProps } from 'nextra' import { useFSRoute, useRouter } from 'nextra/hooks' import { MDXProvider } from 'nextra/mdx' -import { CodeTabs, CodeTab } from "@/components/CodeTabs" import { normalizePages } from 'nextra/normalize-pages' import { type ComponentProps, @@ -65,6 +64,7 @@ import { Table, VideoEmbed, } from '@/components' +import { CodeTab, CodeTabs } from '@/components/CodeTabs' import { useI18n } from '@/i18n' import { MDXContent } from './MDXContent' diff --git a/website/src/pages/ar/token-api/endpoints/_meta.js b/website/src/pages/ar/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/ar/token-api/endpoints/_meta.js +++ b/website/src/pages/ar/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/ar/token-api/endpoints/support.mdx b/website/src/pages/ar/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/ar/token-api/endpoints/support.mdx +++ b/website/src/pages/ar/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/cs/token-api/endpoints/_meta.js b/website/src/pages/cs/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/cs/token-api/endpoints/_meta.js +++ b/website/src/pages/cs/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/cs/token-api/endpoints/support.mdx b/website/src/pages/cs/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/cs/token-api/endpoints/support.mdx +++ b/website/src/pages/cs/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/de/token-api/endpoints/_meta.js b/website/src/pages/de/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/de/token-api/endpoints/_meta.js +++ b/website/src/pages/de/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/de/token-api/endpoints/support.mdx b/website/src/pages/de/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/de/token-api/endpoints/support.mdx +++ b/website/src/pages/de/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/en/token-api/endpoints/_meta.js b/website/src/pages/en/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/en/token-api/endpoints/_meta.js +++ b/website/src/pages/en/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/en/token-api/endpoints/support.mdx b/website/src/pages/en/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/en/token-api/endpoints/support.mdx +++ b/website/src/pages/en/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/en/token-api/quick-start.mdx b/website/src/pages/en/token-api/quick-start.mdx index ab48c5e1cb50..0cf77accddcc 100644 --- a/website/src/pages/en/token-api/quick-start.mdx +++ b/website/src/pages/en/token-api/quick-start.mdx @@ -7,8 +7,7 @@ The Graph's Token API lets you access both live and historical data for tokens a ## Gain access -Make sure you already have an account on [The Graph Market](https://thegraph.com) and an **"API TOKEN (Authentication JWT)"** -from the [Dashboard](https://thegraph.market/dashboard). +Make sure you already have an account on [The Graph Market](https://thegraph.com) and an **"API TOKEN (Authentication JWT)"** from the [Dashboard](https://thegraph.market/dashboard). ## Use authenticated routes @@ -45,7 +44,7 @@ Raw API endpoints are authenticated using a header, and the TypeScript Node.js S "https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208", headers={"Authorization": "Bearer YOUR_TOKEN"}, ) - + print(res.json()) ``` @@ -58,20 +57,20 @@ Raw API endpoints are authenticated using a header, and the TypeScript Node.js S "encoding/json" "net/http" ) - + func main() { req, _ := http.NewRequest("GET", "https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208", nil, ) req.Header.Set("Authorization", "Bearer YOUR_TOKEN") - + res, _ := http.DefaultClient.Do(req) defer res.Body.Close() - + var data any json.NewDecoder(res.Body).Decode(&data) - + fmt.Printf("%#v\n", data) } ``` @@ -87,17 +86,19 @@ Raw API endpoints are authenticated using a header, and the TypeScript Node.js S .bearer_auth("YOUR_TOKEN") .send() .await?; - + println!("{}", res.text().await?); Ok(()) } ``` + ## What's next? Explore the most popular endpoints: + - [EVM Transfers](/token-api/evm-tokens/transfers/) - [Solana Swaps](/token-api/svm-dexs/swaps/) - [EVM Token Holders](/token-api/evm-tokens/holders/) diff --git a/website/src/pages/es/token-api/endpoints/_meta.js b/website/src/pages/es/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/es/token-api/endpoints/_meta.js +++ b/website/src/pages/es/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/es/token-api/endpoints/support.mdx b/website/src/pages/es/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/es/token-api/endpoints/support.mdx +++ b/website/src/pages/es/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/fr/token-api/endpoints/_meta.js b/website/src/pages/fr/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/fr/token-api/endpoints/_meta.js +++ b/website/src/pages/fr/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/fr/token-api/endpoints/support.mdx b/website/src/pages/fr/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/fr/token-api/endpoints/support.mdx +++ b/website/src/pages/fr/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/hi/token-api/endpoints/_meta.js b/website/src/pages/hi/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/hi/token-api/endpoints/_meta.js +++ b/website/src/pages/hi/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/hi/token-api/endpoints/support.mdx b/website/src/pages/hi/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/hi/token-api/endpoints/support.mdx +++ b/website/src/pages/hi/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/it/token-api/endpoints/_meta.js b/website/src/pages/it/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/it/token-api/endpoints/_meta.js +++ b/website/src/pages/it/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/it/token-api/endpoints/support.mdx b/website/src/pages/it/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/it/token-api/endpoints/support.mdx +++ b/website/src/pages/it/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/ja/token-api/endpoints/_meta.js b/website/src/pages/ja/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/ja/token-api/endpoints/_meta.js +++ b/website/src/pages/ja/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/ja/token-api/endpoints/support.mdx b/website/src/pages/ja/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/ja/token-api/endpoints/support.mdx +++ b/website/src/pages/ja/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/ko/token-api/endpoints/_meta.js b/website/src/pages/ko/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/ko/token-api/endpoints/_meta.js +++ b/website/src/pages/ko/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/ko/token-api/endpoints/support.mdx b/website/src/pages/ko/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/ko/token-api/endpoints/support.mdx +++ b/website/src/pages/ko/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/mr/token-api/endpoints/_meta.js b/website/src/pages/mr/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/mr/token-api/endpoints/_meta.js +++ b/website/src/pages/mr/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/mr/token-api/endpoints/support.mdx b/website/src/pages/mr/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/mr/token-api/endpoints/support.mdx +++ b/website/src/pages/mr/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/nl/token-api/endpoints/_meta.js b/website/src/pages/nl/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/nl/token-api/endpoints/_meta.js +++ b/website/src/pages/nl/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/nl/token-api/endpoints/support.mdx b/website/src/pages/nl/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/nl/token-api/endpoints/support.mdx +++ b/website/src/pages/nl/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/pl/token-api/endpoints/_meta.js b/website/src/pages/pl/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/pl/token-api/endpoints/_meta.js +++ b/website/src/pages/pl/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/pl/token-api/endpoints/support.mdx b/website/src/pages/pl/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/pl/token-api/endpoints/support.mdx +++ b/website/src/pages/pl/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/pt/token-api/endpoints/_meta.js b/website/src/pages/pt/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/pt/token-api/endpoints/_meta.js +++ b/website/src/pages/pt/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/pt/token-api/endpoints/support.mdx b/website/src/pages/pt/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/pt/token-api/endpoints/support.mdx +++ b/website/src/pages/pt/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/ro/token-api/endpoints/_meta.js b/website/src/pages/ro/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/ro/token-api/endpoints/_meta.js +++ b/website/src/pages/ro/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/ro/token-api/endpoints/support.mdx b/website/src/pages/ro/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/ro/token-api/endpoints/support.mdx +++ b/website/src/pages/ro/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/ru/token-api/endpoints/_meta.js b/website/src/pages/ru/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/ru/token-api/endpoints/_meta.js +++ b/website/src/pages/ru/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/ru/token-api/endpoints/support.mdx b/website/src/pages/ru/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/ru/token-api/endpoints/support.mdx +++ b/website/src/pages/ru/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/sv/token-api/endpoints/_meta.js b/website/src/pages/sv/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/sv/token-api/endpoints/_meta.js +++ b/website/src/pages/sv/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/sv/token-api/endpoints/support.mdx b/website/src/pages/sv/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/sv/token-api/endpoints/support.mdx +++ b/website/src/pages/sv/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/tr/token-api/endpoints/_meta.js b/website/src/pages/tr/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/tr/token-api/endpoints/_meta.js +++ b/website/src/pages/tr/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/tr/token-api/endpoints/support.mdx b/website/src/pages/tr/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/tr/token-api/endpoints/support.mdx +++ b/website/src/pages/tr/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/uk/token-api/endpoints/_meta.js b/website/src/pages/uk/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/uk/token-api/endpoints/_meta.js +++ b/website/src/pages/uk/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/uk/token-api/endpoints/support.mdx b/website/src/pages/uk/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/uk/token-api/endpoints/support.mdx +++ b/website/src/pages/uk/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/ur/token-api/endpoints/_meta.js b/website/src/pages/ur/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/ur/token-api/endpoints/_meta.js +++ b/website/src/pages/ur/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/ur/token-api/endpoints/support.mdx b/website/src/pages/ur/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/ur/token-api/endpoints/support.mdx +++ b/website/src/pages/ur/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/vi/token-api/endpoints/_meta.js b/website/src/pages/vi/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/vi/token-api/endpoints/_meta.js +++ b/website/src/pages/vi/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/vi/token-api/endpoints/support.mdx b/website/src/pages/vi/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/vi/token-api/endpoints/support.mdx +++ b/website/src/pages/vi/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - diff --git a/website/src/pages/zh/token-api/endpoints/_meta.js b/website/src/pages/zh/token-api/endpoints/_meta.js index 33c169163213..c85dabe30711 100644 --- a/website/src/pages/zh/token-api/endpoints/_meta.js +++ b/website/src/pages/zh/token-api/endpoints/_meta.js @@ -1,4 +1,4 @@ export default { - 'pricing': '', - 'support': '', + pricing: '', + support: '', } diff --git a/website/src/pages/zh/token-api/endpoints/support.mdx b/website/src/pages/zh/token-api/endpoints/support.mdx index 652f7457f9b2..50f825afdfd6 100644 --- a/website/src/pages/zh/token-api/endpoints/support.mdx +++ b/website/src/pages/zh/token-api/endpoints/support.mdx @@ -21,4 +21,3 @@ import { Check } from '@edgeandnode/gds/icons' | Tron Mainnet | | | ❌ Unsupported | A full list of chain support for The Graph services can be found [here](/supported-networks/). - From cff112d91e43453e9c4570718130ef45260ae8ce Mon Sep 17 00:00:00 2001 From: benface Date: Sun, 14 Dec 2025 15:04:08 -0500 Subject: [PATCH 8/8] =?UTF-8?q?Replace=20`CodeTabs`=20with=20GDS=E2=80=99s?= =?UTF-8?q?=20`CodeBlock.Tabs`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- website/src/components/CodeBlock.tsx | 17 +- website/src/components/CodeTabs.tsx | 38 ----- website/src/layout/Layout.tsx | 6 +- .../src/pages/en/token-api/quick-start.mdx | 149 +++++++++--------- 4 files changed, 91 insertions(+), 119 deletions(-) delete mode 100644 website/src/components/CodeTabs.tsx diff --git a/website/src/components/CodeBlock.tsx b/website/src/components/CodeBlock.tsx index 2c3d9183e80b..8b7b21c9c15b 100644 --- a/website/src/components/CodeBlock.tsx +++ b/website/src/components/CodeBlock.tsx @@ -28,10 +28,25 @@ export const CodeBlock = ({ className, children, ...props }: CodeBlockProps) => 1} - className={classNames(['graph-docs-not-markdown --:my-8 --:last:mb-0 -:is-[li>*]:my-4', className])} + className={classNames([ + `graph-docs-not-markdown + --:not-in-group/code-block-tabs:my-8 + --:not-in-group/code-block-tabs:last:mb-0 + -:not-in-group/code-block-tabs:is-[li>*]:my-4`, + className, + ])} {...(props as ComponentProps<'div'>)} > {code} ) } + +export const CodeBlockTabs = ({ className, ...props }: ComponentProps) => { + return ( + *]:my-4', className])} + {...props} + /> + ) +} diff --git a/website/src/components/CodeTabs.tsx b/website/src/components/CodeTabs.tsx deleted file mode 100644 index 6d24f7ce06b6..000000000000 --- a/website/src/components/CodeTabs.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { Children, isValidElement, useState } from 'react' - -export function CodeTabs({ children, defaultIndex = 0 }: { children: React.ReactNode; defaultIndex?: number }) { - const tabs = Children.toArray(children).filter(isValidElement) - - const [activeIndex, setActiveIndex] = useState(defaultIndex) - - return ( -
- {/* tab labels */} -
- {tabs.map((tab: any, i: number) => { - const label = tab.props.label ?? `Tab ${i + 1}` - return ( - - ) - })} -
- - {/* active tab contents */} -
{tabs[activeIndex]}
-
- ) -} - -export function CodeTab({ children }: { children: React.ReactNode }) { - return
{children}
-} diff --git a/website/src/layout/Layout.tsx b/website/src/layout/Layout.tsx index bfa7572f734d..a1b5311a6ca7 100644 --- a/website/src/layout/Layout.tsx +++ b/website/src/layout/Layout.tsx @@ -56,6 +56,7 @@ import { import { Callout, CodeBlock, + CodeBlockTabs, DocSearch, Heading, Image, @@ -64,7 +65,6 @@ import { Table, VideoEmbed, } from '@/components' -import { CodeTab, CodeTabs } from '@/components/CodeTabs' import { useI18n } from '@/i18n' import { MDXContent } from './MDXContent' @@ -611,12 +611,12 @@ export default function Layout({ pageOpts, children }: NextraThemeLayoutProps {children} diff --git a/website/src/pages/en/token-api/quick-start.mdx b/website/src/pages/en/token-api/quick-start.mdx index 0cf77accddcc..d415adea02bd 100644 --- a/website/src/pages/en/token-api/quick-start.mdx +++ b/website/src/pages/en/token-api/quick-start.mdx @@ -13,87 +13,82 @@ Make sure you already have an account on [The Graph Market](https://thegraph.com Raw API endpoints are authenticated using a header, and the TypeScript Node.js SDK accepts the token as a configuration option. - - - ```shell - curl --request GET \ - --url "https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208" \ - --header 'Accept: application/json' \ - --header 'Authorization: Bearer YOUR_TOKEN' - ``` - - - ```typescript - import {EVMChains, TokenAPI} from "@pinax/token-api"; - - const client = new TokenAPI({ - apiToken: process.env.TOKEN_API_KEY || "" - }); - - const result = await client.evm.tokens.getBalances({ - network: EVMChains.Ethereum, - address: ['0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208'] - }) - ``` - - - ```python - import requests - - res = requests.get( + + + ```shell + curl --request GET \ + --url "https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208" \ + --header 'Accept: application/json' \ + --header 'Authorization: Bearer YOUR_TOKEN' + ``` + + ```typescript + import {EVMChains, TokenAPI} from "@pinax/token-api"; + + const client = new TokenAPI({ + apiToken: process.env.TOKEN_API_KEY || "" + }); + + const result = await client.evm.tokens.getBalances({ + network: EVMChains.Ethereum, + address: ['0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208'] + }) + ``` + + ```python + import requests + + res = requests.get( + "https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208", + headers={"Authorization": "Bearer YOUR_TOKEN"}, + ) + + print(res.json()) + ``` + + ```go + package main + + import ( + "fmt" + "encoding/json" + "net/http" + ) + + func main() { + req, _ := http.NewRequest("GET", "https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208", - headers={"Authorization": "Bearer YOUR_TOKEN"}, + nil, ) + req.Header.Set("Authorization", "Bearer YOUR_TOKEN") - print(res.json()) - ``` - - - ```go - package main - - import ( - "fmt" - "encoding/json" - "net/http" - ) + res, _ := http.DefaultClient.Do(req) + defer res.Body.Close() + + var data any + json.NewDecoder(res.Body).Decode(&data) + + fmt.Printf("%#v\n", data) + } + ``` + + ```rust + use reqwest::Client; + + #[tokio::main] + async fn main() -> reqwest::Result<()> { + let res = Client::new() + .get("https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208") + .bearer_auth("YOUR_TOKEN") + .send() + .await?; + + println!("{}", res.text().await?); + Ok(()) + } + ``` - func main() { - req, _ := http.NewRequest("GET", - "https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208", - nil, - ) - req.Header.Set("Authorization", "Bearer YOUR_TOKEN") - - res, _ := http.DefaultClient.Do(req) - defer res.Body.Close() - - var data any - json.NewDecoder(res.Body).Decode(&data) - - fmt.Printf("%#v\n", data) - } - ``` - - - ```rust - use reqwest::Client; - - #[tokio::main] - async fn main() -> reqwest::Result<()> { - let res = Client::new() - .get("https://token-api.thegraph.com/v1/evm/balances?network=mainnet&address=0x2a0c0dbecc7e4d658f48e01e3fa353f44050c208") - .bearer_auth("YOUR_TOKEN") - .send() - .await?; - - println!("{}", res.text().await?); - Ok(()) - } - ``` - - - + ## What's next?