diff --git a/package.json b/package.json index 4d7bf9fc2125..67412f936974 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "graph-docs", "private": true, "version": "1.0.0", - "packageManager": "pnpm@10.20.0", + "packageManager": "pnpm@10.22.0", "scripts": { "dev": "turbo run dev", "build": "NODE_OPTIONS='--max-old-space-size=8192' turbo run build", @@ -21,7 +21,7 @@ }, "devDependencies": { "@edgeandnode/eslint-config": "^2.0.3", - "@types/node": "^22.18.13", + "@types/node": "^22.19.1", "eslint": "^8.57.1", "eslint-plugin-mdx": "^3.6.2", "prettier": "^3.6.2", @@ -31,7 +31,7 @@ "remark-lint-heading-increment": "^4.0.1", "remark-lint-no-heading-punctuation": "^4.0.1", "remark-lint-restrict-elements": "workspace:*", - "turbo": "^2.5.8", + "turbo": "^2.6.1", "typescript": "^5.9.3" }, "resolutions": { diff --git a/packages/og-image/package.json b/packages/og-image/package.json index 832d8bdf211a..fe8c495f180f 100644 --- a/packages/og-image/package.json +++ b/packages/og-image/package.json @@ -16,7 +16,7 @@ "yoga-wasm-web": "^0.3.3" }, "devDependencies": { - "@cloudflare/workers-types": "^4.20251014.0", + "@cloudflare/workers-types": "^4.20251111.0", "@types/react": "^18.3.26", "jest-image-snapshot": "^6.5.1", "tsx": "4.20.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1a92718e0d27..5dd7d43cab72 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^2.0.3 version: 2.0.3(eslint@8.57.1)(typescript@5.9.3) '@types/node': - specifier: ^22.18.13 - version: 22.18.13 + specifier: ^22.19.1 + version: 22.19.1 eslint: specifier: ^8.57.1 version: 8.57.1 @@ -45,8 +45,8 @@ importers: specifier: workspace:* version: link:packages/remark-lint-restrict-elements turbo: - specifier: ^2.5.8 - version: 2.5.8 + specifier: ^2.6.1 + version: 2.6.1 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -67,8 +67,8 @@ importers: version: 0.3.3 devDependencies: '@cloudflare/workers-types': - specifier: ^4.20251014.0 - version: 4.20251014.0 + specifier: ^4.20251111.0 + version: 4.20251111.0 '@types/react': specifier: ^18.3.26 version: 18.3.26 @@ -83,10 +83,10 @@ importers: version: 5.9.3 vitest: specifier: ^2.1.9 - version: 2.1.9(@types/node@22.18.13)(jsdom@24.1.3) + version: 2.1.9(@types/node@22.19.1)(jsdom@24.1.3) wrangler: specifier: ^3.114.15 - version: 3.114.15(@cloudflare/workers-types@4.20251014.0) + version: 3.114.15(@cloudflare/workers-types@4.20251111.0) packages/remark-lint-restrict-elements: dependencies: @@ -101,16 +101,16 @@ importers: dependencies: '@docsearch/react': specifier: ^3.9.0 - version: 3.9.0(@algolia/client-search@5.41.0)(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) + version: 3.9.0(@algolia/client-search@5.43.0)(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) '@edgeandnode/common': specifier: ^7.0.4 - version: 7.0.4(hardhat@2.26.4(typescript@5.9.3)) + version: 7.0.4(hardhat@2.27.0(typescript@5.9.3)) '@edgeandnode/gds': - specifier: ^6.7.7 - version: 6.7.7(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(dayjs@1.11.18)(hardhat@2.26.4(typescript@5.9.3))(next@14.2.33(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(tsx@4.20.4)(typescript@5.9.3)(yaml@2.8.1) + specifier: ^6.7.8 + version: 6.7.8(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(dayjs@1.11.19)(hardhat@2.27.0(typescript@5.9.3))(next@14.2.33(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(tsx@4.20.4)(typescript@5.9.3)(yaml@2.8.1) '@edgeandnode/go': - specifier: ^10.3.11 - version: 10.3.11(dfa957e19fa4f36ba7d66f8a19ea1182) + specifier: ^10.3.12 + version: 10.3.12(6641a258c3859c1d574d99583aa5f0f3) '@emotion/react': specifier: ^11.14.0 version: 11.14.0(@types/react@18.3.26)(react@18.3.1) @@ -121,8 +121,8 @@ importers: specifier: ^0.7.1 version: 0.7.1 '@react-hookz/web': - specifier: ^25.1.1 - version: 25.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^25.2.0 + version: 25.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@readme/httpsnippet': specifier: ^11.0.0 version: 11.0.0 @@ -148,8 +148,8 @@ importers: specifier: ^13.2.0 version: 13.2.0 mixpanel-browser: - specifier: ^2.71.0 - version: 2.71.0 + specifier: ^2.71.1 + version: 2.71.1 motion: specifier: ^12.23.24 version: 12.23.24(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -218,8 +218,8 @@ importers: specifier: ^2.66.0 version: 2.66.0 '@types/node': - specifier: ^22.18.13 - version: 22.18.13 + specifier: ^22.19.1 + version: 22.19.1 '@types/react': specifier: ^18.3.26 version: 18.3.26 @@ -230,11 +230,11 @@ importers: specifier: ^4.0.0 version: 4.0.0 autoprefixer: - specifier: ^10.4.21 - version: 10.4.21(postcss@8.5.6) + specifier: ^10.4.22 + version: 10.4.22(postcss@8.5.6) fast-xml-parser: - specifier: ^5.3.0 - version: 5.3.0 + specifier: ^5.3.1 + version: 5.3.1 postcss: specifier: ^8.5.6 version: 8.5.6 @@ -256,8 +256,8 @@ packages: '@adraffy/ens-normalize@1.11.1': resolution: {integrity: sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ==} - '@algolia/abtesting@1.7.0': - resolution: {integrity: sha512-hOEItTFOvNLI6QX6TSGu7VE4XcUcdoKZT8NwDY+5mWwu87rGhkjlY7uesKTInlg6Sh8cyRkDBYRumxbkoBbBhA==} + '@algolia/abtesting@1.9.0': + resolution: {integrity: sha512-4q9QCxFPiDIx1n5w41A1JMkrXI8p0ugCQnCGFtCKZPmWtwgWCqwVRncIbp++81xSELFZVQUfiB7Kbsla1tIBSw==} engines: {node: '>= 14.0.0'} '@algolia/autocomplete-core@1.17.9': @@ -280,56 +280,56 @@ packages: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/client-abtesting@5.41.0': - resolution: {integrity: sha512-iRuvbEyuHCAhIMkyzG3tfINLxTS7mSKo7q8mQF+FbQpWenlAlrXnfZTN19LRwnVjx0UtAdZq96ThMWGS6cQ61A==} + '@algolia/client-abtesting@5.43.0': + resolution: {integrity: sha512-YsKYkohIMxiYEAu8nppZi5EioYDUIo9Heoor8K8vMUnkUtGCOEU/Q4p5OWaYSSBx3evo09Ga9rG4jsKViIcDzQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-analytics@5.41.0': - resolution: {integrity: sha512-OIPVbGfx/AO8l1V70xYTPSeTt/GCXPEl6vQICLAXLCk9WOUbcLGcy6t8qv0rO7Z7/M/h9afY6Af8JcnI+FBFdQ==} + '@algolia/client-analytics@5.43.0': + resolution: {integrity: sha512-kDGJWt3nzf0nu5RPFXQhNGl6Q0cn35fazxVWXhd0Fw3Vo6gcVfrcezcBenHb66laxnVJ7uwr1uKhmsu3Wy25sQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-common@5.41.0': - resolution: {integrity: sha512-8Mc9niJvfuO8dudWN5vSUlYkz7U3M3X3m1crDLc9N7FZrIVoNGOUETPk3TTHviJIh9y6eKZKbq1hPGoGY9fqPA==} + '@algolia/client-common@5.43.0': + resolution: {integrity: sha512-RAFipkAnI8xhL/Sgi/gpXgNWN5HDM6F7z4NNNOcI8ZMYysZEBsqVXojg/WdKEKkQCOHVTZ3mooIjc5BaQdyVtA==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.41.0': - resolution: {integrity: sha512-vXzvCGZS6Ixxn+WyzGUVDeR3HO/QO5POeeWy1kjNJbEf6f+tZSI+OiIU9Ha+T3ntV8oXFyBEuweygw4OLmgfiQ==} + '@algolia/client-insights@5.43.0': + resolution: {integrity: sha512-PmVs83THco8Qig3cAjU9a5eAGaSxsfgh7PdmWMQFE/MCmIcLPv0MVpgfcGGyPjZGYvPC4cg+3q7JJxcNSsEaTg==} engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@5.41.0': - resolution: {integrity: sha512-tkymXhmlcc7w/HEvLRiHcpHxLFcUB+0PnE9FcG6hfFZ1ZXiWabH+sX+uukCVnluyhfysU9HRU2kUmUWfucx1Dg==} + '@algolia/client-personalization@5.43.0': + resolution: {integrity: sha512-Bs4zMLXvkAr19FSOZWNizlNUpRFxZVxtvyEJ+q3n3+hPZUcKjo0LIh15qghhRcQPEihjBN6Gr/U+AqRfOCsvnA==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.41.0': - resolution: {integrity: sha512-vyXDoz3kEZnosNeVQQwf0PbBt5IZJoHkozKRIsYfEVm+ylwSDFCW08qy2YIVSHdKy69/rWN6Ue/6W29GgVlmKQ==} + '@algolia/client-query-suggestions@5.43.0': + resolution: {integrity: sha512-pwHv+z8TZAKbwAWt9+v2gIqlqcCFiMdteTdgdPn2yOBRx4WUQdsIWAaG9GiV3by8jO51FuFQnTohhauuI63y3A==} engines: {node: '>= 14.0.0'} - '@algolia/client-search@5.41.0': - resolution: {integrity: sha512-G9I2atg1ShtFp0t7zwleP6aPS4DcZvsV4uoQOripp16aR6VJzbEnKFPLW4OFXzX7avgZSpYeBAS+Zx4FOgmpPw==} + '@algolia/client-search@5.43.0': + resolution: {integrity: sha512-wKy6x6fKcnB1CsfeNNdGp4dzLzz04k8II3JLt6Sp81F8s57Ks3/K9qsysmL9SJa8P486s719bBttVLE8JJYurQ==} engines: {node: '>= 14.0.0'} - '@algolia/ingestion@1.41.0': - resolution: {integrity: sha512-sxU/ggHbZtmrYzTkueTXXNyifn+ozsLP+Wi9S2hOBVhNWPZ8uRiDTDcFyL7cpCs1q72HxPuhzTP5vn4sUl74cQ==} + '@algolia/ingestion@1.43.0': + resolution: {integrity: sha512-TA21h2KwqCUyPXhSAWF3R2UES/FAnzjaVPDI6cRPXeadX+pdrGN0GWat5gSUATJVcMHECn+lGvuMMRxO86o2Pg==} engines: {node: '>= 14.0.0'} - '@algolia/monitoring@1.41.0': - resolution: {integrity: sha512-UQ86R6ixraHUpd0hn4vjgTHbViNO8+wA979gJmSIsRI3yli2v89QSFF/9pPcADR6PbtSio/99PmSNxhZy+CR3Q==} + '@algolia/monitoring@1.43.0': + resolution: {integrity: sha512-rvWVEiA1iLcFmHS3oIXGIBreHIxNZqEFDjiNyRtLEffgd62kul2DjXM7H5bOouDMTo1ywMWT9OeQnzrhlTGAwA==} engines: {node: '>= 14.0.0'} - '@algolia/recommend@5.41.0': - resolution: {integrity: sha512-DxP9P8jJ8whJOnvmyA5mf1wv14jPuI0L25itGfOHSU6d4ZAjduVfPjTS3ROuUN5CJoTdlidYZE+DtfWHxJwyzQ==} + '@algolia/recommend@5.43.0': + resolution: {integrity: sha512-scCijGd38npvH2uHbYhO4f1SR8It5R2FZqOjNcMfw/7Ph7Hxvl+cd7Mo6RzIxsNRcLW5RrwjtpTK3gpDe8r/WQ==} engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@5.41.0': - resolution: {integrity: sha512-C21J+LYkE48fDwtLX7YXZd2Fn7Fe0/DOEtvohSfr/ODP8dGDhy9faaYeWB0n1AvmZltugjkjAXT7xk0CYNIXsQ==} + '@algolia/requester-browser-xhr@5.43.0': + resolution: {integrity: sha512-jMkRLWJYr4Hcmpl89e4vIWs69Mkf8Uwx7MG5ZKk2UxW3G3TmouGjI0Ph5mVPmg3Jf1UG3AdmVDc4XupzycT1Jw==} engines: {node: '>= 14.0.0'} - '@algolia/requester-fetch@5.41.0': - resolution: {integrity: sha512-FhJy/+QJhMx1Hajf2LL8og4J7SqOAHiAuUXq27cct4QnPhSIuIGROzeRpfDNH5BUbq22UlMuGd44SeD4HRAqvA==} + '@algolia/requester-fetch@5.43.0': + resolution: {integrity: sha512-KyQiVz+HdYtissC0J9KIGhHhKytQyJX+82GVsbv5rSCXbETnAoojvUyCn+3KRtWUvMDYCsZ+Y7hM71STTUJUJg==} engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@5.41.0': - resolution: {integrity: sha512-tYv3rGbhBS0eZ5D8oCgV88iuWILROiemk+tQ3YsAKZv2J4kKUNvKkrX/If/SreRy4MGP2uJzMlyKcfSfO2mrsQ==} + '@algolia/requester-node-http@5.43.0': + resolution: {integrity: sha512-UnUBNY0U+oT0bkYDsEqVsCkErC2w7idk4CRiLSzicqY8tGylD9oP0j13X/fse1CuiAFCCr3jfl+cBlN6dC0OFw==} engines: {node: '>= 14.0.0'} '@alloc/quick-lru@5.2.0': @@ -470,8 +470,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20251014.0': - resolution: {integrity: sha512-tEW98J/kOa0TdylIUOrLKRdwkUw0rvvYVlo+Ce0mqRH3c8kSoxLzUH9gfCvwLe0M89z1RkzFovSKAW2Nwtyn3w==} + '@cloudflare/workers-types@4.20251111.0': + resolution: {integrity: sha512-C8BgQRJlnxcUGycNr8pSKs7WBDQwc43p3pnuGv+Lc0KR2y6raR/9Rs7/lPqQ086ECYSiNqU6IPcbeszKbg4LXA==} '@corex/deepmerge@4.0.43': resolution: {integrity: sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==} @@ -545,8 +545,8 @@ packages: typescript: optional: true - '@edgeandnode/gds@6.7.7': - resolution: {integrity: sha512-1/06hAKBMFfwdOLul/tLbsWIIXQcF9COgQjFAVbmhuhfzkQRL+VrM5vXXAiAd3sJqicKmpqpNnuLFJ1eiMOFWQ==} + '@edgeandnode/gds@6.7.8': + resolution: {integrity: sha512-2tqMNFAIT5tW2SMxjWGci9bQcLyvzOSeHs9RL6iSe6keTVHfnQCyefnQ58FjCEOhwv32Ki3dulN2xM6TGR6++A==} peerDependencies: '@emotion/react': ^11 dayjs: ^1.11 @@ -558,12 +558,12 @@ packages: next: optional: true - '@edgeandnode/go@10.3.11': - resolution: {integrity: sha512-/VFMhIKxdMay2dHzrb98znfRssBoRPNRuGIVN/wDggmaDsZULDMf5TkfGZWsWZI+QvdNuGsN5juNIjuTbDMIww==} + '@edgeandnode/go@10.3.12': + resolution: {integrity: sha512-6B+Fo9TNYxqdrJ/cmsn9arhcxCTyz9rUPaXsw9dxDjJB5KMciIFphj5RH3BGzF27kJEydDHEaqLKQmyUsWEQeg==} peerDependencies: '@edgeandnode/common': ^7.0.4 '@edgeandnode/ens': ^2.3.1 - '@edgeandnode/gds': ^6.7.7 + '@edgeandnode/gds': ^6.7.8 '@emotion/react': ^11 '@tanstack/react-query': ^5 graphql: '>=16.9' @@ -576,11 +576,11 @@ packages: next: optional: true - '@emnapi/core@1.6.0': - resolution: {integrity: sha512-zq/ay+9fNIJJtJiZxdTnXS20PllcYMX3OE23ESc4HK/bdYu3cOWYVhsOhVnXALfU/uqJIxn5NBPd9z4v+SfoSg==} + '@emnapi/core@1.7.0': + resolution: {integrity: sha512-pJdKGq/1iquWYtv1RRSljZklxHCOCAJFJrImO5ZLKPJVJlVUcs8yFwNQlqS0Lo8xT1VAXXTCZocF9n26FWEKsw==} - '@emnapi/runtime@1.6.0': - resolution: {integrity: sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA==} + '@emnapi/runtime@1.7.0': + resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==} '@emnapi/wasi-threads@1.1.0': resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} @@ -644,8 +644,8 @@ packages: '@ensdomains/content-hash@3.1.0-rc.1': resolution: {integrity: sha512-OzdkXgdFmduzcJKU4KRkkJkQHnm5p7m7FkX8k+bHOEoOIzc0ueGT/Jay4nnb60wNk1wSHRmzY+hHBMpFDiGReg==} - '@ensdomains/dnsprovejs@0.5.1': - resolution: {integrity: sha512-nfm4ggpK5YBVwVwLZKF9WPjRGRTL9aUxX2O4pqv/AnQCz3WeGHsW7VhVFLj2s4EoWSzCXwR1E6nuqgUwnH692w==} + '@ensdomains/dnsprovejs@0.5.2': + resolution: {integrity: sha512-lSuYnUvUV+kBviQ82XUldtpiE0lA4gWrCilsoCWbTKtc/fH6re9NaTkhbPEy/7OF96MMAG1BDnuoTsfSMAzFBg==} engines: {node: '>=16.8'} '@ensdomains/ensjs@4.0.2': @@ -669,8 +669,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.25.11': - resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==} + '@esbuild/aix-ppc64@0.25.12': + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -687,8 +687,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.25.11': - resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==} + '@esbuild/android-arm64@0.25.12': + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -705,8 +705,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.25.11': - resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==} + '@esbuild/android-arm@0.25.12': + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -723,8 +723,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.25.11': - resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==} + '@esbuild/android-x64@0.25.12': + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -741,8 +741,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.25.11': - resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==} + '@esbuild/darwin-arm64@0.25.12': + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -759,8 +759,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.25.11': - resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==} + '@esbuild/darwin-x64@0.25.12': + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -777,8 +777,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.25.11': - resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==} + '@esbuild/freebsd-arm64@0.25.12': + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -795,8 +795,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.11': - resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==} + '@esbuild/freebsd-x64@0.25.12': + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -813,8 +813,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.25.11': - resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==} + '@esbuild/linux-arm64@0.25.12': + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -831,8 +831,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.25.11': - resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==} + '@esbuild/linux-arm@0.25.12': + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -849,8 +849,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.25.11': - resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==} + '@esbuild/linux-ia32@0.25.12': + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -867,8 +867,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.25.11': - resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==} + '@esbuild/linux-loong64@0.25.12': + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -885,8 +885,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.25.11': - resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==} + '@esbuild/linux-mips64el@0.25.12': + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -903,8 +903,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.25.11': - resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==} + '@esbuild/linux-ppc64@0.25.12': + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -921,8 +921,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.25.11': - resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==} + '@esbuild/linux-riscv64@0.25.12': + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -939,8 +939,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.25.11': - resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==} + '@esbuild/linux-s390x@0.25.12': + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -957,14 +957,14 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.25.11': - resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==} + '@esbuild/linux-x64@0.25.12': + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.11': - resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==} + '@esbuild/netbsd-arm64@0.25.12': + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -981,14 +981,14 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.11': - resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==} + '@esbuild/netbsd-x64@0.25.12': + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.11': - resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==} + '@esbuild/openbsd-arm64@0.25.12': + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -1005,14 +1005,14 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.11': - resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==} + '@esbuild/openbsd-x64@0.25.12': + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.11': - resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==} + '@esbuild/openharmony-arm64@0.25.12': + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -1029,8 +1029,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.25.11': - resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==} + '@esbuild/sunos-x64@0.25.12': + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -1047,8 +1047,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.25.11': - resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==} + '@esbuild/win32-arm64@0.25.12': + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -1065,8 +1065,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.25.11': - resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==} + '@esbuild/win32-ia32@0.25.12': + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -1083,8 +1083,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.11': - resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==} + '@esbuild/win32-x64@0.25.12': + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -1695,37 +1695,37 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} - '@nomicfoundation/edr-darwin-arm64@0.11.3': - resolution: {integrity: sha512-w0tksbdtSxz9nuzHKsfx4c2mwaD0+l5qKL2R290QdnN9gi9AV62p9DHkOgfBdyg6/a6ZlnQqnISi7C9avk/6VA==} - engines: {node: '>= 18'} + '@nomicfoundation/edr-darwin-arm64@0.12.0-next.14': + resolution: {integrity: sha512-sl0DibKSUOS7JXhUtaQ6FJUY+nk+uq5gx+Fyd9iiqs8awZPNn6KSuvV1EbWCi+yd3mrxgZ/wO8E77C1Dxj4xQA==} + engines: {node: '>= 20'} - '@nomicfoundation/edr-darwin-x64@0.11.3': - resolution: {integrity: sha512-QR4jAFrPbOcrO7O2z2ESg+eUeIZPe2bPIlQYgiJ04ltbSGW27FblOzdd5+S3RoOD/dsZGKAvvy6dadBEl0NgoA==} - engines: {node: '>= 18'} + '@nomicfoundation/edr-darwin-x64@0.12.0-next.14': + resolution: {integrity: sha512-lfmatc1MSOaw0rDFB+ynnAGz5TWm3hSeY/+zDpPZghMODZelXm4JCqF41CQ6paLsW3X/pXcHM1HUGCUBWeoI/A==} + engines: {node: '>= 20'} - '@nomicfoundation/edr-linux-arm64-gnu@0.11.3': - resolution: {integrity: sha512-Ktjv89RZZiUmOFPspuSBVJ61mBZQ2+HuLmV67InNlh9TSUec/iDjGIwAn59dx0bF/LOSrM7qg5od3KKac4LJDQ==} - engines: {node: '>= 18'} + '@nomicfoundation/edr-linux-arm64-gnu@0.12.0-next.14': + resolution: {integrity: sha512-sWun3PhVgat8d4lg1d5MAXSIsFlSMBzvrpMSDFNOU9hPJEclSHbHBMRcarQuGqwm/5ZBzTwCS25u78A+UATTrg==} + engines: {node: '>= 20'} - '@nomicfoundation/edr-linux-arm64-musl@0.11.3': - resolution: {integrity: sha512-B3sLJx1rL2E9pfdD4mApiwOZSrX0a/KQSBWdlq1uAhFKqkl00yZaY4LejgZndsJAa4iKGQJlGnw4HCGeVt0+jA==} - engines: {node: '>= 18'} + '@nomicfoundation/edr-linux-arm64-musl@0.12.0-next.14': + resolution: {integrity: sha512-omWKioD8fFp7ayCeSDu2CqvG78+oYw8zdVECDwZVmE0jpszRCsTufNYflWRQnlGqH6GqjEUwq2c3yLxFgOTjFg==} + engines: {node: '>= 20'} - '@nomicfoundation/edr-linux-x64-gnu@0.11.3': - resolution: {integrity: sha512-D/4cFKDXH6UYyKPu6J3Y8TzW11UzeQI0+wS9QcJzjlrrfKj0ENW7g9VihD1O2FvXkdkTjcCZYb6ai8MMTCsaVw==} - engines: {node: '>= 18'} + '@nomicfoundation/edr-linux-x64-gnu@0.12.0-next.14': + resolution: {integrity: sha512-vk0s4SaC7s1wa98W24a4zqunTK/yIcSEnsSLRM/Nl+JJs6iqS8tvmnh/BbFINORMBJ065OWc10qw2Lsbu/rxtg==} + engines: {node: '>= 20'} - '@nomicfoundation/edr-linux-x64-musl@0.11.3': - resolution: {integrity: sha512-ergXuIb4nIvmf+TqyiDX5tsE49311DrBky6+jNLgsGDTBaN1GS3OFwFS8I6Ri/GGn6xOaT8sKu3q7/m+WdlFzg==} - engines: {node: '>= 18'} + '@nomicfoundation/edr-linux-x64-musl@0.12.0-next.14': + resolution: {integrity: sha512-/xKQD6c2RXQBIb30iTeh/NrMdYvHs6Nd+2UXS6wxlfX7GzRPOkpVDiDGD7Sda82JI459KH67dADOD6CpX8cpHQ==} + engines: {node: '>= 20'} - '@nomicfoundation/edr-win32-x64-msvc@0.11.3': - resolution: {integrity: sha512-snvEf+WB3OV0wj2A7kQ+ZQqBquMcrozSLXcdnMdEl7Tmn+KDCbmFKBt3Tk0X3qOU4RKQpLPnTxdM07TJNVtung==} - engines: {node: '>= 18'} + '@nomicfoundation/edr-win32-x64-msvc@0.12.0-next.14': + resolution: {integrity: sha512-GZcyGdOoLWnUtfPU+6B1vUi4fwf3bouSRf3xuKFHz3p/WNhpDK+8Esq3UmOmYAZWRgFT0ZR6XUk9H2owGDTVvQ==} + engines: {node: '>= 20'} - '@nomicfoundation/edr@0.11.3': - resolution: {integrity: sha512-kqILRkAd455Sd6v8mfP3C1/0tCOynJWY+Ir+k/9Boocu2kObCrsFgG+ZWB7fSBVdd9cPVSNrnhWS+V+PEo637g==} - engines: {node: '>= 18'} + '@nomicfoundation/edr@0.12.0-next.14': + resolution: {integrity: sha512-MGHY2x7JaNdkqlQxFBYoM7Miw2EqsQrI3ReVZMwLP5mULSRTAOnt3hCw6cnjXxGi991HnejNAedJofke6OdqqA==} + engines: {node: '>= 20'} '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': resolution: {integrity: sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==} @@ -1978,8 +1978,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-label@2.1.7': - resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==} + '@radix-ui/react-label@2.1.8': + resolution: {integrity: sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2043,6 +2043,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-portal@1.1.10': + resolution: {integrity: sha512-4kY9IVa6+9nJPsYmngK5Uk2kUmZnv7ChhHAFeQ5oaj8jrR1bIi3xww8nH71pz1/Ve4d/cXO3YxT8eikt1B0a8w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-portal@1.1.9': resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} peerDependencies: @@ -2082,6 +2095,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-primitive@2.1.4': + resolution: {integrity: sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-roving-focus@1.1.11': resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==} peerDependencies: @@ -2117,6 +2143,15 @@ packages: '@types/react': optional: true + '@radix-ui/react-slot@1.2.4': + resolution: {integrity: sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@radix-ui/react-switch@1.2.6': resolution: {integrity: sha512-bByzr1+ep1zk4VubeEVViV592vu2lHE2BZY5OnzehZqOOgogN80+mNtCqPkhn2gklJqOpxWgPoYTSnhBCqpOXQ==} peerDependencies: @@ -2517,8 +2552,8 @@ packages: 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 - '@react-hookz/web@25.1.1': - resolution: {integrity: sha512-o1BA+5Z8PCuAnxF7+2TZI+xGBtzyLw8z/flD8AMeJXILYTM8HkI0g41oM7IW/qjUDKx30HKceQQpCKqFGj+iIw==} + '@react-hookz/web@25.2.0': + resolution: {integrity: sha512-60iU7lGnZOjdkNVpu/8xNEnTPVQQ5ckauIEvsh9S+58v2j/mY1lhgNas+w+9UF8VoUhWC4/cpaxT64EUC6DgsQ==} engines: {node: '>=18.0.0'} peerDependencies: js-cookie: ^3.0.5 @@ -2819,121 +2854,121 @@ packages: resolution: {integrity: sha512-FqALmHI8D4o6lk/LRWDnhw95z5eO+eAa6ORjVg09YRR7BkcM6oPHU9uyC0gtQG5vpFLvgpeU4+zEAz2H8APHNw==} engines: {node: '>= 10'} - '@rollup/rollup-android-arm-eabi@4.52.5': - resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} + '@rollup/rollup-android-arm-eabi@4.53.2': + resolution: {integrity: sha512-yDPzwsgiFO26RJA4nZo8I+xqzh7sJTZIWQOxn+/XOdPE31lAvLIYCKqjV+lNH/vxE2L2iH3plKxDCRK6i+CwhA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.52.5': - resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==} + '@rollup/rollup-android-arm64@4.53.2': + resolution: {integrity: sha512-k8FontTxIE7b0/OGKeSN5B6j25EuppBcWM33Z19JoVT7UTXFSo3D9CdU39wGTeb29NO3XxpMNauh09B+Ibw+9g==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.52.5': - resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==} + '@rollup/rollup-darwin-arm64@4.53.2': + resolution: {integrity: sha512-A6s4gJpomNBtJ2yioj8bflM2oogDwzUiMl2yNJ2v9E7++sHrSrsQ29fOfn5DM/iCzpWcebNYEdXpaK4tr2RhfQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.52.5': - resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==} + '@rollup/rollup-darwin-x64@4.53.2': + resolution: {integrity: sha512-e6XqVmXlHrBlG56obu9gDRPW3O3hLxpwHpLsBJvuI8qqnsrtSZ9ERoWUXtPOkY8c78WghyPHZdmPhHLWNdAGEw==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.52.5': - resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==} + '@rollup/rollup-freebsd-arm64@4.53.2': + resolution: {integrity: sha512-v0E9lJW8VsrwPux5Qe5CwmH/CF/2mQs6xU1MF3nmUxmZUCHazCjLgYvToOk+YuuUqLQBio1qkkREhxhc656ViA==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.52.5': - resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==} + '@rollup/rollup-freebsd-x64@4.53.2': + resolution: {integrity: sha512-ClAmAPx3ZCHtp6ysl4XEhWU69GUB1D+s7G9YjHGhIGCSrsg00nEGRRZHmINYxkdoJehde8VIsDC5t9C0gb6yqA==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.52.5': - resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==} + '@rollup/rollup-linux-arm-gnueabihf@4.53.2': + resolution: {integrity: sha512-EPlb95nUsz6Dd9Qy13fI5kUPXNSljaG9FiJ4YUGU1O/Q77i5DYFW5KR8g1OzTcdZUqQQ1KdDqsTohdFVwCwjqg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.52.5': - resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==} + '@rollup/rollup-linux-arm-musleabihf@4.53.2': + resolution: {integrity: sha512-BOmnVW+khAUX+YZvNfa0tGTEMVVEerOxN0pDk2E6N6DsEIa2Ctj48FOMfNDdrwinocKaC7YXUZ1pHlKpnkja/Q==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.52.5': - resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==} + '@rollup/rollup-linux-arm64-gnu@4.53.2': + resolution: {integrity: sha512-Xt2byDZ+6OVNuREgBXr4+CZDJtrVso5woFtpKdGPhpTPHcNG7D8YXeQzpNbFRxzTVqJf7kvPMCub/pcGUWgBjA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.52.5': - resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==} + '@rollup/rollup-linux-arm64-musl@4.53.2': + resolution: {integrity: sha512-+LdZSldy/I9N8+klim/Y1HsKbJ3BbInHav5qE9Iy77dtHC/pibw1SR/fXlWyAk0ThnpRKoODwnAuSjqxFRDHUQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.52.5': - resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==} + '@rollup/rollup-linux-loong64-gnu@4.53.2': + resolution: {integrity: sha512-8ms8sjmyc1jWJS6WdNSA23rEfdjWB30LH8Wqj0Cqvv7qSHnvw6kgMMXRdop6hkmGPlyYBdRPkjJnj3KCUHV/uQ==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.52.5': - resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==} + '@rollup/rollup-linux-ppc64-gnu@4.53.2': + resolution: {integrity: sha512-3HRQLUQbpBDMmzoxPJYd3W6vrVHOo2cVW8RUo87Xz0JPJcBLBr5kZ1pGcQAhdZgX9VV7NbGNipah1omKKe23/g==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.52.5': - resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==} + '@rollup/rollup-linux-riscv64-gnu@4.53.2': + resolution: {integrity: sha512-fMjKi+ojnmIvhk34gZP94vjogXNNUKMEYs+EDaB/5TG/wUkoeua7p7VCHnE6T2Tx+iaghAqQX8teQzcvrYpaQA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.52.5': - resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==} + '@rollup/rollup-linux-riscv64-musl@4.53.2': + resolution: {integrity: sha512-XuGFGU+VwUUV5kLvoAdi0Wz5Xbh2SrjIxCtZj6Wq8MDp4bflb/+ThZsVxokM7n0pcbkEr2h5/pzqzDYI7cCgLQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.52.5': - resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==} + '@rollup/rollup-linux-s390x-gnu@4.53.2': + resolution: {integrity: sha512-w6yjZF0P+NGzWR3AXWX9zc0DNEGdtvykB03uhonSHMRa+oWA6novflo2WaJr6JZakG2ucsyb+rvhrKac6NIy+w==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.52.5': - resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==} + '@rollup/rollup-linux-x64-gnu@4.53.2': + resolution: {integrity: sha512-yo8d6tdfdeBArzC7T/PnHd7OypfI9cbuZzPnzLJIyKYFhAQ8SvlkKtKBMbXDxe1h03Rcr7u++nFS7tqXz87Gtw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.52.5': - resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==} + '@rollup/rollup-linux-x64-musl@4.53.2': + resolution: {integrity: sha512-ah59c1YkCxKExPP8O9PwOvs+XRLKwh/mV+3YdKqQ5AMQ0r4M4ZDuOrpWkUaqO7fzAHdINzV9tEVu8vNw48z0lA==} cpu: [x64] os: [linux] - '@rollup/rollup-openharmony-arm64@4.52.5': - resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==} + '@rollup/rollup-openharmony-arm64@4.53.2': + resolution: {integrity: sha512-4VEd19Wmhr+Zy7hbUsFZ6YXEiP48hE//KPLCSVNY5RMGX2/7HZ+QkN55a3atM1C/BZCGIgqN+xrVgtdak2S9+A==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.52.5': - resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==} + '@rollup/rollup-win32-arm64-msvc@4.53.2': + resolution: {integrity: sha512-IlbHFYc/pQCgew/d5fslcy1KEaYVCJ44G8pajugd8VoOEI8ODhtb/j8XMhLpwHCMB3yk2J07ctup10gpw2nyMA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.52.5': - resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==} + '@rollup/rollup-win32-ia32-msvc@4.53.2': + resolution: {integrity: sha512-lNlPEGgdUfSzdCWU176ku/dQRnA7W+Gp8d+cWv73jYrb8uT7HTVVxq62DUYxjbaByuf1Yk0RIIAbDzp+CnOTFg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.52.5': - resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==} + '@rollup/rollup-win32-x64-gnu@4.53.2': + resolution: {integrity: sha512-S6YojNVrHybQis2lYov1sd+uj7K0Q05NxHcGktuMMdIQ2VixGwAfbJ23NnlvvVV1bdpR2m5MsNBViHJKcA4ADw==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.52.5': - resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==} + '@rollup/rollup-win32-x64-msvc@4.53.2': + resolution: {integrity: sha512-k+/Rkcyx//P6fetPoLMb8pBeqJBNGx81uuf7iljX9++yNBVRDQgD04L+SVXmXmh5ZP4/WOp4mWF0kmi06PW2tA==} cpu: [x64] os: [win32] '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@rushstack/eslint-patch@1.14.1': - resolution: {integrity: sha512-jGTk8UD/RdjsNZW8qq10r0RBvxL8OWtoT+kImlzPDFilmozzM+9QmIJsmze9UiSBrFU45ZxhTYBypn9q9z/VfQ==} + '@rushstack/eslint-patch@1.15.0': + resolution: {integrity: sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==} '@scure/base@1.1.9': resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} @@ -2990,32 +3025,32 @@ packages: '@shikijs/core@1.29.2': resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==} - '@shikijs/core@3.14.0': - resolution: {integrity: sha512-qRSeuP5vlYHCNUIrpEBQFO7vSkR7jn7Kv+5X3FO/zBKVDGQbcnlScD3XhkrHi/R8Ltz0kEjvFR9Szp/XMRbFMw==} + '@shikijs/core@3.15.0': + resolution: {integrity: sha512-8TOG6yG557q+fMsSVa8nkEDOZNTSxjbbR8l6lF2gyr6Np+jrPlslqDxQkN6rMXCECQ3isNPZAGszAfYoJOPGlg==} '@shikijs/engine-javascript@1.29.2': resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==} - '@shikijs/engine-javascript@3.14.0': - resolution: {integrity: sha512-3v1kAXI2TsWQuwv86cREH/+FK9Pjw3dorVEykzQDhwrZj0lwsHYlfyARaKmn6vr5Gasf8aeVpb8JkzeWspxOLQ==} + '@shikijs/engine-javascript@3.15.0': + resolution: {integrity: sha512-ZedbOFpopibdLmvTz2sJPJgns8Xvyabe2QbmqMTz07kt1pTzfEvKZc5IqPVO/XFiEbbNyaOpjPBkkr1vlwS+qg==} '@shikijs/engine-oniguruma@1.29.2': resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==} - '@shikijs/engine-oniguruma@3.14.0': - resolution: {integrity: sha512-TNcYTYMbJyy+ZjzWtt0bG5y4YyMIWC2nyePz+CFMWqm+HnZZyy9SWMgo8Z6KBJVIZnx8XUXS8U2afO6Y0g1Oug==} + '@shikijs/engine-oniguruma@3.15.0': + resolution: {integrity: sha512-HnqFsV11skAHvOArMZdLBZZApRSYS4LSztk2K3016Y9VCyZISnlYUYsL2hzlS7tPqKHvNqmI5JSUJZprXloMvA==} '@shikijs/langs@1.29.2': resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==} - '@shikijs/langs@3.14.0': - resolution: {integrity: sha512-DIB2EQY7yPX1/ZH7lMcwrK5pl+ZkP/xoSpUzg9YC8R+evRCCiSQ7yyrvEyBsMnfZq4eBzLzBlugMyTAf13+pzg==} + '@shikijs/langs@3.15.0': + resolution: {integrity: sha512-WpRvEFvkVvO65uKYW4Rzxs+IG0gToyM8SARQMtGGsH4GDMNZrr60qdggXrFOsdfOVssG/QQGEl3FnJ3EZ+8w8A==} '@shikijs/themes@1.29.2': resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==} - '@shikijs/themes@3.14.0': - resolution: {integrity: sha512-fAo/OnfWckNmv4uBoUu6dSlkcBc+SA1xzj5oUSaz5z3KqHtEbUypg/9xxgJARtM6+7RVm0Q6Xnty41xA1ma1IA==} + '@shikijs/themes@3.15.0': + resolution: {integrity: sha512-8ow2zWb1IDvCKjYb0KiLNrK4offFdkfNVPXb1OZykpLCzRU6j+efkY+Y7VQjNlNFXonSw+4AOdGYtmqykDbRiQ==} '@shikijs/twoslash@1.29.2': resolution: {integrity: sha512-2S04ppAEa477tiaLfGEn1QJWbZUmbk8UoPbAEw4PifsrxkBXtAtOflIZJNtuCwz8ptc/TPxy7CO7gW4Uoi6o/g==} @@ -3023,8 +3058,8 @@ packages: '@shikijs/types@1.29.2': resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==} - '@shikijs/types@3.14.0': - resolution: {integrity: sha512-bQGgC6vrY8U/9ObG1Z/vTro+uclbjjD/uG58RvfxKZVD5p9Yc1ka3tVyEFy7BNJLzxuWyHH5NWynP9zZZS59eQ==} + '@shikijs/types@3.15.0': + resolution: {integrity: sha512-BnP+y/EQnhihgHy4oIAN+6FFtmfTekwOLsQbRw9hOKwqgNy8Bdsjq8B05oAt/ZgvIWWFrshV71ytOrlPfYjIJw==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -3096,11 +3131,11 @@ packages: 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 - '@tanstack/query-core@5.90.5': - resolution: {integrity: sha512-wLamYp7FaDq6ZnNehypKI5fNvxHPfTYylE0m/ZpuuzJfJqhR5Pxg9gvGBHZx4n7J+V5Rg5mZxHHTlv25Zt5u+w==} + '@tanstack/query-core@5.90.8': + resolution: {integrity: sha512-4E0RP/0GJCxSNiRF2kAqE/LQkTJVlL/QNU7gIJSptaseV9HP6kOuA+N11y4bZKZxa3QopK3ZuewwutHx6DqDXQ==} - '@tanstack/react-query@5.90.5': - resolution: {integrity: sha512-pN+8UWpxZkEJ/Rnnj2v2Sxpx1WFlaa9L6a4UO89p6tTQbeo+m0MS8oYDjbggrR8QcTyjKoYWKS3xJQGr3ExT8Q==} + '@tanstack/react-query@5.90.8': + resolution: {integrity: sha512-/3b9QGzkf4rE5/miL6tyhldQRlLXzMHcySOm/2Tm2OLEFE9P1ImkH0+OviDBSvyAvtAOJocar5xhd7vxdLi3aQ==} peerDependencies: react: ^18 || ^19 @@ -3321,8 +3356,8 @@ packages: '@types/nlcst@2.0.3': resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} - '@types/node@22.18.13': - resolution: {integrity: sha512-Bo45YKIjnmFtv6I1TuC8AaHBbqXtIo+Om5fE4QiU1Tj8QR/qt+8O3BAtOimG5IFmwaWiPmB3Mv3jtYzBA4Us2A==} + '@types/node@22.19.1': + resolution: {integrity: sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -3433,8 +3468,8 @@ packages: resolution: {integrity: sha512-f6UIliwBbRsgVLxIaBANF6w09tYqc6Y/qXdsrbEmXHyFA7ILiKrIwRFXe1yOg8M3cksgVsO9N7yuL2DdCGQKBA==} engines: {node: '>=10'} - '@uniswap/sdk-core@7.8.0': - resolution: {integrity: sha512-Mt/Qb3UswZhM42dhyIh57vOUiljxgD82H3v4aEkp3/zs4JwncnAzbrYBcQZF5RxN1uD3qX1r82YI7aNC8spB5g==} + '@uniswap/sdk-core@7.9.0': + resolution: {integrity: sha512-HHUFNK3LMi4KMQCAiHkdUyL62g/nrZLvNT44CY8RN4p8kWO6XYWzqdQt6OcjCsIbhMZ/Ifhe6Py5oOoccg/jUQ==} engines: {node: '>=10'} '@uniswap/swap-router-contracts@1.3.1': @@ -3562,8 +3597,8 @@ packages: cpu: [x64] os: [win32] - '@ver0/deep-equal@1.0.0': - resolution: {integrity: sha512-XKIlF1i6UJiyTL52mDrSDDgRX7Qr5yJ7ts9zn2liZEmhiAEum4XKrJRAWmHdFwCQeGBU+rb+/b0ldw/9V8lOWw==} + '@ver0/deep-equal@1.0.1': + resolution: {integrity: sha512-XSvL5wKXBZIv7fflMqhQx936sRpEtzxeV25xAEt0rLLXzbF6RCQaRA1jrVIn8JCubMyn/y0TaidphUtilLzl1A==} engines: {node: '>=18'} '@vitest/expect@2.1.9': @@ -3595,15 +3630,15 @@ packages: '@vitest/utils@2.1.9': resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==} - '@web3icons/common@0.11.22': - resolution: {integrity: sha512-cEjUu16ghcAO22a1gkhz+pwWj6RGesMO2aHlCPU7rgf6A6Z0mXLS+x55TQgQFD7LJR8WxzprdsAy9cHOX13NvA==} + '@web3icons/common@0.11.27': + resolution: {integrity: sha512-CWPzmBwp4WLuQRyfwso/pYaObX1Dem1TDEJiY3HJ9fOiRU2qtU9F6BQiumKpXD6PPUBNF7BAGUXafIxyZj6Rqg==} peerDependencies: typescript: ^5.0.0 - '@web3icons/react@4.0.28': - resolution: {integrity: sha512-Zto1GEvAl2dfVoEzDnY7DGls/a1Ecu727qFS2MwCsFqi1pD4pnnRPFg70S5tjJnTScQPmGh9rm/joyyg0b+1WA==} + '@web3icons/react@4.0.35': + resolution: {integrity: sha512-bKu/5Q58a3b22r3nR3yCchcZAXpAv0sS4s3Ja7CoNeTaaPLbAEYp5Md1fSWdCyutI8ia5VWDxPFvK3/xo4uyrA==} peerDependencies: - react: ^18.2.0 + react: ^18.0.0 || ^19.0.0 '@xmldom/xmldom@0.9.8': resolution: {integrity: sha512-p96FSY54r+WJ50FIOsCOjyj/wavs8921hG5+kVMmZgKcvIKxMXHTrjNJvRgWa/zuX3B6t2lijLNFaOyuxUH+2A==} @@ -3702,8 +3737,8 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - algoliasearch@5.41.0: - resolution: {integrity: sha512-9E4b3rJmYbBkn7e3aAPt1as+VVnRhsR4qwRRgOzpeyz4PAOuwKh0HI4AN6mTrqK0S0M9fCCSTOUnuJ8gPY/tvA==} + algoliasearch@5.43.0: + resolution: {integrity: sha512-hbkK41JsuGYhk+atBDxlcKxskjDCh3OOEDpdKZPtw+3zucBqhlojRG5e5KtCmByGyYvwZswVeaSWglgLn2fibg==} engines: {node: '>= 14.0.0'} ansi-align@3.0.1: @@ -3821,8 +3856,8 @@ packages: resolution: {integrity: sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==} engines: {node: '>=4'} - autoprefixer@10.4.21: - resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + autoprefixer@10.4.22: + resolution: {integrity: sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -3864,8 +3899,8 @@ packages: base64-sol@1.0.1: resolution: {integrity: sha512-ld3cCNMeXt4uJXmLZBHFGMvVpK9KsLVEhPpFRXnvSVAqABKbuNZg/+dsq3NuM+wxFLb/UrVkz7m1ciWmkMfTbg==} - baseline-browser-mapping@2.8.21: - resolution: {integrity: sha512-JU0h5APyQNsHOlAM7HnQnPToSDQoEBZqzu/YBlqDnEeymPnZDREeXJA3KBMQee+dKteAxZ2AtvQEvVYdZf241Q==} + baseline-browser-mapping@2.8.27: + resolution: {integrity: sha512-2CXFpkjVnY2FT+B6GrSYxzYf65BJWEqz5tIRHCvNsZZ2F3CmsCB37h8SpYgKG7y9C4YAeTipIPWG7EmFmhAeXA==} hasBin: true bech32@1.1.4: @@ -3919,8 +3954,8 @@ packages: browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - browserslist@4.27.0: - resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==} + browserslist@4.28.0: + resolution: {integrity: sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -3975,8 +4010,8 @@ packages: camelize@1.0.1: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} - caniuse-lite@1.0.30001751: - resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==} + caniuse-lite@1.0.30001754: + resolution: {integrity: sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -4086,8 +4121,8 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-name@2.0.2: - resolution: {integrity: sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==} + color-name@2.1.0: + resolution: {integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==} engines: {node: '>=12.20'} color-string@1.9.1: @@ -4396,8 +4431,8 @@ packages: dataloader@2.2.3: resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} - dayjs@1.11.18: - resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==} + dayjs@1.11.19: + resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==} debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} @@ -4526,8 +4561,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.243: - resolution: {integrity: sha512-ZCphxFW3Q1TVhcgS9blfut1PX8lusVi2SvXQgmEEnK4TCmE1JhH2JkjJN+DNt0pJJwfBri5AROBnz2b/C+YU9g==} + electron-to-chromium@1.5.250: + resolution: {integrity: sha512-/5UMj9IiGDMOFBnN4i7/Ry5onJrAGSbOGo3s9FEKmwobGq6xw832ccET0CE3CkkMBZ8GJSlUIesZofpyurqDXw==} elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} @@ -4620,8 +4655,8 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.25.11: - resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==} + esbuild@0.25.12: + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} engines: {node: '>=18'} hasBin: true @@ -4840,8 +4875,8 @@ packages: resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} engines: {node: '>=12.0.0'} - exsolve@1.0.7: - resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + exsolve@1.0.8: + resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -4853,8 +4888,8 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-equals@5.3.2: - resolution: {integrity: sha512-6rxyATwPCkaFIL3JLqw8qXqMpIZ942pTX/tbQFkRsDGblS8tNGtlUauA/+mt6RUfqn/4MoEr+WDkYoIQbibWuQ==} + fast-equals@5.3.3: + resolution: {integrity: sha512-/boTcHZeIAQ2r/tL11voclBHDeP9WPxLt+tyAbVSyyXuUFyh0Tne7gJZTqGbxnvj79TjLdCXLOY7UIPhyG5MTw==} engines: {node: '>=6.0.0'} fast-fuzzy@1.12.0: @@ -4873,8 +4908,8 @@ packages: fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} - fast-xml-parser@5.3.0: - resolution: {integrity: sha512-gkWGshjYcQCF+6qtlrqBqELqNqnt4CxruY6UVAWWnqb3DQ6qaNFEIKqzYep1XzHLM/QtrHVCxyPOtTk4LTQ7Aw==} + fast-xml-parser@5.3.1: + resolution: {integrity: sha512-jbNkWiv2Ec1A7wuuxk0br0d0aTMUtQ4IkL+l/i1r9PRf6pLXjDgsBsWwO+UyczmQlnehi4Tbc8/KIvxGQe+I/A==} hasBin: true fastq@1.19.1: @@ -4960,8 +4995,8 @@ packages: fp-ts@1.19.3: resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} - fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} framer-motion@12.23.24: resolution: {integrity: sha512-HMi5HRoRCTou+3fb3h9oTLyJGBxHfW+HnNE25tAXOvVx/IvwMHK0cx7IR4a2ZU6sh3IX1Z+4ts32PcYBOqka8w==} @@ -5108,8 +5143,8 @@ packages: peerDependencies: graphql: 14 - 16 - graphql-request@7.3.1: - resolution: {integrity: sha512-GdinBsBVYrWzwEvOlzadrV5j8mdOc9ZT8In9QyRIZaxbhkTL08j35yNbPp96jAacYzjeD/hKKy2E2RGI7c7Yug==} + graphql-request@7.3.3: + resolution: {integrity: sha512-I0ZSz53XTpDiQZ0/KGElwfnzIqsdNek/D6tcZgheL8QOVeSbkgE3qG7r1G/MKtnNenWtEjHbsDf2iPlXSWxFtw==} peerDependencies: graphql: 14 - 16 @@ -5119,8 +5154,8 @@ packages: 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 - graphql@16.11.0: - resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} + graphql@16.12.0: + resolution: {integrity: sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} gray-matter@4.0.3: @@ -5135,8 +5170,8 @@ packages: peerDependencies: hardhat: ^2.0.0 - hardhat@2.26.4: - resolution: {integrity: sha512-2FMv6mmgR2ryefD3k23vRBYMqjdmZw0EhyXwu18Sz6BVRUAon9h8CjcEtVH4U3fHWPqZ4Pqr81h7s6p0RYAvLg==} + hardhat@2.27.0: + resolution: {integrity: sha512-du7ecjx1/ueAUjvtZhVkJvWytPCjlagG3ZktYTphfzAbc1Flc6sRolw5mhKL/Loub1EIFRaflutM4bdB/YsUUw==} hasBin: true peerDependencies: ts-node: '*' @@ -5325,8 +5360,8 @@ packages: resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - inline-style-parser@0.2.4: - resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + inline-style-parser@0.2.6: + resolution: {integrity: sha512-gtGXVaBdl5mAes3rPcMedEBm12ibjt1kDMFfheul1wUAOVEJW60voNdMVzVkfLN06O7ZaD/rxhfKgtlgtTbMjg==} internal-slot@1.1.0: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} @@ -5589,8 +5624,8 @@ packages: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true jsbi@3.2.5: @@ -5776,8 +5811,8 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - marked@16.4.1: - resolution: {integrity: sha512-ntROs7RaN3EvWfy3EZi14H4YxmT6A5YvywfhO+0pm+cH/dnSQRmdAmoFIc3B9aiwTehyk7pESH4ofyBY+V5hZg==} + marked@16.4.2: + resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} engines: {node: '>= 20'} hasBin: true @@ -6045,8 +6080,8 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mixpanel-browser@2.71.0: - resolution: {integrity: sha512-jKmDXe68/oQFgk/9ns9Z36bA0CJ31PH8Y77XTLLGfJvhsUPbvu+7Se9e281NejZF6+OMqx7cE+zFxToozYyNrA==} + mixpanel-browser@2.71.1: + resolution: {integrity: sha512-TKE+3PhhyPHgkgosAtESs6g++waMmm99G0f/jGLPVGTyY4Wi3BwmqsFaxrvm6rsKt4JY6L1vkdHhoMnfG8+juA==} mj-context-menu@0.6.1: resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==} @@ -6970,8 +7005,8 @@ packages: rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - rollup@4.52.5: - resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} + rollup@4.53.2: + resolution: {integrity: sha512-MHngMYwGJVi6Fmnk6ISmnk7JAHRNF0UkuucA0CUW3N3a4KnONPEZz+vUanQP/ZC/iY1Qkf3bwPWzyY84wEks1g==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -7079,8 +7114,8 @@ packages: shiki@1.29.2: resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==} - shiki@3.14.0: - resolution: {integrity: sha512-J0yvpLI7LSig3Z3acIuDLouV5UCKQqu8qOArwMx+/yPVC3WRMgrP67beaG8F+j4xfEWE0eVC4GeBCIXeOPra1g==} + shiki@3.15.0: + resolution: {integrity: sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw==} side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} @@ -7306,11 +7341,11 @@ packages: strnum@2.1.1: resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==} - style-to-js@1.1.18: - resolution: {integrity: sha512-JFPn62D4kJaPTnhFUI244MThx+FEGbi+9dw1b9yBBQ+1CZpV7QAT8kUtJ7b7EUNdHajjF/0x8fT+16oLJoojLg==} + style-to-js@1.1.19: + resolution: {integrity: sha512-Ev+SgeqiNGT1ufsXyVC5RrJRXdrkRJ1Gol9Qw7Pb72YCKJXrBvP0ckZhBeVSrw2m06DJpei2528uIpjMb4TsoQ==} - style-to-object@1.0.11: - resolution: {integrity: sha512-5A560JmXr7wDyGLK12Nq/EYS38VkGlglVzkis1JEdbGWSnbQIEhZzTJhzURXN5/8WwwFCs/f/VVcmkTppbXLow==} + style-to-object@1.0.12: + resolution: {integrity: sha512-ddJqYnoT4t97QvN2C95bCgt+m7AAgXjVnkk/jxAfmp7EAB8nnqqZYEbMd3em7/vEomDb2LAQKAy1RFfv41mdNw==} styled-jsx@5.1.1: resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} @@ -7405,8 +7440,9 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyexec@1.0.1: - resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} @@ -7522,38 +7558,38 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - turbo-darwin-64@2.5.8: - resolution: {integrity: sha512-Dh5bCACiHO8rUXZLpKw+m3FiHtAp2CkanSyJre+SInEvEr5kIxjGvCK/8MFX8SFRjQuhjtvpIvYYZJB4AGCxNQ==} + turbo-darwin-64@2.6.1: + resolution: {integrity: sha512-Dm0HwhyZF4J0uLqkhUyCVJvKM9Rw7M03v3J9A7drHDQW0qAbIGBrUijQ8g4Q9Cciw/BXRRd8Uzkc3oue+qn+ZQ==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.5.8: - resolution: {integrity: sha512-f1H/tQC9px7+hmXn6Kx/w8Jd/FneIUnvLlcI/7RGHunxfOkKJKvsoiNzySkoHQ8uq1pJnhJ0xNGTlYM48ZaJOQ==} + turbo-darwin-arm64@2.6.1: + resolution: {integrity: sha512-U0PIPTPyxdLsrC3jN7jaJUwgzX5sVUBsKLO7+6AL+OASaa1NbT1pPdiZoTkblBAALLP76FM0LlnsVQOnmjYhyw==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.5.8: - resolution: {integrity: sha512-hMyvc7w7yadBlZBGl/bnR6O+dJTx3XkTeyTTH4zEjERO6ChEs0SrN8jTFj1lueNXKIHh1SnALmy6VctKMGnWfw==} + turbo-linux-64@2.6.1: + resolution: {integrity: sha512-eM1uLWgzv89bxlK29qwQEr9xYWBhmO/EGiH22UGfq+uXr+QW1OvNKKMogSN65Ry8lElMH4LZh0aX2DEc7eC0Mw==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.5.8: - resolution: {integrity: sha512-LQELGa7bAqV2f+3rTMRPnj5G/OHAe2U+0N9BwsZvfMvHSUbsQ3bBMWdSQaYNicok7wOZcHjz2TkESn1hYK6xIQ==} + turbo-linux-arm64@2.6.1: + resolution: {integrity: sha512-MFFh7AxAQAycXKuZDrbeutfWM5Ep0CEZ9u7zs4Hn2FvOViTCzIfEhmuJou3/a5+q5VX1zTxQrKGy+4Lf5cdpsA==} cpu: [arm64] os: [linux] - turbo-windows-64@2.5.8: - resolution: {integrity: sha512-3YdcaW34TrN1AWwqgYL9gUqmZsMT4T7g8Y5Azz+uwwEJW+4sgcJkIi9pYFyU4ZBSjBvkfuPZkGgfStir5BBDJQ==} + turbo-windows-64@2.6.1: + resolution: {integrity: sha512-buq7/VAN7KOjMYi4tSZT5m+jpqyhbRU2EUTTvp6V0Ii8dAkY2tAAjQN1q5q2ByflYWKecbQNTqxmVploE0LVwQ==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.5.8: - resolution: {integrity: sha512-eFC5XzLmgXJfnAK3UMTmVECCwuBcORrWdewoiXBnUm934DY6QN8YowC/srhNnROMpaKaqNeRpoB5FxCww3eteQ==} + turbo-windows-arm64@2.6.1: + resolution: {integrity: sha512-7w+AD5vJp3R+FB0YOj1YJcNcOOvBior7bcHTodqp90S3x3bLgpr7tE6xOea1e8JkP7GK6ciKVUpQvV7psiwU5Q==} cpu: [arm64] os: [win32] - turbo@2.5.8: - resolution: {integrity: sha512-5c9Fdsr9qfpT3hA0EyYSFRZj1dVVsb6KIWubA9JBYZ/9ZEAijgUEae0BBR/Xl/wekt4w65/lYLTFaP3JmwSO8w==} + turbo@2.6.1: + resolution: {integrity: sha512-qBwXXuDT3rA53kbNafGbT5r++BrhRgx3sAo0cHoDAeG9g1ItTmUMgltz3Hy7Hazy1ODqNpR+C7QwqL6DYB52yA==} hasBin: true twoslash-protocol@0.2.12: @@ -7800,8 +7836,8 @@ packages: victory-vendor@36.9.2: resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} - viem@2.38.5: - resolution: {integrity: sha512-EU2olUnWd5kBK1t3BicwaamPHGUANRYetoDLSVzDy7XQ8o8UswItnkQbufe3xTcdRCtb2JYMwjlgHZZ7fUoLdA==} + viem@2.39.0: + resolution: {integrity: sha512-rCN+IfnMESlrg/iPyyVL+M9NS/BHzyyNy72470tFmbTuscY3iPaZGMtJDcHKKV8TC6HV9DjWk0zWX6cpu0juyA==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -8076,8 +8112,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.2.1: - resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} + yocto-queue@1.2.2: + resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} yoga-layout@3.2.1: @@ -8089,11 +8125,11 @@ packages: youch@3.3.4: resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==} - zod-validation-error@3.5.3: - resolution: {integrity: sha512-OT5Y8lbUadqVZCsnyFaTQ4/O2mys4tj7PqhdbBCp7McPwvIEKfPtdA6QfPeFQK2/Rz5LgwmAXRJTugBNBi0btw==} + zod-validation-error@3.5.4: + resolution: {integrity: sha512-+hEiRIiPobgyuFlEojnqjJnhFvg4r/i3cqgcm67eehZf/WBaK3g6cD02YU9mtdVxZjv8CzCA9n/Rhrs3yAAvAw==} engines: {node: '>=18.0.0'} peerDependencies: - zod: ^3.25.0 || ^4.0.0 + zod: ^3.24.4 zod@3.22.3: resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} @@ -8116,131 +8152,131 @@ snapshots: '@adraffy/ens-normalize@1.11.1': {} - '@algolia/abtesting@1.7.0': + '@algolia/abtesting@1.9.0': dependencies: - '@algolia/client-common': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + '@algolia/client-common': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 - '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.41.0)(algoliasearch@5.41.0)(search-insights@2.17.3)': + '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.41.0)(algoliasearch@5.41.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.41.0)(algoliasearch@5.41.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.43.0)(algoliasearch@5.43.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.41.0)(algoliasearch@5.41.0)(search-insights@2.17.3)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.41.0)(algoliasearch@5.41.0) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.43.0)(algoliasearch@5.43.0) search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.41.0)(algoliasearch@5.41.0)': + '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.41.0)(algoliasearch@5.41.0) - '@algolia/client-search': 5.41.0 - algoliasearch: 5.41.0 + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.43.0)(algoliasearch@5.43.0) + '@algolia/client-search': 5.43.0 + algoliasearch: 5.43.0 - '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.41.0)(algoliasearch@5.41.0)': + '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)': dependencies: - '@algolia/client-search': 5.41.0 - algoliasearch: 5.41.0 + '@algolia/client-search': 5.43.0 + algoliasearch: 5.43.0 - '@algolia/client-abtesting@5.41.0': + '@algolia/client-abtesting@5.43.0': dependencies: - '@algolia/client-common': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + '@algolia/client-common': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 - '@algolia/client-analytics@5.41.0': + '@algolia/client-analytics@5.43.0': dependencies: - '@algolia/client-common': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + '@algolia/client-common': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 - '@algolia/client-common@5.41.0': {} + '@algolia/client-common@5.43.0': {} - '@algolia/client-insights@5.41.0': + '@algolia/client-insights@5.43.0': dependencies: - '@algolia/client-common': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + '@algolia/client-common': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 - '@algolia/client-personalization@5.41.0': + '@algolia/client-personalization@5.43.0': dependencies: - '@algolia/client-common': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + '@algolia/client-common': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 - '@algolia/client-query-suggestions@5.41.0': + '@algolia/client-query-suggestions@5.43.0': dependencies: - '@algolia/client-common': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + '@algolia/client-common': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 - '@algolia/client-search@5.41.0': + '@algolia/client-search@5.43.0': dependencies: - '@algolia/client-common': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + '@algolia/client-common': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 - '@algolia/ingestion@1.41.0': + '@algolia/ingestion@1.43.0': dependencies: - '@algolia/client-common': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + '@algolia/client-common': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 - '@algolia/monitoring@1.41.0': + '@algolia/monitoring@1.43.0': dependencies: - '@algolia/client-common': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + '@algolia/client-common': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 - '@algolia/recommend@5.41.0': + '@algolia/recommend@5.43.0': dependencies: - '@algolia/client-common': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + '@algolia/client-common': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 - '@algolia/requester-browser-xhr@5.41.0': + '@algolia/requester-browser-xhr@5.43.0': dependencies: - '@algolia/client-common': 5.41.0 + '@algolia/client-common': 5.43.0 - '@algolia/requester-fetch@5.41.0': + '@algolia/requester-fetch@5.43.0': dependencies: - '@algolia/client-common': 5.41.0 + '@algolia/client-common': 5.43.0 - '@algolia/requester-node-http@5.41.0': + '@algolia/requester-node-http@5.43.0': dependencies: - '@algolia/client-common': 5.41.0 + '@algolia/client-common': 5.43.0 '@alloc/quick-lru@5.2.0': {} '@antfu/install-pkg@1.1.0': dependencies: package-manager-detector: 1.5.0 - tinyexec: 1.0.1 + tinyexec: 1.0.2 '@antfu/utils@9.3.0': {} '@apidevtools/json-schema-ref-parser@13.0.5': dependencies: '@types/json-schema': 7.0.15 - js-yaml: 4.1.0 + js-yaml: 4.1.1 '@asamuzakjp/css-color@3.2.0': dependencies: @@ -8365,7 +8401,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20250718.0': optional: true - '@cloudflare/workers-types@4.20251014.0': {} + '@cloudflare/workers-types@4.20251111.0': {} '@corex/deepmerge@4.0.43': {} @@ -8395,12 +8431,12 @@ snapshots: '@docsearch/css@3.9.0': {} - '@docsearch/react@3.9.0(@algolia/client-search@5.41.0)(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)': + '@docsearch/react@3.9.0(@algolia/client-search@5.43.0)(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.41.0)(algoliasearch@5.41.0)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.41.0)(algoliasearch@5.41.0) + '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.43.0)(algoliasearch@5.43.0)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.43.0)(algoliasearch@5.43.0) '@docsearch/css': 3.9.0 - algoliasearch: 5.41.0 + algoliasearch: 5.43.0 optionalDependencies: '@types/react': 18.3.26 react: 18.3.1 @@ -8409,19 +8445,19 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' - '@edgeandnode/common@7.0.4(hardhat@2.26.4(typescript@5.9.3))': + '@edgeandnode/common@7.0.4(hardhat@2.27.0(typescript@5.9.3))': dependencies: '@ethersproject/providers': 5.8.0 '@pinax/graph-networks-registry': 0.6.7 - '@uniswap/sdk-core': 7.8.0 + '@uniswap/sdk-core': 7.9.0 '@uniswap/v3-core': 1.0.1 - '@uniswap/v3-sdk': 3.26.0(hardhat@2.26.4(typescript@5.9.3)) + '@uniswap/v3-sdk': 3.26.0(hardhat@2.27.0(typescript@5.9.3)) dataloader: 2.2.3 - dayjs: 1.11.18 + dayjs: 1.11.19 decimal.js: 10.6.0 ethers: 5.8.0 - graphql: 16.11.0 - graphql-tag: 2.12.6(graphql@16.11.0) + graphql: 16.12.0 + graphql-tag: 2.12.6(graphql@16.12.0) numeral: 2.0.6 pluralize: 8.0.0 transitivePeerDependencies: @@ -8429,12 +8465,12 @@ snapshots: - hardhat - utf-8-validate - '@edgeandnode/ens@2.3.1(typescript@5.9.3)(viem@2.38.5(typescript@5.9.3)(zod@3.25.76))': + '@edgeandnode/ens@2.3.1(typescript@5.9.3)(viem@2.39.0(typescript@5.9.3)(zod@3.25.76))': dependencies: - '@ensdomains/ensjs': 4.0.2(typescript@5.9.3)(viem@2.38.5(typescript@5.9.3)(zod@3.25.76))(zod@4.1.12) - graphql: 16.11.0 - graphql-request: 7.3.1(graphql@16.11.0) - viem: 2.38.5(typescript@5.9.3)(zod@3.25.76) + '@ensdomains/ensjs': 4.0.2(typescript@5.9.3)(viem@2.39.0(typescript@5.9.3)(zod@3.25.76))(zod@4.1.12) + graphql: 16.12.0 + graphql-request: 7.3.3(graphql@16.12.0) + viem: 2.39.0(typescript@5.9.3)(zod@3.25.76) zod: 4.1.12 transitivePeerDependencies: - encoding @@ -8444,7 +8480,7 @@ snapshots: dependencies: '@hasparus/eslint-plugin': 1.0.0 '@next/eslint-plugin-next': 13.4.9 - '@rushstack/eslint-patch': 1.14.1 + '@rushstack/eslint-patch': 1.15.0 '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.9.3) eslint: 8.57.1 @@ -8463,11 +8499,11 @@ snapshots: - eslint-plugin-import-x - supports-color - '@edgeandnode/gds@6.7.7(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(dayjs@1.11.18)(hardhat@2.26.4(typescript@5.9.3))(next@14.2.33(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(tsx@4.20.4)(typescript@5.9.3)(yaml@2.8.1)': + '@edgeandnode/gds@6.7.8(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(dayjs@1.11.19)(hardhat@2.27.0(typescript@5.9.3))(next@14.2.33(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(tsx@4.20.4)(typescript@5.9.3)(yaml@2.8.1)': dependencies: '@base-ui-components/react': 1.0.0-alpha.7(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@bramus/style-observer': 2.0.2 - '@edgeandnode/common': 7.0.4(hardhat@2.26.4(typescript@5.9.3)) + '@edgeandnode/common': 7.0.4(hardhat@2.27.0(typescript@5.9.3)) '@emotion/react': 11.14.0(@types/react@18.3.26)(react@18.3.1) '@figma/code-connect': 1.3.8 '@floating-ui/react-dom': 2.1.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -8478,23 +8514,23 @@ snapshots: '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-direction': 1.1.1(@types/react@18.3.26)(react@18.3.1) '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-label': 2.1.7(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-label': 2.1.8(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-popover': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slider': 1.3.6(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.2.3(@types/react@18.3.26)(react@18.3.1) + '@radix-ui/react-slot': 1.2.4(@types/react@18.3.26)(react@18.3.1) '@radix-ui/react-switch': 1.2.6(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-toast': 1.2.15(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-hookz/web': 25.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@react-hookz/web': 25.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tailwindcss/container-queries': 0.1.1(tailwindcss@3.4.18(tsx@4.20.4)(yaml@2.8.1)) '@tanem/react-nprogress': 5.0.56(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@theme-ui/css': 0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1)) '@theme-ui/match-media': 0.17.2(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(@theme-ui/css@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1)))(react@18.3.1) - '@web3icons/react': 4.0.28(react@18.3.1)(typescript@5.9.3) + '@web3icons/react': 4.0.35(react@18.3.1)(typescript@5.9.3) '@xstate/react': 3.2.2(@types/react@18.3.26)(react@18.3.1)(xstate@4.38.3) color: 5.0.2 - dayjs: 1.11.18 + dayjs: 1.11.19 escape-string-regexp: 5.0.0 ethers: 5.8.0 lodash: 4.17.21 @@ -8514,7 +8550,7 @@ snapshots: react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-virtuoso: 4.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) recharts: 2.15.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - shiki: 3.14.0 + shiki: 3.15.0 tailwindcss: 3.4.18(tsx@4.20.4)(yaml@2.8.1) theme-ui: 0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1) typy: 3.3.0 @@ -8539,24 +8575,24 @@ snapshots: - utf-8-validate - yaml - '@edgeandnode/go@10.3.11(dfa957e19fa4f36ba7d66f8a19ea1182)': + '@edgeandnode/go@10.3.12(6641a258c3859c1d574d99583aa5f0f3)': dependencies: - '@edgeandnode/common': 7.0.4(hardhat@2.26.4(typescript@5.9.3)) - '@edgeandnode/ens': 2.3.1(typescript@5.9.3)(viem@2.38.5(typescript@5.9.3)(zod@3.25.76)) - '@edgeandnode/gds': 6.7.7(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(dayjs@1.11.18)(hardhat@2.26.4(typescript@5.9.3))(next@14.2.33(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(tsx@4.20.4)(typescript@5.9.3)(yaml@2.8.1) + '@edgeandnode/common': 7.0.4(hardhat@2.27.0(typescript@5.9.3)) + '@edgeandnode/ens': 2.3.1(typescript@5.9.3)(viem@2.39.0(typescript@5.9.3)(zod@3.25.76)) + '@edgeandnode/gds': 6.7.8(@emotion/is-prop-valid@0.8.8)(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(@theme-ui/core@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(dayjs@1.11.19)(hardhat@2.27.0(typescript@5.9.3))(next@14.2.33(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(theme-ui@0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1))(react@18.3.1))(tsx@4.20.4)(typescript@5.9.3)(yaml@2.8.1) '@emotion/react': 11.14.0(@types/react@18.3.26)(react@18.3.1) - '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.12.0) '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-dialog': 1.1.15(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.1.10(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@react-aria/utils': 3.31.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-query': 5.90.5(react@18.3.1) + '@tanstack/react-query': 5.90.8(react@18.3.1) '@theme-ui/css': 0.17.2(@emotion/react@11.14.0(@types/react@18.3.26)(react@18.3.1)) - '@web3icons/react': 4.0.28(react@18.3.1)(typescript@5.9.3) + '@web3icons/react': 4.0.35(react@18.3.1)(typescript@5.9.3) escape-string-regexp: 5.0.0 - graphql: 16.11.0 - graphql-request: 7.3.1(graphql@16.11.0) + graphql: 16.12.0 + graphql-request: 7.3.3(graphql@16.12.0) motion: 12.23.24(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -8572,13 +8608,13 @@ snapshots: - typescript - yaml - '@emnapi/core@1.6.0': + '@emnapi/core@1.7.0': dependencies: '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.6.0': + '@emnapi/runtime@1.7.0': dependencies: tslib: 2.8.1 optional: true @@ -8678,25 +8714,25 @@ snapshots: '@noble/curves': 1.9.7 '@scure/base': 1.2.6 - '@ensdomains/dnsprovejs@0.5.1': + '@ensdomains/dnsprovejs@0.5.2': dependencies: '@noble/hashes': 1.8.0 dns-packet: 5.6.1 typescript-logging: 1.0.1 - '@ensdomains/ensjs@4.0.2(typescript@5.9.3)(viem@2.38.5(typescript@5.9.3)(zod@3.25.76))(zod@4.1.12)': + '@ensdomains/ensjs@4.0.2(typescript@5.9.3)(viem@2.39.0(typescript@5.9.3)(zod@3.25.76))(zod@4.1.12)': dependencies: '@adraffy/ens-normalize': 1.10.1 '@ensdomains/address-encoder': 1.1.1 '@ensdomains/content-hash': 3.1.0-rc.1 - '@ensdomains/dnsprovejs': 0.5.1 + '@ensdomains/dnsprovejs': 0.5.2 abitype: 1.1.1(typescript@5.9.3)(zod@4.1.12) dns-packet: 5.6.1 - graphql: 16.11.0 - graphql-request: 6.1.0(graphql@16.11.0) + graphql: 16.12.0 + graphql-request: 6.1.0(graphql@16.12.0) pako: 2.1.0 ts-pattern: 5.9.0 - viem: 2.38.5(typescript@5.9.3)(zod@3.25.76) + viem: 2.39.0(typescript@5.9.3)(zod@3.25.76) transitivePeerDependencies: - encoding - typescript @@ -8715,7 +8751,7 @@ snapshots: '@esbuild/aix-ppc64@0.21.5': optional: true - '@esbuild/aix-ppc64@0.25.11': + '@esbuild/aix-ppc64@0.25.12': optional: true '@esbuild/android-arm64@0.17.19': @@ -8724,7 +8760,7 @@ snapshots: '@esbuild/android-arm64@0.21.5': optional: true - '@esbuild/android-arm64@0.25.11': + '@esbuild/android-arm64@0.25.12': optional: true '@esbuild/android-arm@0.17.19': @@ -8733,7 +8769,7 @@ snapshots: '@esbuild/android-arm@0.21.5': optional: true - '@esbuild/android-arm@0.25.11': + '@esbuild/android-arm@0.25.12': optional: true '@esbuild/android-x64@0.17.19': @@ -8742,7 +8778,7 @@ snapshots: '@esbuild/android-x64@0.21.5': optional: true - '@esbuild/android-x64@0.25.11': + '@esbuild/android-x64@0.25.12': optional: true '@esbuild/darwin-arm64@0.17.19': @@ -8751,7 +8787,7 @@ snapshots: '@esbuild/darwin-arm64@0.21.5': optional: true - '@esbuild/darwin-arm64@0.25.11': + '@esbuild/darwin-arm64@0.25.12': optional: true '@esbuild/darwin-x64@0.17.19': @@ -8760,7 +8796,7 @@ snapshots: '@esbuild/darwin-x64@0.21.5': optional: true - '@esbuild/darwin-x64@0.25.11': + '@esbuild/darwin-x64@0.25.12': optional: true '@esbuild/freebsd-arm64@0.17.19': @@ -8769,7 +8805,7 @@ snapshots: '@esbuild/freebsd-arm64@0.21.5': optional: true - '@esbuild/freebsd-arm64@0.25.11': + '@esbuild/freebsd-arm64@0.25.12': optional: true '@esbuild/freebsd-x64@0.17.19': @@ -8778,7 +8814,7 @@ snapshots: '@esbuild/freebsd-x64@0.21.5': optional: true - '@esbuild/freebsd-x64@0.25.11': + '@esbuild/freebsd-x64@0.25.12': optional: true '@esbuild/linux-arm64@0.17.19': @@ -8787,7 +8823,7 @@ snapshots: '@esbuild/linux-arm64@0.21.5': optional: true - '@esbuild/linux-arm64@0.25.11': + '@esbuild/linux-arm64@0.25.12': optional: true '@esbuild/linux-arm@0.17.19': @@ -8796,7 +8832,7 @@ snapshots: '@esbuild/linux-arm@0.21.5': optional: true - '@esbuild/linux-arm@0.25.11': + '@esbuild/linux-arm@0.25.12': optional: true '@esbuild/linux-ia32@0.17.19': @@ -8805,7 +8841,7 @@ snapshots: '@esbuild/linux-ia32@0.21.5': optional: true - '@esbuild/linux-ia32@0.25.11': + '@esbuild/linux-ia32@0.25.12': optional: true '@esbuild/linux-loong64@0.17.19': @@ -8814,7 +8850,7 @@ snapshots: '@esbuild/linux-loong64@0.21.5': optional: true - '@esbuild/linux-loong64@0.25.11': + '@esbuild/linux-loong64@0.25.12': optional: true '@esbuild/linux-mips64el@0.17.19': @@ -8823,7 +8859,7 @@ snapshots: '@esbuild/linux-mips64el@0.21.5': optional: true - '@esbuild/linux-mips64el@0.25.11': + '@esbuild/linux-mips64el@0.25.12': optional: true '@esbuild/linux-ppc64@0.17.19': @@ -8832,7 +8868,7 @@ snapshots: '@esbuild/linux-ppc64@0.21.5': optional: true - '@esbuild/linux-ppc64@0.25.11': + '@esbuild/linux-ppc64@0.25.12': optional: true '@esbuild/linux-riscv64@0.17.19': @@ -8841,7 +8877,7 @@ snapshots: '@esbuild/linux-riscv64@0.21.5': optional: true - '@esbuild/linux-riscv64@0.25.11': + '@esbuild/linux-riscv64@0.25.12': optional: true '@esbuild/linux-s390x@0.17.19': @@ -8850,7 +8886,7 @@ snapshots: '@esbuild/linux-s390x@0.21.5': optional: true - '@esbuild/linux-s390x@0.25.11': + '@esbuild/linux-s390x@0.25.12': optional: true '@esbuild/linux-x64@0.17.19': @@ -8859,10 +8895,10 @@ snapshots: '@esbuild/linux-x64@0.21.5': optional: true - '@esbuild/linux-x64@0.25.11': + '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.25.11': + '@esbuild/netbsd-arm64@0.25.12': optional: true '@esbuild/netbsd-x64@0.17.19': @@ -8871,10 +8907,10 @@ snapshots: '@esbuild/netbsd-x64@0.21.5': optional: true - '@esbuild/netbsd-x64@0.25.11': + '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.25.11': + '@esbuild/openbsd-arm64@0.25.12': optional: true '@esbuild/openbsd-x64@0.17.19': @@ -8883,10 +8919,10 @@ snapshots: '@esbuild/openbsd-x64@0.21.5': optional: true - '@esbuild/openbsd-x64@0.25.11': + '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.25.11': + '@esbuild/openharmony-arm64@0.25.12': optional: true '@esbuild/sunos-x64@0.17.19': @@ -8895,7 +8931,7 @@ snapshots: '@esbuild/sunos-x64@0.21.5': optional: true - '@esbuild/sunos-x64@0.25.11': + '@esbuild/sunos-x64@0.25.12': optional: true '@esbuild/win32-arm64@0.17.19': @@ -8904,7 +8940,7 @@ snapshots: '@esbuild/win32-arm64@0.21.5': optional: true - '@esbuild/win32-arm64@0.25.11': + '@esbuild/win32-arm64@0.25.12': optional: true '@esbuild/win32-ia32@0.17.19': @@ -8913,7 +8949,7 @@ snapshots: '@esbuild/win32-ia32@0.21.5': optional: true - '@esbuild/win32-ia32@0.25.11': + '@esbuild/win32-ia32@0.25.12': optional: true '@esbuild/win32-x64@0.17.19': @@ -8922,7 +8958,7 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@esbuild/win32-x64@0.25.11': + '@esbuild/win32-x64@0.25.12': optional: true '@eslint-community/eslint-utils@4.9.0(eslint@8.57.1)': @@ -8940,7 +8976,7 @@ snapshots: globals: 13.24.0 ignore: 5.3.2 import-fresh: 3.3.1 - js-yaml: 4.1.0 + js-yaml: 4.1.1 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: @@ -9246,7 +9282,7 @@ snapshots: typescript: 5.9.3 undici: 5.29.0 zod: 3.25.58 - zod-validation-error: 3.5.3(zod@3.25.58) + zod-validation-error: 3.5.4(zod@3.25.58) transitivePeerDependencies: - bufferutil - canvas @@ -9318,9 +9354,9 @@ snapshots: '@graphprotocol/contracts@7.3.0': {} - '@graphql-typed-document-node/core@3.2.0(graphql@16.11.0)': + '@graphql-typed-document-node/core@3.2.0(graphql@16.12.0)': dependencies: - graphql: 16.11.0 + graphql: 16.12.0 '@hasparus/eslint-plugin@1.0.0': dependencies: @@ -9431,7 +9467,7 @@ snapshots: '@img/sharp-wasm32@0.33.5': dependencies: - '@emnapi/runtime': 1.6.0 + '@emnapi/runtime': 1.7.0 optional: true '@img/sharp-win32-ia32@0.33.5': @@ -9621,8 +9657,8 @@ snapshots: '@napi-rs/wasm-runtime@0.2.12': dependencies: - '@emnapi/core': 1.6.0 - '@emnapi/runtime': 1.6.0 + '@emnapi/core': 1.7.0 + '@emnapi/runtime': 1.7.0 '@tybys/wasm-util': 0.10.1 optional: true @@ -9703,29 +9739,29 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} - '@nomicfoundation/edr-darwin-arm64@0.11.3': {} + '@nomicfoundation/edr-darwin-arm64@0.12.0-next.14': {} - '@nomicfoundation/edr-darwin-x64@0.11.3': {} + '@nomicfoundation/edr-darwin-x64@0.12.0-next.14': {} - '@nomicfoundation/edr-linux-arm64-gnu@0.11.3': {} + '@nomicfoundation/edr-linux-arm64-gnu@0.12.0-next.14': {} - '@nomicfoundation/edr-linux-arm64-musl@0.11.3': {} + '@nomicfoundation/edr-linux-arm64-musl@0.12.0-next.14': {} - '@nomicfoundation/edr-linux-x64-gnu@0.11.3': {} + '@nomicfoundation/edr-linux-x64-gnu@0.12.0-next.14': {} - '@nomicfoundation/edr-linux-x64-musl@0.11.3': {} + '@nomicfoundation/edr-linux-x64-musl@0.12.0-next.14': {} - '@nomicfoundation/edr-win32-x64-msvc@0.11.3': {} + '@nomicfoundation/edr-win32-x64-msvc@0.12.0-next.14': {} - '@nomicfoundation/edr@0.11.3': + '@nomicfoundation/edr@0.12.0-next.14': dependencies: - '@nomicfoundation/edr-darwin-arm64': 0.11.3 - '@nomicfoundation/edr-darwin-x64': 0.11.3 - '@nomicfoundation/edr-linux-arm64-gnu': 0.11.3 - '@nomicfoundation/edr-linux-arm64-musl': 0.11.3 - '@nomicfoundation/edr-linux-x64-gnu': 0.11.3 - '@nomicfoundation/edr-linux-x64-musl': 0.11.3 - '@nomicfoundation/edr-win32-x64-msvc': 0.11.3 + '@nomicfoundation/edr-darwin-arm64': 0.12.0-next.14 + '@nomicfoundation/edr-darwin-x64': 0.12.0-next.14 + '@nomicfoundation/edr-linux-arm64-gnu': 0.12.0-next.14 + '@nomicfoundation/edr-linux-arm64-musl': 0.12.0-next.14 + '@nomicfoundation/edr-linux-x64-gnu': 0.12.0-next.14 + '@nomicfoundation/edr-linux-x64-musl': 0.12.0-next.14 + '@nomicfoundation/edr-win32-x64-msvc': 0.12.0-next.14 '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': optional: true @@ -9992,9 +10028,9 @@ snapshots: optionalDependencies: '@types/react': 18.3.26 - '@radix-ui/react-label@2.1.7(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-label@2.1.8(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: @@ -10090,6 +10126,16 @@ snapshots: '@types/react': 18.3.26 '@types/react-dom': 18.3.7(@types/react@18.3.26) + '@radix-ui/react-portal@1.1.10(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-primitive': 2.1.4(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@18.3.26)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.26 + '@types/react-dom': 18.3.7(@types/react@18.3.26) + '@radix-ui/react-portal@1.1.9(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -10119,6 +10165,15 @@ snapshots: '@types/react': 18.3.26 '@types/react-dom': 18.3.7(@types/react@18.3.26) + '@radix-ui/react-primitive@2.1.4(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/react-slot': 1.2.4(@types/react@18.3.26)(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.26 + '@types/react-dom': 18.3.7(@types/react@18.3.26) + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 @@ -10162,6 +10217,13 @@ snapshots: optionalDependencies: '@types/react': 18.3.26 + '@radix-ui/react-slot@1.2.4(@types/react@18.3.26)(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.3.26)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.26 + '@radix-ui/react-switch@1.2.6(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.3 @@ -10873,9 +10935,9 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@react-hookz/web@25.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-hookz/web@25.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@ver0/deep-equal': 1.0.0 + '@ver0/deep-equal': 1.0.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -11276,75 +11338,75 @@ snapshots: '@resvg/resvg-wasm@2.6.2': {} - '@rollup/rollup-android-arm-eabi@4.52.5': + '@rollup/rollup-android-arm-eabi@4.53.2': optional: true - '@rollup/rollup-android-arm64@4.52.5': + '@rollup/rollup-android-arm64@4.53.2': optional: true - '@rollup/rollup-darwin-arm64@4.52.5': + '@rollup/rollup-darwin-arm64@4.53.2': optional: true - '@rollup/rollup-darwin-x64@4.52.5': + '@rollup/rollup-darwin-x64@4.53.2': optional: true - '@rollup/rollup-freebsd-arm64@4.52.5': + '@rollup/rollup-freebsd-arm64@4.53.2': optional: true - '@rollup/rollup-freebsd-x64@4.52.5': + '@rollup/rollup-freebsd-x64@4.53.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.52.5': + '@rollup/rollup-linux-arm-gnueabihf@4.53.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.52.5': + '@rollup/rollup-linux-arm-musleabihf@4.53.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.52.5': + '@rollup/rollup-linux-arm64-gnu@4.53.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.52.5': + '@rollup/rollup-linux-arm64-musl@4.53.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.52.5': + '@rollup/rollup-linux-loong64-gnu@4.53.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.52.5': + '@rollup/rollup-linux-ppc64-gnu@4.53.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.52.5': + '@rollup/rollup-linux-riscv64-gnu@4.53.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.52.5': + '@rollup/rollup-linux-riscv64-musl@4.53.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.52.5': + '@rollup/rollup-linux-s390x-gnu@4.53.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.52.5': + '@rollup/rollup-linux-x64-gnu@4.53.2': optional: true - '@rollup/rollup-linux-x64-musl@4.52.5': + '@rollup/rollup-linux-x64-musl@4.53.2': optional: true - '@rollup/rollup-openharmony-arm64@4.52.5': + '@rollup/rollup-openharmony-arm64@4.53.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.52.5': + '@rollup/rollup-win32-arm64-msvc@4.53.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.52.5': + '@rollup/rollup-win32-ia32-msvc@4.53.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.52.5': + '@rollup/rollup-win32-x64-gnu@4.53.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.52.5': + '@rollup/rollup-win32-x64-msvc@4.53.2': optional: true '@rtsao/scc@1.1.0': {} - '@rushstack/eslint-patch@1.14.1': {} + '@rushstack/eslint-patch@1.15.0': {} '@scure/base@1.1.9': {} @@ -11441,9 +11503,9 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/core@3.14.0': + '@shikijs/core@3.15.0': dependencies: - '@shikijs/types': 3.14.0 + '@shikijs/types': 3.15.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 @@ -11454,9 +11516,9 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 2.3.0 - '@shikijs/engine-javascript@3.14.0': + '@shikijs/engine-javascript@3.15.0': dependencies: - '@shikijs/types': 3.14.0 + '@shikijs/types': 3.15.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.3 @@ -11465,26 +11527,26 @@ snapshots: '@shikijs/types': 1.29.2 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/engine-oniguruma@3.14.0': + '@shikijs/engine-oniguruma@3.15.0': dependencies: - '@shikijs/types': 3.14.0 + '@shikijs/types': 3.15.0 '@shikijs/vscode-textmate': 10.0.2 '@shikijs/langs@1.29.2': dependencies: '@shikijs/types': 1.29.2 - '@shikijs/langs@3.14.0': + '@shikijs/langs@3.15.0': dependencies: - '@shikijs/types': 3.14.0 + '@shikijs/types': 3.15.0 '@shikijs/themes@1.29.2': dependencies: '@shikijs/types': 1.29.2 - '@shikijs/themes@3.14.0': + '@shikijs/themes@3.15.0': dependencies: - '@shikijs/types': 3.14.0 + '@shikijs/types': 3.15.0 '@shikijs/twoslash@1.29.2(typescript@5.9.3)': dependencies: @@ -11500,7 +11562,7 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 - '@shikijs/types@3.14.0': + '@shikijs/types@3.15.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -11591,11 +11653,11 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@tanstack/query-core@5.90.5': {} + '@tanstack/query-core@5.90.8': {} - '@tanstack/react-query@5.90.5(react@18.3.1)': + '@tanstack/react-query@5.90.8(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.90.5 + '@tanstack/query-core': 5.90.8 react: 18.3.1 '@tanstack/react-virtual@3.13.12(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -11685,7 +11747,7 @@ snapshots: '@types/concat-stream@2.0.3': dependencies: - '@types/node': 22.18.13 + '@types/node': 22.19.1 '@types/cookie@0.6.0': {} @@ -11844,7 +11906,7 @@ snapshots: '@types/mixpanel-browser@2.66.0': dependencies: - mixpanel-browser: 2.71.0 + mixpanel-browser: 2.71.1 '@types/ms@2.1.0': {} @@ -11852,7 +11914,7 @@ snapshots: dependencies: '@types/unist': 3.0.3 - '@types/node@22.18.13': + '@types/node@22.19.1': dependencies: undici-types: 6.21.0 @@ -11987,7 +12049,7 @@ snapshots: '@uniswap/lib@4.0.1-alpha': {} - '@uniswap/sdk-core@7.8.0': + '@uniswap/sdk-core@7.9.0': dependencies: '@ethersproject/address': 5.8.0 '@ethersproject/bytes': 5.8.0 @@ -11999,14 +12061,14 @@ snapshots: tiny-invariant: 1.3.3 toformat: 2.0.0 - '@uniswap/swap-router-contracts@1.3.1(hardhat@2.26.4(typescript@5.9.3))': + '@uniswap/swap-router-contracts@1.3.1(hardhat@2.27.0(typescript@5.9.3))': dependencies: '@openzeppelin/contracts': 3.4.2-solc-0.7 '@uniswap/v2-core': 1.0.1 '@uniswap/v3-core': 1.0.1 '@uniswap/v3-periphery': 1.4.4 dotenv: 14.3.2 - hardhat-watcher: 2.5.0(hardhat@2.26.4(typescript@5.9.3)) + hardhat-watcher: 2.5.0(hardhat@2.27.0(typescript@5.9.3)) transitivePeerDependencies: - hardhat @@ -12024,12 +12086,12 @@ snapshots: '@uniswap/v3-core': 1.0.1 base64-sol: 1.0.1 - '@uniswap/v3-sdk@3.26.0(hardhat@2.26.4(typescript@5.9.3))': + '@uniswap/v3-sdk@3.26.0(hardhat@2.27.0(typescript@5.9.3))': dependencies: '@ethersproject/abi': 5.8.0 '@ethersproject/solidity': 5.8.0 - '@uniswap/sdk-core': 7.8.0 - '@uniswap/swap-router-contracts': 1.3.1(hardhat@2.26.4(typescript@5.9.3)) + '@uniswap/sdk-core': 7.9.0 + '@uniswap/swap-router-contracts': 1.3.1(hardhat@2.27.0(typescript@5.9.3)) '@uniswap/v3-periphery': 1.4.4 '@uniswap/v3-staker': 1.0.0 tiny-invariant: 1.3.3 @@ -12102,7 +12164,7 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@ver0/deep-equal@1.0.0': {} + '@ver0/deep-equal@1.0.1': {} '@vitest/expect@2.1.9': dependencies: @@ -12111,13 +12173,13 @@ snapshots: chai: 5.3.3 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.9(vite@5.4.21(@types/node@22.18.13))': + '@vitest/mocker@2.1.9(vite@5.4.21(@types/node@22.19.1))': dependencies: '@vitest/spy': 2.1.9 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 5.4.21(@types/node@22.18.13) + vite: 5.4.21(@types/node@22.19.1) '@vitest/pretty-format@2.1.9': dependencies: @@ -12144,13 +12206,13 @@ snapshots: loupe: 3.2.1 tinyrainbow: 1.2.0 - '@web3icons/common@0.11.22(typescript@5.9.3)': + '@web3icons/common@0.11.27(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@web3icons/react@4.0.28(react@18.3.1)(typescript@5.9.3)': + '@web3icons/react@4.0.35(react@18.3.1)(typescript@5.9.3)': dependencies: - '@web3icons/common': 0.11.22(typescript@5.9.3) + '@web3icons/common': 0.11.27(typescript@5.9.3) react: 18.3.1 transitivePeerDependencies: - typescript @@ -12226,22 +12288,22 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - algoliasearch@5.41.0: - dependencies: - '@algolia/abtesting': 1.7.0 - '@algolia/client-abtesting': 5.41.0 - '@algolia/client-analytics': 5.41.0 - '@algolia/client-common': 5.41.0 - '@algolia/client-insights': 5.41.0 - '@algolia/client-personalization': 5.41.0 - '@algolia/client-query-suggestions': 5.41.0 - '@algolia/client-search': 5.41.0 - '@algolia/ingestion': 1.41.0 - '@algolia/monitoring': 1.41.0 - '@algolia/recommend': 5.41.0 - '@algolia/requester-browser-xhr': 5.41.0 - '@algolia/requester-fetch': 5.41.0 - '@algolia/requester-node-http': 5.41.0 + algoliasearch@5.43.0: + dependencies: + '@algolia/abtesting': 1.9.0 + '@algolia/client-abtesting': 5.43.0 + '@algolia/client-analytics': 5.43.0 + '@algolia/client-common': 5.43.0 + '@algolia/client-insights': 5.43.0 + '@algolia/client-personalization': 5.43.0 + '@algolia/client-query-suggestions': 5.43.0 + '@algolia/client-search': 5.43.0 + '@algolia/ingestion': 1.43.0 + '@algolia/monitoring': 1.43.0 + '@algolia/recommend': 5.43.0 + '@algolia/requester-browser-xhr': 5.43.0 + '@algolia/requester-fetch': 5.43.0 + '@algolia/requester-node-http': 5.43.0 ansi-align@3.0.1: dependencies: @@ -12371,11 +12433,11 @@ snapshots: attr-accept@2.2.5: {} - autoprefixer@10.4.21(postcss@8.5.6): + autoprefixer@10.4.22(postcss@8.5.6): dependencies: - browserslist: 4.27.0 - caniuse-lite: 1.0.30001751 - fraction.js: 4.3.7 + browserslist: 4.28.0 + caniuse-lite: 1.0.30001754 + fraction.js: 5.3.4 normalize-range: 0.1.2 picocolors: 1.1.1 postcss: 8.5.6 @@ -12407,7 +12469,7 @@ snapshots: base64-sol@1.0.1: {} - baseline-browser-mapping@2.8.21: {} + baseline-browser-mapping@2.8.27: {} bech32@1.1.4: {} @@ -12471,13 +12533,13 @@ snapshots: browser-stdout@1.3.1: {} - browserslist@4.27.0: + browserslist@4.28.0: dependencies: - baseline-browser-mapping: 2.8.21 - caniuse-lite: 1.0.30001751 - electron-to-chromium: 1.5.243 + baseline-browser-mapping: 2.8.27 + caniuse-lite: 1.0.30001754 + electron-to-chromium: 1.5.250 node-releases: 2.0.27 - update-browserslist-db: 1.1.4(browserslist@4.27.0) + update-browserslist-db: 1.1.4(browserslist@4.28.0) buffer-from@1.1.2: {} @@ -12486,9 +12548,9 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bundle-require@5.1.0(esbuild@0.25.11): + bundle-require@5.1.0(esbuild@0.25.12): dependencies: - esbuild: 0.25.11 + esbuild: 0.25.12 load-tsconfig: 0.2.5 busboy@1.6.0: @@ -12524,7 +12586,7 @@ snapshots: camelize@1.0.1: {} - caniuse-lite@1.0.30001751: {} + caniuse-lite@1.0.30001754: {} ccount@2.0.1: {} @@ -12627,11 +12689,11 @@ snapshots: color-convert@3.1.2: dependencies: - color-name: 2.0.2 + color-name: 2.1.0 color-name@1.1.4: {} - color-name@2.0.2: {} + color-name@2.1.0: {} color-string@1.9.1: dependencies: @@ -12641,7 +12703,7 @@ snapshots: color-string@2.1.2: dependencies: - color-name: 2.0.2 + color-name: 2.1.0 color@4.2.3: dependencies: @@ -12961,7 +13023,7 @@ snapshots: dataloader@2.2.3: {} - dayjs@1.11.18: {} + dayjs@1.11.19: {} debug@3.2.7: dependencies: @@ -13069,7 +13131,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.243: {} + electron-to-chromium@1.5.250: {} elliptic@6.6.1: dependencies: @@ -13278,34 +13340,34 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - esbuild@0.25.11: + esbuild@0.25.12: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.11 - '@esbuild/android-arm': 0.25.11 - '@esbuild/android-arm64': 0.25.11 - '@esbuild/android-x64': 0.25.11 - '@esbuild/darwin-arm64': 0.25.11 - '@esbuild/darwin-x64': 0.25.11 - '@esbuild/freebsd-arm64': 0.25.11 - '@esbuild/freebsd-x64': 0.25.11 - '@esbuild/linux-arm': 0.25.11 - '@esbuild/linux-arm64': 0.25.11 - '@esbuild/linux-ia32': 0.25.11 - '@esbuild/linux-loong64': 0.25.11 - '@esbuild/linux-mips64el': 0.25.11 - '@esbuild/linux-ppc64': 0.25.11 - '@esbuild/linux-riscv64': 0.25.11 - '@esbuild/linux-s390x': 0.25.11 - '@esbuild/linux-x64': 0.25.11 - '@esbuild/netbsd-arm64': 0.25.11 - '@esbuild/netbsd-x64': 0.25.11 - '@esbuild/openbsd-arm64': 0.25.11 - '@esbuild/openbsd-x64': 0.25.11 - '@esbuild/openharmony-arm64': 0.25.11 - '@esbuild/sunos-x64': 0.25.11 - '@esbuild/win32-arm64': 0.25.11 - '@esbuild/win32-ia32': 0.25.11 - '@esbuild/win32-x64': 0.25.11 + '@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 escalade@3.2.0: {} @@ -13509,7 +13571,7 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 + js-yaml: 4.1.1 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -13660,7 +13722,7 @@ snapshots: expect-type@1.2.2: {} - exsolve@1.0.7: {} + exsolve@1.0.8: {} extend-shallow@2.0.1: dependencies: @@ -13670,7 +13732,7 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-equals@5.3.2: {} + fast-equals@5.3.3: {} fast-fuzzy@1.12.0: dependencies: @@ -13690,7 +13752,7 @@ snapshots: fast-uri@3.1.0: {} - fast-xml-parser@5.3.0: + fast-xml-parser@5.3.1: dependencies: strnum: 2.1.1 @@ -13736,7 +13798,7 @@ snapshots: dependencies: magic-string: 0.30.21 mlly: 1.8.0 - rollup: 4.52.5 + rollup: 4.53.2 flat-cache@3.2.0: dependencies: @@ -13773,7 +13835,7 @@ snapshots: fp-ts@1.19.3: {} - fraction.js@4.3.7: {} + fraction.js@5.3.4: {} framer-motion@12.23.24(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: @@ -13934,25 +13996,25 @@ snapshots: js-base64: 3.7.8 unicode-trie: 2.0.0 - graphql-request@6.1.0(graphql@16.11.0): + graphql-request@6.1.0(graphql@16.12.0): dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.12.0) cross-fetch: 3.2.0 - graphql: 16.11.0 + graphql: 16.12.0 transitivePeerDependencies: - encoding - graphql-request@7.3.1(graphql@16.11.0): + graphql-request@7.3.3(graphql@16.12.0): dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) - graphql: 16.11.0 + '@graphql-typed-document-node/core': 3.2.0(graphql@16.12.0) + graphql: 16.12.0 - graphql-tag@2.12.6(graphql@16.11.0): + graphql-tag@2.12.6(graphql@16.12.0): dependencies: - graphql: 16.11.0 + graphql: 16.12.0 tslib: 2.8.1 - graphql@16.11.0: {} + graphql@16.12.0: {} gray-matter@4.0.3: dependencies: @@ -13963,16 +14025,16 @@ snapshots: hachure-fill@0.5.2: {} - hardhat-watcher@2.5.0(hardhat@2.26.4(typescript@5.9.3)): + hardhat-watcher@2.5.0(hardhat@2.27.0(typescript@5.9.3)): dependencies: chokidar: 3.6.0 - hardhat: 2.26.4(typescript@5.9.3) + hardhat: 2.27.0(typescript@5.9.3) - hardhat@2.26.4(typescript@5.9.3): + hardhat@2.27.0(typescript@5.9.3): dependencies: '@ethereumjs/util': 9.1.0 '@ethersproject/abi': 5.8.0 - '@nomicfoundation/edr': 0.11.3 + '@nomicfoundation/edr': 0.12.0-next.14 '@nomicfoundation/solidity-analyzer': 0.1.2 '@sentry/node': 5.30.0 adm-zip: 0.4.16 @@ -14093,7 +14155,7 @@ snapshots: mdast-util-mdx-jsx: 3.2.0 property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.18 + style-to-js: 1.1.19 transitivePeerDependencies: - supports-color @@ -14128,7 +14190,7 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.18 + style-to-js: 1.1.19 unist-util-position: 5.0.0 zwitch: 2.0.4 transitivePeerDependencies: @@ -14162,7 +14224,7 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.18 + style-to-js: 1.1.19 unist-util-position: 5.0.0 vfile-message: 4.0.3 transitivePeerDependencies: @@ -14296,7 +14358,7 @@ snapshots: ini@4.1.3: {} - inline-style-parser@0.2.4: {} + inline-style-parser@0.2.6: {} internal-slot@1.1.0: dependencies: @@ -14541,7 +14603,7 @@ snapshots: argparse: 1.0.10 esprima: 4.0.1 - js-yaml@4.1.0: + js-yaml@4.1.1: dependencies: argparse: 2.0.1 @@ -14724,7 +14786,7 @@ snapshots: markdown-table@3.0.4: {} - marked@16.4.1: {} + marked@16.4.2: {} math-intrinsics@1.1.0: {} @@ -14945,12 +15007,12 @@ snapshots: d3: 7.9.0 d3-sankey: 0.12.3 dagre-d3-es: 7.0.13 - dayjs: 1.11.18 + dayjs: 1.11.19 dompurify: 3.3.0 katex: 0.16.25 khroma: 2.1.0 lodash-es: 4.17.21 - marked: 16.4.1 + marked: 16.4.2 roughjs: 4.6.6 stylis: 4.3.6 ts-dedent: 2.2.0 @@ -15315,7 +15377,7 @@ snapshots: mitt@3.0.1: {} - mixpanel-browser@2.71.0: + mixpanel-browser@2.71.1: dependencies: '@mixpanel/rrweb': 2.0.0-alpha.18.2 @@ -15343,7 +15405,7 @@ snapshots: find-up: 5.0.0 glob: 8.1.0 he: 1.2.0 - js-yaml: 4.1.0 + js-yaml: 4.1.1 log-symbols: 4.1.0 minimatch: 5.1.6 ms: 2.1.3 @@ -15409,7 +15471,7 @@ snapshots: '@next/env': 14.2.33 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001751 + caniuse-lite: 1.0.30001754 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 @@ -15472,7 +15534,7 @@ snapshots: unist-util-visit: 5.0.0 yaml: 2.8.1 zod: 3.25.76 - zod-validation-error: 3.5.3(zod@3.25.76) + zod-validation-error: 3.5.4(zod@3.25.76) transitivePeerDependencies: - '@types/react' - supports-color @@ -15662,7 +15724,7 @@ snapshots: p-limit@6.2.0: dependencies: - yocto-queue: 1.2.1 + yocto-queue: 1.2.2 p-locate@5.0.0: dependencies: @@ -15781,7 +15843,7 @@ snapshots: pkg-types@2.3.0: dependencies: confbox: 0.2.2 - exsolve: 1.0.7 + exsolve: 1.0.8 pathe: 2.0.3 pluralize@8.0.0: {} @@ -16046,7 +16108,7 @@ snapshots: react-smooth@4.0.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - fast-equals: 5.3.2 + fast-equals: 5.3.3 prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16423,32 +16485,32 @@ snapshots: dependencies: estree-walker: 0.6.1 - rollup@4.52.5: + rollup@4.53.2: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.52.5 - '@rollup/rollup-android-arm64': 4.52.5 - '@rollup/rollup-darwin-arm64': 4.52.5 - '@rollup/rollup-darwin-x64': 4.52.5 - '@rollup/rollup-freebsd-arm64': 4.52.5 - '@rollup/rollup-freebsd-x64': 4.52.5 - '@rollup/rollup-linux-arm-gnueabihf': 4.52.5 - '@rollup/rollup-linux-arm-musleabihf': 4.52.5 - '@rollup/rollup-linux-arm64-gnu': 4.52.5 - '@rollup/rollup-linux-arm64-musl': 4.52.5 - '@rollup/rollup-linux-loong64-gnu': 4.52.5 - '@rollup/rollup-linux-ppc64-gnu': 4.52.5 - '@rollup/rollup-linux-riscv64-gnu': 4.52.5 - '@rollup/rollup-linux-riscv64-musl': 4.52.5 - '@rollup/rollup-linux-s390x-gnu': 4.52.5 - '@rollup/rollup-linux-x64-gnu': 4.52.5 - '@rollup/rollup-linux-x64-musl': 4.52.5 - '@rollup/rollup-openharmony-arm64': 4.52.5 - '@rollup/rollup-win32-arm64-msvc': 4.52.5 - '@rollup/rollup-win32-ia32-msvc': 4.52.5 - '@rollup/rollup-win32-x64-gnu': 4.52.5 - '@rollup/rollup-win32-x64-msvc': 4.52.5 + '@rollup/rollup-android-arm-eabi': 4.53.2 + '@rollup/rollup-android-arm64': 4.53.2 + '@rollup/rollup-darwin-arm64': 4.53.2 + '@rollup/rollup-darwin-x64': 4.53.2 + '@rollup/rollup-freebsd-arm64': 4.53.2 + '@rollup/rollup-freebsd-x64': 4.53.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.53.2 + '@rollup/rollup-linux-arm-musleabihf': 4.53.2 + '@rollup/rollup-linux-arm64-gnu': 4.53.2 + '@rollup/rollup-linux-arm64-musl': 4.53.2 + '@rollup/rollup-linux-loong64-gnu': 4.53.2 + '@rollup/rollup-linux-ppc64-gnu': 4.53.2 + '@rollup/rollup-linux-riscv64-gnu': 4.53.2 + '@rollup/rollup-linux-riscv64-musl': 4.53.2 + '@rollup/rollup-linux-s390x-gnu': 4.53.2 + '@rollup/rollup-linux-x64-gnu': 4.53.2 + '@rollup/rollup-linux-x64-musl': 4.53.2 + '@rollup/rollup-openharmony-arm64': 4.53.2 + '@rollup/rollup-win32-arm64-msvc': 4.53.2 + '@rollup/rollup-win32-ia32-msvc': 4.53.2 + '@rollup/rollup-win32-x64-gnu': 4.53.2 + '@rollup/rollup-win32-x64-msvc': 4.53.2 fsevents: 2.3.3 roughjs@4.6.6: @@ -16604,14 +16666,14 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 - shiki@3.14.0: + shiki@3.15.0: dependencies: - '@shikijs/core': 3.14.0 - '@shikijs/engine-javascript': 3.14.0 - '@shikijs/engine-oniguruma': 3.14.0 - '@shikijs/langs': 3.14.0 - '@shikijs/themes': 3.14.0 - '@shikijs/types': 3.14.0 + '@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 @@ -16867,13 +16929,13 @@ snapshots: strnum@2.1.1: {} - style-to-js@1.1.18: + style-to-js@1.1.19: dependencies: - style-to-object: 1.0.11 + style-to-object: 1.0.12 - style-to-object@1.0.11: + style-to-object@1.0.12: dependencies: - inline-style-parser: 0.2.4 + inline-style-parser: 0.2.6 styled-jsx@5.1.1(react@18.3.1): dependencies: @@ -16991,7 +17053,7 @@ snapshots: tinyexec@0.3.2: {} - tinyexec@1.0.1: {} + tinyexec@1.0.2: {} tinyglobby@0.2.15: dependencies: @@ -17075,18 +17137,18 @@ snapshots: tsup@8.5.0(jiti@1.21.7)(postcss@8.5.6)(tsx@4.20.4)(typescript@5.9.3)(yaml@2.8.1): dependencies: - bundle-require: 5.1.0(esbuild@0.25.11) + bundle-require: 5.1.0(esbuild@0.25.12) cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.2 debug: 4.4.3(supports-color@8.1.1) - esbuild: 0.25.11 + esbuild: 0.25.12 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6)(tsx@4.20.4)(yaml@2.8.1) resolve-from: 5.0.0 - rollup: 4.52.5 + rollup: 4.53.2 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.2 @@ -17103,37 +17165,37 @@ snapshots: tsx@4.20.4: dependencies: - esbuild: 0.25.11 + esbuild: 0.25.12 get-tsconfig: 4.13.0 optionalDependencies: fsevents: 2.3.3 - turbo-darwin-64@2.5.8: + turbo-darwin-64@2.6.1: optional: true - turbo-darwin-arm64@2.5.8: + turbo-darwin-arm64@2.6.1: optional: true - turbo-linux-64@2.5.8: + turbo-linux-64@2.6.1: optional: true - turbo-linux-arm64@2.5.8: + turbo-linux-arm64@2.6.1: optional: true - turbo-windows-64@2.5.8: + turbo-windows-64@2.6.1: optional: true - turbo-windows-arm64@2.5.8: + turbo-windows-arm64@2.6.1: optional: true - turbo@2.5.8: + turbo@2.6.1: optionalDependencies: - turbo-darwin-64: 2.5.8 - turbo-darwin-arm64: 2.5.8 - turbo-linux-64: 2.5.8 - turbo-linux-arm64: 2.5.8 - turbo-windows-64: 2.5.8 - turbo-windows-arm64: 2.5.8 + turbo-darwin-64: 2.6.1 + turbo-darwin-arm64: 2.6.1 + turbo-linux-64: 2.6.1 + turbo-linux-arm64: 2.6.1 + turbo-windows-64: 2.6.1 + turbo-windows-arm64: 2.6.1 twoslash-protocol@0.2.12: {} @@ -17220,7 +17282,7 @@ snapshots: unenv@2.0.0-rc.14: dependencies: defu: 6.1.4 - exsolve: 1.0.7 + exsolve: 1.0.8 ohash: 2.0.11 pathe: 2.0.3 ufo: 1.6.1 @@ -17235,7 +17297,7 @@ snapshots: '@types/concat-stream': 2.0.3 '@types/debug': 4.1.12 '@types/is-empty': 1.2.3 - '@types/node': 22.18.13 + '@types/node': 22.19.1 '@types/unist': 3.0.3 concat-stream: 2.0.0 debug: 4.4.3(supports-color@8.1.1) @@ -17380,9 +17442,9 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - update-browserslist-db@1.1.4(browserslist@4.27.0): + update-browserslist-db@1.1.4(browserslist@4.28.0): dependencies: - browserslist: 4.27.0 + browserslist: 4.28.0 escalade: 3.2.0 picocolors: 1.1.1 @@ -17493,7 +17555,7 @@ snapshots: d3-time: 3.1.0 d3-timer: 3.0.1 - viem@2.38.5(typescript@5.9.3)(zod@3.25.76): + viem@2.39.0(typescript@5.9.3)(zod@3.25.76): dependencies: '@noble/curves': 1.9.1 '@noble/hashes': 1.8.0 @@ -17510,13 +17572,13 @@ snapshots: - utf-8-validate - zod - vite-node@2.1.9(@types/node@22.18.13): + vite-node@2.1.9(@types/node@22.19.1): dependencies: cac: 6.7.14 debug: 4.4.3(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 1.1.2 - vite: 5.4.21(@types/node@22.18.13) + vite: 5.4.21(@types/node@22.19.1) transitivePeerDependencies: - '@types/node' - less @@ -17528,19 +17590,19 @@ snapshots: - supports-color - terser - vite@5.4.21(@types/node@22.18.13): + vite@5.4.21(@types/node@22.19.1): dependencies: esbuild: 0.21.5 postcss: 8.5.6 - rollup: 4.52.5 + rollup: 4.53.2 optionalDependencies: - '@types/node': 22.18.13 + '@types/node': 22.19.1 fsevents: 2.3.3 - vitest@2.1.9(@types/node@22.18.13)(jsdom@24.1.3): + vitest@2.1.9(@types/node@22.19.1)(jsdom@24.1.3): dependencies: '@vitest/expect': 2.1.9 - '@vitest/mocker': 2.1.9(vite@5.4.21(@types/node@22.18.13)) + '@vitest/mocker': 2.1.9(vite@5.4.21(@types/node@22.19.1)) '@vitest/pretty-format': 2.1.9 '@vitest/runner': 2.1.9 '@vitest/snapshot': 2.1.9 @@ -17556,11 +17618,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.1.1 tinyrainbow: 1.2.0 - vite: 5.4.21(@types/node@22.18.13) - vite-node: 2.1.9(@types/node@22.18.13) + vite: 5.4.21(@types/node@22.19.1) + vite-node: 2.1.9(@types/node@22.19.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.18.13 + '@types/node': 22.19.1 jsdom: 24.1.3 transitivePeerDependencies: - less @@ -17702,7 +17764,7 @@ snapshots: workerpool@6.5.1: {} - wrangler@3.114.15(@cloudflare/workers-types@4.20251014.0): + wrangler@3.114.15(@cloudflare/workers-types@4.20251111.0): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 '@cloudflare/unenv-preset': 2.0.2(unenv@2.0.0-rc.14)(workerd@1.20250718.0) @@ -17715,7 +17777,7 @@ snapshots: unenv: 2.0.0-rc.14 workerd: 1.20250718.0 optionalDependencies: - '@cloudflare/workers-types': 4.20251014.0 + '@cloudflare/workers-types': 4.20251111.0 fsevents: 2.3.3 sharp: 0.33.5 transitivePeerDependencies: @@ -17775,7 +17837,7 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.2.1: {} + yocto-queue@1.2.2: {} yoga-layout@3.2.1: {} @@ -17787,11 +17849,11 @@ snapshots: mustache: 4.2.0 stacktracey: 2.1.8 - zod-validation-error@3.5.3(zod@3.25.58): + zod-validation-error@3.5.4(zod@3.25.58): dependencies: zod: 3.25.58 - zod-validation-error@3.5.3(zod@3.25.76): + zod-validation-error@3.5.4(zod@3.25.76): dependencies: zod: 3.25.76 diff --git a/website/package.json b/website/package.json index a12a0f8b4756..7a25728e0282 100644 --- a/website/package.json +++ b/website/package.json @@ -19,12 +19,12 @@ "dependencies": { "@docsearch/react": "^3.9.0", "@edgeandnode/common": "^7.0.4", - "@edgeandnode/gds": "^6.7.7", - "@edgeandnode/go": "^10.3.11", + "@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.1.1", + "@react-hookz/web": "^25.2.0", "@readme/httpsnippet": "^11.0.0", "@readme/openapi-parser": "^4.1.2", "fetch-har": "^11.1.1", @@ -33,7 +33,7 @@ "lodash": "^4.17.21", "mdast-util-mdx-jsx": "^3.2.0", "mdast-util-to-hast": "^13.2.0", - "mixpanel-browser": "^2.71.0", + "mixpanel-browser": "^2.71.1", "motion": "^12.23.24", "next": "^14.2.33", "next-seo": "^6.8.0", @@ -58,12 +58,12 @@ "@types/lodash": "^4.17.20", "@types/mdast": "^4.0.4", "@types/mixpanel-browser": "^2.66.0", - "@types/node": "^22.18.13", + "@types/node": "^22.19.1", "@types/react": "^18.3.26", "@types/react-dom": "^18.3.7", "@types/vfile": "^4.0.0", - "autoprefixer": "^10.4.21", - "fast-xml-parser": "^5.3.0", + "autoprefixer": "^10.4.22", + "fast-xml-parser": "^5.3.1", "postcss": "^8.5.6", "tailwindcss": "^3.4.18", "tsup": "^8.5.0", diff --git a/website/src/openApi/index.ts b/website/src/openApi/index.ts index 3d871401c295..f1fc0fcb7800 100644 --- a/website/src/openApi/index.ts +++ b/website/src/openApi/index.ts @@ -33,6 +33,14 @@ export const APIS: Record = { path: '/token-api/svm-dexs', operationIdPrefixes: ['getV1Svm'], }, + 'TVM Tokens': { + path: '/token-api/tvm-tokens', + operationIdPrefixes: ['getV1Tvm'], + }, + 'TVM DEXs': { + path: '/token-api/tvm-dexs', + operationIdPrefixes: ['getV1Tvm'], + }, Monitoring: { path: '/token-api/monitoring', operationIdPrefixes: ['getV1'], diff --git a/website/src/openApi/tokenApi.json b/website/src/openApi/tokenApi.json index 4315ee95697a..7cd733babf21 100644 --- a/website/src/openApi/tokenApi.json +++ b/website/src/openApi/tokenApi.json @@ -3,7 +3,7 @@ "info": { "title": "Token API (Beta)", "description": "Power your apps & AI agents with real-time token data.", - "version": "3.1.2+06db7ad (2025-10-16)" + "version": "3.5.3+f74aaa1 (2025-11-06)" }, "servers": [ { @@ -575,7 +575,7 @@ "1w" ], "default": "1d", - "description": "The interval for which to aggregate price data (hourly, 4-hours, daily or weekly).", + "description": "The interval* for which to aggregate price data (hourly, 4-hours, daily or weekly).
*Plan restricted.", "example": "1w" }, "required": false @@ -586,7 +586,7 @@ "schema": { "type": "string", "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", - "default": "2025-01-01" + "default": "2025-10-06" }, "required": false }, @@ -3481,9 +3481,9 @@ "in": "query", "name": "contract", "schema": { - "example": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8", "type": "string", - "description": "Filter by contract address" + "description": "Filter by contract address", + "example": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8" }, "required": true }, @@ -4027,9 +4027,9 @@ "in": "query", "name": "contract", "schema": { - "example": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8", "type": "string", - "description": "Filter by contract address" + "description": "Filter by contract address", + "example": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8" }, "required": true }, @@ -4655,9 +4655,9 @@ "in": "query", "name": "contract", "schema": { - "example": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8", "type": "string", - "description": "Filter by contract address" + "description": "Filter by contract address", + "example": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8" }, "required": true }, @@ -7911,9 +7911,9 @@ "in": "query", "name": "pool", "schema": { - "example": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640", "description": "Filter by pool address", - "type": "string" + "type": "string", + "example": "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640" }, "required": true }, @@ -7929,7 +7929,7 @@ "1w" ], "default": "1d", - "description": "The interval for which to aggregate price data (hourly, 4-hours, daily or weekly)." + "description": "The interval* for which to aggregate price data (hourly, 4-hours, daily or weekly).
*Plan restricted." }, "required": false }, @@ -7939,7 +7939,7 @@ "schema": { "type": "string", "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", - "default": "2025-01-01" + "default": "2025-10-06" }, "required": false }, @@ -8725,7 +8725,7 @@ "schema": { "type": "string", "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", - "default": "2025-01-01" + "default": "2015-01-01" }, "required": false }, @@ -9992,7 +9992,7 @@ "schema": { "type": "string", "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", - "default": "2025-01-01" + "default": "2015-01-01" }, "required": false }, @@ -12916,7 +12916,7 @@ "1w" ], "default": "1d", - "description": "The interval for which to aggregate price data (hourly, 4-hours, daily or weekly)." + "description": "The interval* for which to aggregate price data (hourly, 4-hours, daily or weekly).
*Plan restricted." }, "required": false }, @@ -12926,7 +12926,7 @@ "schema": { "type": "string", "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", - "default": "2025-01-01" + "default": "2025-10-06" }, "required": false }, @@ -14193,7 +14193,7 @@ "schema": { "type": "string", "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", - "default": "2025-01-01" + "default": "2020-01-01" }, "required": false }, @@ -15485,7 +15485,7 @@ "schema": { "type": "string", "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", - "default": "2025-01-01" + "default": "2020-01-01" }, "required": false }, @@ -15557,6 +15557,3198 @@ ] } }, + "/v1/tvm/dexes": { + "get": { + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "factory": { + "type": "string", + "description": "Filter by address", + "example": "TRX9Uehj3GuFVh5jjVjNqb6q9cgVHJ4jGX" + }, + "protocol": { + "description": "Protocol name", + "example": "sunswap", + "type": "string", + "enum": [ + "justswap", + "sunswap", + "sunpump" + ] + }, + "transactions": { + "type": "number" + }, + "uaw": { + "type": "number" + }, + "last_activity": { + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + } + }, + "required": [ + "factory", + "protocol", + "transactions", + "uaw", + "last_activity" + ], + "additionalProperties": false + } + }, + "statistics": { + "type": "object", + "properties": { + "elapsed": { + "type": "number" + }, + "rows_read": { + "type": "number" + }, + "bytes_read": { + "type": "number" + } + }, + "additionalProperties": false + }, + "pagination": { + "type": "object", + "properties": { + "previous_page": { + "type": "integer", + "minimum": 1, + "maximum": 9007199254740991 + }, + "current_page": { + "type": "integer", + "minimum": 1, + "maximum": 9007199254740991 + } + }, + "required": [ + "previous_page", + "current_page" + ], + "additionalProperties": false + }, + "results": { + "type": "number" + }, + "request_time": { + "type": "string" + }, + "duration_ms": { + "type": "number" + } + }, + "required": [ + "data", + "statistics", + "pagination", + "results", + "request_time", + "duration_ms" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "data": [ + { + "factory": "TXk8rQSAvPvBBNtqSoY6nCfsXWCSSpTVQF", + "protocol": "justswap", + "transactions": 47301451, + "uaw": 2562671, + "last_activity": "2025-11-03 00:00:00" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Client side error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 400, + "code": "bad_query_input", + "message": "Invalid query parameter provided" + } + } + } + } + } + }, + "401": { + "description": "Authentication failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 401, + "code": "unauthorized", + "message": "Authentication required" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 403, + "code": "forbidden", + "message": "Access denied" + } + } + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 404, + "code": "not_found_data", + "message": "Resource not found" + } + } + } + } + } + }, + "500": { + "description": "Server side error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 500 + }, + { + "type": "number", + "const": 502 + }, + { + "type": "number", + "const": 504 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "bad_database_response", + "connection_refused", + "database_timeout", + "internal_server_error" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 500, + "code": "internal_server_error", + "message": "An unexpected error occurred" + } + } + } + } + } + } + }, + "operationId": "getV1TvmDexes", + "tags": [ + "TVM DEXs" + ], + "parameters": [ + { + "in": "query", + "name": "network", + "schema": { + "description": "The Graph Network ID for TVM networks https://thegraph.com/networks", + "example": "tron", + "type": "string", + "enum": [ + "tron" + ] + }, + "required": true + }, + { + "in": "query", + "name": "factory", + "schema": { + "type": "string", + "description": "Filter by factory address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "TKWJdrQkqHisa1X8HUdHEfREvTzw4pMAaY", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "protocol", + "schema": { + "description": "Protocol name", + "example": "sunswap", + "default": "", + "type": "string", + "enum": [ + "justswap", + "sunswap", + "sunpump" + ] + }, + "required": false + }, + { + "in": "query", + "name": "limit", + "schema": { + "description": "Number of items* returned in a single request.
*Plan restricted.", + "default": 10, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "schema": { + "description": "Page number to fetch.
Empty `data` array signifies end of results.", + "default": 1, + "type": "integer", + "minimum": 1, + "maximum": 767465558638 + }, + "required": false + } + ], + "summary": "Supported DEXs", + "description": "Returns supported TVM DEXs.", + "security": [ + { + "bearerAuth": [] + } + ] + } + }, + "/v1/tvm/pools/ohlc": { + "get": { + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "datetime": { + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + }, + "ticker": { + "type": "string" + }, + "pool": { + "type": "string", + "description": "Filter by pool address", + "example": "TFGDbUyP8xez44C76fin3bn3Ss6jugoUwJ" + }, + "open": { + "type": "number" + }, + "high": { + "type": "number" + }, + "low": { + "type": "number" + }, + "close": { + "type": "number" + }, + "volume": { + "type": "number" + }, + "uaw": { + "type": "number" + }, + "transactions": { + "type": "number" + } + }, + "required": [ + "datetime", + "ticker", + "pool", + "open", + "high", + "low", + "close", + "volume", + "uaw", + "transactions" + ], + "additionalProperties": false + } + }, + "statistics": { + "type": "object", + "properties": { + "elapsed": { + "type": "number" + }, + "rows_read": { + "type": "number" + }, + "bytes_read": { + "type": "number" + } + }, + "additionalProperties": false + }, + "pagination": { + "type": "object", + "properties": { + "previous_page": { + "type": "integer", + "minimum": 1, + "maximum": 9007199254740991 + }, + "current_page": { + "type": "integer", + "minimum": 1, + "maximum": 9007199254740991 + } + }, + "required": [ + "previous_page", + "current_page" + ], + "additionalProperties": false + }, + "results": { + "type": "number" + }, + "request_time": { + "type": "string" + }, + "duration_ms": { + "type": "number" + } + }, + "required": [ + "data", + "statistics", + "pagination", + "results", + "request_time", + "duration_ms" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "data": [ + { + "datetime": "2025-11-05 00:00:00", + "ticker": "WTRXUSDT", + "pool": "TFGDbUyP8xez44C76fin3bn3Ss6jugoUwJ", + "open": 0.2858162052159799, + "high": 0.2880636266155062, + "low": 0.28099080983643465, + "close": 0.2880636266155062, + "volume": 15584135805763, + "uaw": 10, + "transactions": 102081 + } + ] + } + } + } + } + } + }, + "400": { + "description": "Client side error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 400, + "code": "bad_query_input", + "message": "Invalid query parameter provided" + } + } + } + } + } + }, + "401": { + "description": "Authentication failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 401, + "code": "unauthorized", + "message": "Authentication required" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 403, + "code": "forbidden", + "message": "Access denied" + } + } + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 404, + "code": "not_found_data", + "message": "Resource not found" + } + } + } + } + } + }, + "500": { + "description": "Server side error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 500 + }, + { + "type": "number", + "const": 502 + }, + { + "type": "number", + "const": 504 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "bad_database_response", + "connection_refused", + "database_timeout", + "internal_server_error" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 500, + "code": "internal_server_error", + "message": "An unexpected error occurred" + } + } + } + } + } + } + }, + "operationId": "getV1TvmPoolsOhlc", + "tags": [ + "TVM DEXs" + ], + "parameters": [ + { + "in": "query", + "name": "network", + "schema": { + "description": "The Graph Network ID for TVM networks https://thegraph.com/networks", + "example": "tron", + "type": "string", + "enum": [ + "tron" + ] + }, + "required": true + }, + { + "in": "query", + "name": "pool", + "schema": { + "type": "string", + "description": "Filter by pool address", + "example": "TFGDbUyP8xez44C76fin3bn3Ss6jugoUwJ" + }, + "required": true + }, + { + "in": "query", + "name": "interval", + "schema": { + "type": "string", + "enum": [ + "1h", + "4h", + "1d", + "1w" + ], + "default": "1d", + "description": "The interval* for which to aggregate price data (hourly, 4-hours, daily or weekly).
*Plan restricted." + }, + "required": false + }, + { + "in": "query", + "name": "start_time", + "schema": { + "type": "string", + "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", + "default": "2025-10-06" + }, + "required": false + }, + { + "in": "query", + "name": "end_time", + "schema": { + "type": "string", + "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", + "default": "2050-01-01" + }, + "required": false + }, + { + "in": "query", + "name": "limit", + "schema": { + "description": "Number of items* returned in a single request.
*Plan restricted.", + "default": 10, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "schema": { + "description": "Page number to fetch.
Empty `data` array signifies end of results.", + "default": 1, + "type": "integer", + "minimum": 1, + "maximum": 767465558638 + }, + "required": false + } + ], + "summary": "Pool OHLCV Data", + "description": "Returns OHLCV price data for liquidity pools.\n\nOHLCV historical depth is subject to plan restrictions.", + "security": [ + { + "bearerAuth": [] + } + ] + } + }, + "/v1/tvm/swaps": { + "get": { + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_num": { + "type": "number" + }, + "datetime": { + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + }, + "timestamp": { + "type": "number" + }, + "transaction_id": { + "type": "string" + }, + "transaction_index": { + "type": "number" + }, + "log_index": { + "type": "number" + }, + "log_ordinal": { + "type": "number" + }, + "log_address": { + "type": "string", + "description": "Filter by address", + "example": "TRX9Uehj3GuFVh5jjVjNqb6q9cgVHJ4jGX" + }, + "log_topic0": { + "type": "string" + }, + "protocol": { + "description": "Protocol name", + "example": "sunswap", + "type": "string", + "enum": [ + "justswap", + "sunswap", + "sunpump" + ] + }, + "factory": { + "type": "string", + "description": "Filter by factory address", + "example": "TKWJdrQkqHisa1X8HUdHEfREvTzw4pMAaY" + }, + "pool": { + "type": "string", + "description": "Filter by pool address", + "example": "TFGDbUyP8xez44C76fin3bn3Ss6jugoUwJ" + }, + "user": { + "type": "string", + "description": "Filter by address", + "example": "TRX9Uehj3GuFVh5jjVjNqb6q9cgVHJ4jGX" + }, + "input_amount": { + "type": "string" + }, + "input_value": { + "type": "number" + }, + "input_token": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Filter by address", + "example": "TRX9Uehj3GuFVh5jjVjNqb6q9cgVHJ4jGX" + }, + "symbol": { + "type": "string" + }, + "name": { + "type": "string" + }, + "decimals": { + "type": "number" + } + }, + "required": [ + "address", + "symbol", + "name", + "decimals" + ], + "additionalProperties": false + }, + "output_amount": { + "type": "string" + }, + "output_value": { + "type": "number" + }, + "output_token": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Filter by address", + "example": "TRX9Uehj3GuFVh5jjVjNqb6q9cgVHJ4jGX" + }, + "symbol": { + "type": "string" + }, + "name": { + "type": "string" + }, + "decimals": { + "type": "number" + } + }, + "required": [ + "address", + "symbol", + "name", + "decimals" + ], + "additionalProperties": false + }, + "network": { + "description": "The Graph Network ID for TVM networks https://thegraph.com/networks", + "example": "tron", + "type": "string", + "enum": [ + "tron" + ] + } + }, + "required": [ + "block_num", + "datetime", + "timestamp", + "transaction_id", + "transaction_index", + "log_index", + "log_ordinal", + "log_address", + "log_topic0", + "protocol", + "factory", + "pool", + "user", + "input_amount", + "input_value", + "input_token", + "output_amount", + "output_value", + "output_token", + "network" + ], + "additionalProperties": false + } + }, + "statistics": { + "type": "object", + "properties": { + "elapsed": { + "type": "number" + }, + "rows_read": { + "type": "number" + }, + "bytes_read": { + "type": "number" + } + }, + "additionalProperties": false + }, + "pagination": { + "type": "object", + "properties": { + "previous_page": { + "type": "integer", + "minimum": 1, + "maximum": 9007199254740991 + }, + "current_page": { + "type": "integer", + "minimum": 1, + "maximum": 9007199254740991 + } + }, + "required": [ + "previous_page", + "current_page" + ], + "additionalProperties": false + }, + "results": { + "type": "number" + }, + "request_time": { + "type": "string" + }, + "duration_ms": { + "type": "number" + } + }, + "required": [ + "data", + "statistics", + "pagination", + "results", + "request_time", + "duration_ms" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "data": [ + { + "block_num": 77233509, + "datetime": "2025-11-05 16:55:03", + "timestamp": 1762361703, + "transaction_id": "e74815245a8f1321ce5ede99cde8e021f75bf8e3d4f94cd8949d283eb56fee63", + "transaction_index": 0, + "log_index": 1, + "log_ordinal": 662, + "log_address": "TFGDbUyP8xez44C76fin3bn3Ss6jugoUwJ", + "log_topic0": "d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822", + "protocol": "sunswap", + "factory": "TKWJdrQkqHisa1X8HUdHEfREvTzw4pMAaY", + "pool": "TFGDbUyP8xez44C76fin3bn3Ss6jugoUwJ", + "user": "TXF1xDbVGdxFGbovmmmXvBGu8ZiE3Lq4mR", + "input_amount": "170000000", + "input_value": 170, + "input_token": { + "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", + "symbol": "USDT", + "name": "Tether USD", + "decimals": 6 + }, + "output_amount": "590270510", + "output_value": 590.27051, + "output_token": { + "address": "TNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR", + "symbol": "WTRX", + "name": "Wrapped TRX", + "decimals": 6 + }, + "network": "tron" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Client side error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 400, + "code": "bad_query_input", + "message": "Invalid query parameter provided" + } + } + } + } + } + }, + "401": { + "description": "Authentication failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 401, + "code": "unauthorized", + "message": "Authentication required" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 403, + "code": "forbidden", + "message": "Access denied" + } + } + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 404, + "code": "not_found_data", + "message": "Resource not found" + } + } + } + } + } + }, + "500": { + "description": "Server side error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 500 + }, + { + "type": "number", + "const": 502 + }, + { + "type": "number", + "const": 504 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "bad_database_response", + "connection_refused", + "database_timeout", + "internal_server_error" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 500, + "code": "internal_server_error", + "message": "An unexpected error occurred" + } + } + } + } + } + } + }, + "operationId": "getV1TvmSwaps", + "tags": [ + "TVM DEXs" + ], + "parameters": [ + { + "in": "query", + "name": "network", + "schema": { + "description": "The Graph Network ID for TVM networks https://thegraph.com/networks", + "example": "tron", + "type": "string", + "enum": [ + "tron" + ] + }, + "required": true + }, + { + "in": "query", + "name": "transaction_id", + "schema": { + "type": "string", + "description": "Filter by transaction hash
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "e74815245a8f1321ce5ede99cde8e021f75bf8e3d4f94cd8949d283eb56fee63", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "factory", + "schema": { + "type": "string", + "description": "Filter by address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "TKWJdrQkqHisa1X8HUdHEfREvTzw4pMAaY", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "pool", + "schema": { + "type": "string", + "description": "Filter by pool address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "TFGDbUyP8xez44C76fin3bn3Ss6jugoUwJ", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "user", + "schema": { + "type": "string", + "description": "Filter by address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "TXF1xDbVGdxFGbovmmmXvBGu8ZiE3Lq4mR", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "input_token", + "schema": { + "type": "string", + "description": "Filter by address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "output_token", + "schema": { + "type": "string", + "description": "Filter by address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "TNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "protocol", + "schema": { + "description": "Protocol name", + "example": "sunswap", + "default": "", + "type": "string", + "enum": [ + "justswap", + "sunswap", + "sunpump" + ] + }, + "required": false + }, + { + "in": "query", + "name": "start_time", + "schema": { + "type": "string", + "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", + "default": "2015-01-01" + }, + "required": false + }, + { + "in": "query", + "name": "end_time", + "schema": { + "type": "string", + "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", + "default": "2050-01-01" + }, + "required": false + }, + { + "in": "query", + "name": "start_block", + "schema": { + "description": "Filter by block number", + "default": 0, + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "required": false + }, + { + "in": "query", + "name": "end_block", + "schema": { + "description": "Filter by block number", + "default": 9999999999, + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "required": false + }, + { + "in": "query", + "name": "limit", + "schema": { + "description": "Number of items* returned in a single request.
*Plan restricted.", + "default": 10, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "schema": { + "description": "Page number to fetch.
Empty `data` array signifies end of results.", + "default": 1, + "type": "integer", + "minimum": 1, + "maximum": 767465558638 + }, + "required": false + } + ], + "summary": "Swap Events", + "description": "Returns DEX swap transactions from Tron protocols with token amounts and prices.", + "security": [ + { + "bearerAuth": [] + } + ] + } + }, + "/v1/tvm/transfers": { + "get": { + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_num": { + "type": "number" + }, + "datetime": { + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + }, + "timestamp": { + "type": "number" + }, + "transaction_id": { + "type": "string", + "description": "Filter by transaction hash", + "example": "daddbf0810fb73620ebb1ad3c915afd32f3cf13a267d740f27284583df97a01a" + }, + "transaction_index": { + "type": "number" + }, + "log_index": { + "type": "number" + }, + "log_ordinal": { + "type": "number" + }, + "contract": { + "type": "string", + "description": "Filter by contract address", + "example": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t" + }, + "from": { + "type": "string", + "description": "Filter by address", + "example": "TRX9Uehj3GuFVh5jjVjNqb6q9cgVHJ4jGX" + }, + "to": { + "type": "string", + "description": "Filter by address", + "example": "TRX9Uehj3GuFVh5jjVjNqb6q9cgVHJ4jGX" + }, + "amount": { + "type": "string" + }, + "value": { + "type": "number" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "symbol": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "decimals": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "network": { + "description": "The Graph Network ID for TVM networks https://thegraph.com/networks", + "example": "tron", + "type": "string", + "enum": [ + "tron" + ] + } + }, + "required": [ + "block_num", + "datetime", + "timestamp", + "transaction_id", + "transaction_index", + "log_index", + "log_ordinal", + "contract", + "from", + "to", + "amount", + "value", + "name", + "symbol", + "decimals", + "network" + ], + "additionalProperties": false + } + }, + "statistics": { + "type": "object", + "properties": { + "elapsed": { + "type": "number" + }, + "rows_read": { + "type": "number" + }, + "bytes_read": { + "type": "number" + } + }, + "additionalProperties": false + }, + "pagination": { + "type": "object", + "properties": { + "previous_page": { + "type": "integer", + "minimum": 1, + "maximum": 9007199254740991 + }, + "current_page": { + "type": "integer", + "minimum": 1, + "maximum": 9007199254740991 + } + }, + "required": [ + "previous_page", + "current_page" + ], + "additionalProperties": false + }, + "results": { + "type": "number" + }, + "request_time": { + "type": "string" + }, + "duration_ms": { + "type": "number" + } + }, + "required": [ + "data", + "statistics", + "pagination", + "results", + "request_time", + "duration_ms" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "data": [ + { + "block_num": 77231165, + "datetime": "2025-11-05 14:57:51", + "timestamp": 1762354671, + "transaction_id": "46c608cd66c873753f7d86a3dc6b46453052505730cc5f6e951533083b1d40ab", + "transaction_index": 273, + "log_index": 0, + "log_ordinal": 1020, + "contract": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", + "from": "TAYtGZzxZf1GhPfGwZKskWQnz7Qj3rwLDh", + "to": "THWuviP5wEiPBLZ1g1iPPiH4kV7FRXWFP1", + "amount": "19600000000", + "value": 19600, + "name": "Tether USD", + "symbol": "USDT", + "decimals": 6, + "network": "tron" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Client side error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 400, + "code": "bad_query_input", + "message": "Invalid query parameter provided" + } + } + } + } + } + }, + "401": { + "description": "Authentication failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 401, + "code": "unauthorized", + "message": "Authentication required" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 403, + "code": "forbidden", + "message": "Access denied" + } + } + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 404, + "code": "not_found_data", + "message": "Resource not found" + } + } + } + } + } + }, + "500": { + "description": "Server side error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 500 + }, + { + "type": "number", + "const": 502 + }, + { + "type": "number", + "const": 504 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "bad_database_response", + "connection_refused", + "database_timeout", + "internal_server_error" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 500, + "code": "internal_server_error", + "message": "An unexpected error occurred" + } + } + } + } + } + } + }, + "operationId": "getV1TvmTransfers", + "tags": [ + "TVM Tokens" + ], + "parameters": [ + { + "in": "query", + "name": "network", + "schema": { + "description": "The Graph Network ID for TVM networks https://thegraph.com/networks", + "example": "tron", + "type": "string", + "enum": [ + "tron" + ] + }, + "required": true + }, + { + "in": "query", + "name": "transaction_id", + "schema": { + "type": "string", + "description": "Filter by transaction hash
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "46c608cd66c873753f7d86a3dc6b46453052505730cc5f6e951533083b1d40ab", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "contract", + "schema": { + "type": "string", + "description": "Filter by contract address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "from_address", + "schema": { + "type": "string", + "description": "Filter by address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "TAYtGZzxZf1GhPfGwZKskWQnz7Qj3rwLDh", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "to_address", + "schema": { + "type": "string", + "description": "Filter by address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "THWuviP5wEiPBLZ1g1iPPiH4kV7FRXWFP1", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "start_time", + "schema": { + "type": "string", + "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", + "default": "2015-01-01" + }, + "required": false + }, + { + "in": "query", + "name": "end_time", + "schema": { + "type": "string", + "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", + "default": "2050-01-01" + }, + "required": false + }, + { + "in": "query", + "name": "start_block", + "schema": { + "description": "Filter by block number", + "default": 0, + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "required": false + }, + { + "in": "query", + "name": "end_block", + "schema": { + "description": "Filter by block number", + "default": 9999999999, + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "required": false + }, + { + "in": "query", + "name": "limit", + "schema": { + "description": "Number of items* returned in a single request.
*Plan restricted.", + "default": 10, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "schema": { + "description": "Page number to fetch.
Empty `data` array signifies end of results.", + "default": 1, + "type": "integer", + "minimum": 1, + "maximum": 767465558638 + }, + "required": false + } + ], + "summary": "TRC-20 Transfers", + "description": "Returns TRC-20 transfers with transaction and block data.", + "security": [ + { + "bearerAuth": [] + } + ] + } + }, + "/v1/tvm/transfers/native": { + "get": { + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_num": { + "type": "number" + }, + "datetime": { + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$" + }, + "timestamp": { + "type": "number" + }, + "transaction_id": { + "type": "string", + "description": "Filter by transaction hash", + "example": "daddbf0810fb73620ebb1ad3c915afd32f3cf13a267d740f27284583df97a01a" + }, + "transaction_index": { + "type": "number" + }, + "from": { + "type": "string", + "description": "Filter by address", + "example": "TRX9Uehj3GuFVh5jjVjNqb6q9cgVHJ4jGX" + }, + "to": { + "type": "string", + "description": "Filter by address", + "example": "TRX9Uehj3GuFVh5jjVjNqb6q9cgVHJ4jGX" + }, + "amount": { + "type": "string" + }, + "value": { + "type": "number" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "symbol": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "decimals": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "network": { + "description": "The Graph Network ID for TVM networks https://thegraph.com/networks", + "example": "tron", + "type": "string", + "enum": [ + "tron" + ] + } + }, + "required": [ + "block_num", + "datetime", + "timestamp", + "transaction_id", + "transaction_index", + "from", + "to", + "amount", + "value", + "name", + "symbol", + "decimals", + "network" + ], + "additionalProperties": false + } + }, + "statistics": { + "type": "object", + "properties": { + "elapsed": { + "type": "number" + }, + "rows_read": { + "type": "number" + }, + "bytes_read": { + "type": "number" + } + }, + "additionalProperties": false + }, + "pagination": { + "type": "object", + "properties": { + "previous_page": { + "type": "integer", + "minimum": 1, + "maximum": 9007199254740991 + }, + "current_page": { + "type": "integer", + "minimum": 1, + "maximum": 9007199254740991 + } + }, + "required": [ + "previous_page", + "current_page" + ], + "additionalProperties": false + }, + "results": { + "type": "number" + }, + "request_time": { + "type": "string" + }, + "duration_ms": { + "type": "number" + } + }, + "required": [ + "data", + "statistics", + "pagination", + "results", + "request_time", + "duration_ms" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "data": [ + { + "block_num": 77231160, + "datetime": "2025-11-05 14:57:36", + "timestamp": 1762354656, + "transaction_id": "7504152368a31f51dc0128f07b01815a4f1033c8247a7c2f415a55d59cfe4351", + "transaction_index": 260, + "from": "TAYtGZzxZf1GhPfGwZKskWQnz7Qj3rwLDh", + "to": "TMXZAySpsog7WtaeKb8WotoHepNsD1jjTc", + "amount": "4821375", + "value": 4.821375, + "name": "Tron", + "symbol": "TRX", + "decimals": 6, + "network": "tron" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Client side error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 400, + "code": "bad_query_input", + "message": "Invalid query parameter provided" + } + } + } + } + } + }, + "401": { + "description": "Authentication failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 401, + "code": "unauthorized", + "message": "Authentication required" + } + } + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 403, + "code": "forbidden", + "message": "Access denied" + } + } + } + } + } + }, + "404": { + "description": "Not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 400 + }, + { + "type": "number", + "const": 401 + }, + { + "type": "number", + "const": 403 + }, + { + "type": "number", + "const": 404 + }, + { + "type": "number", + "const": 405 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "authentication_failed", + "bad_header", + "missing_required_header", + "bad_query_input", + "forbidden", + "method_not_allowed", + "route_not_found", + "unauthorized", + "not_found_data" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 404, + "code": "not_found_data", + "message": "Resource not found" + } + } + } + } + } + }, + "500": { + "description": "Server side error", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { + "anyOf": [ + { + "type": "number", + "const": 500 + }, + { + "type": "number", + "const": 502 + }, + { + "type": "number", + "const": 504 + } + ] + }, + "code": { + "type": "string", + "enum": [ + "bad_database_response", + "connection_refused", + "database_timeout", + "internal_server_error" + ] + }, + "message": { + "type": "string" + } + }, + "required": [ + "status", + "code", + "message" + ], + "additionalProperties": false + }, + "examples": { + "example": { + "value": { + "status": 500, + "code": "internal_server_error", + "message": "An unexpected error occurred" + } + } + } + } + } + } + }, + "operationId": "getV1TvmTransfersNative", + "tags": [ + "TVM Tokens" + ], + "parameters": [ + { + "in": "query", + "name": "network", + "schema": { + "description": "The Graph Network ID for TVM networks https://thegraph.com/networks", + "example": "tron", + "type": "string", + "enum": [ + "tron" + ] + }, + "required": true + }, + { + "in": "query", + "name": "transaction_id", + "schema": { + "type": "string", + "description": "Filter by transaction hash
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "7504152368a31f51dc0128f07b01815a4f1033c8247a7c2f415a55d59cfe4351", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "from_address", + "schema": { + "type": "string", + "description": "Filter by address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "TAYtGZzxZf1GhPfGwZKskWQnz7Qj3rwLDh", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "to_address", + "schema": { + "type": "string", + "description": "Filter by address
Single value or array of values* (separate multiple values with `,`)
*Plan restricted.", + "example": "TMXZAySpsog7WtaeKb8WotoHepNsD1jjTc", + "default": "" + }, + "required": false + }, + { + "in": "query", + "name": "start_time", + "schema": { + "type": "string", + "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", + "default": "2015-01-01" + }, + "required": false + }, + { + "in": "query", + "name": "end_time", + "schema": { + "type": "string", + "description": "UNIX timestamp in seconds or date string (e.g. \"2025-01-01T00:00:00Z\", \"2025-01-01\", ...).", + "default": "2050-01-01" + }, + "required": false + }, + { + "in": "query", + "name": "start_block", + "schema": { + "description": "Filter by block number", + "default": 0, + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "required": false + }, + { + "in": "query", + "name": "end_block", + "schema": { + "description": "Filter by block number", + "default": 9999999999, + "type": "integer", + "minimum": 0, + "maximum": 9007199254740991 + }, + "required": false + }, + { + "in": "query", + "name": "limit", + "schema": { + "description": "Number of items* returned in a single request.
*Plan restricted.", + "default": 10, + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "required": false + }, + { + "in": "query", + "name": "page", + "schema": { + "description": "Page number to fetch.
Empty `data` array signifies end of results.", + "default": 1, + "type": "integer", + "minimum": 1, + "maximum": 767465558638 + }, + "required": false + } + ], + "summary": "Native Transfers", + "description": "Returns Native transfers with transaction and block data.", + "security": [ + { + "bearerAuth": [] + } + ] + } + }, "/v1/health": { "get": { "responses": { @@ -16112,9 +19304,9 @@ "examples": { "example": { "value": { - "version": "3.1.2", - "commit": "06db7ad", - "date": "2025-10-16", + "version": "3.5.3", + "commit": "f74aaa1", + "date": "2025-11-06", "repo": "pinax-network/token-api" } } @@ -16510,7 +19702,7 @@ ], "additionalProperties": false }, - "alias": { + "aliases": { "type": "array", "items": { "type": "string" @@ -16524,7 +19716,7 @@ "caip2Id", "networkType", "icon", - "alias" + "aliases" ], "additionalProperties": false } diff --git a/website/src/pages/ar/archived/arbitrum-faq.mdx b/website/src/pages/ar/archived/arbitrum-faq.mdx deleted file mode 100644 index 29481ead71f1..000000000000 --- a/website/src/pages/ar/archived/arbitrum-faq.mdx +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Arbitrum One FAQ ---- - -Click [here](#billing-on-arbitrum-faqs) if you would like to skip to the Arbitrum One Billing FAQs. - -## Why did The Graph implement an L2 Solution? - -By scaling The Graph on L2, network participants can now benefit from: - -- Upwards of 26x savings on gas fees - -- سرعة أكبر في المعاملات - -- Security inherited from Ethereum - -Scaling the protocol smart contracts onto L2 allows network participants to interact more frequently at a reduced cost in gas fees. For example, Indexers can open and close allocations more frequently to index a greater number of Subgraphs. Developers can deploy and update Subgraphs more easily, and Delegators can delegate GRT more frequently. Curators can add or remove signal to a larger number of Subgraphs–actions previously considered too cost-prohibitive to perform frequently due to gas. - -The Graph community decided to move forward with Arbitrum One last year after the outcome of the [GIP-0031](https://forum.thegraph.com/t/gip-0031-arbitrum-grt-bridge/3305) discussion. - -## What do I need to do to use The Graph on L2? - -The Graph’s billing system accepts GRT on Arbitrum One, and users will need ETH on Arbitrum One to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. - -Consequently, to pay for queries, you need GRT on Arbitrum One. Here are a few different ways to achieve this: - -- If you already have GRT on Ethereum, you can bridge it to Arbitrum One. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: - - [The Arbitrum One Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - - [TransferTo](https://transferto.xyz/swap) - -- If you have other assets on Arbitrum One, you can swap them for GRT through a swapping protocol like Uniswap. - -- Alternatively, you can acquire GRT directly on Arbitrum One through a decentralized exchange. - -Once you have GRT on Arbitrum One, you can add it to your billing balance. - -To take advantage of using The Graph on L2, use this dropdown switcher to toggle between chains. - -![Dropdown switcher to toggle Arbitrum One](/img/arbitrum-screenshot-toggle.png) - -## As a Subgraph developer, data consumer, Indexer, Curator, or Delegator, what do I need to do now? - -Network participants must move to Arbitrum One to continue participating in The Graph Network. Please refer to [L2 Transfer Tool Guide](/archived/arbitrum/l2-transfer-tools-guide/) for additional support. - -All indexing rewards are now entirely on Arbitrum One. - -## Were there any risks associated with scaling the network to L2? - -All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). - -Everything has been tested thoroughly, and a contingency plan is in place to ensure a safe and seamless transition. Details can be found [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). - -## Are existing Subgraphs on Ethereum working? - -All Subgraphs are now on Arbitrum One. Please refer to [L2 Transfer Tool Guide](/archived/arbitrum/l2-transfer-tools-guide/) to ensure your Subgraphs operate seamlessly. - -## Does GRT have a new smart contract deployed on Arbitrum One? - -Yes, GRT has an additional [smart contract on Arbitrum One](https://arbiscan.io/address/0x9623063377ad1b27544c965ccd7342f7ea7e88c7). However, the Ethereum mainnet [GRT contract](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) will remain operational. - -## Billing on Arbitrum One FAQs - -## What do I need to do about the GRT in my billing balance? - -Nothing! Your GRT has been securely migrated to Arbitrum One and is being used to pay for queries as you read this. - -## How do I know my funds have migrated securely to Arbitrum One? - -All GRT billing balances have already been successfully migrated to Arbitrum One. You can view the billing contract on Arbitrum One [here](https://arbiscan.io/address/0x1B07D3344188908Fb6DEcEac381f3eE63C48477a). - -## How do I know the Arbitrum One bridge is secure? - -The bridge has been [heavily audited](https://code4rena.com/contests/2022-10-the-graph-l2-bridge-contest) to ensure safety and security for all users. - -## What do I need to do if I'm adding fresh GRT from my Ethereum mainnet wallet? - -Adding GRT to your Arbitrum One billing balance can be done with a one-click experience in [Subgraph Studio](https://thegraph.com/studio/). You'll be able to easily bridge your GRT to Arbitrum One and fill your API keys in one transaction. - -Visit the [Billing page](/subgraphs/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. diff --git a/website/src/pages/ar/archived/arbitrum/tap.mdx b/website/src/pages/ar/archived/arbitrum/tap.mdx deleted file mode 100644 index 0dac61949de9..000000000000 --- a/website/src/pages/ar/archived/arbitrum/tap.mdx +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: GraphTally Guide ---- - -Learn about The Graph’s new payment system, **GraphTally** [(previously Timeline Aggregation Protocol)](https://docs.rs/tap_core/latest/tap_core/index.html). This system provides fast, efficient microtransactions with minimized trust. - -## نظره عامة - -GraphTally is a drop-in replacement to the Scalar payment system currently in place. It provides the following key features: - -- Efficiently handles micropayments. -- Adds a layer of consolidations to onchain transactions and costs. -- Allows Indexers control of receipts and payments, guaranteeing payment for queries. -- It enables decentralized, trustless gateways and improves `indexer-service` performance for multiple senders. - -### Specifics - -GraphTally allows a sender to make multiple payments to a receiver, **Receipts**, which aggregates these payments into a single payment, a **Receipt Aggregate Voucher**, also known as a **RAV**. This aggregated payment can then be verified on the blockchain, reducing the number of transactions and simplifying the payment process. - -For each query, the gateway will send you a `signed receipt` that is stored on your database. Then, these queries will be aggregated by a `tap-agent` through a request. Afterwards, you’ll receive a RAV. You can update a RAV by sending it with newer receipts and this will generate a new RAV with an increased value. - -### RAV Details - -- It’s money that is waiting to be sent to the blockchain. - -- It will continue to send requests to aggregate and ensure that the total value of non-aggregated receipts does not exceed the `amount willing to lose`. - -- Each RAV can be redeemed once in the contracts, which is why they are sent after the allocation is closed. - -### Redeeming RAV - -As long as you run `tap-agent` and `indexer-agent`, everything will be executed automatically. The following provides a detailed breakdown of the process: - -1. An Indexer closes allocation. - -2. ` period, tap-agent` takes all pending receipts for that specific allocation and requests an aggregation into a RAV, marking it as `last`. - -3. `indexer-agent` takes all the last RAVS and sends redeem requests to the blockchain, which will update the value of `redeem_at`. - -4. During the `` period, `indexer-agent` monitors if the blockchain has any reorganizations that revert the transaction. - - If it was reverted, the RAV is resent to the blockchain. If it was not reverted, it gets marked as `final`. - -## Blockchain Addresses - -### Contracts - -| Contract | Arbitrum One (42161) | Arbitrum Sepolia (421614) | -| ------------------- | -------------------------------------------- | -------------------------------------------- | -| TAP Verifier | `0x33f9E93266ce0E108fc85DdE2f71dab555A0F05a` | `0xfC24cE7a4428A6B89B52645243662A02BA734ECF` | -| AllocationIDTracker | `0x5B2F33d7Ca6Ec88f5586f2528f58c20843D9FE7c` | `0xAaC28a10d707bbc6e02029f1bfDAEB5084b2aD11` | -| Escrow | `0x8f477709eF277d4A880801D01A140a9CF88bA0d3` | `0x1e4dC4f9F95E102635D8F7ED71c5CdbFa20e2d02` | - -### Gateway - -| Component | Edge and Node Mainnet (Arbitrum One) | Edge and Node Testnet (Arbitrum Sepolia) | -| ---------- | --------------------------------------------- | --------------------------------------------- | -| Sender | `0xDDE4cfFd3D9052A9cb618fC05a1Cd02be1f2F467` | `0xC3dDf37906724732FfD748057FEBe23379b0710D` | -| Signers | `0xfF4B7A5EfD00Ff2EC3518D4F250A27e4c29A2211` | `0xFb142dE83E261e43a81e9ACEADd1c66A0DB121FE` | -| Aggregator | `https://tap-aggregator.network.thegraph.com` | `https://tap-aggregator.testnet.thegraph.com` | - -### Prerequisites - -In addition to the typical requirements to run an indexer, you’ll need a `tap-escrow-subgraph` endpoint to query updates. You can use The Graph Network to query or host yourself on your `graph-node`. - -- [Graph TAP Arbitrum Sepolia Subgraph (for The Graph testnet)](https://thegraph.com/explorer/subgraphs/7ubx365MiqBH5iUz6XWXWT8PTof5BVAyEzdb8m17RvbD) -- [Graph TAP Arbitrum One Subgraph (for The Graph mainnet)](https://thegraph.com/explorer/subgraphs/4sukbNVTzGELnhdnpyPqsf1QqtzNHEYKKmJkgaT8z6M1) - -> Note: `indexer-agent` does not currently handle the indexing of this Subgraph like it does for the network Subgraph deployment. As a result, you have to index it manually. - -## Migration Guide - -### Software versions - -The required software version can be found [here](https://github.com/graphprotocol/indexer/blob/main/docs/networks/arbitrum-one.md#latest-releases). - -### Steps - -1. **Indexer Agent** - - Follow the [same process](https://github.com/graphprotocol/indexer/pkgs/container/indexer-agent#graph-protocol-indexer-components). - - Give the new argument `--tap-subgraph-endpoint` to activate the new GraphTally codepaths and enable redeeming of RAVs. - -2. **Indexer Service** - - Fully replace your current configuration with the [new Indexer Service rs](https://github.com/graphprotocol/indexer-rs). It's recommend that you use the [container image](https://github.com/orgs/graphprotocol/packages?repo_name=indexer-rs). - - Like the older version, you can scale Indexer Service horizontally easily. It is still stateless. - -3. **TAP Agent** - - Run _one_ single instance of [TAP Agent](https://github.com/graphprotocol/indexer-rs) at all times. It's recommend that you use the [container image](https://github.com/orgs/graphprotocol/packages?repo_name=indexer-rs). - -4. **Configure Indexer Service and TAP Agent** - - Configuration is a TOML file shared between `indexer-service` and `tap-agent`, supplied with the argument `--config /path/to/config.toml`. - - Check out the full [configuration](https://github.com/graphprotocol/indexer-rs/blob/main/config/maximal-config-example.toml) and the [default values](https://github.com/graphprotocol/indexer-rs/blob/main/config/default_values.toml) - -For minimal configuration, use the following template: - -```bash -# You will have to change *all* the values below to match your setup. -# -# Some of the config below are global graph network values, which you can find here: -# -# -# Pro tip: if you need to load some values from the environment into this config, you -# can overwrite with environment variables. For example, the following can be replaced -# by [PREFIX]_DATABASE_POSTGRESURL, where PREFIX can be `INDEXER_SERVICE` or `TAP_AGENT`: -# -# [database] -# postgres_url = "postgresql://indexer:${POSTGRES_PASSWORD}@postgres:5432/indexer_components_0" - -[indexer] -indexer_address = "0x1111111111111111111111111111111111111111" -operator_mnemonic = "celery smart tip orange scare van steel radio dragon joy alarm crane" - -[database] -# The URL of the Postgres database used for the indexer components. The same database -# that is used by the `indexer-agent`. It is expected that `indexer-agent` will create -# the necessary tables. -postgres_url = "postgres://postgres@postgres:5432/postgres" - -[graph_node] -# URL to your graph-node's query endpoint -query_url = "" -# URL to your graph-node's status endpoint -status_url = "" - -[subgraphs.network] -# Query URL for the Graph Network Subgraph. -query_url = "" -# Optional, deployment to look for in the local `graph-node`, if locally indexed. -# Locally indexing the Subgraph is recommended. -# NOTE: Use `query_url` or `deployment_id` only -deployment_id = "Qmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - -[subgraphs.escrow] -# Query URL for the Escrow Subgraph. -query_url = "" -# Optional, deployment to look for in the local `graph-node`, if locally indexed. -# Locally indexing the Subgraph is recommended. -# NOTE: Use `query_url` or `deployment_id` only -deployment_id = "Qmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" - -[blockchain] -# The chain ID of the network that the graph network is running on -chain_id = 1337 -# Contract address of TAP's receipt aggregate voucher (RAV) verifier. -receipts_verifier_address = "0x2222222222222222222222222222222222222222" - -######################################## -# Specific configurations to tap-agent # -######################################## -[tap] -# This is the amount of fees you are willing to risk at any given time. For ex. -# if the sender stops supplying RAVs for long enough and the fees exceed this -# amount, the indexer-service will stop accepting queries from the sender -# until the fees are aggregated. -# NOTE: Use strings for decimal values to prevent rounding errors -# e.g: -# max_amount_willing_to_lose_grt = "0.1" -max_amount_willing_to_lose_grt = 20 - -[tap.sender_aggregator_endpoints] -# Key-Value of all senders and their aggregator endpoints -# This one below is for the E&N testnet gateway for example. -0xDDE4cfFd3D9052A9cb618fC05a1Cd02be1f2F467 = "https://tap-aggregator.network.thegraph.com" -``` - -Notes: - -- Values for `tap.sender_aggregator_endpoints` can be found in the [gateway section](/indexing/tap/#gateway). -- Values for `blockchain.receipts_verifier_address` must be used accordingly to the [Blockchain addresses section](/indexing/tap/#contracts) using the appropriate chain id. - -**Log Level** - -- You can set the log level by using the `RUST_LOG` environment variable. -- It’s recommended that you set it to `RUST_LOG=indexer_tap_agent=debug,info`. - -## Monitoring - -### Metrics - -All components expose the port 7300 to be queried by prometheus. - -### Grafana Dashboard - -You can download [Grafana Dashboard](https://github.com/graphprotocol/indexer-rs/blob/main/docs/dashboard.json) and import. - -### Launchpad - -Currently, there is a WIP version of `indexer-rs` and `tap-agent` that can be found [here](https://github.com/graphops/launchpad-charts/tree/main/charts/graph-network-indexer) diff --git a/website/src/pages/ar/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/ar/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/ar/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/ar/token-api/_meta-titles.json b/website/src/pages/ar/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/ar/token-api/_meta-titles.json +++ b/website/src/pages/ar/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/ar/token-api/_meta.js b/website/src/pages/ar/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/ar/token-api/_meta.js +++ b/website/src/pages/ar/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/ar/token-api/tvm-dexs/_meta.js b/website/src/pages/ar/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/ar/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/ar/token-api/tvm-dexs/dexes.mdx b/website/src/pages/ar/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/ar/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/ar/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/ar/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/ar/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/ar/token-api/tvm-dexs/swaps.mdx b/website/src/pages/ar/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/ar/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/ar/token-api/tvm-tokens/_meta.js b/website/src/pages/ar/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/ar/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/ar/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/ar/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/ar/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/ar/token-api/tvm-tokens/transfers.mdx b/website/src/pages/ar/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/ar/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/cs/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/cs/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/cs/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/cs/token-api/_meta-titles.json b/website/src/pages/cs/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/cs/token-api/_meta-titles.json +++ b/website/src/pages/cs/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/cs/token-api/_meta.js b/website/src/pages/cs/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/cs/token-api/_meta.js +++ b/website/src/pages/cs/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/cs/token-api/tvm-dexs/_meta.js b/website/src/pages/cs/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/cs/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/cs/token-api/tvm-dexs/dexes.mdx b/website/src/pages/cs/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/cs/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/cs/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/cs/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/cs/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/cs/token-api/tvm-dexs/swaps.mdx b/website/src/pages/cs/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/cs/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/cs/token-api/tvm-tokens/_meta.js b/website/src/pages/cs/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/cs/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/cs/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/cs/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/cs/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/cs/token-api/tvm-tokens/transfers.mdx b/website/src/pages/cs/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/cs/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/de/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/de/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/de/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/de/token-api/_meta-titles.json b/website/src/pages/de/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/de/token-api/_meta-titles.json +++ b/website/src/pages/de/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/de/token-api/_meta.js b/website/src/pages/de/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/de/token-api/_meta.js +++ b/website/src/pages/de/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/de/token-api/tvm-dexs/_meta.js b/website/src/pages/de/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/de/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/de/token-api/tvm-dexs/dexes.mdx b/website/src/pages/de/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/de/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/de/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/de/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/de/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/de/token-api/tvm-dexs/swaps.mdx b/website/src/pages/de/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/de/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/de/token-api/tvm-tokens/_meta.js b/website/src/pages/de/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/de/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/de/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/de/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/de/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/de/token-api/tvm-tokens/transfers.mdx b/website/src/pages/de/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/de/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/en/token-api/_meta-titles.json b/website/src/pages/en/token-api/_meta-titles.json index f5614ed9b4d9..7971cf40716c 100644 --- a/website/src/pages/en/token-api/_meta-titles.json +++ b/website/src/pages/en/token-api/_meta-titles.json @@ -4,5 +4,7 @@ "evm-nfts": "EVM NFT Endpoints", "svm-tokens": "SVM Token Endpoints", "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/en/token-api/_meta.js b/website/src/pages/en/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/en/token-api/_meta.js +++ b/website/src/pages/en/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/en/token-api/tvm-dexs/_meta.js b/website/src/pages/en/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/en/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/en/token-api/tvm-dexs/dexes.mdx b/website/src/pages/en/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/en/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/en/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/en/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/en/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/en/token-api/tvm-dexs/swaps.mdx b/website/src/pages/en/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/en/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/en/token-api/tvm-tokens/_meta.js b/website/src/pages/en/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/en/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/en/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/en/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/en/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/en/token-api/tvm-tokens/transfers.mdx b/website/src/pages/en/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/en/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/es/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/es/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/es/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/es/token-api/_meta-titles.json b/website/src/pages/es/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/es/token-api/_meta-titles.json +++ b/website/src/pages/es/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/es/token-api/_meta.js b/website/src/pages/es/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/es/token-api/_meta.js +++ b/website/src/pages/es/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/es/token-api/tvm-dexs/_meta.js b/website/src/pages/es/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/es/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/es/token-api/tvm-dexs/dexes.mdx b/website/src/pages/es/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/es/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/es/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/es/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/es/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/es/token-api/tvm-dexs/swaps.mdx b/website/src/pages/es/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/es/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/es/token-api/tvm-tokens/_meta.js b/website/src/pages/es/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/es/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/es/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/es/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/es/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/es/token-api/tvm-tokens/transfers.mdx b/website/src/pages/es/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/es/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/fr/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/fr/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/fr/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/fr/token-api/_meta-titles.json b/website/src/pages/fr/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/fr/token-api/_meta-titles.json +++ b/website/src/pages/fr/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/fr/token-api/_meta.js b/website/src/pages/fr/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/fr/token-api/_meta.js +++ b/website/src/pages/fr/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/fr/token-api/tvm-dexs/_meta.js b/website/src/pages/fr/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/fr/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/fr/token-api/tvm-dexs/dexes.mdx b/website/src/pages/fr/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/fr/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/fr/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/fr/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/fr/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/fr/token-api/tvm-dexs/swaps.mdx b/website/src/pages/fr/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/fr/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/fr/token-api/tvm-tokens/_meta.js b/website/src/pages/fr/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/fr/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/fr/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/fr/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/fr/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/fr/token-api/tvm-tokens/transfers.mdx b/website/src/pages/fr/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/fr/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/hi/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/hi/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/hi/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/hi/token-api/_meta-titles.json b/website/src/pages/hi/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/hi/token-api/_meta-titles.json +++ b/website/src/pages/hi/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/hi/token-api/_meta.js b/website/src/pages/hi/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/hi/token-api/_meta.js +++ b/website/src/pages/hi/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/hi/token-api/tvm-dexs/_meta.js b/website/src/pages/hi/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/hi/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/hi/token-api/tvm-dexs/dexes.mdx b/website/src/pages/hi/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/hi/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/hi/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/hi/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/hi/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/hi/token-api/tvm-dexs/swaps.mdx b/website/src/pages/hi/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/hi/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/hi/token-api/tvm-tokens/_meta.js b/website/src/pages/hi/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/hi/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/hi/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/hi/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/hi/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/hi/token-api/tvm-tokens/transfers.mdx b/website/src/pages/hi/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/hi/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/it/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/it/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/it/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/it/token-api/_meta-titles.json b/website/src/pages/it/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/it/token-api/_meta-titles.json +++ b/website/src/pages/it/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/it/token-api/_meta.js b/website/src/pages/it/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/it/token-api/_meta.js +++ b/website/src/pages/it/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/it/token-api/tvm-dexs/_meta.js b/website/src/pages/it/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/it/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/it/token-api/tvm-dexs/dexes.mdx b/website/src/pages/it/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/it/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/it/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/it/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/it/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/it/token-api/tvm-dexs/swaps.mdx b/website/src/pages/it/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/it/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/it/token-api/tvm-tokens/_meta.js b/website/src/pages/it/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/it/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/it/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/it/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/it/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/it/token-api/tvm-tokens/transfers.mdx b/website/src/pages/it/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/it/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/ja/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/ja/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/ja/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/ja/token-api/_meta-titles.json b/website/src/pages/ja/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/ja/token-api/_meta-titles.json +++ b/website/src/pages/ja/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/ja/token-api/_meta.js b/website/src/pages/ja/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/ja/token-api/_meta.js +++ b/website/src/pages/ja/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/ja/token-api/tvm-dexs/_meta.js b/website/src/pages/ja/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/ja/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/ja/token-api/tvm-dexs/dexes.mdx b/website/src/pages/ja/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/ja/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/ja/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/ja/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/ja/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/ja/token-api/tvm-dexs/swaps.mdx b/website/src/pages/ja/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/ja/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/ja/token-api/tvm-tokens/_meta.js b/website/src/pages/ja/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/ja/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/ja/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/ja/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/ja/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/ja/token-api/tvm-tokens/transfers.mdx b/website/src/pages/ja/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/ja/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/ko/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/ko/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/ko/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/ko/token-api/_meta-titles.json b/website/src/pages/ko/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/ko/token-api/_meta-titles.json +++ b/website/src/pages/ko/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/ko/token-api/_meta.js b/website/src/pages/ko/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/ko/token-api/_meta.js +++ b/website/src/pages/ko/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/ko/token-api/tvm-dexs/_meta.js b/website/src/pages/ko/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/ko/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/ko/token-api/tvm-dexs/dexes.mdx b/website/src/pages/ko/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/ko/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/ko/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/ko/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/ko/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/ko/token-api/tvm-dexs/swaps.mdx b/website/src/pages/ko/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/ko/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/ko/token-api/tvm-tokens/_meta.js b/website/src/pages/ko/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/ko/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/ko/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/ko/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/ko/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/ko/token-api/tvm-tokens/transfers.mdx b/website/src/pages/ko/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/ko/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/mr/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/mr/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/mr/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/mr/token-api/_meta-titles.json b/website/src/pages/mr/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/mr/token-api/_meta-titles.json +++ b/website/src/pages/mr/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/mr/token-api/_meta.js b/website/src/pages/mr/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/mr/token-api/_meta.js +++ b/website/src/pages/mr/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/mr/token-api/tvm-dexs/_meta.js b/website/src/pages/mr/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/mr/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/mr/token-api/tvm-dexs/dexes.mdx b/website/src/pages/mr/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/mr/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/mr/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/mr/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/mr/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/mr/token-api/tvm-dexs/swaps.mdx b/website/src/pages/mr/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/mr/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/mr/token-api/tvm-tokens/_meta.js b/website/src/pages/mr/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/mr/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/mr/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/mr/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/mr/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/mr/token-api/tvm-tokens/transfers.mdx b/website/src/pages/mr/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/mr/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/nl/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/nl/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/nl/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/nl/token-api/_meta-titles.json b/website/src/pages/nl/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/nl/token-api/_meta-titles.json +++ b/website/src/pages/nl/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/nl/token-api/_meta.js b/website/src/pages/nl/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/nl/token-api/_meta.js +++ b/website/src/pages/nl/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/nl/token-api/tvm-dexs/_meta.js b/website/src/pages/nl/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/nl/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/nl/token-api/tvm-dexs/dexes.mdx b/website/src/pages/nl/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/nl/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/nl/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/nl/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/nl/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/nl/token-api/tvm-dexs/swaps.mdx b/website/src/pages/nl/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/nl/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/nl/token-api/tvm-tokens/_meta.js b/website/src/pages/nl/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/nl/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/nl/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/nl/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/nl/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/nl/token-api/tvm-tokens/transfers.mdx b/website/src/pages/nl/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/nl/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/pl/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/pl/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/pl/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/pl/token-api/_meta-titles.json b/website/src/pages/pl/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/pl/token-api/_meta-titles.json +++ b/website/src/pages/pl/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/pl/token-api/_meta.js b/website/src/pages/pl/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/pl/token-api/_meta.js +++ b/website/src/pages/pl/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/pl/token-api/tvm-dexs/_meta.js b/website/src/pages/pl/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/pl/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/pl/token-api/tvm-dexs/dexes.mdx b/website/src/pages/pl/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/pl/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/pl/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/pl/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/pl/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/pl/token-api/tvm-dexs/swaps.mdx b/website/src/pages/pl/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/pl/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/pl/token-api/tvm-tokens/_meta.js b/website/src/pages/pl/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/pl/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/pl/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/pl/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/pl/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/pl/token-api/tvm-tokens/transfers.mdx b/website/src/pages/pl/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/pl/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/pt/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/pt/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/pt/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/pt/token-api/_meta-titles.json b/website/src/pages/pt/token-api/_meta-titles.json index c00f5979dc95..7971cf40716c 100644 --- a/website/src/pages/pt/token-api/_meta-titles.json +++ b/website/src/pages/pt/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "Perguntas Frequentes" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/pt/token-api/_meta.js b/website/src/pages/pt/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/pt/token-api/_meta.js +++ b/website/src/pages/pt/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/pt/token-api/tvm-dexs/_meta.js b/website/src/pages/pt/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/pt/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/pt/token-api/tvm-dexs/dexes.mdx b/website/src/pages/pt/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/pt/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/pt/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/pt/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/pt/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/pt/token-api/tvm-dexs/swaps.mdx b/website/src/pages/pt/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/pt/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/pt/token-api/tvm-tokens/_meta.js b/website/src/pages/pt/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/pt/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/pt/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/pt/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/pt/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/pt/token-api/tvm-tokens/transfers.mdx b/website/src/pages/pt/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/pt/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/ro/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/ro/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/ro/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/ro/token-api/_meta-titles.json b/website/src/pages/ro/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/ro/token-api/_meta-titles.json +++ b/website/src/pages/ro/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/ro/token-api/_meta.js b/website/src/pages/ro/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/ro/token-api/_meta.js +++ b/website/src/pages/ro/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/ro/token-api/tvm-dexs/_meta.js b/website/src/pages/ro/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/ro/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/ro/token-api/tvm-dexs/dexes.mdx b/website/src/pages/ro/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/ro/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/ro/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/ro/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/ro/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/ro/token-api/tvm-dexs/swaps.mdx b/website/src/pages/ro/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/ro/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/ro/token-api/tvm-tokens/_meta.js b/website/src/pages/ro/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/ro/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/ro/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/ro/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/ro/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/ro/token-api/tvm-tokens/transfers.mdx b/website/src/pages/ro/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/ro/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/ru/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/ru/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/ru/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/ru/token-api/_meta-titles.json b/website/src/pages/ru/token-api/_meta-titles.json index 54aff26bf479..7971cf40716c 100644 --- a/website/src/pages/ru/token-api/_meta-titles.json +++ b/website/src/pages/ru/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "Часто задаваемые вопросы" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/ru/token-api/_meta.js b/website/src/pages/ru/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/ru/token-api/_meta.js +++ b/website/src/pages/ru/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/ru/token-api/tvm-dexs/_meta.js b/website/src/pages/ru/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/ru/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/ru/token-api/tvm-dexs/dexes.mdx b/website/src/pages/ru/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/ru/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/ru/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/ru/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/ru/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/ru/token-api/tvm-dexs/swaps.mdx b/website/src/pages/ru/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/ru/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/ru/token-api/tvm-tokens/_meta.js b/website/src/pages/ru/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/ru/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/ru/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/ru/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/ru/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/ru/token-api/tvm-tokens/transfers.mdx b/website/src/pages/ru/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/ru/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/sv/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/sv/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/sv/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/sv/token-api/_meta-titles.json b/website/src/pages/sv/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/sv/token-api/_meta-titles.json +++ b/website/src/pages/sv/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/sv/token-api/_meta.js b/website/src/pages/sv/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/sv/token-api/_meta.js +++ b/website/src/pages/sv/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/sv/token-api/tvm-dexs/_meta.js b/website/src/pages/sv/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/sv/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/sv/token-api/tvm-dexs/dexes.mdx b/website/src/pages/sv/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/sv/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/sv/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/sv/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/sv/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/sv/token-api/tvm-dexs/swaps.mdx b/website/src/pages/sv/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/sv/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/sv/token-api/tvm-tokens/_meta.js b/website/src/pages/sv/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/sv/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/sv/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/sv/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/sv/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/sv/token-api/tvm-tokens/transfers.mdx b/website/src/pages/sv/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/sv/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/tr/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/tr/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/tr/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/tr/token-api/_meta-titles.json b/website/src/pages/tr/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/tr/token-api/_meta-titles.json +++ b/website/src/pages/tr/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/tr/token-api/_meta.js b/website/src/pages/tr/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/tr/token-api/_meta.js +++ b/website/src/pages/tr/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/tr/token-api/tvm-dexs/_meta.js b/website/src/pages/tr/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/tr/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/tr/token-api/tvm-dexs/dexes.mdx b/website/src/pages/tr/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/tr/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/tr/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/tr/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/tr/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/tr/token-api/tvm-dexs/swaps.mdx b/website/src/pages/tr/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/tr/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/tr/token-api/tvm-tokens/_meta.js b/website/src/pages/tr/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/tr/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/tr/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/tr/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/tr/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/tr/token-api/tvm-tokens/transfers.mdx b/website/src/pages/tr/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/tr/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/uk/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/uk/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/uk/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/uk/token-api/_meta-titles.json b/website/src/pages/uk/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/uk/token-api/_meta-titles.json +++ b/website/src/pages/uk/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/uk/token-api/_meta.js b/website/src/pages/uk/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/uk/token-api/_meta.js +++ b/website/src/pages/uk/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/uk/token-api/tvm-dexs/_meta.js b/website/src/pages/uk/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/uk/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/uk/token-api/tvm-dexs/dexes.mdx b/website/src/pages/uk/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/uk/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/uk/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/uk/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/uk/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/uk/token-api/tvm-dexs/swaps.mdx b/website/src/pages/uk/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/uk/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/uk/token-api/tvm-tokens/_meta.js b/website/src/pages/uk/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/uk/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/uk/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/uk/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/uk/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/uk/token-api/tvm-tokens/transfers.mdx b/website/src/pages/uk/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/uk/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/ur/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/ur/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/ur/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/ur/token-api/_meta-titles.json b/website/src/pages/ur/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/ur/token-api/_meta-titles.json +++ b/website/src/pages/ur/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/ur/token-api/_meta.js b/website/src/pages/ur/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/ur/token-api/_meta.js +++ b/website/src/pages/ur/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/ur/token-api/tvm-dexs/_meta.js b/website/src/pages/ur/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/ur/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/ur/token-api/tvm-dexs/dexes.mdx b/website/src/pages/ur/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/ur/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/ur/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/ur/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/ur/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/ur/token-api/tvm-dexs/swaps.mdx b/website/src/pages/ur/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/ur/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/ur/token-api/tvm-tokens/_meta.js b/website/src/pages/ur/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/ur/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/ur/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/ur/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/ur/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/ur/token-api/tvm-tokens/transfers.mdx b/website/src/pages/ur/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/ur/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/vi/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/vi/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/vi/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/vi/token-api/_meta-titles.json b/website/src/pages/vi/token-api/_meta-titles.json index 3108ecd3ebfd..7971cf40716c 100644 --- a/website/src/pages/vi/token-api/_meta-titles.json +++ b/website/src/pages/vi/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM Endpoints", - "svm": "SVM Endpoints", - "monitoring": "Monitoring Endpoints", - "faq": "FAQ" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/vi/token-api/_meta.js b/website/src/pages/vi/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/vi/token-api/_meta.js +++ b/website/src/pages/vi/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/vi/token-api/tvm-dexs/_meta.js b/website/src/pages/vi/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/vi/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/vi/token-api/tvm-dexs/dexes.mdx b/website/src/pages/vi/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/vi/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/vi/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/vi/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/vi/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/vi/token-api/tvm-dexs/swaps.mdx b/website/src/pages/vi/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/vi/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/vi/token-api/tvm-tokens/_meta.js b/website/src/pages/vi/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/vi/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/vi/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/vi/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/vi/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/vi/token-api/tvm-tokens/transfers.mdx b/website/src/pages/vi/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/vi/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data. diff --git a/website/src/pages/zh/resources/migration-guides/migrate-from-alchemy.mdx b/website/src/pages/zh/resources/migration-guides/migrate-from-alchemy.mdx new file mode 100644 index 000000000000..e9d0d4b34a57 --- /dev/null +++ b/website/src/pages/zh/resources/migration-guides/migrate-from-alchemy.mdx @@ -0,0 +1,163 @@ +--- +title: Migrate Your Subgraph From Alchemy to The Graph Network +--- + +## Migrate Your Subgraph From Alchemy to The Graph Network + +## Goal + +Migrate or deploy an existing Subgraph to **The Graph**. + +## Overview + +This guide walks you through: + +1. Preparing your environment and source code +2. Building and testing locally with **Graph Node Dev Mode (`gnd`)** +3. Deploying to [The Graph Studio](https://thegraph.com/studio/). + +--- + +## 1. Prerequisites + +You’ll need: + +- Your subgraph source code (`subgraph.yaml`, `schema.graphql`, `src/mapping.ts`) +- [Node.js](https://nodejs.org), Yarn, and `graph-cli`: + ```bash + npm install -g @graphprotocol/graph-cli + ``` +- A [The Graph Studio](https://thegraph.com/studio) account and access token + +--- + +## 2. Install and Authenticate with CLI + +Install and authenticate the CLI: + +```bash +npm install -g @graphprotocol/graph-cli +graph auth --studio +``` + +--- + +## 3. Prepare and Build Your Subgraph + +If you don’t already have a project, initialize one from a contract: + +```bash +graph init --from-contract +``` + +Then build it: + +```bash +yarn codegen && yarn build +``` + +--- + +## 4. Test Locally with Subgraph Dev Mode + +`gnd` lets you run a local Graph Node instance for rapid testing—no IPFS or manual database setup required. + +### Install `gnd` + +```bash +graph node install +gnd --version +``` + +### Run Locally + +From your subgraph directory: + +```bash +gnd --ethereum-rpc mainnet:http://localhost: --watch +``` + +Query your subgraph at:\ +`http://localhost:8000/subgraphs/name/subgraph-0/` + +> On Windows, include a PostgreSQL connection string: +> +> ```bash +> gnd --ethereum-rpc mainnet:http://localhost: > --postgres-url "postgresql://graph:yourpassword@localhost:5432/graph-node" +> ``` + +**Common Flags** | Flag | Description | |------|--------------| | `--watch` | Auto-redeploy when files change | | `--postgres-url` | Required on Windows | | `--ethereum-rpc` | RPC endpoint (required) | + +--- + +## 5. Deploy to The Graph Network + +After verifying locally, deploy your subgraph to Studio: + +```bash +graph deploy --studio +``` + +This command publishes your Subgraph to The Graph Network via Studio. + +--- + +## 6. Monitor and Manage Your Deployment + +Access your Subgraph dashboard to view logs, indexing progress, and query endpoints: + +**Dashboard:**\ +`https://thegraph.com/studio/` + +List all Subgraph deployments: + +```bash +graph subgraph list +``` + +--- + +## 7. Update Your Application + +Your subgraph’s GraphQL endpoint follows this format: + +``` +https://api.studio.thegraph.com/query/{user_id}/{subgraph_slug}/{version} +``` + +**Example:** + +``` +https://api.studio.thegraph.com/query/1234/my-subgraph/v1.0.0 +``` + +Replace your old endpoint with this one in your dApp or backend configuration. + +--- + +## 8. Verify Your Deployment + +Run a quick test query: + +```graphql +{ + transfers(first: 5) { + id + from + to + value + } +} +``` + +Ensure results match your expectations. + +--- + +## 9. Next Steps + +- [Monitor your subgraphs in Studio →](https://thegraph.com/studio) +- [Join The Graph community →](https://discord.gg/graphprotocol) + +> Learn more about **Graph Node Dev Mode** →\ +> [https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/](https://thegraph.com/docs/en/subgraphs/developing/creating/graph-node-dev/) diff --git a/website/src/pages/zh/token-api/_meta-titles.json b/website/src/pages/zh/token-api/_meta-titles.json index 5a0cde8be5a5..7971cf40716c 100644 --- a/website/src/pages/zh/token-api/_meta-titles.json +++ b/website/src/pages/zh/token-api/_meta-titles.json @@ -1,7 +1,10 @@ { - "mcp": "MCP", - "evm": "EVM端点", - "svm": "SVM Endpoints", - "monitoring": "监控端点", - "faq": "常见问题" + "evm-tokens": "EVM Token Endpoints", + "evm-dexs": "EVM DEX Endpoints", + "evm-nfts": "EVM NFT Endpoints", + "svm-tokens": "SVM Token Endpoints", + "svm-dexs": "SVM DEX Endpoints", + "tvm-tokens": "TVM Token Endpoints", + "tvm-dexs": "TVM DEX Endpoints", + "monitoring": "Monitoring Endpoints" } diff --git a/website/src/pages/zh/token-api/_meta.js b/website/src/pages/zh/token-api/_meta.js index 6161cf8b7aeb..a8624da52e7f 100644 --- a/website/src/pages/zh/token-api/_meta.js +++ b/website/src/pages/zh/token-api/_meta.js @@ -7,6 +7,8 @@ export default { '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': '', faq: '', diff --git a/website/src/pages/zh/token-api/tvm-dexs/_meta.js b/website/src/pages/zh/token-api/tvm-dexs/_meta.js new file mode 100644 index 000000000000..1fc45c06d69d --- /dev/null +++ b/website/src/pages/zh/token-api/tvm-dexs/_meta.js @@ -0,0 +1,5 @@ +export default { + dexes: '', + 'pools-ohlc': '', + swaps: '', +} diff --git a/website/src/pages/zh/token-api/tvm-dexs/dexes.mdx b/website/src/pages/zh/token-api/tvm-dexs/dexes.mdx new file mode 100644 index 000000000000..4f1e5ad007d8 --- /dev/null +++ b/website/src/pages/zh/token-api/tvm-dexs/dexes.mdx @@ -0,0 +1,9 @@ +--- +title: Supported DEXs +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmDexes +--- + +Returns all supported TVM DEXs. diff --git a/website/src/pages/zh/token-api/tvm-dexs/pools-ohlc.mdx b/website/src/pages/zh/token-api/tvm-dexs/pools-ohlc.mdx new file mode 100644 index 000000000000..71346fd5b99a --- /dev/null +++ b/website/src/pages/zh/token-api/tvm-dexs/pools-ohlc.mdx @@ -0,0 +1,11 @@ +--- +title: Pool OHLCV Data +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmPoolsOhlc +--- + +Returns OHLCV price data for liquidity pools. + +OHLCV historical depth is subject to plan restrictions. diff --git a/website/src/pages/zh/token-api/tvm-dexs/swaps.mdx b/website/src/pages/zh/token-api/tvm-dexs/swaps.mdx new file mode 100644 index 000000000000..645d77d5a22c --- /dev/null +++ b/website/src/pages/zh/token-api/tvm-dexs/swaps.mdx @@ -0,0 +1,9 @@ +--- +title: Swap Events +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmSwaps +--- + +Returns DEX swap transactions from Tron protocols with token amounts and prices. diff --git a/website/src/pages/zh/token-api/tvm-tokens/_meta.js b/website/src/pages/zh/token-api/tvm-tokens/_meta.js new file mode 100644 index 000000000000..7cc4cd31e7a7 --- /dev/null +++ b/website/src/pages/zh/token-api/tvm-tokens/_meta.js @@ -0,0 +1,4 @@ +export default { + 'transfers-native': '', + transfers: '', +} diff --git a/website/src/pages/zh/token-api/tvm-tokens/transfers-native.mdx b/website/src/pages/zh/token-api/tvm-tokens/transfers-native.mdx new file mode 100644 index 000000000000..9193ee0064a7 --- /dev/null +++ b/website/src/pages/zh/token-api/tvm-tokens/transfers-native.mdx @@ -0,0 +1,9 @@ +--- +title: Native Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfersNative +--- + +Returns Native transfers with transaction and block data. diff --git a/website/src/pages/zh/token-api/tvm-tokens/transfers.mdx b/website/src/pages/zh/token-api/tvm-tokens/transfers.mdx new file mode 100644 index 000000000000..13efd5251ee7 --- /dev/null +++ b/website/src/pages/zh/token-api/tvm-tokens/transfers.mdx @@ -0,0 +1,9 @@ +--- +title: TRC-20 Transfers +template: + type: openApi + apiId: tokenApi + operationId: getV1TvmTransfers +--- + +Returns TRC-20 transfers with transaction and block data.